MARS-COMMON 文件/功能映射表
源码范围:LMDZ.MARS 与 LMDZ.COMMON-6.3\LMDZ.COMMON。 用途:从 MARS 侧反查 COMMON 的公共动力、接口和支撑文件。
关系类型
| 关系 | 含义 |
|---|---|
direct-path-forward |
MARS 文件内容只有一行相对路径,直接指向 COMMON 文件;这是最高置信关系。 |
planet-specific-variant |
MARS 与 COMMON 中 Venus/Titan 等目录存在同名文件,表示同类流程的行星专用实现,不等价。 |
common-provider |
MARS 文件通过 USE 或 CALL 使用 COMMON 模块/例程。 |
same-name-candidate |
仅由同名发现,需后续文件页确认。 |
no-direct-match |
当前未发现直接 COMMON 对应文件。 |
直接路径转发
这些 MARS dyn1d 文件内容为 ../../../../LMDZ.COMMON/... 形式,等价于把 COMMON 文件暴露给 MARS 1D 物理测试链。接口约定见 Mars dyn1d COMMON 直接转发约定。
| MARS 路径 | COMMON 路径 | 关系 | 功能角色 | COMMON 覆盖状态 |
|---|---|---|---|---|
LMDZ.MARS\libf\phymars\dyn1d\abort_gcm.F |
LMDZ.COMMON\libf\dyn3d\abort_gcm.F |
direct-path-forward |
动力侧 abort 例程 | 后续候选 |
LMDZ.MARS\libf\phymars\dyn1d\comconst_mod.F90 |
LMDZ.COMMON\libf\dyn3d_common\comconst_mod.F90 |
direct-path-forward |
动力常量和行星参数状态 | 相关 |
LMDZ.MARS\libf\phymars\dyn1d\comgeom.h |
LMDZ.COMMON\libf\dyn3d_common\comgeom.h |
direct-path-forward |
动力网格几何 include | 后续候选 |
LMDZ.MARS\libf\phymars\dyn1d\comvert_mod.F90 |
LMDZ.COMMON\libf\dyn3d_common\comvert_mod.F90 |
direct-path-forward |
垂直坐标状态 | 相关 |
LMDZ.MARS\libf\phymars\dyn1d\control_mod.F90 |
LMDZ.COMMON\libf\dyn3d_common\control_mod.F90 |
direct-path-forward |
GCM 控制变量 | 相关 |
LMDZ.MARS\libf\phymars\dyn1d\disvert_noterre.F |
LMDZ.COMMON\libf\dyn3d_common\disvert_noterre.F |
direct-path-forward |
非地球垂直离散 | 已覆盖 |
LMDZ.MARS\libf\phymars\dyn1d\ener_mod.F90 |
LMDZ.COMMON\libf\dyn3d_common\ener_mod.F90 |
direct-path-forward |
动力能量状态 | 已覆盖 |
LMDZ.MARS\libf\phymars\dyn1d\infotrac.F90 |
LMDZ.COMMON\libf\dyn3d_common\infotrac.F90 |
direct-path-forward |
tracer 元数据和配置 | 已覆盖 |
LMDZ.MARS\libf\phymars\dyn1d\logic_mod.F90 |
LMDZ.COMMON\libf\dyn3d\logic_mod.F90 |
direct-path-forward |
动力逻辑开关 | 后续候选 |
LMDZ.MARS\libf\phymars\dyn1d\mod_const_mpi.F90 |
LMDZ.COMMON\libf\dyn3dpar\mod_const_mpi.F90 |
direct-path-forward |
MPI 常量/通信器占位 | 已覆盖 |
LMDZ.MARS\libf\phymars\dyn1d\mod_interface_dyn_phys.F90 |
LMDZ.COMMON\libf\dynphy_lonlat\mod_interface_dyn_phys.F90 |
direct-path-forward |
动力-物理接口状态 | 已覆盖 |
LMDZ.MARS\libf\phymars\dyn1d\parallel_lmdz.F90 |
LMDZ.COMMON\libf\dyn3dpar\parallel_lmdz.F90 |
direct-path-forward |
并行抽象初始化 | 已覆盖 |
LMDZ.MARS\libf\phymars\dyn1d\paramet.h |
LMDZ.COMMON\libf\dyn3d_common\paramet.h |
direct-path-forward |
动力维度 include | 后续候选 |
LMDZ.MARS\libf\phymars\dyn1d\serre_mod.F90 |
LMDZ.COMMON\libf\dyn3d_common\serre_mod.F90 |
direct-path-forward |
数值状态/工作数组模块 | 相关 |
动力-物理接口同名变体
这些文件在 MARS 的 dynphy_lonlat\phymars 与 COMMON 的 dynphy_lonlat\phyvenus、dynphy_lonlat\phytitan.old 中同名。当前只能说明它们承担同类行星专用流程;不能默认实现相同。
| MARS 路径 | COMMON 路径 | 关系 | 功能角色 | COMMON 覆盖状态 |
|---|---|---|---|---|
LMDZ.MARS\libf\dynphy_lonlat\phymars\callphysiq_mod.F90 |
LMDZ.COMMON\libf\dynphy_lonlat\phyvenus\callphysiq_mod.F90 |
planet-specific-variant |
物理调用适配层 | 非 Mars 路径,仅保留边界说明 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\callphysiq_mod.F90 |
LMDZ.COMMON\libf\dynphy_lonlat\phytitan.old\callphysiq_mod.F90 |
planet-specific-variant |
物理调用适配层 | 非 Mars 路径,仅保留边界说明 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\iniphysiq_mod.F90 |
LMDZ.COMMON\libf\dynphy_lonlat\phyvenus\iniphysiq_mod.F90 |
planet-specific-variant |
物理初始化适配层 | 非 Mars 路径,仅保留边界说明 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\iniphysiq_mod.F90 |
LMDZ.COMMON\libf\dynphy_lonlat\phytitan.old\iniphysiq_mod.F90 |
planet-specific-variant |
物理初始化适配层 | 非 Mars 路径,仅保留边界说明 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\newstart.F |
LMDZ.COMMON\libf\dynphy_lonlat\phyvenus\newstart.F |
planet-specific-variant |
start 文件生成/修改 | 非 Mars 路径,已排除 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\newstart.F |
LMDZ.COMMON\libf\dynphy_lonlat\phytitan.old\newstart.F |
planet-specific-variant |
start 文件生成/修改 | 非 Mars 路径,已排除 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\start2archive.F |
LMDZ.COMMON\libf\dynphy_lonlat\phyvenus\start2archive.F |
planet-specific-variant |
start 到 archive 转换 | 非 Mars 路径,已排除 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\start2archive.F |
LMDZ.COMMON\libf\dynphy_lonlat\phytitan.old\start2archive.F |
planet-specific-variant |
start 到 archive 转换 | 非 Mars 路径,已排除 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\ini_archive.F |
LMDZ.COMMON\libf\dynphy_lonlat\phyvenus\ini_archive.F |
planet-specific-variant |
archive 文件初始化 | 非 Mars 路径,已排除 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\ini_archive.F |
LMDZ.COMMON\libf\dynphy_lonlat\phytitan.old\ini_archive.F |
planet-specific-variant |
archive 文件初始化 | 非 Mars 路径,已排除 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\write_archive.F |
LMDZ.COMMON\libf\dynphy_lonlat\phyvenus\write_archive.F |
planet-specific-variant |
archive 变量写出 | 非 Mars 路径,已排除 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\write_archive.F |
LMDZ.COMMON\libf\dynphy_lonlat\phytitan.old\write_archive.F |
planet-specific-variant |
archive 变量写出 | 非 Mars 路径,已排除 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\scal_wind.F |
LMDZ.COMMON\libf\dynphy_lonlat\phyvenus\scal_wind.F |
planet-specific-variant |
风场尺度/格点处理 | 非 Mars 路径,仅保留边界说明 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\wind_scal.F |
LMDZ.COMMON\libf\dynphy_lonlat\phyvenus\wind_scal.F |
planet-specific-variant |
风场尺度/格点处理 | 非 Mars 路径,仅保留边界说明 |
MARS 使用 COMMON 模块的高频位置
| MARS 使用位置 | COMMON 提供者 | 关系 | 证据类型 | 备注 |
|---|---|---|---|---|
LMDZ.MARS\libf\dynphy_lonlat\phymars\nogcm.F90 |
infotrac, control_mod, mod_const_mpi, comconst_mod, logic_mod |
common-provider |
USE |
nogcm 是 MARS lon-lat 入口,直接依赖 COMMON 动力状态模块。 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\leapfrog_nogcm.F |
infotrac, write_field, control_mod, comvert_mod, comconst_mod, logic_mod |
common-provider |
USE |
MARS 的 nogcm leapfrog 变体复用 COMMON 状态和输出接口。 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\start2archive.F |
mod_const_mpi, comvert_mod, comconst_mod |
common-provider |
USE |
start/archive 转换依赖 COMMON 通信器、垂直坐标和常量。 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\newstart.F |
mod_const_mpi, comvert_mod, comconst_mod |
common-provider |
USE |
newstart 依赖 COMMON 通信器、垂直坐标和常量。 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\ini_archive.F |
comvert_mod, comconst_mod, logic_mod |
common-provider |
USE |
archive 初始化依赖 COMMON 垂直坐标、常量和逻辑开关。 |
LMDZ.MARS\libf\dynphy_lonlat\phymars\iniphysiq_mod.F90 |
inigeomphy_mod |
common-provider |
USE + CALL inigeomphy |
物理几何初始化来自 COMMON dynphy_lonlat。 |
LMDZ.MARS\libf\phymars\dyn1d\testphys1d.F90 |
parallel_lmdz, mod_const_mpi, comvert_mod |
common-provider |
USE |
1D 物理测试链复用 COMMON 并行抽象和动力坐标模块。 |
未发现直接映射的 COMMON 主体
以下 COMMON 区域目前在 MARS 侧没有同名直接文件映射,更多是通过构建链或运行配置被整体纳入:
| COMMON 区域 | 当前映射状态 | 说明 |
|---|---|---|
LMDZ.COMMON\libf\dyn3d_common\adv*, ppm3d.F, prather.F |
no-direct-match |
MARS 源码树中未发现同名路径转发;应从 GCM 构建和调用链继续确认。 |
LMDZ.COMMON\libf\dyn3dpar\leapfrog_p.F, gcm.F, vlsplt_p.F |
no-direct-match |
MARS 源码树中没有直接同名转发;并行 GCM 可能由 build 系统组合 COMMON 与 MARS 物理。 |
LMDZ.COMMON\libf\phy_common |
no-direct-match/common-provider 待细化 |
MARS 中可见 write_field 等使用点,但物理侧并行传输模块需结合构建清单确认。 |
LMDZ.COMMON\libf\misc |
no-direct-match/公共库 |
NetCDF/ioipsl/插值工具多为公共库性质,后续应由 common-mars-usage-map.md 逐项补充依据据。 |
Mars-only 范围说明
planet-specific-variant 表中的 Venus/Titan 文件只用于帮助读者理解“同名但不同星球实现”的边界,不作为待补说明。Mars 运行实际应优先写 MARS phymars 使用到的 COMMON 共享接口、路径转发文件和 USE/CALL 提供者。
维护规则
- 维护本表时,把“COMMON 覆盖状态”列补成实际 wiki 页面链接。
- 发现新的路径转发文件时,优先加入“直接路径转发”表。
- 仅同名但未读源码的关系必须保持
same-name-candidate或planet-specific-variant,不能写成等价实现。 非 Mars 路径不扩批、不领取;只在本映射表中保留边界说明。