LMDZ.COMMON 项目结构

路径

LMDZ.COMMON-6.3\LMDZ.COMMON

职责

LMDZ.COMMON 是 LMDZ 系列行星模式共享的源码树。本 wiki 只覆盖 LMDZ.MARS 运行会经过、条件经过,或为了 MARS 接口兼容必须保留的 COMMON 路径。源码根目录包含构建脚本、平台配置、IOIPSL 安装脚本和 libf/ Fortran 源码。

Mars 运行参与度:条件经过。MARS 运行可通过构建链组合 COMMON 的动力、公共接口和工具代码;MARS 源码中还存在 phymars/dyn1d 到 COMMON 文件的直接路径转发。

目录内容

子目录/文件 类型 作用
arch/ 平台配置目录 提供不同机器、编译器、MPI/OMP 组合的 .fcm.path.env 配置。
ioipsl/ 外部依赖安装脚本 按平台安装或配置 IOIPSL,供 NetCDF、日历和 getin 相关路径使用。
libf/ Fortran 源码目录 动力、动力-物理接口、公共物理层、IO/数值工具和滤波实现。
bld.cfg FCM 构建配置 约束构建系统使用的源目录、预处理和对象组织。
build_gcm 构建入口脚本 辅助构建 GCM 可执行程序。
create_make_gcm makefile 生成脚本 生成或协调 GCM 构建所需 make 规则。
makelmdz, makelmdz_fcm 构建脚本 面向 LMDZ/FCM 的构建入口。
Licence_CeCILL_V2-*.txt 许可证 CeCILL 许可证文本。

与其他目录的关系

相关目录 关系
LMDZ.MARS MARS 通过构建链和若干直接路径转发使用 COMMON 的公共动力、接口和工具文件。
LMDZ.COMMON\libf\dyn3d_common 串行/并行动力共享的常量、状态、初始化、restart、算子和输送例程。
LMDZ.COMMON\libf\dyn3d 串行动力入口、配置、主循环和串行 helper。
LMDZ.COMMON\libf\dyn3dpar 并行动力入口和 MPI/halo/decomposition 路径,本批只在总览中提及,未写专页。
LMDZ.COMMON\libf\dynphy_lonlat lon-lat 动力与物理之间的数据映射和行星专用接口边界。
LMDZ.COMMON\libf\evolution 当前列为范围外;无 MARS 正常运行路径证据。

关键文件

文件 原因
libf\dyn3d\gcm.F90 串行 GCM program 入口,读取配置、初始化状态并进入 leapfrog
libf\dyn3d\conf_gcm.F90 串行运行控制变量和 run.def/getin 配置读取中心。
libf\dyn3d_common\dynetat0.F90 start.nc 读取动力初始状态,包含 Mars 的 planeto start 处理。
libf\dyn3d_common\inigeom.F 构造动力网格几何、面积、伸长系数和 Coriolis 相关数组。
libf\dynphy_lonlat\mod_interface_dyn_phys.F90 MARS dyn1d 直接转发的动力-物理接口状态模块。

典型流程

  1. 构建脚本读取平台配置和源目录设置,把 libf/ 下的 COMMON 源码与行星侧源码组合。
  2. COMMON 串行动力入口从 dyn3d/gcm.F90 进入;入口先解析 runtime options,再读取 run.def 配置,初始化 tracer、restart、网格、耗散、I/O 和物理接口。
  3. dyn3d_common 提供初始化状态、几何、垂直坐标、差分算子、输送和 restart 读写。
  4. dynphy_lonlat 在 lon-lat 网格上衔接动力和物理;Venus/Titan 子目录是行星专用变体,本 wiki 不为其写专页。

复现要点

待确认

相关页面