登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 lolilukia 于 2016-9-12 22:18 编辑
之前删去了一部分细节内容,原因是在后期运行模式的时候出现了不明原因的错误,有可能是前期环境配置导致的,有论坛网友提出,现将帖子恢复,仅供参考,并不能保证全部正确。
---------------------更新说明-----------------------------
上周的时候,CESM的环境基本算是搭建完成了,得益于论坛中很多朋友的帮助,希望写一个尽量完整的搭建指南,供新同学参考。
当然欢迎高手们批评指正。
参考帖:http://bbs.06climate.com/forum.php?mod=viewthread&tid=2847
http://bbs.06climate.com/forum.php?mod=viewthread&tid=15197
http://bbs.06climate.com/forum.php?mod=viewthread&tid=35950
本人的运行环境为linux centos 7 64位,编译器为pgi,并行用的是mpich。
第一步安装pgi,zlib,hdf5,netcdf,netcdf-c,netcdf-fortran(按顺序安装)
首先是pgi,先解压,按照破解包说明把破解文件复制过去,然后就可以安装了(例子安装到了/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
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>
打开scripts/ccsm_utils/Machines,里面有个config_machines.xml打开在后面添加,按自己目录酌情修改
然后打开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,按照自己机器的情况修改
———————————————————接下来是运行篇—————————————————————————
先到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
./case.build
./case.run
|