dyn3d 总览

路径

LMDZ.COMMON-6.3\LMDZ.COMMON\libf\dyn3d

职责

dyn3d 是 COMMON 的串行动力目录,包含串行 GCM 入口、无完整 GCM 入口、配置读取、主时间推进、串行输送调度、动力诊断和多个短小动力算子 helper。当前目录有 42 个文件。

Mars 运行参与度:条件经过接口兼容。COMMON 不再包含 nogcm.F90leapfrog_nogcm.F;Mars 侧若仍有专用 nogcm 链,应在 MARS wiki 或旧版说明中处理。MARS dyn1d 仍可能直接转发 logic_mod.F90abort_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/ 通过 iniphysiqcalfis 和 gr_dyn/fi 变换连接物理。

关键文件

文件 原因
gcm.md 串行完整 GCM 入口。
conf_gcm.md 串行配置读取中心。
vlsplt.md 串行 Van Leer split transport;覆盖 iadv=10、x-y-z-y-x split、父子 tracer 递归和三方向边界。
vlspltqs.md 串行饱和水汽 Van Leer split 输送。
advtrac.md 串行 tracer advection 调度文件页;覆盖 iapp_tracvl 累计门控、nqperes/iadv 循环、CFL/DP 诊断和历史保留分支。
bilan_dyn.md 串行动力守恒与 history 诊断。
leapfrog.md 串行主时间推进和 restart 写出时间。
guide_mod.md 串行 guide/nudging 模块主文件页,覆盖配置、输入、插值、叠加、输出和 Mars 边界。
interp_horiz.md LMDZ scalar 网格面积交叠水平插值,支撑 Mars datareadnc/lect_start_archive/newstart 重网格。
logic_mod.F90 MARS dyn1d 直接转发的串行动力逻辑开关模块。

典型流程

  1. gcm 检查 run.def,调用 conf_gcm(99,.TRUE.) 读取控制变量。
  2. 入口初始化 XIOS、Cp(T)、日历、tracer、初态和网格。
  3. 若启用物理,入口调用 iniphysiq 传入动力网格和常量。
  4. 初始化 restart/history 输出,再调用 leapfrog
  5. 主循环内进一步调用 caldyncaladvtracdissipbilan_dyn 等串行例程。

复现要点

待确认

相关页面