高分辨率下的沙尘数值稳定性
结论
直接提高水平分辨率后出现的失稳,首先应视为网格、动力时间步和动力—物理耦合间隔没有共同缩放的问题,而不是已经证实的单一沙尘模块错误。模式中已有多层沙尘局部保护,但没有根据分辨率自动重配时间步、耗散和物理调用频率的统一机制。
脱敏运行试验进一步表明:
- 缩短动力时间步可以稳定 96×45×29 和 120×60×29;
- 对 176×90×29,只缩短动力步仍不够;把 physics 调用频率从每 sol 36 次提高到 72 次后,才完成 1 sol,并按日分段完成 10 sol;
- 失败时,在新一次 physics 调用开始前已经出现 500–1094 m s⁻¹ 的强风和全部 7 个 tracer 的负值;
convadj、CO₂ 凝结和部分沙尘过程是异常的暴露或放大位置,现有证据不支持它们是最初触发点;- 10-sol 完成依赖
addfi_p的 tracer clipping,只能称为“操作上有界”,不能称为严格正值、守恒或生产稳定。
范围与证据等级
本页综合当前源码树的静态审计与受控短积分结果。为避免混淆,结论分为三类:
| 标签 | 含义 |
|---|---|
| 源码事实 | 可由下列 LMDZ.MARS 或 COMMONS 相对源码引用直接核验。 |
| 运行观测 | 来自同一初值下改变 dtvr 或 iphysiq 的脱敏配置对照。 |
| 解释/待验证 | 与现有证据一致,但仍需增加诊断或单因素试验。 |
本轮运行覆盖 prescribed-scaling active dust、29 个垂直层、7 个 tracer,并关闭 free dust、RDS 和 topographic dust flow。结论不能直接外推到自由沙尘、RDS、topflows、垂直加密或季节尺度积分。
为什么提高分辨率会改变稳定性
提高水平分辨率会缩小格距。若仍沿用原有 day_step 和 iphysiq,可能同时产生两类问题:
- 动力步相对格距过长,平流和动力算子的 Courant 约束变紧;
- physics 调用间隔过长,动力产生的强风、负 tracer 或其他异常在进入下一次物理修正前积累。
当前最符合证据的失效链是:
水平格距缩小
→ 动力时间步/Courant 约束变紧
→ 强风与 tracer 异常在 coupling interval 内形成
→ 下一次 physics 入口已存在负 tracer
→ convadj、CO₂ 凝结、vdifc 或沙尘链条首先触发检查/停机
沙尘辐射反馈仍可能放大异常,但尚未完成 active dust radiation 的开关对照,不能把它确定为首发原因,也不能排除其作用。
模式代码中已有的稳定性处理
1. 普通 tracer 平流
iadv=10 对应 Van Leer 路径,advtrac_p 直接调用 vlsplt_p。adaptdt 只在其他若干平流选项中调用,默认的 iadv=10 分支没有自动缩短时间步或自动增加子步。
源码引用:
COMMONS/libf/dyn3d_common/infotrac.F90COMMONS/libf/dyn3dpar/advtrac_p.f90COMMONS/libf/dyn3d_common/adaptdt.F
2. 地表交换与沙尘源
沙尘地表通量进入 vdifc 的边界层隐式求解,这比完全显式更新更稳健。但它不是一个统一的源强上限,也不会代替对整体物理时间步的检查。
源码引用:
LMDZ.MARS/libf/phymars/vdifc_mod.F
3. 沉降
沙尘沉降调用链支持粒子在一个物理步内跨越多层,并限制界面输送量,避免从某层移除超过可用量的 tracer。
源码引用:
LMDZ.MARS/libf/phymars/callsedim_mod.FLMDZ.MARS/libf/phymars/newsedim_mod.FLMDZ.MARS/libf/phymars/vlz_fi.F
这说明“沉降完全没有稳定性处理”并不成立;但若进入沉降前 tracer 或风场已经异常,局部通量限制不能恢复整个耦合状态。
4. dust mass–number 与粒径
updaterdust 在 dust mass 或 dust number 过小时回退到最小半径,并把三阶半径约束到预设上下限后再开立方。这能避免除以极小 number 和非物理粒径进入后续光学计算。
源码引用:
LMDZ.MARS/libf/phymars/updaterad.F90
该保护会使粒径保持有界,但也可能掩盖上游 mass–number 配对已经失真,因此应同时检查 mass、number 和裁剪预算。
5. RDS 与 topographic dust transport
RDS 和 topographic transport 内部包含速度/质量通量约束、Van Leer 垂直输送和自适应子步。这些保护只在相应功能开启时生效;本轮运行关闭了这两条路径,不能用它们解释当前稳定边界。
源码引用:
LMDZ.MARS/libf/phymars/rocketduststorm_mod.F90LMDZ.MARS/libf/phymars/topmons_mod.F90
6. 沙尘辐射缩放
dust_rad_adjust 在特定缩放路径中按本地时跨 sol 插值,并把新的调整系数上限设为 5,以避免光学厚度突然飙升。该保护依赖具体的 scaling mode,不能当作所有沙尘辐射路径的统一限幅。
源码引用:
LMDZ.MARS/libf/phymars/dust_rad_adjust_mod.F90
7. tracer 非负修复
physiq 中有若干过程特定的非负修复;物理倾向返回动力后,addfi_p 对各 tracer 独立执行正下限裁剪。
源码引用:
LMDZ.MARS/libf/phymars/physiq_mod.FLMDZ.MARS/libf/phymars/check_fields.F90COMMONS/libf/dyn3dpar/addfi_p.F
这些处理能阻止负值直接保留到下一状态,但当前实现没有统一输出每个 tracer 的裁剪点数、最小值和全局质量/数浓度修正。对 dust mass 与 dust number 独立裁剪还可能改变两者配比。
代码没有自动处理的部分
源码中没有发现以下统一机制:
- 根据水平或垂直分辨率自动计算
day_step; - 根据分辨率自动选择
iphysiq; - 为默认
iadv=10dust tracer 自动增加动力输送子步; - 根据新网格自动重标定水平耗散和 sponge;
- 将所有局部 positivity repair 汇总成可见、守恒的 tracer 修正预算;
- 联合修复 dust mass 与 dust number,使其在裁剪后仍保持物理一致。
参考配置本身也说明时间步参数需要随网格和版本人工调整:
| 参考配置 | day_step |
iphysiq |
physics 次数/sol | tetagdiv/tetagrot/tetatemp |
|---|---|---|---|---|
| 32×24 GCM5 | 480 | 10 | 48 | 3000/9000/9000 s |
| 64×48 GCM5 | 960 | 10 | 96 | 2500/5000/5000 s |
| 64×48 GCM6 | 960 | 5 | 192 | 2500/5000/5000 s |
源码引用:
LMDZ.MARS/deftank/run.def.32x24x25.GCM5LMDZ.MARS/deftank/run.def.64x48x32.GCM5LMDZ.MARS/deftank/run.def.64x48x54.GCM6
受控运行结果
时间步关系为:
dtvr = daysec / day_step
dtphys = iphysiq × dtvr
physics calls per sol = day_step / iphysiq
稳定边界
| 网格 | 配置变化 | 观测结果 |
|---|---|---|
| 96×45×29 | dtvr=246.60 s |
失败 |
| 96×45×29 | dtvr=164.40 s、123.30 s |
完成 1 sol |
| 120×60×29 | dtvr=164.40 s |
超时 |
| 120×60×29 | dtvr=123.30 s、98.64 s |
完成 1 sol |
| 176×90×29,36 次 physics/sol | dtvr=82.20 s、61.65 s、49.32 s |
均未完成 |
| 176×90×29,72 次 physics/sol | dtvr=49.32 s、dtphys=1232.99 s |
完成 1 sol,并按日分段完成 10 sol |
176×90×29 当前可用的短期诊断起点是:
day_step = 1800
iphysiq = 25
dtvr ≈ 49.32 s
dtphys ≈ 1232.99 s
这不是精确稳定阈值,也不是生产参数。每个配置只有一条确定性轨迹,因此只能说明配置改变了该轨迹的完成状态,不能推断稳定概率或统计显著性。
首次完整捕获的异常
在开启 physics 入口检查后,任何新的物理过程执行前已经观测到:
- 7 个 tracer 全部出现负值;
- 多处水平风超过 500 m s⁻¹;
- 最大近地风约 1094 m s⁻¹。
因此,首发窗口位于“上一次 physics 返回”与“下一次 physics 入口”之间。convadj、CO₂ 凝结和 vdifc 的停机位置不能直接当作根因。
10-sol 结果的限定
10 个日末 restart 中 tracer 均有限且非负,但运行过程中记录到:
| 检查位置 | 负 tracer 日志行数 |
|---|---|
| physics 输入 | 43 |
| physics 输出 | 23,435 |
这些数字是日志行数,不是独立网格点数。physics 输出的负值随后由 addfi_p 裁剪;日志没有给出负值幅度或全局修正预算。
短期 dust 总量演变为:
| 状态 | dust mass/初值 | dust number/初值 |
|---|---|---|
| 第 1 sol | 0.924780 | 0.922682 |
| 第 10 sol | 0.923524 | 0.868910 |
dust mass 的主要调整发生在第 1 sol,dust number 此后仍继续下降。这个方向与凝并或选择性 number 损失一致,但初值 spin-up、沉降、清除、lifting、微物理和 clipping 同时存在,当前不能作单一过程归因。
已确认的独立代码风险
RDS stormdust number 修复变量不一致
在 rdstorm 路径的负值修复中,stormdust number 越界分支使用了 background dust number 计算修复趋势,mass 与 number 的索引不一致。
源码引用:
LMDZ.MARS/libf/phymars/physiq_mod.F
本轮 rdstorm=F,因此该问题存在但不能解释本轮失稳。
vdifc 水汽潜热子步缺少上限
make_tsub 根据地表温度趋势计算 ntsub=ceiling(abs(ztsub)),没有统一最大子步数。异常温度倾向可能生成很大的循环次数,表现为运行停滞或超时。
源码引用:
LMDZ.MARS/libf/phymars/vdifc_mod.F
这属于需要单独修复或保护的性能—稳定性风险,但不是沙尘专属机制。
当前判断
| 判断 | 置信度 | 依据 |
|---|---|---|
| 提高水平分辨率后必须重新选择动力时间步 | 高 | 96×45 和 120×60 的受控 dtvr 对照 |
| 176×90 还需要缩短 physics coupling interval | 高 | 同一 dtvr 下只改变 iphysiq 即改变完成状态 |
| 失稳不是已证实的单一沙尘沉降错误 | 高 | 沉降已有跨层和通量限制;physics 入口已出现整体异常 |
| 沙尘辐射反馈可能参与放大 | 中/待验证 | active dust radiation 未做开关对照 |
| 当前 10-sol 配置严格正值且守恒 | 不支持 | 中间负 tracer 大量出现,clipping 预算未知 |
| 当前结果可外推到 free dust、RDS、topflows 或垂直加密 | 不支持 | 相应机制未开启或未试验 |
建议的下一轮试验
P0:先增加诊断
- 在
addfi_p中按 tracer 输出裁剪前最小值、位置、点数和全局修正量; - 对 dust mass 与 dust number 同时记录单独裁剪和联合裁剪情况;
- 每个动力步输出
u/v/ps/teta与各 tracer 的全局极值; - 在 tracer advection 后输出真实 x/y/z Courant 最大值;
- 记录
vdifc的最大水汽子步数、位置及对应温度趋势。
P1:分离动力步与 coupling interval
优先测试:
day_step = 1440
iphysiq = 20
该组合保持约 72 次 physics/sol 和 dtphys≈1233 s,但把 dtvr 放宽到约 61.65 s,可检验 1800 个动力步是否必要。
随后可在 day_step=1800 下测试 iphysiq=30,夹逼较经济的 coupling interval。
P2:验证分段效应
用同一配置补做不中断的连续 10-sol 试验,与按日分段结果比较。
P3:再进入沙尘专属试验
固定已验证的时间步后,一次只改变一个机制:
- prescribed scaling 下 active dust radiation on/off;
- free dust;
- RDS;
- topographic dust flow;
- 最后才开展长季节积分。
垂直分辨率应另建试验矩阵,因为它会同时改变 z-CFL、薄层质量、沉降落距和按层定义的物理处理。
相关页面
待确认
- 强风与 tracer 负值在同一个 coupling interval 内的严格先后顺序;
- 首个越界的 x/y/z Courant 分量和动力算子;
iphysiq改变带来的“物理步变短”与“clipping 更频繁”各自贡献;- active dust radiation 对强风和 tracer 异常的影响;
- clipping 对 dust mass、dust number 和有效半径的净预算;
- 连续运行与按日分段运行是否等价;
- 当前时间步能否支持 free dust、RDS、topflows 和季节尺度积分。