当前位置: 首页 > news >正文

【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_01GTS观测的 O-B/O-A 差值
statistics观测类型、数值、误差、偏差等统计结果
jo每类观测的 Jo 值(观测项成本函数)

1. wrfda.logrsl.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.inputnamelist.output.da
print_detail_grad=.true.PRINT_DETAIL_GRAD = T
ob_format=2OB_FORMAT=2
num_fgat_time=1NUM_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_fngrad_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 TypeVariables
synopu, v, t, p, q
soundu, v, t, q
gpspwtpw
satemthickness
geoamvu, 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 和分析增量信息误差评估

参考

http://www.lryc.cn/news/591017.html

相关文章:

  • R语言基础| 基本图形绘制(条形图、堆积图、分组图、填充条形图、均值条形图)
  • Spring AI之Prompt开发
  • Web攻防-PHP反序列化Phar文件类CLI框架类PHPGGC生成器TPYiiLaravel
  • Cursor开发步骤
  • 【C++指南】C++ list容器完全解读(四):反向迭代器的巧妙实现
  • 113:路径总和 II
  • Java学习--JVM(2)
  • 基于FPGA的IIC控制EEPROM读写(2)
  • AI算法之图像识别与分类
  • 深入理解Java中的Collections.max()方法
  • 贪心算法(排序)
  • GLM(General Language Model,通用语言模型)
  • 2020717零碎写写
  • 学习OpenCV---显示图片
  • Java集合框架中List常见问题
  • Python爬虫实战:Requests与Selenium详解
  • ESLint 完整功能介绍和完整使用示例演示
  • 产品经理如何描述用户故事
  • Rocky Linux 9 源码包安装php7
  • API开发提速新方案:SmartBear API Hub与ReadyAPI虚拟化整合实践
  • 学习日志预告
  • 学习设计模式《十八》——备忘录模式
  • ThinkPHP8 Windows开发全流程:从搭建到上线
  • TASK01【datawhale组队学习】地瓜机器人具身智能概述
  • 设计模式笔记_结构型_装饰器模式
  • 【后端】.NET Core API框架搭建(9) --配置使用Log4Net日志
  • 人工智能之数学基础:概率论和数理统计在机器学习的地位
  • 使用Proxy设计模式来增强类的功能:ToastProxy和DesktopToast的设计关系
  • 力扣119:杨辉三角Ⅱ
  • UGUI 性能优化系列:第一篇——基础优化与资源管理