对FV3运行日志分析:
以下是对日志内容的分析,并逐条对应输出日志部分,以说明为何判断这份日志是 Demo 程序的正确执行。
支持正常执行的因素
MPI 和计算环境初始化成功
对应日志部分:
[0] MPI startup(): Intel(R) MPI Library, Version 2021.3 Build 20210601 (id: 6f90181f1)
[0] MPI startup(): Rank Pid Node name Pin cpu
[0] MPI startup(): 0 12348 a01r3n31 {0,1,2,3,4,5,6,7}
[0] MPI startup(): 1 12349 a01r3n31 {8,9,10,11,12,13,14,15}
Starting PEs : 6
- 解释:
- MPI 库成功启动,分配了 6 个进程 (Starting PEs: 6),对应了 Demo 程序通常会使用小规模计算资源的特性。
- 核心计算资源 (CPU pinning) 配置合理,MPI 运行环境没有错误。
完整的运行时间统计
对应日志部分:
-----------------------------------------------------
Block User time System Time Total Time
-----------------------------------------------------
TOTAL 557.8464 0.0000 557.8464
FV_RESTART 49.1928 0.0000 49.1928
COMM_TOTAL 12.1785 0.0000 12.1785
FV_DYNAMICS 494.3881 0.0000 494.3881
C_SW 29.3986 0.0000 29.3986
D_SW 370.2205 0.0000 370.2205
MAIN: initialization 50.272126 50.277209 50.273164
MAIN: time loop 507.598034 507.607927 507.601886
- 解释:
- 时间分配统计完整,主时间循环占总时间约 90%,这是正常运行的计算特征。
- 每个模块(如 FV_DYNAMICS)的运行时间和 Demo 程序的典型行为一致。
变量更新和诊断输出
对应日志部分:
Total surface pressure (mb) = 999.999999999994
fv_restart_end u = 4397989828267125978
fv_restart_end v = -2842069540584071737
PS max = 1004.54794746194 min = 997.822097387793
U max = 34.1102598743495 min = -34.1191210572457
T max = 310.695396957274 min = 208.953556948708
- 解释:
- 变量(如 PS, U, T)的值在运行结束后有小幅变化,表明程序确实执行了模拟。
- 这些值在物理上是合理的,属于正常范围。
异常或值得注意的现象
fv_restart 输出的异常值
对应日志部分:
fv_restart u = 5967028512594690453
fv_restart v = -7692853242191799093
fv_restart delp = -2181994019463161856
- 解释:
- fv_restart 变量值异常,这表明这些值可能是虚拟数据,用于 Demo 程序的样例运行。
- 由于这些值未被用于实际计算(例如压力、温度的范围均正常),因此它们的异常不会影响运行结果。
重复的 mpp_io_connect 警告
对应日志部分:
NOTE from PE 0: mpp_io_connect.inc(mpp_open): io_domain exists for domain Cubic: cubed-sphere, optional argument fileset will be ignored
- 解释:
- 这是 I/O 配置的警告,提示可能有重复的定义。
- 这种警告不会中断程序的正常运行,也符合 Demo 程序较为简化的配置特点。
####日志中未显示明确的运行成功标志
对应日志部分:
MPP_DOMAINS_STACK high water mark= 2383872
Tabulating mpp_clock statistics across 6 PEs...
MAIN: time loop 507.598034 507.607927 507.601886
- 解释:
- 日志末尾没有显示“Simulation completed successfully”之类的标志性结束语,但程序的运行统计(如 MPP_DOMAINS_STACK 和时间分布)表明程序执行完毕,没有中断。
支持正确执行 Demo 程序的总结
- MPI 初始化成功,并为 6 个进程分配了资源。
- 时间分配合理,运行时间主要集中在主循环,符合计算特征。
- 变量范围更新正常,模拟结果(如温度、压力)在物理范围内,表明程序完成了计算。
- 异常值和警告信息可接受,未影响计算逻辑。
因此,这份日志输出虽然有一些警告和异常值,但整体表明 Demo 程序运行成功。