XIOS/write_field 输出封装组页

输入范围

LMDZ.COMMON-6.3\LMDZ.COMMON\libf\phy_common\xios_writefield.F90
LMDZ.COMMON-6.3\LMDZ.COMMON\libf\phy_common\write_field_phy.F90
LMDZ.COMMON-6.3\LMDZ.COMMON\libf\misc\write_field.F90
LMDZ.COMMON-6.3\LMDZ.COMMON\libf\misc\wxios.F90

Mars 运行参与度:条件经过。Mars 物理诊断默认路径常见于 phymars 自有 writediag*,但 COMMON 物理侧支持 XIOS 和 fallback write_field;启用相应编译/运行输出路径时经过。

文件清单

文件 行数 主要符号 作用
xios_writefield.F90 294 xios_writefield2d, xios_writefield3d 物理列 2D/3D 场临时创建 XIOS context/file/field 并发送;单文件细节见 xios_writefield
write_field_phy.F90 37 write_field_phy gather 物理列到全局,再 Grid1Dto2D_glo 并调用 misc:WriteField
misc/write_field.F90 326 WriteField, write_field1D/2D/3D 老式 NetCDF 字段快速写出,维护字段名到 file index 的表。
misc/wxios.F90 664 wxios_init, wxios_domain_param, wxios_set_cal XIOS context、calendar、domain、axis、field 等包装;单文件细节见 wxios

xios_writefield 流程

  1. generic xios_writefield 根据 rank 调用 2D 或 3D 版本。
  2. 检查字段是否已登记在 FieldName/FieldIt 表中;首次字段会创建 context_lmdz_<name>
  3. root 读取 xios_writefield_nlon/nlat,广播到物理并行域。
  4. 初始化 XIOS context、D360 calendar、start/time origin 和 timestep。
  5. 根据 grid_type 选择 regular lon-lat domain 或 unstructured domaingroup。
  6. 对 3D 字段额外创建 vertical axis。
  7. 每次写出前 Gather_omp,regular grid 还调用 grid1Dto2D_mpi,最后 xios_send_field

write_field_phymisc/write_field

复现要点

待确认

相关页面