登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
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 这里重新整理,并加上自己的经验。希望对大家有所帮助。 之前写过一篇CMAQv5.0.2的安装教程 Ubuntu安装过程可以参考,这里不再重复啦 注意一点,安装的时候一定要联网并选择下载更新,不然进软件中心搜索synaptic package manager的时候只能use this resource而不能install。 安裝完之後在軟件中心更新一下最快的軟件服務器不然更新慢死 安裝過程中下載和語言包太慢了直接跳過 在之前CMAQv5.0.2的安装教程里,我把GCC4.9降级成了4.6,如果只是安装WRF-CHEM,而不需要安装CMAQ,那么没有必要降级,但是gfortran依然需要安装。 打开终端(terminal) sudoapt-get install gfortran gfortran-multilib 检查gcc,g++,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 最后三个是打开WRF的CHEM包,如果不需要可以不加 参考http://ruc.noaa.gov/wrf/WG11/Users_guide.pdf 保存退出 source~/.bashrc ##这里大家复制的时候小心,如果代码不能运行说不定就是复制粘贴的时候某个空格或者“--”被系统吞了 这里需要安装哪些库,各个教程的说法不一。 根据官方说法http://www2.mmm.ucar.edu/wrf/OnLineTutorial/Compile/arw_compile2.htm 只要一个netcdf就够了。 最简单的就是直接安装netcdf4.1.3 我因为还需要安装CMAQ,所以还是按照我前一篇帖子的方法把zlib hdf5 netcdf的c库c++库和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.. 这里很多教程是把zlib,HDF5,NETCDF分别按照在三个不同的目录,但是本人亲测只有把三个安装在同一个目录下,安装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.gz和WPSV3.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 + sm(mpi+openMP)没法使用。我serial和dmpar都安装成功,对应GCC编译器选择是32和34。 后面会提示 **************************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文件夹 ./configure gcc对应1-4,这里我试过1和2单核可以安装成功,3和4dmpar不行。1和2的区别就是带不带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 安装到此结束,使用请参考官方教程 单独WRF:http://www2.mmm.ucar.edu/wrf/users/supports/tutorial.html WRF-CHEM:http://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输出结果 |