MARS 模块化与旧代码清理

页面定位

覆盖未归入特定物理面的 Fortran 模块化、接口显式化和遗留代码删除。

兼容性关注:主要影响编译依赖、符号可见性和维护性;是否改变数值需逐项判断。

本页是 5.3 到 6.3 版本差异详情页,只解释改动职责与影响,不展开逐行代码差异。

变化统计

本主题覆盖 32 个路径事件:新增 4、删除 6、修改 22。

主要变化

受影响路径

编号 5.3 路径 6.3 路径 类型 SHA-256 核验 改动概述 官方记录
M-0093 libf/dynphy_lonlat/phymars/iniphysiq_mod.F90 libf/dynphy_lonlat/phymars/iniphysiq_mod.F90 修改 5988c0fbd0c1→1138c149710d(已核验) 为物理初始化增加 startfi 文件名参数,使 3D PEM 等调用路径能选择并正确初始化目标物理状态文件。 官方记录:18/04/2024,JBC
M-0100 libf/dynphy_lonlat/phymars/subslope_mola.F90 新增 —→226bd35ebaff(已核验) 新增源码文件 subslope_mola.F90,其中定义 subslope_mola_modsubslope_molamolagetslopes_mola32;该实现进入 6.3。 官方记录:15/04/2024,JBC16/04/2024,JBC
M-0102 libf/dynphy_lonlat/phymars/xvik.F libf/dynphy_lonlat/phymars/xvik.F 修改 44faecdf4ddc→5b824d8c9dd7(已核验) 把 xvik 重构为可迁入 util 的 CO2 循环检查器:从输入文件读取网格,并支持处理 DYNAMICO 插值输出。 官方记录:23/04/2026,JM
M-0111 libf/phymars/callkeys.h 删除 c40f3fe65aa1→—(已核验) 移除旧配置 include;共享物理开关转入 callkeys_mod。 官方记录:17/04/2025,EM
M-0112 libf/phymars/callkeys_mod.F90 新增 —→a677dc4cddc1(已核验) 新增配置状态模块,集中保存 conf_phys 读取并由各物理过程使用的开关。 官方记录:17/04/2025,EM11/02/2026,JM
M-0114 libf/phymars/callsedim_mod.F libf/phymars/callsedim_mod.F 修改 bd8cfe4b239d→e186e671fc31(已核验) 更新沉降中的父子 tracer 接口:以 nqchildren/qparentmin 替代旧 nqfils/qperemin,并迁移配置与沉降速度模块依赖。 官方记录:11/05/2026,EM
M-0122 libf/phymars/comcstfi_h.F90 libf/phymars/comcstfi_h.F90 修改 2b313d7acd17→61be20022e68(已核验) 重构物理常量状态:将 pi 固定为参数,把行星常量设为 SAVE/THREADPRIVATE,并由 init_comcstfi_h 显式初始化。 官方记录:22/10/2023,EM
M-0124 libf/phymars/compute_dtau_mod.F90 libf/phymars/compute_dtau_mod.F90 修改 9e4aa348c240→79d625dfc523(已核验) 把 tau_pref_target、dtau 和 dustliftday 诊断从 WRITEDIAGFI 迁到 write_output,并改用 callkeys_mod 获取注入参数。 官方分组记录:03/04/2023,RV10/02/2026,EM
M-0125 libf/phymars/comslope_mod.F90 新增 —→18de8caba18d(已核验) 新增源码文件 comslope_mod.F90,其中定义 comslope_modini_comslope_hcompute_meshgridavg;该实现进入 6.3。 官方记录:14/02/2023,RV
M-0127 libf/phymars/conc_mod.F90 libf/phymars/conc_mod.F90 修改 3946e24f1570→1a34cac8231f(已核验) 把按大气组成计算平均摩尔质量、比气体常数、定压比热和导热系数的状态更新集中到 conc_mod,并将模块状态设为 protected。 官方记录:26/01/2024,CS
M-0128 libf/phymars/conf_phys.F libf/phymars/conf_phys.F 修改 475c8329a0f5→3c23db729324(已核验) 集中重构物理配置:增加输出节奏与诊断、ATKE/重力波、尘埃凝并、古气候、吸附和质量修正等开关及互斥检查,并淘汰旧键。 官方记录:28/09/2023,JN22/10/2023,EM14/11/2023,AB29/11/2023,JL20/02/2024,LL06/02/2026,TB10/02/2026,EM12/02/2026,JM25/03/2026,EM26/03/2026,YCL
M-0130 libf/phymars/cvmgp.F 删除 0edec9490122→—(已核验) 删除仅由已清理 CRAY 分支使用的 cvmgp 辅助函数,当前构建路径不再需要该实现。 官方记录:20/08/2025,EM
M-0131 libf/phymars/cvmgt.F libf/phymars/cvmgt.F 修改 19790ad78de3→a0cc3f904f8e(已核验) 更新源码文件 cvmgt.F:新增 cvmgt_mod 源码差异;未找到对应 Changelog 条目
M-0163 libf/phymars/getslopes.F90 删除 d98c58cdc63b→—(已核验) 移除独立 getslopes.F90;坡面读取例程已并入 slope_mod.F90,坡面初始化能力继续保留。 官方记录:25/01/2024,JBC
M-0165 libf/phymars/hdo_surfex_mod.F libf/phymars/hdo_surfex_mod.F 修改 36ab8a40eb5a→46d6fb09e003(已核验) 把 HDO 地表分馏的父 tracer 阈值迁到 qparentmin,并改用模块化微物理、配置和统一诊断接口。 官方分组记录:03/04/2023,RV11/05/2026,EM
M-0173 libf/phymars/interp_line.F libf/phymars/interp_line.F 修改 58956f643f99→0e5113d860a9(已核验) 把 interp_line 转为模块化插值接口,保留一维线性插值职责。 官方记录:21/08/2025,EM
M-0191 libf/phymars/mucorr.F libf/phymars/mucorr.F 修改 a5f7c9ef7a1f→ab8d929e3c2a(已核验) 更新源码文件 mucorr.F:新增 mucorr_mod 官方记录:27/04/2025,EM
M-0193 libf/phymars/newsedim_mod.F libf/phymars/newsedim_mod.F 修改 28cf0db28e45→39074db64c74(已核验) 更新源码文件 newsedim_mod.F:新增模块依赖 vlz_fi_mod 源码差异;未找到对应 Changelog 条目
M-0219 libf/phymars/paleoclimate_mod.F90 新增 —→9166d578fe6a(已核验) 新增古气候状态模块,集中初始化/释放轨道和地表古气候参数,并将保存状态设为 THREADPRIVATE 以修复 OpenMP 共享问题。 官方记录:21/07/2023,EM
M-0220 libf/phymars/param_slope.F90 删除 8db9ef2b34f0→—(已核验) 移除独立 param_slope.F90;坡面参数状态已与 getslopes 一并并入 slope_mod.F90。 官方记录:25/01/2024,JBC
M-0226 libf/phymars/phyredem.F90 libf/phymars/phyredem.F90 修改 b99f69940e3c→0bf33e2243f2(已核验) 清理 phyredem0 的废弃参数,并扩展 phyredem1 的 restart 状态以传递 qsoil/nqsoil;同时接入坡面、古气候和 tracer 质量修正相关模块。 官方记录:23/11/2022,RV08/11/2023,LL
M-0227 libf/phymars/phys_state_var_init_mod.F90 libf/phymars/phys_state_var_init_mod.F90 修改 cb806514d432→ef3139af279d(已核验) 扩展物理状态初始化接口以接收 startfi 文件名,避免 3D PEM 路径固定读取默认文件。 官方记录:18/04/2024,JBC
M-0228 libf/phymars/physiq_mod.F libf/phymars/physiq_mod.F 修改 40633d01315e→28362b31a8c7(已核验) 把物理总调度全面扩展到多坡面,并接入地下水冰、尘埃凝并、非地形重力波/ATKE、热惯量反馈和 tracer 质量修正,同时迁移到统一输出接口。 官方记录:23/11/2022,AB28/04/2023,RV17/05/2023,AB29/11/2023,JL26/01/2024,CS08/02/2024,JBC20/02/2024,LL16/05/2025,JLIU06/02/2026,TB09/02/2026,EM10/02/2026,EM01/04/2026,YCL
M-0230 libf/phymars/planetwide_mod.F90 libf/phymars/planetwide_mod.F90 修改 84bd913ea2c0→faa2554a4134(已核验) 用 MESOSCALE 条件编译包围全球 gather/bcast 实现,使中尺度构建不引入该并行汇总模块依赖。 源码差异;未找到对应 Changelog 条目
M-0233 libf/phymars/scopyi.F 删除 bb7198e75b79→—(已核验) 移除源码文件 scopyi.F,其中定义 scopyi;该实现不再随 6.3 分发。 官方记录:17/04/2025,EM
M-0234 libf/phymars/sig.F 删除 6d6133effab6→—(已核验) 移除源码文件 sig.F,其中定义 sig;该实现不再随 6.3 分发。 官方记录:27/04/2025,EM
M-0238 libf/phymars/slope_mod.F90 libf/phymars/slope_mod.F90 修改 7da7ba7ebdd9→73c5a3aba122(已核验) 整合坡面几何与辐射职责:getslopes 由经纬度和地形梯度计算坡度/坡向,param_slope 计算坡面直射、反射和散射太阳辐照度;getslopes 仅支持串行调用。 官方记录:25/01/2024,JBC
M-0245 libf/phymars/suaer.F90 libf/phymars/suaer.F90 修改 5da68515340b→7020e4c7158f(已核验) 更新源码文件 suaer.F90:新增 suaer_mod;新增模块依赖 callkeys_modaerave_mod 官方记录:07/05/2025,EM
M-0247 libf/phymars/surfdat_h.F90 libf/phymars/surfdat_h.F90 修改 7d5305398c1a→ec84cd18f286(已核验) 把地表温度、发射率、热容、通量、水冰帽和地表 tracer 等状态扩展到坡面维,并由 surfdat_h 接管 perennial CO2 ice 及南北半球反照率状态的初始化与释放。 官方记录:02/10/2023,LL15/01/2025,JBC16/01/2025,JBC
M-0263 libf/phymars/updaterad.F90 libf/phymars/updaterad.F90 修改 d33f12f1c2f0→c17c66d5ed90(已核验) 更新源码文件 updaterad.F90中的 updateradupdaterice_microupdaterice_microco2updaterice_typ:外部模块、例程、调用和 getin 键集合保持不变,差异集中在局部声明、维度或类型约束。 源码差异;未找到对应 Changelog 条目
M-0269 libf/phymars/vlz_fi.F libf/phymars/vlz_fi.F 修改 56f1c01678fa→8b8364578b1f(已核验) 更新源码文件 vlz_fi.F:新增 vlz_fi_mod;移除条件编译边界 CRAY 官方记录:20/08/2025,EM
M-0281 libf/phymars/yamada4.F libf/phymars/yamada4.F 修改 791db9c3f0e3→136e5979eb93(已核验) 更新源码文件 yamada4.F:新增 yamada4_mod 源码差异;未找到对应 Changelog 条目

证据边界

相关页面