|
CESM(Community Earth System Model)是由美国国家大气中心(National Center For Atmospheric Research,NCAR)于1996研发的地球系统模式,是目前最先进、使用最广泛的地球系统模式之一。CESM利用耦合器协同大气、海洋、陆面、海冰等分量模式进行气候模拟。
CESM由大气模式(CAM)、海洋模式(POP)、陆面模式(CLM)、海冰模式(CICE)和陆冰模式(CISM)5个分量模式以及控制各分量交互的耦合器(CPL)组成,每个分量模式由动力模式和数据模式等多种选择,可以进行多种组合满足不同的研究目的,并且各分量模式及耦合器均为并行模型,它们同时支持分布式内存和共享内存两种并行机制,可以非常灵活的使用各种计算资源。
模型先后经历了CESM1.x.x,CESM2.x.x 多个版本的迭代, 经过多年的发展和沉淀,直到最近的CESM2.2.0版本。分量模式也增加了河流模式(RTM),形成现在“六位一体”的格局,模型水平结构和垂直结构也变得越来越复杂详尽。
整个模式的代码由FORTRAN编程语言所写。随着版本的更新和发展,为了更好地管理和调度各个模块,其模型中也添加了部分Python, Perl等语言脚本,但这些脚本旨在管理模型,并不参与模型结构本身。整个模型代码总量预计在5万行以上。
由于模型结构较为复杂,且以代码构成,没有可视化界面。 模型需要在Linux系统环境中运行,新手入门需花些时间成本。首先要对Linux的 “命令行” 交互模式进行适应。 模型的成功安装依赖于其所在的系统环境,因此需要对其进行配置和搭建。 现以Linux的Ubuntu 18.04版本为例,对CESM2.X 所需的模型环境进行配置;
2 k$ M$ Q! z4 C1 n, q; `% d, P
0 U7 q# H! E Y8 \ i! ^# e
所需软件及依赖包
1 J% D+ u$ u4 g" \9 o
0 b, E. D% A* Z2 L! L0 z主要包括C、FORTRAN等编译器,mpi并行计算库,netcdf文件的并行读取库、make安装工具等等,列表如下: gcc gfortran make m4 libtool libxml2-utils python libxml-libxml-perl libcurl4-openssl-dev liblapack-dev libblas-dev mpich libmpich-dev sudo cmake git zlib HDF5 Pnetcdf netcdf netcdf-fortran 如果你具有系统的管理员权限,可利用Ubuntu的apt包管理工具实现一键安装,十分方便; 对于有些包,apt管理工具中可能没有或找不到,那就只能选择源码自行编译安装。本例以apt安装基础包,源码自行编译安装非基础包对两种安装方式都进行讲解,代码如下: / \% }, ^$ E M m
01 安装基础包 02 安装zlib U/ f* \+ F# G8 `, v
[Shell] 纯文本查看 复制代码 ZDIR=/usr/local/zlib #定义环境变量
cd /usr/local/src/zlib-1.2.11
./configure --prefix=${ZDIR}
make
make check
make install
rm -rf /usr/local/src/zlib-1.2.11 % u+ j" e, k: l7 t* P v; k
03 安装HDF5 ; X3 [8 X3 P4 X7 Y, N
[Shell] 纯文本查看 复制代码 H5DIR=/usr/local/hdf5
cd /usr/local/src/hdf5-1.10.4
CC=mpicc CFLAGS=-w ./configure --prefix=${H5DIR} --with-zlib=${ZDIR} --enable-parallel --enable-hl
make
make check
make install
rm -rf /usr/local/src/hdf5-1.10.4 & m8 N9 \, x: t/ i4 T
: D, ?- O5 \, T3 e" r' D9 g r- o) E+ F
: D' m+ B, c9 x) L/ C
- C+ T+ W' b# H2 L# X04 安装pnetcdf 4 ~1 h- e, f+ j" {9 s
[Shell] 纯文本查看 复制代码 PNDIR=/usr/local/pnetcdf
cd /usr/local/src/pnetcdf-1.11.0
MPICC=mpicc CFLAGS="-fPIC -g -O2" ./configure --prefix=${PNDIR} --enable-shared --enable-profiling
make
make tests
make check
make ptests
make install
rm -rf /usr/local/src/pnetcdf-1.11.09 B) r, B# x; t# Z' g/ Y
1 Q q a- d; c1 Z& p7 m
05 安装netcdf , u/ Z. [4 D; f1 R6 J, ^
6 k$ ~, U) A# c
[Shell] 纯文本查看 复制代码 NCDIR=/usr/local/netcdf4
cd /usr/local/src/netcdf-c-4.6.2
CC=mpicc CPPFLAGS="-I${PNDIR}/include -I${H5DIR}/include -I${ZDIR}/include" LDFLAGS="-L${PNDIR}/lib -L${H5DIR}/lib -L${ZDIR}/lib" ./configure --prefix=${NCDIR} --enable-parallel-tests --enable-parallel
make
make check
make install
rm -rf /usr/local/src/netcdf-c-4.6.2
" S& V& `/ ?" s
06安装netcdf-fortran + p" D/ D0 j' g# Y1 q
[Shell] 纯文本查看 复制代码 NFDIR=/usr/local/netcdff4
cd /usr/local/src/netcdf-fortran-4.4.5
CPPFLAGS=-I${NCDIR}/include LDFLAGS=-L${NCDIR}/lib ./configure --prefix=${NFDIR}
make
make check
make install
rm -rf /usr/local/src/netcdf-fortran-4.4.5
/ E3 w" w* ~. M" q$ w
07 建立动态链接库 [Shell] 纯文本查看 复制代码 echo ${NCDIR}/lib > /etc/ld.so.conf.d/netcdf.conf
echo ${NFDIR}/lib >> /etc/ld.so.conf.d/netcdf.conf
echo ${ZDIR}/lib >> /etc/ld.so.conf.d/netcdf.conf
echo ${H5DIR}/lib >> /etc/ld.so.conf.d/netcdf.conf
echo ${PNDIR}/lib >> /etc/ld.so.conf.d/netcdf.conf
ldconfig
[/size][/font][p=null, 2, center][font=新宋体][size=3]结语
M/ I( i8 Q) \* D# E* {4 H
- A9 L; N" M3 j9 i如此,CESM2.X以上版本的环境就搭建好了。当然,每台机器的基本配置有所差异,如CPU不同,安装Linux发行版不同,此过程中可能会出现由于小问题。当然,如果这些问题都顺利通过,那基本上CESM模型的环境就搭建好了。搭建好之后,就可以进行CESM模型的下载及安装了! 2 a3 C8 C4 }( u8 p0 U' Q' o
|