请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 35141|回复: 25

WRF-CHEM 3.7安装教程on Ubuntu 15.04 with GCC

[复制链接]

新浪微博达人勋

发表于 2015-8-13 12:12:44 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 lrxwisdom 于 2015-8-15 08:38 编辑

WRF-CHEM 3.7安装+加运行入门教程on Ubuntu 15.04 with GCC
本人安装WRF-CHEM过程中主要参考了以下三位大神的帖子:
http://bbs.06climate.com/forum.php?mod=viewthread&tid=35588
这里重新整理,并加上自己的经验。希望对大家有所帮助。

  • Ubuntu安装
之前写过一篇CMAQv5.0.2的安装教程
Ubuntu安装过程可以参考,这里不再重复啦
注意一点,安装的时候一定要联网并选择下载更新,不然进软件中心搜索synaptic package manager的时候只能use this resource而不能install
安裝完之後在軟件中心更新一下最快的軟件服務器不然更新慢死
安裝過程中下載和語言包太慢了直接跳過

  • GCC安装
在之前CMAQv5.0.2的安装教程里,我把GCC4.9降级成了4.6,如果只是安装WRF-CHEM,而不需要安装CMAQ,那么没有必要降级,但是gfortran依然需要安装。
打开终端(terminal
sudoapt-get install gfortran gfortran-multilib
检查gccg++gfortran的版本,看是否一致
gcc--version
g++--version
gfortran--version

  • 插件安装
apt-getinstall tcsh samba cpp m4 quota
打开synaptic 包管理器,搜索glibc把相关的包安装啦
tcsh–version  #自带的csh非常不好用,强烈建议安装这个,依然是输入csh进入c-shell
samba--version
cpp--version
m4--version
ldd–version #这个是看glibc
看看插件版本
进入synaptic package manager搜索zlib libpng jasper jpeg,把相关的有ubuntu系统标记的,版本最新的装一下。

  • 设置环境变量
export NETCDF=/usr/local/netcdf
export PATH=$PATH:$NETCDF/bin
export NETCDF_LIB=$NETCDF/lib
export NETCDF_INC=$NETCDF/include
export MANPATH=$NETCDF/share/man
exportLD_LIBRARY_PATH=/usr/local/netcdf/lib:$LD_LIBRARY_PATH

export WRFIO_NCD_LARGE_FILE_SUPPORT=1
export JASPERLIB=/usr/lib64
export JASPERINC=/usr/include/jasper
#for ncarg
export NCARG_ROOT=/usr/local/ncarg
export PATH=$NCARG_ROOT/bin:$PATH
export MANPATH=$NCARG_ROOT/man:$MANPATH
export DISPLAY=:0.0
exportEM_CORE=1
exportNMM_CORE=0
exportWRF_CHEM=1
最后三个是打开WRFCHEM包,如果不需要可以不加
参考http://ruc.noaa.gov/wrf/WG11/Users_guide.pdf
保存退出
source~/.bashrc

  • 安装netcdf
##这里大家复制的时候小心,如果代码不能运行说不定就是复制粘贴的时候某个空格或者“--”被系统吞了
这里需要安装哪些库,各个教程的说法不一。
根据官方说法http://www2.mmm.ucar.edu/wrf/OnLineTutorial/Compile/arw_compile2.htm
只要一个netcdf就够了。
最简单的就是直接安装netcdf4.1.3
我因为还需要安装CMAQ,所以还是按照我前一篇帖子的方法把zlib hdf5 netcdfcc++库和fortran库同时安装到/usr/local/netcdf
wget后面的下载链接如果失效请找别的地址下载
wget http://zlib.net/zlib-1.2.8.tar.gz
tarxf zlib-1.2.8.tar.gz
cdzlib-1.2.8
./configure--prefix=/usr/local/netcdf
make
makecheck
sudomake install
cd..
这里很多教程是把zlibHDF5NETCDF分别按照在三个不同的目录,但是本人亲测只有把三个安装在同一个目录下,安装netcdf时才不会提示找不到zlib
装在同一个目录下的方法,参考netcdfpython的安装https://code.google.com/p/netcdf4-python/wiki/UbuntuInstall
安装hdf5
wget https://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.14/src/hdf5-1.8.14.tar.gz
tarxf hdf5-1.8.14.tar.gz
cdhdf5-1.8.14
./configure--prefix=/usr/local/netcdf --enable-shared--enable-hl--with-zlib=/usr/local/netcdf
make-j 4
make-j 4 check
sudomake -j 4 install
cd..
如果只用单核makehdf5需要很长时间,这里 –j 4是使用多个核心make可以根据电脑配置改变核心数。
安装netcdf c
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.3.1.tar.gz
tarxf netcdf-4.3.3.1.tar.gz
cdnetcdf-4.3.3.1
LDFLAGS=-L/usr/local/netcdf/libCPPFLAGS=-I/usr/local/netcdf/include ./configure --enable-netcdf-4 --enable-dap--enable-shared --prefix=/usr/local/netcdf
make
makecheck
sudomake install
cd..
这里--enable-netcdf-4--enable-dap这里很多教程是选择disable掉来解决找不到zlib的问题,但是安装c++库的时候会提示netcdf-4必须enable,所以解决办法就是把zlib hdf5 netcdf安装到一个文件夹下面。
Netcdfmake 不能加 –j 4,不然会出错,亲测!
安装netcdf c++
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-cxx-4.2.tar.gz
tarxf netcdf-cxx-4.2.tar.gz
cdnetcdf-cxx-4.2
LDFLAGS=-L/usr/local/netcdf/libCPPFLAGS=-I/usr/local/netcdf/include ./configure --enable-shared--prefix=/usr/local/netcdf
make
makecheck
sudomake install
cd..
这里没有--enable-netcdf-4--enable-dap
安装netcdf fortran
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.4.2.tar.gz
tarxf netcdf-fortran-4.4.2.tar.gz
cdnetcdf-fortran-4.4.2
LDFLAGS=-L/usr/local/netcdf/libCPPFLAGS=-I/usr/local/netcdf/include ./configure –enable-shared--prefix=/usr/local/netcdf
make
makecheck
sudomake install
cd..
这里还是没有--enable-netcdf-4--enable-dap
另外我下载的时候netcdf-cxx-4.2.tar.gz的名字会莫名其妙的变成4.4.2.tar.gz。大家注意一下。
安装mpich #如果不需要多核并行,不需要安装
wget http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz
tarxf mpich-3.1.4.tar.gz
cdmpich-3.1.4
./configure
这里不加 –prefix直接安装到/usr/local下,免去了设环境变量的麻烦
make-j 4
make-j 4 check
sudomake -j 4 install
cd..
这里make也需要很长时间,make -j 4加速能不能用我没有试过,大家自行尝试吧。
更新:后来试了一边,测试是通过的
安装完成后which mpirun如果返回/usr/local/bin/mpirun则安装成功
grib2安装 #选择性安装,这里有的教程说一定要安装,但是我没有安装还是成功了
cd/usr/local
sudowget http://www.ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/wgrib2.tgz
cdgrib2
exportCC=gcc
exportFC=gfortran
make
这里也要花很长时间但是不能make -j 4加速哦 会出错
http://www.cpc.noaa.gov/products/wesley/wgrib2/
这个网页介绍了怎么多核加速安装,但个人觉得没有必要
然后开始安装WRF-CHEM
官网下载地址:http://www2.mmm.ucar.edu/wrf/src/
我只用到了WRFV3.7.TAR.gzWRFV3-CHEM-3.7.TAR.gzWPSV3.7.TAR.gz
三个包解压到同一个文件夹
会生成WRFV3 chem WPS三个文件夹
mvchem WRFV3
chem文件夹移动到WRFV3
cdWRFV3
source/.barshrc
为了保险再次source 一下.bashrc如果你不需要安装CHEM包,那么去掉环境变量最后三行
#export EM_CORE=1
#export NMM_CORE=0
#export WRF_CHEM=1
./configure
这里关于单核多核还有编译器的配置。我能找到的教程全部直接选的单核。
根据http://ruc.noaa.gov/wrf/WG11/Users_guide.pdf
如果要开启CHEM,那么只能选serial(单核)或者dmpar(多核分布式内存mpi),而 smpar(多核共享试内存openMP)和 dm + smmpi+openMP)没法使用。我serialdmpar都安装成功,对应GCC编译器选择是3234
后面会提示
**************************W A R N I N G ************************************
Thereare some Fortran 2003 features in WRF that your compiler does not recognize
TheIEEE signaling call has been removed. That may not be enough.
不用鸟它
geditconfigure.wrf
找到FORMAT_FIXED这一行,在-ffixed-form后面加上-cpp,注意要空格
下面一行也加上-cpp
./compileem_real
30分钟左右吧,看机器速度了,看到main文件夹下面生成显示4 个绿色可执行 exe 文件
ndown.exe  real.exe tc.exe wrf.exe V3.6版会多一个nup.exe
加速编译小技巧,如果你是多核机器
geditcompile
  make -j 2 >& /dev/null
  if ( $status == 0 ) then              # Parallel make ok
    if ( ! $?J ) then                   # J not defined
      echo setting parallel make -j 2   # Set default to 2
