【CESM】1.2.0环境搭建扩充版

上周的时候,CESM的环境基本算是搭建完成了,得益于论坛中很多朋友的帮助,希望写一个尽量完整的搭建指南,供新同学参考。
当然欢迎高手们批评指正。
参考帖: http://bbs.06climate.com/forum.php?mod=viewthread&tid=2847 @ 天目神眉
         http://bbs.06climate.com/forum.php?mod=viewthread&tid=15197 @ andrewsoong
         http://bbs.06climate.com/forum.php?mod=viewthread&tid=35950 @ lhaikun@163.com
本人的运行环境为linux centos 7 64位,编译器为pgi,并行用的是mpich。
第一步安装pgi,zlib,hdf5,netcdf,netcdf-c,netcdf-fortran(按顺序安装)

首先是pgi,pgi下载地址传送门 http://pan.baidu.com/s/1dDMDmwx  提取密码9f2y
先解压,按照破解包说明把破解文件复制过去,然后就可以安装了(例子安装到了/opt/pgi中)
在命令行中输入 cd /opt
               mkdir pgi
               cd 你解压后的目录(观察下有没有install文件)
               ./install
               然后填accept,single system install,其他问y或n的填n就行,然后安装位置写/opt/pgi

安装好后配置环境变量
在命令行中输入 vi ~/.bashrc
               在后面添加
               
               export PGI=/opt/pgi/linux86-64/10.6/
               export MANPATH=$MANPATH:$PGI/man
               export LM_LICENSE_FILE=/opt/pgi/license.dat
               export PATH=$PATH:$PGI/bin

 


     
最后退回到命令行,输入 source ./bashrc使文件生效
检测pgi是否安装成功,输入$pgf90,如果出现$pgf90-Warning-No files to process即为成功。

然后安装zlib,下载传送门 http://download.csdn.net/detail/u011510965/9335797
解压,cd到解压后目录   ./configure --prefix=/home/ed/local

                      make check install

configure的时候会报No shared library support的错,需要指定编译器,具体命令./configure --prefix=/home/ed/local --sharedlibdir=/opt/pgi/linux86-64/15.10/lib


再安装hdf5,下载传送门 http://download.csdn.net/detail/u011510965/9335833
解压,cd到解压后目录 ./configure --with-zlib=/home/ed/local --prefix=/home/ed/local  (可以加上CC=icc FC=ifort么?)
                     make check install (make和make check分开写)


然后就是netcdf系列的安装了,4.2以后netcdf的c和fortran就分开了,为了能够正常使用,一定要装在一起!而且要用同一个编译器!不然后果很严重!踩过坑的人表示真的很头痛...
然后安装netcdf,下载传送门 http://download.csdn.net/detail/u011510965/9335765
cd到解压目录
CPPFLAGS=-I/home/ed/local/include LDFLAGS=-L/home/ed/local/lib ./configure --prefix=/home/ed/local CC=pgcc FC=pgf90(建议选pgi,不然后面挺麻烦的,用intel的写ifort)
然后 make
    make check
    make install

然后安装netcdf-c库,下载传送门: http://download.csdn.net/detail/u011510965/9336007
CPPFLAGS=-I/home/ed/local/include LDFLAGS=-L/home/ed/local/lib ./configure --prefix=/home/ed/local CC=pgcc FC=pgf90
make
make check
make install


好哒,然后我们要安装netcdf-fortran了,先打开bashrc文件,加入
export LD_LIBRARY_PATH=/home/ed/local/lib:${LD_LIBRARY_PATH}
source ~/.bashrc生效
CPPFLAGS=-I/home/ed/local/include LDFLAGS=-L/home/ed/local/lib ./configure --prefix=/home/ed/local CC=pgcc FC=pgf90
make
make check
make install


PS: make 或者make check不过的时候,重新弄的话要先运行“make clean”


然后配置netcdf的环境变量
export NETCDF=/home/ed/local
export PATH=$PATH:$NETCDF/bin:$NETCDF/include:$NETCDF/lib

export MANPATH=$MANPATH:$NETCDF/share/man


source ~/.bashrc

检测netcdf是否安装成功: ncdump
最后安装 mpich,建议版本为3.1.1(太高最后会出现语法错误)
安装到/home/ed/local/mpich下


———————————————————接下来是配置篇—————————————————————————
打开scripts/ccsm_utils/Machines,里面有个config_machines.xml打开在后面添加,按自己目录酌情修改
<machine MACH="newmach">                 //machine name自己取的,newmach
        <DESC>os is Linux</DESC>
        <OS>LINUX</OS>
        <COMPILERS>pgi</COMPILERS>
        <MPILIBS>mpich</MPILIBS>
        <RUNDIR>/cesm/cesm1_2_0/$CASE/run</RUNDIR>        //自己定的
        <EXEROOT>/cesm/cesm1_2_0/$CASE/bld</EXEROOT>
        <DIN_LOC_ROOT>/cesm/cesm1_2_0/inputdata</DIN_LOC_ROOT>       //文件夹事先要创建出来
        <DIN_LOC_ROOT_CLMFORC>/cesm/cesm1_2_0/lmwg</DIN_LOC_ROOT_CLMFORC>
        <DOUT_S_ROOT>/cesm/cesm1_2_0/archive/$CASE</DOUT_S_ROOT>
        <DOUT_L_MSROOT>/cesm/cesm1_2_0/$CASE</DOUT_L_MSROOT>              
        <CCSM_BASELINE>/cesm/cesm1_2_0/ccsm_baselines</CCSM_BASELINE>
        <CCSM_CPRNC>/cesm/cesm1_2_0/tools/cprnc</CCSM_CPRNC>
        <SUPPORTED_BY>srinathv -at- ucar.edu</SUPPORTED_BY>
        <GMAKE_J>2</GMAKE_J>            //建议填1或2
        <MAX_TASKS_PER_NODE>8</MAX_TASKS_PER_NODE>
        <PES_PER_NODE>16</PES_PER_NODE>
</machine>

然后打开config_compiler.xml打开在后面添加
<compiler MACH="newmach">
   <NETCDF_PATH>/home/ed/local</NETCDF_PATH>
   <ADD_SLIBS>-L/home/ed/local/lib -lnetcdf -lnetcdff</ADD_SLIBS>
   <MPI_PATH>/home/ed/local/mpich</MPI_PATH>
</compiler>

然后执行cp env_mach_specific.userdefined env_mach_specific.newmach,在后面添加
set NETCDF_PATH = /home/ed/local
set MPI_PATH = /home/ed/local/mpich
setenv INC_NETCDF ${NETCDF_PATH}/include
setenv LIB_NETCDF ${NETCDF_PATH}/lib
setenv INC_MPI ${MPI_PATH}/include
setenv LIB_MPI ${MPI_PATH}/lib

然后执行cp mkbatch.userdefined mkbatch.newmach,修改按照自己机器的情况
将两句含有mpi执行命令(mpiexec和mpirun)的其中一句解除注释,就可以了

———————————————————接下来是运行篇—————————————————————————
先到models/utils/pio下./configure
然后cd到models/utils/mct下./configure CC=pgcc FC=pgf90
如果出现C编译器的相关问题,就重装PGI
到scripts目录
./create_newcase -case /cesm/cesm1_2_0/case -mach newmach -compset X -res f19_g16
然后进入case那个目录
./cesm_setup
./case.clean_build   (svn :用户名:guestuser   密码:friendly)
./case.build
./case.run
按照提示信息,如果说成功的话那么环境就搭建好啦
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值