integrd 串并行对照
输入范围
dyn3d\integrd.F
dyn3dpar\integrd_p.F
Mars 运行参与度:条件经过。动力主循环在完成 tendency 计算后调用积分例程更新状态;串并行入口不同。
例程定位
integrd 把 caldyn、物理 tendency、耗散和外部 forcing 产生的增量合并到 prognostic state 中,并检查积分后的物理合理性。并行版在本地子域上执行同样任务,并保留负地表压等异常 abort 保护。
对照表
| 项 | 串行 | 并行 |
|---|---|---|
| 行数 | 269 | 407 |
| 主例程 | integrd |
integrd_p |
| 控制依赖 | control_mod: planet_type, force_conserv_tracer |
同类控制量加并行范围 |
| 异常处理 | abort_gcm |
abort_gcm,含负 surface pressure 检查 |
| 状态更新 | 全局数组 | 子域数组与边界同步前后约束 |
核心流程
- 读取当前状态和 tendency。
- 按时间步把动量、热力、质量和 tracer tendency 加到 prognostic arrays。
- 根据
force_conserv_tracer等开关处理 tracer 守恒修正。 - 检查压力或质量是否出现非法值。
- 把更新后状态返回主循环,供下一次滤波、物理或输出使用。
复现要点
integrd是状态写回点,调试守恒误差时应同时检查其输入 tendency 和输出状态。- 并行版的负压 abort 通常说明上游 tendency、质量通量或 halo 边界已有问题。
待确认
- 各 tendency 数组的完整名称和单位需在 leapfrog 重点页 中逐项绑定。