这里默认用两个核,可以根据机器情况自己改
htop命令来看各个核的使用情况(如果没安装sudo apt-get install htop
但是我的经验是速度快不了多少,可能机器不给力吧。

  • 安装WPS
进入到WPS文件夹
./configure
gcc对应1-4,这里我试过12单核可以安装成功,34dmpar不行。12的区别就是带不带grib2,大家自己选吧
./compile
看到WPS下面出现 geogrid.exe metgrid.exe ungrib.exe 三个可运行文件,until文件夹下面出现很多.exe说明安装成功
更新:WPS多核模式编译
不能多核编译的原因是configure.wps里面DM_FC的多了一个 -f90=gfortran,然而这个在configure.wrf里面是没有的,所以参照configure.wrf把一下两行改一下就好,然后./configure就可以选dmpar
DM_FC               = mpif90
DM_CC             =mpicc  -cc=$(SCC) -DMPI2_SUPPORT
安装到此结束,使用请参考官方教程
单独WRFhttp://www2.mmm.ucar.edu/wrf/users/supports/tutorial.html
WRF-CHEMhttp://ruc.noaa.gov/wrf/WG11/Tutorial.html
WRF-CHEM运行入门
这里参照:http://ruc.noaa.gov/wrf/WG11/tutorialexercises.htm里面的exercise1后面几个练习就是加排放源,辐射强迫,做预测,大家自己练习吧。
下载数据:
基础地理数据:http://www2.mmm.ucar.edu/wrf/src/wps_files/geog_complete.tar.bz2
这个格式加压命令  tarjxvf geog_complete.tar.bz2
GFS教学数据:ftp://aftp.fsl.noaa.gov/divisions/taq/wrfchemv35_tutorial/wrfchemv35_tutorial_data_08nov2013.tar
排放教学数据:
http://ruc.noaa.gov/wrf/WG11/wrf_tutorial_exercises_solutions_v35/exercise_2_output/
所有路径请根据自己机器配置更改
cd/home/leo
tarxf wrfchemv35_tutorial_data_08nov2013.tar
这一步形成WRF-CHEM_GFS文件夹
mkdir-p /home/leo/Geo_data
cp-f  geog_complete.tar.bz2 /home/leo/Geo_data
cd /home/leo/Geo_data
tar jxvf geog_complete.tar.bz2
我的WPS根目录为/home/leo/WRF37/WPS
参照http://ruc.noaa.gov/wrf/WG11/wrf_tutorial_exercises_v35/ex1_namelist.wps
更改WPS目录下的namelist.wps
注意改这一行geog_data_path= '/public/WPS/GEOG'
geog_data_path = '/home/leo/Geo_data'
改完之后 执行ncl /utils/plotgrids.ncl看看形成的domain
这里只能用ncl 6.1.x
直接搜索ncl_ncarg-6.1.2.Linux_RHEL6.2_x86_64_nodap_gcc472.tar.gz这种已经编译好的版本
解压到/usr/local/ncarg下(需要自己新建)。然后gedit /.bashrcm里面加入
#for ncarg
export NCARG_ROOT=/usr/local/ncarg
export PATH=$NCARG_ROOT/bin:$PATH
export MANPATH=$NCARG_ROOT/man:$MANPATH
export DISPLAY=:0.0
保存退出
source /.bashrc
cd geogrid
unlink GEOGRID.TBL
ln-s GEOGRID.TBL.ARW_CHEM GEOGRID.TBL
rm met_em.d01.*
rm geogrid.log ungrib.log metgrid.log
mpirun -np 4 ./geogrid.exe
ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable
./link_grib.csh /home/leo/WRF-CHEM_GFS
mpirun -np 4  ./ungrib.exe
mpirun -np 4  ./metgrid.exe
如果不需要多核并行 去掉mpirun -np 4 “4”是并行核心数
cd/home/leo/WRF37/WRFV3/run
参照http://ruc.noaa.gov/wrf/WG11/wrf_tutorial_exercises_v35/ex1_namelist.input.real
namelist.input.real
然后mpirun -np4  ./real.exe
注意:官方教程里面没有”./”但其实一定要加,不然会提示错误
ncl 看看wrfout_d01_2010-07-14_00:00:00输出结果
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-9 19:38:05 | 显示全部楼层
感谢整理 终于发现一个详细的帖子了~
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2015-8-13 12:32:34 | 显示全部楼层
楼主辛苦
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2015-8-13 16:46:51 | 显示全部楼层
牛掰呀
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2015-11-5 10:40:03 | 显示全部楼层
这么好的帖子都不加精,版主呢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-5 14:23:10 | 显示全部楼层
感谢楼主整理
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-20 17:21:13 | 显示全部楼层
你好,最近我也在安装WRFchem,串行计算的已经安装好了,想装并行的。按照你这个帖子上的做好,
./configure
make -j 4
make -j 4 check
sudo make -j 4 install
当我输入which mpirun
只显示/usr/bin/mpirun
不在/usr/local/bin目录下,虽然这个目录下也有mpirun
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-21 11:16:21 | 显示全部楼层
beesfly 发表于 2016-4-20 17:21
你好,最近我也在安装WRFchem,串行计算的已经安装好了,想装并行的。按照你这个帖子上的做好,
./configu ...

在服务器终端上,输入which mpirun
返回 /usr/bin/mpirun
但是如果通过xshell,输入which mpirun
则返回 /usr/local/bin/mpirun
==================
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-5-6 20:09:14 | 显示全部楼层
感谢楼主整理,来试试
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-4 21:00:49 | 显示全部楼层
很好的帖子,多谢分享。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表