dyn3d 总览
路径
LMDZ.COMMON-6.3\LMDZ.COMMON\libf\dyn3d
职责
dyn3d 是 COMMON 的串行动力目录,包含串行 GCM 入口、无完整 GCM 入口、配置读取、主时间推进、串行输送调度、动力诊断和多个短小动力算子 helper。当前目录有 42 个文件。
Mars 运行参与度:条件经过 和 接口兼容。COMMON 不再包含 nogcm.F90 或 leapfrog_nogcm.F;Mars 侧若仍有专用 nogcm 链,应在 MARS wiki 或旧版说明中处理。MARS dyn1d 仍可能直接转发 logic_mod.F90 和 abort_gcm.F。
目录内容
| 分组 |
代表文件 |
作用 |
| 入口 |
gcm.md |
解析 runtime options,读取配置、初始化状态、设置 I/O 和物理接口,进入主时间推进。 |
| 配置 |
conf_gcm.md, logic_mod.F90, temps_mod.F90 |
从 run.def/getin 设置控制变量、逻辑开关和时间状态。 |
| 主循环 |
leapfrog.F |
Matsuno/leapfrog 时间推进,调用动力、输送、物理、输出和 JH_cur restart 写出。 |
| 动力核心 |
caldyn.F, integrd.F, dissip.F, friction.F, top_bound.F |
动力 tendency、积分、耗散、摩擦和顶边界处理;见 routines 串并行对照页。 |
| tracer/输送 |
caladvtrac.F, advtrac.F90, advect.F, vlsplt.F, vlspltqs.F, qminimum.F |
tracer advection 累计门控、Van Leer split 和最小值保护;见 caladvtrac 到 tracer advection 循环。 |
| 诊断/I/O |
bilan_dyn.F, fluxstokenc.F, write_paramLMDZ_dyn.h, wrgrads.F |
守恒诊断、flux 存储和参数/GrADS 输出。 |
| guide/网格插值 |
guide_mod.F90, interp_horiz.F / iniinterp_horiz.F |
nudging/guide 与 Mars utility 水平插值。 |
与其他目录的关系
| 相关目录 |
关系 |
dyn3d_common/ |
dyn3d 入口和主循环大量调用 common 的初始化、状态、几何、算子和 restart。 |
dyn3dpar/ |
并行目录有对应入口、配置和 _p helper,后续串并行主题页需对照。 |
dynphy_lonlat/ |
通过 iniphysiq、calfis 和 gr_dyn/fi 变换连接物理。 |
关键文件
典型流程
gcm 检查 run.def,调用 conf_gcm(99,.TRUE.) 读取控制变量。
- 入口初始化 XIOS、Cp(T)、日历、tracer、初态和网格。
- 若启用物理,入口调用
iniphysiq 传入动力网格和常量。
- 初始化 restart/history 输出,再调用
leapfrog。
- 主循环内进一步调用
caldyn、caladvtrac、dissip、bilan_dyn 等串行例程。
复现要点
conf_gcm 读取的默认值会直接影响 day_step/iperiod/iphysiq/read_start/planet_type 等主流程分支。
use_filtre_fft=.true. 在串行动力入口会中止,不能把并行/FFT 滤波路径套用到 dyn3d。
待确认
- COMMON
gcm.F90 在 Mars 当前生产构建中的直接入口地位需结合 build 配置确认。
相关页面