2. 创建并运行可执行文件

CoLM模式可以作为一个独立的可执行程序运行,其中定期读取大气强迫数据。它也可以作为大气模型的一部分运行,其中大气模型和陆地模型之间的通信通过子程序调用或特殊耦合器进行。在本技术指南中,我们将重点介绍并行版本的CoLM,串行版本CoLM的大部分脚本和设置与并行版本相似,甚至更简单。

offline mode

为了在脱机模式下构建和运行CoLM,需要使用两个示例脚本:Csh, jobclm_single。在run和其他源代码目录中分别提供了相应的Makefile文件。脚本,jobclm。CSH和jobclm_single。Csh,创建模型可执行文件,确定必要的输入数据集,构造输入模型名称列表。用户必须适当地编辑这些脚本,以便在特定的环境中为他们的特定需求构建和运行可执行文件。这些脚本仅作为示例提供,以帮助新手用户尽可能快地启动并运行CoLM。脚本jobclm_single。CSH用于做单点脱机模拟实验,可以在最少的用户修改下运行,假设用户在脚本的顶部重置了几个环境变量。特别是,用户必须将ROOTDIR设置为指向模型根目录的完整磁盘路径名。还有工作。CSH用于全球或区域的离线模拟实验,通常需要进行大量修改以满足不同的要求。下面我们将解释jobclm

脚本jobclm。csh可分为五个部分:1)规范脚本环境变量,创建头文件define.h;2)分别编制曲面数据制作、初始数据制作、时间循环计算程序。3)地表数据制作,包括输入名单创建;4)初始数据制作:包括输入名单的创建;5)时间循环计算:包括输入名单的创建

2.1脚本环境变量的规范

用户通常不需要修改jobclm的部分。Csh,除了:1)设置模型域边缘和基本计算机体系结构;

2)设置模型路径目录,3)创建输出子目录,4)创建头文件$CLM_INCDIR/define.h。

define.h  cpp 令牌(token)描述
OFFLINE如果定义,则调用脱机模式
RDGRID如果定义,模型网格的纬度和经度由输入数据提供
USGS如果定义,则使用 USGS 24类土地覆盖图例
IGBP如果定义,则使用  IGBP 17类土地覆盖图例
SiB2如果定义,则使用   SiB2 11类土地覆盖图例
BATS如果定义,则使用 BATS 19类土地覆盖图例
EcoDynamics如果定义,则激活动态植被模型
LANDONLY如果定义,则只有陆地网格被激活
LAND_SEA如果定义,陆地和海洋网格将被激活
MAPMASK如果定义,用户应该提供基本地图文件来定位特定区域
NCDATA如果定义,正在读取netCDF格式的大气驱动数据,目前只支持GSWP2和PRINCETON数据集。
PRINCETON如果定义,则使用PRINCETON数据集。取决于NCDATA令牌。
GSWP2如果定义,则使用GSWP2数据集。取决于NCDATA令牌。
DOWNSCALING如果有定义,用于网格化强迫数据的简单降尺度方法,通常在高分辨率模拟实验下使用
SPMD如果定义了MPI并行函数并将其构建到模型中,则该令牌将由jobclm自动设置。根据 TASKS 环境变量
WR_HOURLY如果定义,历史文件在每个时间步长写入
WR_DAILY如果定义,历史文件以日平均写入
WR_MONTHLY如果定义,历史文件以月平均写入

#undef  coup_atmosmodel        // 未知
 
#undef  RDGRID                 // 如果定义,模型网格的纬度和经度由输入数据提供
#undef  SOILINI                // 未知 0

// 调用脱机模式
#define offline

// 土地覆盖图例_四种分类标准
#undef  BATS                   // BATS 19类土地覆盖图例
#undef  SIB2                   // SiB2 11类土地覆盖图例
#undef  IGBP                   // IGBP 17类土地覆盖图例
#define USGS                   // USGS 24类土地覆盖图例

// 激活某种模型
#define EcoDynamics             // 动态植被模型
#define LANDONLY                // 陆地网格
#undef  LAND_SEA                // 陆地和海洋网格


#undef  SINGLE_POINT            // 未知 0
#undef  GLACIER                 // 未知
#undef  MAPMASK                 // 如果定义,用户应该提供基本地图文件来定位特定区域
#define METMASK                 // 未知


// 数据集
#define PRINCETON               // PRINCETON数据集
#undef  GSWP2                   // GSWP2数据集 

// 历史文件以某种形式写入
#undef  WR_HOURLY               // 在每个时间步长写入
#undef  WR_DAILY                // 以日平均写入        
#define WR_MONTHLY              // 以月平均写入


#define NCHIST                   // 未知
#define SPMD                     // 如果定义,MPI并行函数并将其构建到模型中,则该令牌将由jobclm自动设置。根据 TASKS 环境变量

// 官方说明但未写入
// NCDATA	如果定义,正在读取netCDF格式的大气驱动数据,目前只支持GSWP2和PRINCETON数据集。
// DOWNSCALING	如果有定义,用于网格化强迫数据的简单降尺度方法,通常在高分辨率模拟实验下使用

// 串行版本有,并行版本无
// #define USGS24
// #define NEWSFC2

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

理想三旬不止

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值