《附录ar42使用说明》由会员分享,可在线阅读,更多相关《附录ar42使用说明(32页珍藏版)》请在金锄头文库上搜索。
1、 1附录 A:R42 使用说明 附录 A:R42 使用说明 目 录 A.1 如何获取系统文件 A.2 运行文件的形成 A.3 模式运行 A.4 运行输入参数及数据 A.4.1 namelist 参数 A.4.2 运行数据 A.5 模式结果 A.5.1 模式输出结果 A.5.2 结果的处理 A.6 异常情况处理 A.6.1 编译异常情况的处理 A.6.2 运行异常中断情况的处理 A.6.3 后处理中异常情况的处理 A.7 源程序编写及流程 A.7.1 源程序编写规则 A.7.2 源程序流程 A.8 宏参数和模式变量 A.8.1 宏参数 A.8.2 模式中的常用量 A.9 常用软件 A.9.1 F
2、ortran90 2A.9.2 NetCDF A.9.3 MPI A.9.4 OpenMP A.9.5 GrADS A.9.6 NCL A.9.7 NCAR 诊断包 A.9.8 其他命令 3附录 A:R42 使用说明 本部分内容从程序应用的角度对系统作介绍。 A.1 介绍如何获取系统文件及系统的主要 结构。A.2-A.6 主要介绍模式的编译、运行及输入输出数据等方面的内容,目的是让用户能 形成运行文件并能尽快运行该系统。A.7、A.8 两节对程序的编写规则、源程序结构及模式 中的主要变量等做说明, 便于用户进一步了解模式, 并可以对系统作适当修改及增加新的方 案。最后一节对系统中涉及的软件作必
3、要的说明。 A.1 如何获取系统文件 从 LASG 气候模式主页(http:/ /FGCM/index.htm)下载 R42 的源程序 和运行所需的数据。下载的源程序文件为 R42.tar.gz,数据文件为 data.tar.gz。在 R42.tar.gz 中有模式的源程序、与运行平台有关的编译参数文件,及模式前处理、后处理 程序,还包括模式的文档等;data.tar.gz 为模式运行所需的各种数据,如海温、海冰、海 陆分布,以及臭氧、地面植被类型等。另外系统中还涉及一些通用软件,如 netCDF 等。将 这些支撑软件形成 support.tar.gz。这些支撑软件也可以从相关网站下载(见 A
4、.9 节常用 软件的说明) 。这几个文件都是用 gzip 压缩形成,应用时需要解压: % gunzip R42.tar.gz % gunzip data.tar.gz % gunzip support.tar.gz 解压后得到三个打包文件:R42.tar,data.tar,support.tar。再对这三个文件解包: % tar -xvf R42.tar % tar -xvf dada.tar % tar -xvf support.tar 经解包后生成以下文件和目录: README: 模式基本情况及安装使用的简要说明; src/: 模式源程序; data/: 运行输入数据及气候场数据; scr
5、ipt/: 编译运行及模式结果处理的 cshell 脚本文件; bld/: gmake 文件及与运行平台有关的宏参数文件; draw/: 处理运行结果; support/: 支撑软件,如 netCDF 库等; tools/: 其它处理程序,如模式初值形成、NCAR 诊断包等; doc/: 存放文本文件,包括技术文档,模式不同版本的修改说明等。 系统的目录结构见图 A.1.1。 4scripttools bld doc supportdrawR42 datasrc 图 A.1.1 系统目录结构 在模式源程序目录 src/下,按模式的计算功能划分子目录: cloud/: 云处理方案; contro
6、l/: 控制模式运行流程,及控制数据的输入、输出; csmcpl/: 与耦合器的接口程序; dynamics/: 动力过程,时间积分等; include/: 模式中包含的头文件; mathutil/: 模式中用到的数学算法,如付氏变换、矩阵运算等; physics/: 边界层、对流调整等物理过程; rad/: 辐射传输过程; lsm/: 陆面过程模式。 系统编译、维护采用 gnumake tool,自动生成 Makefile 文件。系统管理采用 CVS,可 对不同版本的文件进行管理,也便于系统的开发升级。 A.2 运行文件的形成 采用cpp 对系统进行预编译后,在进行系统的编译、连接,形成系统
7、的运行文件。 编译系统采用Fortran 90。 系统的编译指令与机器平台有关。 为便于系统的移植, 形成了不同机器平台下的编译指 令文件。这些文件存放在 bld/目录中,包括: makdep.c: 确定 Filepath 文件中源程序的依赖关系. Makefile: gnumake 文件. Macros.AIX: : AIX (IBM SP2) 平台的编译指令文件. Macros.OSF1: OSF1 (Compaq)平台的编译指令文件. Macros.IRIX64:IRIX64 (SGI Origin)平台的编译指令文件. Macros.Linux: Linux 平台的编译指令文件. 系统
8、使用的环境是 cshell,在.cshrc 文件中需设置有关的环境变量。图 A.2.1 给出了 环境变量设置的例子。图中圆圈所示部分需要用户针对模式所在路径进行相应的改动。 # For R42L26 setenv RAD_DATA /export/home/qbao/data/lib setenv CO2LIB $RAD_DATA setenv OZDIR $RAD_DATA # For NCL setenv NCARG_ROOT /export/home/qbao/bin/ncl set path = ( /export/home/qbao/bin/ncl/bin $path) 5图 A.2
9、.1 环境变量的设置 模式运行参数的设置、模式编译、连接和运行等整个过程都可通过脚本文件 setup.csh 实现,该脚本文件在 script/目录中。脚本的内容如下: #! /bin/csh -f # # Land-Atmosphere coupled model (ALGCM) # # Version: 2.0.2 # # Author: qbao # Date: Jun 2004 #- # a. Set batch system options #- #PBS -q ipcc #PBS -l nodes=3:ppn=1 echo- echo b. Set case sensitive e
10、nvironment variables available to model setup scripts echo- setenv CASE run26 # case name setenv LGCMROOT /export/home/qbao/temp/R42 setenv DATADIR $LGCMROOT/data # base dir for input data setenv RUNDIR $LGCMROOT/$CASE setenv SRCDIR $LGCMROOT/src setenv NTASK 3 # Total process ; Must equal PBS nodes
11、 on LENOVO setenv NSREST 0 # 0 startup ; 1 continue setenv CASESTR “Control run“ set ptrn = 42 # 42 R42 resolution ; 15 R15 resolution set plon = 128 # 128 ; 48 set plat = 108 # 108 ; 40 set plev = 26 # 26 levels ; 18 levels ; 9 levels setenv OS uname -s # operating system # For UKMO RAD setenv CO2L
12、IB $DATADIR/lib setenv OZDIR $DATADIR/lib if (! -e $RUNDIR) then mkdir $RUNDIR 6ln -sf $DATADIR/R42/phis-pcmr42.nc $RUNDIR/phis.nc ln -sf $DATADIR/R42/start.nc-R42L26 $RUNDIR/start.nc ln -sf $DATADIR/R42/albenew.dat $RUNDIR/. ln -sf $DATADIR/R42/albe.dat $RUNDIR/. ln -sf $DATADIR/R42/llnl/amipbc_sic
13、_iap_clim.asc $RUNDIR/. ln -sf $DATADIR/R42/llnl/amipbc_sst_iap_clim.asc $RUNDIR/. ln -sf $DATADIR/R42/vegmapr42.txt $RUNDIR/vegmap_r42.txt ln -sf $DATADIR/R42/hsnocli_r42.dat $RUNDIR/. ln -sf $DATADIR/R42/albecli_r42.nc $RUNDIR/. ln -sf $DATADIR/R42/cloud_cli_r42.nc $RUNDIR/. ln -sf $DATADIR/albf.d
14、at $RUNDIR/. ln -sf $DATADIR/ozone.dat $RUNDIR/. ln -sf $DATADIR/vegf.dat $RUNDIR/. ln -sf $DATADIR/rad.ctl $RUNDIR/. endif cd $RUNDIR if ($NSREST = 1) then cp -pf fort80.00530101 fort.80 cp -pf fort81.00530101 fort.81 endif cat ! atm.stdin ! .tmp ! .tmp =3*ires for rhombical truncation integer iy ! number of latitudes ! iy=(5*ires+1)/2 for rhombical truncation integer kx ! number of vertical levels integer kxm