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