短小算子 helper families 总览
输入范围
limx, limy, limz, nxgrad*, nxgraro*, cov*, conv* families in dyn3d_common
Mars 运行参与度:必经/条件经过。这些 helper 被 advection、动力诊断、差分算子和守恒检查调用。
分类
| 家族 | 代表文件 | 作用 |
|---|---|---|
| limiter | limx.F, limy.F, limz.F |
三方向 slope limiter,供 pentes_ini 和 advection 内核使用。 |
| normalized gradient | nxgrad.F, nxgradst.F, nxgrad_gam.F |
归一化梯度或变体算子。 |
| rotational helpers | nxgraro2.F, nxgrarot.F |
梯度/旋转组合 helper。 |
| covariant/contravariant | covcont.F90, covnat.F |
风场协变/逆变转换。 |
| convergence | convflu.F, convmas.F90 |
tracer/质量通量辐合。 |
使用链
- pentes_ini 调用
limx/limy/limz后进入advx/advy/advz。 - bilan_dyn 调用
covcont、convflu、convmas生成诊断。 caldyn和耗散路径使用nxgrad*、nxgraro*等 helper 组合算子。
复现要点
- helper 文件短,但通常决定网格位置、边界符号和守恒形式。
- limiter 与 advection 内核必须成对复现;只替换 limiter 会改变数值扩散。
convmas的输出常继续传入vitvert,用于垂直速度诊断。
后续拆分建议
优先释放 limx/limy/limz、convmas/convflu、covcont/covnat 三组普通任务;nxgrad* 可与差分算子总览联动。
待确认
nxgrad*各后缀的精确定义需逐文件确认。