通用地球系统模式(Community Earth System Model, CESM)是由美国国家大气中心于2010年发布的新一代地球系统模式,是目前最先进、使用最广泛的地球系统模式之一。本文以CESM1.0.3为例,介绍CESM模式在Linux上的移植方法。本文内容参考该贴:成功移植CESM模式(介绍)——Porting CESM via user defined machine files。
一、准备工作
移植之前首先需要安装netCDF、intel-Fortran与impi。此外,需提前下载模式运行需要的inputdata,可利用svn在该网址下载:https://svn-ccsm-inputdata.cgd.ucar.edu/trunk/inputdata。
二、开始移植
1、建立Machine
首先将模式拷贝至目录中,进入cesm1_0_3/scripts/ccsm_utils/Machines目录,首先打开config_machines.xml,在文件末尾添加自己的机器信息,如下所示:
|
|
其中MACH字段为机器名,EXEROOT为之后建立的case目录,DIN_LOC_ROOT_CSMDATA为inputdata目录,DOUT_S_ROOT为模式结果输出目录。
之后复制Machines文件夹中的env_machopts.###、Macros.###、mkbatch.###并将拓展名修改为自己的机器名,再打开env_machopts、Macros文件,修改其中netCDF、mpi等路径以适应当前系统。最后打开mkbatch文件,修改mach为新建的机器名。
2、生成(create)Case
进入/cesm1_0_3/scripts目录下,执行以下指令:
|
|
其中-case后参数为case路径,-res后为分辨率,-mach后为机器名。-compset和-res的设置参数可参考CESM用户手册。
3、配置(configure)Case
进入Case目录下,打开env_conf.xml,修改以下参数:
|
|
参数意义在备注中已有介绍。其中,只有RUN_TYPE为hybrid和branch时后两个参数有意义。
之后打开env_mach_pes.xml文件,配置好你所要使用的cpu核心数。
再打开env_run.xml文件,设置模式运行年份,例如:
|
|
上面设置为模式持续模拟2000年。
修改完毕后,执行以下指令保存配置:
|
|
若需重新配置,需使用-cleanall指令删除之前的配置并初始化。
4、构建(building)Case
在Case目录中打开新生成的Buildconf目录,打开cam.buildnml.csh文件以修改模式运行参数以及导入的强迫场路径等信息。若之前RUN_TYPE为hybrid和branch,还需要向Case根目录的run文件夹拷贝参照试验的rest文件。
上述工作完成后,返回Case根目录,执行以下指令执行build:
|
|
之后若需重新配置,需首先执行./mask_2004.the.clean_build清除build。
5、提交作业
build完成后,执行以下指令即可提交作业:
|
|
之后通过qstat可以查询任务运行状态,qdel停止任务,任务若出错停止可以在Case的run目录查询错误log文件。