util toolchain

页面定位

本页把 LMDZ.MARS/util 下已经完成的工具页串成离线工作流。单个工具的逐行逻辑仍见 util 目录页 和各文件页;本页关注工具之间的输入输出顺序、变量契约和复现风险。

util 工具不参与 GCM 主积分。它们读取 diagfi.ncstats.ncconcat.ncXhistins.ncstartfi.ncstart_archive.nc 等文件,把模式输出转换为可画图、可观测对比、可柱积分或可再启动的中间产物。

总览

工作流 起点 典型工具链 结果
常规输出整理 多段 diagfi*.ncstats*.ncXhistins.nc concatnc -> zrecast -> localtime / lslin / solzenangle / extract 连续时间轴、物理垂直坐标、固定本地时或固定太阳天顶角输出。
观测比较 GCM 输出 + 观测分箱或站点位置 check_co2cyclesimu_MCSextract Viking/InSight 地表压力、MCS 分箱场、点值或廓线 ASCII。
气溶胶和柱量诊断 GCM 4D tracer、rho、有效半径、光学表 aeroptical + aeropt_modgencol 气溶胶消光/吸收不透明度、可选光学厚度、柱密度文件。
初始场和 1D 输入 startfi.ncstart_archive.nc 或 3D/4D 输出 expandstartfiextractcolumnfor1Dstartarchive2icosa 展开的经纬网格初始场、profile_* 1D 输入、ICOSA/DYNAMICO 初始文件。
派生动力诊断 diagfistatsconcat 类文件 streamfunction 纬向流函数、角动量和纬向平均风/温度/密度。

常规输出整理链

1. 拼接时间轴

concatnc 是常见第一步。它把连续模拟段或分段输出按时间维合并为 concat.nc,并可选择变量、输出 sollsadls 类时间轴。

复现要点:

2. 转换垂直坐标

zrecast 把混合坐标输出转换到压力、areoid 高度、本地地表高度或距行星中心半径坐标。对科学图像、点值抽取和观测廓线比较,这一步通常比直接使用混合层更可复现。

输入契约:

必需信息 来源
地表压力 ps 输入文件或辅助文件。
温度 temp 输入文件,用于静力或高度转换。
垂直坐标 aps/bpssigma 输入文件。
地表位势或高度 phisinit 输入文件,或按工具回退规则从 diagfi.nc / phisinit.nc 查找。

3. 采样到分析坐标

转换后可按目标选择后续工具:

目标 工具 说明
固定本地时 localtime 把变量插值到指定 LT,输出 *_LT.nc
线性太阳经度 lslin 插值或平均到固定 Ls 步长,适合季节分箱。
固定太阳天顶角 solzenangle 反解晨侧/昏侧本地时并插值,输出晨/昏文件。
点值或廓线 ASCII extract 从 zrecast 后文件中按 lon lat alt Ls LT 抽取。

顺序建议:先 concatnc,再 zrecast,最后做 LT/Ls/SZA/点位采样。若先按 LT 或 Ls 重排,再改变垂直坐标,会让缺测处理和插值顺序更难复现。

观测比较链

CO2 cycle 站点压力

check_co2cycle 读取 GCM 地表压力、CO2 冰库存和站点高度信息,把模型场插值到 Viking 1/2 与 InSight 位置,输出站点压力、全球平均地表压力、CO2 冰等效压力、日平均和谐波重建。

适用场景:

MCS 分箱模拟

simu_MCS 是 MRO/MCS observer simulator。它读取 MCS 分箱观测文件和 GCM 输出,把 GCM 温度、尘埃或水冰变量按 MCS 的经纬度、高度、Ls、昼夜与本地时分箱重采样。

关键契约:

点位或廓线比较

extract 适合小规模观测点或站点廓线对比。推荐先用 zrecast 把文件转为压力或高度坐标,再按观测点的 lon lat alt Ls LT 抽取 ASCII。

气溶胶和柱量诊断链

aeropticalaeropt_mod 读取气溶胶质量混合比、有效半径、空气密度和 ASCII 光学性质表,计算消光或吸收不透明度。若配置选择输出柱积分,还会生成光学厚度类结果。

gencol 则从质量混合比、体积混合比或浓度变量计算柱密度,适合把 tracer 三维场压缩成二维柱量对比产品。

常见组合:

  1. 对 dust、水冰或 CO2 冰相关 tracer 用 aeroptical 得到层不透明度或柱光学厚度。
  2. 对化学或气溶胶变量用 gencol 得到柱密度。
  3. 再用 localtimelslin 或外部绘图脚本做统一采样和可视化。

待确认:不同工具都可对时间或垂直维做插值,组合时应固定顺序并记录 .def 文件,避免同一变量经历不可追踪的多次插值。

初始场和 1D 输入链

目标 工具 复现要点
检查 startfi.nc 空间分布 expandstartfi physical_points 一维列展开到规则经纬网格,便于可视化。
生成 1D profile_* extractcolumnfor1D 从 3D/4D 输出抽取指定水平格点和时间索引的垂直列。
转为 ICOSA/DYNAMICO 初始场 startarchive2icosa 读取 start_archive_nc4.nc、参考文件和 XIOS 配置,生成 finalize 前后的 ICOSA 初始文件。

这些工具直接影响后续再启动或 1D 复现实验。建议把输入文件名、格点索引、时间索引、变量列表和生成文件一起归档。

失败模式

现象 常见原因 排查入口
工具直接 stop NetCDF 变量/维度缺失,或标准输入顺序错误 各工具页的输入契约与 stdout 提示。
输出全缺测或局部缺测 时间覆盖不足、坐标越界、插值角点含 missing value extractsimu_MCSlocaltime
垂直坐标转换失败 ps/temp/aps/bps/phisinit 或文件命名不符合回退规则 zrecast
气溶胶不透明度缺失 rho、有效半径、目标 tracer 或光学性质表 aeropticalaeropt_mod
观测比较相位不一致 Ls-sol 换算、LT 换算或 stats 周期延拓假设不一致 simu_MCSlslin

相关页面