爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 16836|回复: 30

【CESM】1.2.0环境搭建扩充版

[复制链接]

新浪微博达人勋

发表于 2015-12-8 15:25:30 | 显示全部楼层 |阅读模式

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

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

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


评分

参与人数 2金钱 +14 贡献 +2 体力 +120 收起 理由
yupo_smart + 4 很给力!
lhaikun@163.com + 10 + 2 + 120 赞一个!

查看全部评分

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

新浪微博达人勋

发表于 2015-12-8 15:35:15 | 显示全部楼层
看楼主安装Netcdf的时候为什么CC用gcc,FC用pgf90,为什么不统一用PGI编译呢,这样不会影响速度?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-8 21:38:18 | 显示全部楼层
感谢楼主 楼主棒棒哒
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-12-9 09:33:56 | 显示全部楼层
lhaikun@163.com 发表于 2015-12-8 15:35
看楼主安装Netcdf的时候为什么CC用gcc,FC用pgf90,为什么不统一用PGI编译呢,这样不会影响速度?

前面一个参考帖用的是不同编译器,实话说我也不知道会不会影响速度
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-9 09:37:18 | 显示全部楼层
lolilukia 发表于 2015-12-9 09:33
前面一个参考帖用的是不同编译器,实话说我也不知道会不会影响速度

建议还是用同一编译器编译,免得后续出问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-12-9 09:50:27 | 显示全部楼层
lhaikun@163.com 发表于 2015-12-9 09:37
建议还是用同一编译器编译,免得后续出问题

好哒感谢指正~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-21 11:00:27 | 显示全部楼层
李博好厉害
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-22 12:47:12 | 显示全部楼层
敬爱的李博,验证PGI是否安装成功的命令是 $pgf90   ,不是PDF90.。。。。。。。。。。。。。
搞这个花了我好久,我的天。。。。。。。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-22 19:06:22 | 显示全部楼层
好帖啊,楼主人也nice
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-12-22 20:14:25 | 显示全部楼层
a1333888 发表于 2015-12-22 12:47
敬爱的李博,验证PGI是否安装成功的命令是 $pgf90   ,不是PDF90.。。。。。。。。。。。。。
搞这个花了我 ...

马上去改...好尴尬哟
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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