爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 10685|回复: 2

[经验总结] ubuntu12.04 安装netcdf ncl WRF HWRF等软件步骤个人总结

[复制链接]

新浪微博达人勋

发表于 2015-9-4 17:39:10 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 youngaesu 于 2018-3-20 17:00 编辑

开始使用ubuntu12.04,安装软件遇到很多问题,在网上找了很多帖子,学习了很多东西。现做一总结,以后随着工作增多会不断添加。
一、安装ifort和gfortran编译器
1、ifort编译器是:http://bbs.06climate.com/forum.php?mod=viewthread&tid=33151提供的网址下载的,感谢!(那个许可证文件:intel_parallel_license.zip是linux平台下使用的)按照网上安装ifort的步骤进行安装,一共7步,其中有一步要输入.lic文件的绝对路径,其他基本都是默认选项即可。
2、安装gfortran(貌似必须安装,因为我在只安装了ifort没装gfortran的情况下装了netcdf4.1.3后没有netcdf.inc文件生成,网上查了很多资料,也换了netcdf.3.6.3版本还是没有inc文件,但是装上gfortran后再装4.1.3就有了inc文件
因为有自带安装包,只要输入命令:sudo apt-get install gfortran
通过命令“gfortran -v”,可以查看gfortran是否安装成功。
二、安装NETCDF 和NCL
1、主要参考:http://bbs.06climate.com/forum.php?mod=viewthread&tid=13161的帖子,感谢!
前面也说了,装netcdf的时候遇到点麻烦,由于不想太折腾所以就装了4.1.3版本,没有装4.2以上版本,具体情况参考:http://bbs.06climate.com/forum.php?mod=viewthread&tid=15197
2、安装ifort编译器后的netcdf的安装主要参考:https://software.intel.com/en-us/articles/performance-tools-for-software-developers-building-netcdf-with-the-intel-compilers 按照说明在.bashrc文件中做了相应export的声明虽然最后安装成功了,不过对于building netcdf的这部分声明是否起了作用我也不是很清楚,望高手指点。
3、建立NCL配置文件(http://www2.mmm.ucar.edu/wrf/OnLineTutorial/Graphics/NCL/NCL_basics.htm):在$home下新建
.hluresfile文件,并将以下语句拷入

*wkColorMap : rainbow+gray
*wkBackgroundColor : (/1.,1.,1./)
*wkForegroundColor : (/0.,0.,0./)
*FuncCode : ~
*TextFuncCode : ~
*Font : helvetica
*wkWidth : 900
*wkHeight : 900
可以用“ng4ex gsun01n”命令对比配置前后的ncl命令效果(注意:会在当前文件夹下生成一个gsun01n.ncl的文件)。
4、安装NCL后用vim打开高亮显示问题参考:http://www.blogbus.com/huangw10-logs/222710254.html,感谢!
具体步骤是:
在Ubuntu12.04下:
1、下载NCL高亮文件,下载地址:http://www.ncl.ucar.edu/Applications/editor.shtml#vim。 只要下载ncl1(2).vim其中一个就行了,改名为ncl.vim并存放在/usr/share/vim/vim73/syntax/ 目录下。
2、从上一步的地址下载ncl.dic文件,把它放在/usr/share/vim/vim73/dictionary/(/dictionary/文件自己建)。
注意:以上两个文件放入后要更改权限:chmod 755 ncl.vim (ncl.dic)
(不过我没有修改也成功了)
3、执行命令:cp/usr/share/vim/vim73/vimrc_example.vim ~/.vimrc。这是把vimrc文件复制到自己的home目录下,只有在这里它才能起作用。(注意:.vimrc文件在安装了vim以后也不会自动生成,网上说的运行一次vim就生成的是.viminfo文件,所以这里复制过来就行)
4、在~/目录下编辑.vimrc 文件,命令为sudo gedit .vimrc,添加如下内容:
au BufRead,BufNewFile *.ncl set filetype=ncl
au! Syntax newlang source $VIM/ncl.vim
"Show autocomplete menus.
set complete-=k complete+=k
set wildmode=list:full
set wildmenu
set dictionary-=/usr/share/vim/vim73/dictionary/ncl.dic dictionary+=/usr/share/vim/vim73/dictionary/ncl.dic
其中,前两行是使步骤1的文件ncl.vim发挥作用,后面几行是使步骤2的文件ncl.dic发挥作用。至此,可以说是大功告成了。
三、安装WRF和WPS等
我在安装WRF中遇到的问题主要是安装WRF之前没有安装csh,运行./compile时提示找不到csh。由于我安装的是ifort(intel)编译器,因此./configure时,选择的是Linux x86_64 i486 i586 i686, ifort compiler with icc  (serial) 选项。
WRF比较顺利

2、安装WPS
      首先第一个问题是:ungrib、metgrid和geogrid三个exe文件编译失败,我就按照网站里相关帖子把configure.wps文件里的COMPRESSION_LIBS和COMPRESSION_INC两项进行编辑,主要是将zlib、libpng和jasper的lib库文件和include文件进行整合,拷贝到/usr/local下的一个文件夹里,并按照说明修改.bashrc文件,但是这样还是失败,ungrib.exe没有生成。configure.wps文件的错误信息是undefined reference to `nf_inq_varid_',很多nf_有关的错误,查找了半天应该是nf链接的应该是-lnetcdff库,nc对应的是-lnetcdf库,因此在configure.wps文件中对WRF_LIB进行修改,把-L$(NETCDF)/lib -lnetcdf改成了-lnetcdff,问题解决一部分。由于我在configure的时候选的是grib2格式的(PC Linux i486 i586 i686, Intel compiler serial),所以我觉得可能是我没有安装grib2的相关程序有关,因此我下载了wgrib2.tgz文件,并按照说明将压缩包放在了/usr/local下,进行了make,然后把COMPRESSION_LIBS和COMPRESSION_INC两项进行了修改,就是分别改成了/usr/local/grib2/lib(include),然后重新compile,就出现了主要的三个exe文件。
      第二个问题是:虽然我在修改COMPRESSION两项的时候也顺便按照网上说的根据-lX11的路径修改了configure.wps文件里的NCARG_LIBS选项(改成/usr/lib/x86_64-linux-gnu/4.6 -lX11),但是编译后还是没有plotfmt.exe和plotgrid.exe生成。log文件里的错误信息就是cpcldr.f:(.text+0x530): undefined reference to `_gfortran_concat_string',在网上查了下,很多人说是NCARG库文件的问题,而且官网上也说了可能是应该用pgi编译的ncl而用ifort编译了(我刚好也安装了ifort,也装了gfortran),所以就纠结半天到底怎么判断,后来不断试验,根据网上很少的信息自己判断可能还是gfortran没有装好,然后就在我的文件堆里找gfortran的库文件,并把configure文件里的NCARG_LIBS选项里加了一条(-L/usr/lib/gcc.x86_64-linux-gnu/4.6 -lgfortran),结果undefined reference to `_gfortran_concat_string'的所有提示都没有了,但是还没有生成那两个exe,查看configure文件,还有很多cro.c:(.text+0x5427): undefined reference to `cairo_set_source_rgba'的提示,根据以往经验,那就是缺少cairo的库文件,可是怎么解决,查了好久,参考了http://bbs.06climate.com/forum.p ... 11169&extra=&page=1上面的成功经验,就尝试着找一个低版本的ncl(我装的6.1.2),本想找个5.几的,可是没有,然后就下了个6.0的,重新解压到新建的一个/usr/local/ncarg文件夹下,并修改.bashrc文件,source后先看了下里面的lib文件夹,和之前的6.1.2里的lib库进行对比,发现刚解压安装的比之前的多了个文件,就是和cairo有关的libncarg_gks_cairo.a,觉得有戏,就赶快进行编译,之后果然出现了折磨我很久的plotfmt.exe和plotgrid.exe文件。不知道是6.1.2版本的ncl没有这个库文件还是我当时安装的时候出的问题,等下次在安装的时候关注一下吧。
安装3.8版本的时候,重新编译一遍util才出现这两个exe文件:./compile util >& util.log

安装3.2版本的时候出了一些问题,在网上找到答案,现将网址贴出:1,无法生成ungrid.exe,提示cannot find lg2_4的问题:http://www.itdadao.com/articles/c15a147043p0.html  (Jasper下缺少libgrib2c.a文件)2,运行metgrid.exe提示指针问题forrtl: severe (153): allocatable array or pointer is not allocated:http://bbs.06climate.com/forum.p ... =6297&extra=&page=1
安装WRFDA
      开始安装的是WRFDAV3.1.1,./configure wrfda之后选择跟WRF一样的选项,然后./compile all_wrfvar >& compile.log,查看log文件,里面好多关于MAX这MAX那的error,查了网上很多资料也没有结果,貌似大家装的都很顺利。我就直接把3.1.1删了,用3.6版本的wrfda,结果执行了以上两步一点错也没有就通过了,不知是不是老版本缺了什么设置,但是我的WRF和WPS都是3.1版本的。

安装RIP4
      解压RIP4压缩包,先make一下,在显示的列表中选择合适的编译器,我的是intel,我就make intel,结果还是很多错误,主要还是之前编译WPS时出现的undefined reference to `nf_inq_varid_',和undefined reference to `cairo_set_source_rgba'错误,根据经验,也看了网上的帖子,打开Makefile,修改intel条目下的netcdf库链接:NETCDFLIB       = -L/usr/local/lib  -lnetcdff,检查其他库链接(NCARG)下的内容是否正确,然后又按照之前改WPS时的-lX11链接改了-L/usr/lib/x86_64-linux-gnu/4.6 -lX11,删了个里面跟我的设置没有关系的redhat的库链接,然后编译还是少了个名为RIP的执行文件没有生成,其他的ripdp的都生成了,错误还是关于`cairo_set_source_rgba'的。经过反复检查发现NCARG的库链接没有问题,因为WPS时已经验证了,最后就索性在Makefile的NACRG的库链接-lncarg_c后面加了一个-lcairo选项,然后编译,结果顺利通过。然后在.bashrc中配置环境变量:
export RIP_ROOT=/home/**/RIP4
export PATH=$RIP_ROOT:$PATH
不过还是奇怪为什么编译WPS的时候没用写这项链接就能解决这个错误,而这里不行。

安装ARWpost
      解压缩文件,然后放到WRFV3一层的目录下,先configure,选择intel编译器(no vis5d),生成configure.arwp,这个文件没有修改项,主要是修改src文件夹下的Makefile,在All:ARWpost.exe后面的好几排链接中添加netcdff库:
-L$(NETCDF)/lib -I$(NETCDF)/include  -lnetcdff,否者还会出现很多‘nf_’开头的错误。最后直接./compile就行。

安装Grads
     官网网上下载了个grads-bin-2.0.a5-ubuntu-x86_64.tar.gz的压缩包和data2.tar.gz
     在和WRF同一层的目录下解压缩,生成grads-2.0.a5的文件夹,下面只有bin文件夹且里面都是执行程序,然后把data2文件解压到和bin同一层即可,然后设置环境变量:
export PATH=$PATH:/home/**/grads-2.0.a5/bin/
export GADDIR=/home/**/grads-2.0.a5
export GASCRP=/home/**/grads-2.0.a5
export GAUDFT=/home/**/grads-2.0.a5/table
      测试安装情况:用给的example.tar.gz,解压,在当前目录下输入grads,出现几行运行信息Landscape mode? ('n' for portrait):,然后回车,出现一个小显示框,然后输入open model.ct;d ps;图就画出来了,然后quit退出即可。

安装WRFDomainWizard
      先要安装java。终端输入:
sudo add-apt-repository ppa:webupd8team/java  有个安装JAVA8的确认,敲回车继续,OK后,继续输入
sudo add-apt install oracle-java8-installer 进行安装,出现一个图形界面,敲回车确认,然后选择accept后继续,等待安装完成。
      把WRFDomainWizard.zip解压拷到WRF同层目录下,进入WRFDomainWizard,看run_DomainWizard.bat文件是否有执行权限,如果没有就chmod一下chmod +x run_DomainWizard;这样就出来一个图形界面
WPS Programs下选择/home/**/WPS
Geography下选择/home/**/geog
Domains下选择/home/**/WPS
(注意:由于geog实在太大,软件包里面不含有,现在给出地址自行下载,下载好后解压到/homewww2.mmm.ucar.edu/wrf/src/wps_files/geog.tar.gz

安装MPICH3
      MPICH3的安装需要在超级用户权限下完成,在安装前登录超级用户:
      $ sudo su
      # cd /usr
      # tar -zxvf /home/user/.../mpich...(解压缩文件后可在/usr下新建mpich3文件夹)
     编译
     # cd /usr/mpich...(刚才解压的文件夹)
     # ./configure --prefix=/usr/mpich3 )(设置/usr/mpich3为安装路径)
     安装
     # make
     # make instal(mpich3文件夹下生成bin等4个文件夹)
     # exit(退出超级用户)
    设置环境变量
     export PATH=$PATH:/usr/mpich3/bin
    source一下
     命令行下键入mpi+Tab键
可查看mpi命令

安装完以后编译WRF的nmm_real出现错误,主要由于之前的mpich是用gfortran编译的(用mpiexec --version命令可以查看),而gfortran不支持并行,因此compile nmm_real的时候就出现关于gfortran错误:文件目录不存在或者undefine之类的。从网上查如何改成用ifort编译mpich,在ifort手册里有:./configure CC=icc CXX=icpc F77=ifort FC=ifort ...过运行的时候总出现configure: error: F90 and F90FLAGS are replaced by FC and FCFLAGS respectively in this configure, please unset F90/F90FLAGS and set FC/FCFLAGS instead and rerun configure again.或者The selected Fortran 90 compiler ifort does not work with the selected Fortran 77 compiler ifort.错误。

由于之前在安装netcdf的时候在环境变量里已经有了export CC=icc CXX=icpc F77=ifort FC=ifort的设置,按理说不应该出现gfortran编译mpich的情况,但是我当时是用超级用户装的mpi,所以这个环境变量没有起作用。回到普通用户下安装的时候就会出现上述两个error。后来经过多次查找尝试,得出以下经验:1、mpich3或者mpich2,超级用户或普通用户下在configure之前运行一下环境变量中设置的Intel编译器的source /opt/intel/Compiler/bin/ifortvars.sh intel64 命令(普通用户如果环境变量中有这条可以不用运行);
2、运行./configure --prefix=... --enable-g=all --enable-f77 --enable-fc --enable-cxx或者是./configure --prefix=... CC=icc CXX=icpc F77=ifort FC=ifort命令即可;
3、然后make && make install就一路畅通了。

安装Parallel-NetCDF(pnetcdf)
      下载地址:http://trac.mcs.anl.gov/projects/parallel-netcdf
       安装说明地址:http://trac.mcs.anl.gov/projects/parallel-netcdf/browser/trunk/INSTALL
       (具体安装步骤与安装MPICH3相似)


安装HWRF
      按照User Guide或者Online Tutorial指导安装即可http://www.dtcenter.org/HurrWRF/users/tutorial/2016_NCWCP_tutorial/practical_def/
    1.安装hwrf-utilities时,没有hwrf_bdy_upgrade.exe文件生成,解决方法是根据错误信息在configure.hwrf的LIB链接中添加pnetcdf的库文件链接L$(WRF_DIR)/external/io_pnetcdf -lwrfio_pnf  -L/usr/your pnetcdf path/lib -lpnetcdf 即可。

N、一些小问题:1、ubuntu12.04貌似已经有acrobat reader了,不过我又安装了一遍,使得ubuntu终端输入tab自动补全后,多一个空格,解决方法是:
删除/etc/bash_completion.d/acroread.sh即可,重新打开终端后,恢复正常2、ssh连接成功后,如果想要显示图形界面,需要做一些配置。
客户端配置,在/etc/ssh/ssh_config配置文件中,找到ForwardAgent yes,ForwardX11 yes,ForwardX11Trusted yes这3个确保是yes(注意这个配置文件中的#是注释,确保你修改的行没有被注释掉)

























评分

参与人数 1金钱 +20 贡献 +5 收起 理由
云知道 + 20 + 5 很给力!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-9-4 17:45:15 | 显示全部楼层
好帖,多谢分享啊!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-28 14:53:57 | 显示全部楼层
看到这些,我想说学无止境!谢谢楼主
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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