dyn3d_common 总览

路径

LMDZ.COMMON-6.3\LMDZ.COMMON\libf\dyn3d_common

职责

dyn3d_common 包含串行和并行动力共享的核心状态、初始化、网格几何、restart、垂直坐标、差分算子、输送内核和 I/O helper。当前目录有 123 个文件。

Mars 运行参与度:必经接口兼容 混合。control_modcomconst_modcomvert_modinfotrac 等由 MARS 直接转发或 USEdynetat0inigeom 被 MARS phymars/nogcm.F90newstart.Fstart2archive.F 等调用链使用。

目录内容

分组 代表文件 作用
运行状态模块 control_mod.F90, comconst_mod.F90, comvert_mod.F90, ener_mod.F90, serre_mod.F90 保存控制变量、物理常量、垂直坐标、能量诊断和工作状态。
初始化 dynetat0.F90, iniacademic.F90, iniconst.F90, inigeom.F, inidissip.F90, disvert*.F* 读取或构造初态、常量、几何、耗散和垂直离散。
restart/I/O dynredem.F90, dynredem_mod.F90, grilles_gcm_netcdf_sub.F90, inithist.F, writehist.F, initdynav.F90 写 restart、网格 NetCDF、history/dynav 输出。
输送 advn.F, advx/y/z.F, advxp/yp/zp.F, ppm3d.F, prather.F, pentes_ini.F, limx/y/z.F tracer 或质量相关输送格式和 slope limiter。
差分算子 grad*.F, diverg*.F, divgrad*.F, rotat*.F, laplacien*.F, nxgrad*.F 动力方程中的梯度、散度、旋度、拉普拉斯等算子。
质量压力能量 massdair.F, massbar*.F90, pression.F90, pbar.F, psextbar.F, geopot.F, exner*.F90 压力、气柱质量、位势和 Exner 函数处理。
网格函数 fxy.F, fxysinus.F, fxhyp_m.F90, fyhyp_m.F90, coordij.F zoom 和经纬网格映射辅助。

与其他目录的关系

相关目录 关系
dyn3d/ 串行入口和主循环调用本目录的初始化、几何、输送和算子。
dyn3dpar/ 并行动力复用许多 common 状态和算子,也有 _p 版本配合 halo/decomposition。
dynphy_lonlat/ 动力状态通过 lon-lat 接口进入物理侧;几何数组为接口映射提供基础。
LMDZ.MARS\libf\phymars\dyn1d 直接转发多个 common 模块和 include 文件。

关键文件

文件 原因
dynetat0.md start.nc 初态读取,Mars planeto start 逻辑在此。
inigeom.md 动力网格几何和面积/伸长系数构造。
inigeom zoom/map 几何约定 zoom 参数、水平映射分支、archive header、surface 插值和 Mars physics 几何使用关系。
defrun.md 旧式 gcm.def 读取例程,源码注释称似乎不再使用。
grilles_gcm_netcdf_sub.md grilles_gcm.nc 网格、面积和地表位势 NetCDF 输出。
advn.md Hourdin pseudo amont tracer 输送内核;覆盖 iadv=12/13、x-y-z-y-x split、界面重构、质量守恒更新和可达性边界。
prather.md Prather moments 输送格式。
ppm3d.md NASA/GSFC PPM 三维 tracer 输送内核;串行旧分支保留,当前 Mars 标准配置通常不可达。
pentes_ini.md slope/limiter 初始化和预输送。
inidissip.md 水平耗散初始化:特征值估算、垂直剖面和 dissip_period 计算。
infotrac.F90 tracer 配置核心;读取 traceur.def,建立 nqtot/tname/iadv/niadv、父子 tracer 和 isotope 状态。
dynredem.F90 restart 写出入口,和 dynetat0 成对。
disvert_noterre.F 非地球垂直离散,Mars dyn1d 直接转发。

典型流程

  1. conf_gcm 设置 control_modlogic_mod 和耗散/网格控制变量。
  2. infotrac_init 读取 tracer 元数据,入口据此分配 tracer 数组。
  3. dynetat0iniacademic 生成初始 ucov/vcov/teta/q/masse/ps/phis/time_0
  4. iniconstinigeominifilr 准备常量、几何和滤波数据。
  5. leapfrog/leapfrog_nogcm 调用 pressure、mass、operator、advection、diagnostic 和 restart helper 推进时间。

复现要点

待确认

相关页面