caldyn 串并行对照

输入范围

dyn3d\caldyn.F
dyn3dpar\caldyn_p.F

Mars 运行参与度:条件经过。串行动力主循环调用 caldyn,并行动力主循环调用 caldyn_p;Mars 是否走 COMMON 版本取决于构建入口和并行配置。

例程定位

caldyn 是动力核心 tendency 计算的短入口,负责把当前风、质量、位温、压力等状态组织为后续积分所需的动力 tendency。并行版本保留同类职责,但使用子域数组和并行输出/调试 helper。

对照表

串行 caldyn.F 并行 caldyn_p.F
行数 145 214
主例程 SUBROUTINE caldyn SUBROUTINE caldyn_p
质量平均 massbarxy massbarxy_p
并行差异 全局数组 子域范围、并行调试输出
输出 动力 tendency 和辅助量 本地子域 tendency,需和 halo/decomposition 保持一致

核心流程

  1. 从当前 ucov/vcov/teta/masse/ps 等状态读取动力变量。
  2. 构造 staggered grid 上需要的质量平均。
  3. 调用梯度、散度、旋度、位势等 common 算子组合得到动量和热力 tendency。
  4. 把 tendency 传回主循环,由 integrd 或对应并行积分例程更新 prognostic state。

复现要点

相关页面

待确认