【WRFDA第六期】WRFDA 输出文件详述
目录
- 1. `wrfda.log` 或 `rsl.out.0000`
- 2. `namelist.output.da`
- 3. `filtered_obs_01`
- 4. `rej_obs_conv_01.000`
- 5. `qcstat_conv_01`
- 6. `jo`
- 7. `cost_fn` 与 `grad_fn`
- 8. `gts_omb_oma_01`
- 9. `statistics`
- 总结
- 参考
WRFDA 工作目录中的 ASCII 输出文件总览如下表:
文件名 | 用途概要 |
---|---|
wrfda.log / rsl.out.0000 | 日志文件,记录运行状态、成本函数、梯度等重要信息 |
namelist.output.da | 显示所有 namelist 设置(默认值 + 用户设置) |
filtered_obs_01 | 被 WRFDA 质量控制通过的观测数据 |
rej_obs_conv_01.000 | 被质量控制剔除的常规观测 |
qcstat_conv_01 | 常规观测的质量控制统计 |
cost_fn | 成本函数每次迭代的值 |
grad_fn | 梯度函数每次迭代的值 |
gts_omb_oma_01 | GTS观测的 O-B/O-A 差值 |
statistics | 观测类型、数值、误差、偏差等统计结果 |
jo | 每类观测的 Jo 值(观测项成本函数) |
1. wrfda.log
或 rsl.out.0000
功能:
- 核心日志文件,包含:
- 同化过程迭代信息(例如:Final: 15 iter)
- 成本函数值(
J
,Jo
,Jb
等) - 梯度值(
g
) - 观测总数
- 各类误差权重(如 Jb factor)
示例信息:
Final cost function J = 17643.68
Total number of obs. = 26726
Final value of Jo = 15284.64894
Final value of Jb = 2359.02958
Final J / total num_obs = 0.66017
🔍 检查重点:
- 是否有成功结束提示:
WRF-Var completed successfully
- 成本函数是否收敛:较小的
J
值意味着更好的拟合 - 迭代次数是否合理
2. namelist.output.da
功能:
- 记录 WRFDA 运行时使用的 完整 namelist 设置(包括默认值和用户自定义值)。
用途:
- 调试和记录同化配置
- 确认 namelist.input 中的参数是否正确生效
示例片段对比:
namelist.input | namelist.output.da |
---|---|
print_detail_grad=.true. | PRINT_DETAIL_GRAD = T |
ob_format=2 | OB_FORMAT=2 |
num_fgat_time=1 | NUM_FGAT_TIME=1 |
3. filtered_obs_01
功能:
- 包含通过 WRFDA QC(质量控制)筛选的观测数据。
- 类似
ob.ascii
,但只保留 实际用于同化 的观测。
生成条件:
&wrfvar17
中设置:analysis_type = "QC-OBS"
用途:
- 检查哪些观测被采纳
- 可用于
analysis_type = "VERIFY"
模式(验证用) - ❌ 不能用于 3DVAR 正式运行
4. rej_obs_conv_01.000
功能:
- 存放未通过 QC 的 常规观测(conventional obs)。
- 这些观测未被同化,可能是因为:
- 超出最大允许误差(如
check_max_iv = .true.
)
- 超出最大允许误差(如
命名说明:
01
: 外层循环编号(outer loop index)000
: 处理器编号(processor id)
示例内容如下:
5. qcstat_conv_01
文件说明:
- 包含 通过或未通过 WRFDA 内部质量控制(QC) 的观测数据统计。
- 针对具有垂直坐标(如压力)的观测。
- 文件名后缀数字(如
01
)代表 外层迭代轮数(outer iteration index)。
内容结构:
- 每类观测(如 sound U, V, T, Q;synop U, V, T, Q)按压力层分布统计:
used
:被采纳的观测数rej
:被质量控制拒绝的观测数
表示在某些压力层(如 1000 hPa、900 hPa),有多少个 T 类型观测被使用或拒绝。
6. jo
文件说明:
- 显示 各类观测的成本函数值 Jo(观测项在 J 中的贡献)。
- 可与
wrfda.log
中的Final value of Jo
对照验证。
内容结构:
- 每行代表一种观测类型(如 synop、metar、ships 等)
- 包含的字段:
- 观测数量(实际数与采纳数)
- Jo 值(红框)
- 调整因子(蓝框):用于观测误差调整
蓝框说明:
tuning_factor
:观测误差调节因子- 实际误差计算为:
tuned_obs_error = obs_error × tuning_factor
7. cost_fn
与 grad_fn
文件说明:
cost_fn
:保存成本函数 J 的各组成部分(如背景项 Jb、观测项 Jo 等)
grad_fn
:保存梯度 G 的各组成部分(如 Gb、Go 等)
各项含义:
- b:背景误差项
- o:观测误差项
- c:DFI 项
- e:alpha 项
- d:动力约束项
- p:辐射偏差校正项
- s:地表温度/云量项
- l:侧边界控制变量(4DVAR 专用)
输出条件:
需在 namelist 中设置:
calculate_cg_cost_fn = .true.
write_detail_grad_fn = .true.
8. gts_omb_oma_01
文件说明:
- 包含 逐个观测点的详细信息,包括:
- 观测值
- O-B(观测 - 背景)
- O-A(观测 - 分析)
- 观测误差、质量控制标志等
内容结构:
- 每类观测(如 synop)包含:
- obs index、level index、站号、经纬度、压力
- 每个变量(如 u)对应的:
- 观测值
- O-B
- QC 标志
- 观测误差
- O-A
支持的观测变量(依观测类型不同):
Obs Type | Variables |
---|---|
synop | u, v, t, p, q |
sound | u, v, t, q |
gpspw | tpw |
satem | thickness |
geoamv | u, v |
… | … |
可视化工具:
plot_gts_omb_oma.ncl
plot_ob_ascii_loc.ncl
9. statistics
文件说明:
- 提供 整个模拟区域的 O-B 和 O-A 误差统计 以及 分析增量分析。
主要内容:
1. OI(背景场)与 AO(分析场)误差统计
每个变量(u, v, t, p, q)都有:
- 最小值 / 最大值
- 平均值
- 均方根误差(RMSE)
2. 网格分析增量统计(background → analysis 差值)
每层网格(Lvl)统计:
- 最小值 (
Min
) - 最大值 (
Max
) - 平均值 (
Mean
) - 均方根误差 (
RMSE
)
总结
文件名 | 主要内容 | 用途 |
---|---|---|
qcstat_conv_01 | 每类观测在不同压力层的使用/拒绝统计 | 质量控制分析 |
jo | 每类观测的 Jo 值和误差调节因子 | 成本函数分析 |
cost_fn | 各项成本函数值(每次迭代) | 监控收敛 |
grad_fn | 各项梯度值(每次迭代) | 梯度评估 |
gts_omb_oma_01 | 每个观测点的 O-B / O-A / QC 等信息 | 详细诊断 |
statistics | 域平均 O-B / O-A 和分析增量信息 | 误差评估 |