LMDZ.MARS 项目结构总览

路径

LMDZ.MARS

职责

LMDZ.MARS 是火星行星气候模型(Planetary Climate Model, PCM)的物理包,包含火星大气环流模式的物理过程实现。该项目不包含完整的 GCM 源码(仅包含物理过程部分),而是提供 Fortran 源码供其他动力框架调用。

源码依据README 文件说明这是 "Mars Planetary Climate (PCM) physics package"。

目录内容

子目录/文件 类型 作用
README 文件 项目说明文档
changelog.txt 文件 代码变更记录
Licence_CeCILL_V2-en.txt 文件 CeCILL 开源许可证(英文)
Licence_CeCILL_V2-fr.txt 文件 CeCILL 开源许可证(法文)
libf/ 目录 核心 Fortran 源码(物理过程实现)
deftank/ 目录 配置文件和运行脚本示例
util/ 目录 后处理工具集
startfiles/ 目录 初始状态文件
datadir/ 目录 运行时外部数据集
doc/ 目录 用户手册 LaTeX 源文件

目录详解

libf/ - 核心源码目录

这是最重要的目录,包含所有物理过程的 Fortran 实现:

子目录 职责
phymars/ 核心物理模块:辐射、尘埃、水循环、CO2、云、边界层、重力波等
aeronomars/ 高层大气模块:光化学、热层、电离层、分子扩散
dynphy_lonlat/ 动力-物理耦合与初始化(当前仅包含 phymars 子目录)

源码依据README 说明 libf 是 "Fortran source code of the Mars physics package"。

deftank/ - 配置目录

包含 GCM 运行所需的配置文件示例和运行脚本:

源码依据deftank/README 说明需要 "run.def, callphys.def, traceur.def and z2sig.def" 输入文件。

util/ - 后处理工具

工具 作用
concatnc.F90 合并 NetCDF 输出文件
extract.F90 提取变量和区域
zrecast.F90 垂直坐标转换
localtime.F90 本地时间计算
lslin.F90 Ls 线性化重采样
gencol.F90 生成列数据
hrecast.F90 水平重网格
startarchive2icosa 初始场格式转换
simu_MCS.F90 MCS 模拟配置

startfiles/ - 初始状态

包含 1D 模型初始状态文件 start1D.txt

源码依据startfiles/README 说明 1D 模型使用 8 层大气层和 5 个示踪剂 [co2, h2o_ice, h2o_vap, dust_number, dust_mass]。

datadir/ - 运行时数据

本目录当前只包含 README,其中指向在线 datadir 数据包下载位置;实际运行所需的外部数据文件不随此目录完整提供。

源码依据datadir/README 指向在线数据集下载位置。

doc/ - 文档

用户手册 LaTeX 源文件。

与其他目录的关系

相关目录 关系
libf/ 提供物理过程源码,被 deftank 中的配置驱动
deftank/ 提供运行配置,调用 libf 中的物理过程
util/ 处理 deftank 运行产生的输出数据
startfiles/ 提供初始状态,由 deftank 中的脚本加载
datadir/ 提供运行时查表数据,被 libf 中的模块使用

关键文件

文件 原因
libf/phymars/physiq_mod.F 主物理入口,是 phymars 的核心调用入口
libf/phymars/callradite_mod.F 辐射计算入口,调度长波和短波辐射主程序
libf/aeronomars/ 光化学、热层、电离层实现
deftank/run.def.* 不同配置的运行参数
deftank/callphys.def.* 物理过程开关配置

典型运行流程

  1. 初始化阶段

    • 读取 run.def 获取网格、时间步长等参数
    • 读取 z2sig.def 定义垂直坐标
    • 读取 traceur.def 配置示踪剂
    • 读取 callphys.def 配置物理过程开关
    • startfiles/ 加载初始状态
    • datadir/ 加载运行时数据
  2. 物理计算阶段

    • 主循环中调用 physiq_mod.F 中的物理过程
    • 辐射计算(callradite_mod.F
    • 尘埃循环(dust_*.F
    • 水循环(water*.F
    • CO2 循环(co2*.F
    • 高层大气(aeronomars/
  3. 输出阶段

    • 通过 XIOS 写入 NetCDF 输出
    • 使用 util/ 工具进行后处理

运行场景

  1. 3D GCM 模式:与动力核心耦合,全火星模拟
  2. 1D 垂直列模式:使用 testphys1d 程序,固定水平位置的时间演化
  3. 离线诊断模式:使用已有输出进行诊断计算

复现要点

后续细节入口

本页只保留项目结构层级和运行场景;早期概览中的细节问题已拆到专题页和模块页维护: