CAM Standalone
namelist修改加入
dtime=1200, nsplit=6, nspltrac=2, nspltvrm=2
第一句是把积分时长调整到1200s每步
后面三个如果不加入会报错,出错信息中会有建议更改的数值,看起来估计是与物理步长中与动力步长的匹配有关,但是依然搞不清楚这几个变量的意义……
以上几个namelist的解释:
nsplit----Number of dynamics timesteps per physics timestep. If zero, a best-estimate will be automatically calculated.
nspltrac----Number of tracer advection timesteps per physics timestep. Nsplit is partitioned into nspltrac and nsplit/nspltrac, with the latter being the number of dynamics timesteps per tracer timestep, possibly rounded upward; after initialization, the code quantity nsplit is redefined to be the number of dynamics timesteps per tracer timestep.
nspltvrm----Number of vertical re-mapping timesteps per physics timestep. Nspltrac is partitioned into nspltvrm and nspltrac/nspltvrm, with the latter being the number of tracer timesteps per re-mapping timestep, possibly rounded upward; after initialization, the code quantity nspltrac is redefined to be the number of tracer timesteps per re-mapping timestep.
CESM Script
这个除了需要处理standalone中的变量外,还需要更改run_env.xml中存在相应的字段:
<entry id="NCPL_BASE_PERIOD" value="day" /> <entry id="ATM_NCPL" value="48" />
上面那行的设置代表coupler耦合频率的单位,value对应为日,下面那行是在coupler耦合单位内,ATM通过coupler和其他模块耦合的次数,值为48,即每天耦合48次,可以理解为积分步长为1800s(半小时),如果要更改积分步长为900s,将48改为96即可。同时我们可以注意到这个值在后面的语句中分别被赋给了LND OCN等其他模块,保证各个模块的耦合频率一致。如果没有正确修改dtime, nsplit, nspltrac, nspltvrm这些变量,则会出现Bad namelist settings for FV subcycling报错。
当然,这里还有疑问就算,我们即便把standalone里修改的几个变量拿过来,也仅仅是修改了CAM的积分步而已,其他分量并没有修改,是会自动更改么?还是怎样?目前测试积分了三年,没有出现问题。
#Up to 20140831#
前段时间忘了更新了。对于F05的配置,似乎直接在user_nl_cam中修改dtime=900就可以,什么都不用动……似乎split与dtime呈一定的倍数关系,dtime减半并不影响这个倍数关系的调整。当然,依然没有搞懂……
#Up to 20141108#