libf 核心源码目录

路径

LMDZ.MARS\libf

职责

libf 是 LMDZ.MARS 的核心 Fortran 源码目录,包含火星大气物理过程的全部实现。该目录不包含完整的 GCM 动力核心,而是作为物理包供其他框架(如 LMDZ 动力框架)调用。

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

目录内容

子目录/文件 类型 作用 文件数
phymars/ 目录 核心物理模块:辐射、尘埃、水循环、CO2、云、边界层、重力波等 164
aeronomars/ 目录 高层大气模块:光化学、热层、电离层、分子扩散 32
dynphy_lonlat/ 目录 动力-物理耦合与初始化 21 个文件(集中在 phymars/ 子目录)

子目录详解

phymars/ - 核心物理模块

包含火星大气物理过程的实现,是最重要的目录。按功能分类:

类别 关键文件 作用
主入口 physiq_mod.F 物理过程主调度模块,入口例程 physiq()
辐射 callradite_mod.F, lwmain_mod.F, swmain_mod.F 短波和长波辐射计算
尘埃 dust_param_mod.F90, dust_scaling_mod.F90, dust_windstress_lift.F90, dustdevil.F90 尘埃 lifting、传输、沉降
水循环 watercloud_mod.F, watersat_mod.F90, tcondwater.F90 水蒸气、云、凝结
CO2 循环 co2condens, co2-saturation helpers, co2snow.F, co2cloud_mod.F90 CO2 凝结、升华、云
光化学 calchim_mod.F90, photochemistry_mod.F90 大气化学(可能通过 aeronomars 调用)
边界层/湍流 turb_mod.F90, lmdz_atke_turbulence_ini.F90, lmdz_call_atke.F90 湍流混合、ATKE 方案
重力波 sugwd.F90, gwprofil_mod.F90, gwstress_mod.F90 重力波拖曳
对流 convadj_mod.F, thermcell_main_mars.F90 对流调整、热对流
示踪剂 tracer_mod.F90, initracer.F90 示踪剂管理
初始化 phyetat0_mod.F90, phyredem.F90, phys_state_var_init_mod.F90 物理状态初始化
输出 writediagfi.F, xios_output_mod.F90, write_output_mod.F90 诊断输出

aeronomars/ - 高层大气模块

处理 80km 以上高层大气物理过程:

类别 关键文件 作用
光化学 photochemistry_mod.F90, photolysis_mod.F90, photolysis_online.F 光化学反应和光解
热层 nltecool_mod.F, nlte_calc.F, nlte_aux.F 非局部热力学平衡(NLTE)冷却
电离层 iono_h.F90, euvheat.F90 电离层加热、光电子
分子扩散 moldiff.F, moldiff_red.F, moldiffcoeff.F 分子扩散
化学 chemthermos.F90, deposition.F 化学和沉积过程

dynphy_lonlat/ - 动力-物理耦合

负责物理过程与动力核心的耦合:

文件 作用
callphysiq_mod.F90 物理过程调用接口
iniphysiq_mod.F90 物理初始化
ini_archive.F 初始场处理
defrun_new.F 运行参数定义
nogcm.F90 独立物理模式(无 GCM 动力核心)
leapfrog_noro1.F 时间积分方案
start2archive.F 初始场格式转换

推断dynphy_lonlat 中的代码负责将 phymars 中的物理过程与 lon-lat 网格的动力核心连接起来。

与其他目录的关系

相关目录 关系
../deftank/ 提供配置文件,被 libf 中的参数读取模块使用
../datadir/ 提供运行时查表数据(辐射数据、化学参数等)
../util/ 处理 libf 产生的输出数据

关键文件

文件 原因
phymars/physiq_mod.F 物理主入口,physiq() 是核心调度例程
phymars/callradite_mod.F 辐射计算入口
phymars/watercloud_mod.F 水云计算入口
phymars/dust_param_mod.F90 尘埃参数化入口
phymars/tracer_mod.F90 示踪剂系统
aeronomars/photochemistry_mod.F90 光化学模块
phymars/nltecool_mod.F 热层 NLTE 冷却

典型运行流程

物理过程在主循环中被调用,基本流程:

  1. 初始化阶段

    • 读取配置参数
    • 初始化辐射数据
    • 初始化尘埃、水、CO2 等示踪剂
  2. 每时间步

    • 调用 physiq() 主入口
    • 辐射计算 (callradite)
    • 尘埃 lifting 和传输
    • 水循环(凝结、蒸发、云形成)
    • CO2 循环(凝结、升华)
    • 边界层/湍流混合
    • 重力波拖曳
    • 对流调整
    • 示踪剂输运
  3. 输出阶段

    • 诊断变量输出
    • XIOS NetCDF 输出

复现要点

细节入口

本页只做 libf/ 目录总览;调用链、耦合方式和配置开关已拆到更细页面维护: