inithist 串并行对照

输入范围

LMDZ.COMMON-6.3\LMDZ.COMMON\libf\dyn3d_common\inithist.F
LMDZ.COMMON-6.3\LMDZ.COMMON\libf\dyn3dpar\inithist_p.F

文件定位

inithist 初始化动力瞬时 history 输出。当前可达的串行/root 路径定义 U/V/scalar 三类 history 文件和 u/v/teta/phi/masse/ps 变量;tracer 和 phis 注册在串行源码中为注释行。并行 _p 版本在本 rank 纬向子域上定义 IOIPSL domain,但当前 dyn3dpar/gcm.F_p 初始化调用处为注释保留路径。

Mars 运行参与度

条件经过:动力 history 输出开启时经过;当前 COMMON 串行入口调用串行 `inithist`,并行入口在 root 分支也调用串行 `inithist`,`inithist_p` 属于支撑/保留实现。

串行流程

  1. 调用 ymds2ju 得到起始 Julian day。
  2. 分别 histbeg 创建 dynhistu_filedynhistv_filedynhist_file
  3. histvert 定义 presnivs 垂直轴。
  4. histdef 定义 u/v/teta/phi/masse/ps;tracer 和 phis 定义行被注释。
  5. histend 保存 histid/histvid/histuid

并行流程

inithist_p(infile,day0,anne0,tstep,t_ops,t_wrt,fileid) 接收输出文件名和返回文件 id。它通过 flio_dom_set 设置 dynu_domain_id/dynv_domain_idhistbeg 只定义当前 rank 的 jj_begin:jj_end 子域。变量定义与串行版对应,但使用局部纬向长度 jjn

复现要点

待确认

相关页面