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

【WRFDA教程第一期】运行观测预处理程序(OBSPROC)

目录

  • 什么是 OBSPROC?
    • 所需输入文件:
  • 一、运行 OBSPROC:用于 3DVAR
  • 二、运行 OBSPROC:用于 4DVAR
  • 可视化:使用 NCL 脚本查看观测数据分布
  • 参考

WRFDA的安装可参见另一博客-【WRFDA安装第一期】安装 WRFDA 以运行 3DVAR/4DVAR数据同化。

本博客针对WRFDA 教程中 “运行观测预处理程序(OBSPROC)” 章节进行详细解释,分为 3DVAR 和 4DVAR 两部分。
在这里插入图片描述

项目3DVAR4DVAR
时间窗口±1 小时通常 6 小时(多 slot)
输出文件数1 个多个(每个 slot 一个)
配置关键参数time_analysis, obs_gts_filenametime_analysis, num_slots_past, time_slots_ahead
数据格式LITTLE_R ASCIILITTLE_R ASCII

什么是 OBSPROC?

OBSPROC(obsproc.exe) 是 WRFDA 系统内用于处理观测数据的重要工具。它的主要功能包括:

  • 删除空间和时间范围之外的观测数据;
  • 合并重复观测;
  • 利用静力假设估算压力或高度;
  • 检查垂直观测一致性和超绝热情况;
  • 根据误差文件分配观测误差;
  • 生成 WRFDA 可读的 ASCII 或 BUFR 格式观测文件。

所需输入文件:

  • namelist.obsproc(配置文件)
  • obserr.txt(观测误差文件)
  • obs.YYYYMMDDHH(观测数据,LITTLE_R 格式)
  • 可选:msfc.tbl(用于美国五大湖的海洋观测)

一、运行 OBSPROC:用于 3DVAR

📁 示例数据准备

cd $WRFDA_DIR/var/obsproc
cp namelist.obsproc.3dvar.wrfvar-tut namelist.obsproc

编辑 namelist.obsproc 文件,主要修改以下内容:

  • time_analysis:分析时间(例如 2008-02-05_12:00:00)
  • obs_gts_filename:观测数据路径
  • domain_check_h:是否空间过滤观测(可设为 .false.)

📍 时间窗口说明
下图为 3DVAR 中 ±1 小时的时间窗口设定:
在这里插入图片描述

  • 分析时间为 0h;
  • OBSPROC 会处理 23h~1h 之间的观测;
  • 所有这些观测都被归并为 0h 的观测输入。

▶️ 运行 OBSPROC:

./obsproc.exe >& obsproc.out

运行成功后,将生成类似如下命名的文件(ASCII文件):

obs_gts_2008-02-05_12:00:00.3DVAR

该文件即为 WRFDA 的观测输入文件(ASCII 格式)。

TOTAL =   9066, MISS. =-888888.,
SYNOP =    757, METAR =   2416, SHIP  =    145, BUOY  =    250, BOGUS =      0, TEMP  =     86,
AMDAR =     19, AIREP =    205, TAMDAR=      0, PILOT =     85, SATEM =    106, SATOB =   2556,
GPSPW =    187, GPSZD =      0, GPSRF =      3, GPSEP =      0, SSMT1 =      0, SSMT2 =      0,
TOVS  =      0, QSCAT =   2190, PROFL =     61, AIRSR =      0, OTHER =      0,
PHIC  =  40.00, XLONC = -95.00, TRUE1 =  30.00, TRUE2 =  60.00, XIM11 =   1.00, XJM11 =   1.00,
base_temp= 290.00, base_lapse=  50.00, PTOP  =  1000., base_pres=100000., base_tropo_pres= 20000., base_strat_temp=   215.,
IXC   =     60, JXC   =     90, IPROJ =      1, IDD   =      1, MAXNES=      1,
NESTIX=     60,
NESTJX=     90,
NUMC  =      1,
DIS   =  60.00,
NESTI =      1,
NESTJ =      1,
INFO  = PLATFORM, DATE, NAME, LEVELS, LATITUDE, LONGITUDE, ELEVATION, ID.
SRFC  = SLP, PW (DATA,QC,ERROR).
EACH  = PRES, SPEED, DIR, HEIGHT, TEMP, DEW PT, HUMID (DATA,QC,ERROR)*LEVELS.
INFO_FMT = (A12,1X,A19,1X,A40,1X,I6,3(F12.3,11X),6X,A40)
SRFC_FMT = (F12.3,I4,F7.2,F12.3,I4,F7.3)
EACH_FMT = (3(F12.3,I4,F7.2),11X,3(F12.3,I4,F7.2),11X,3(F12.3,I4,F7.2))
#------------------------------------------------------------------------------#
…… observations ………

二、运行 OBSPROC:用于 4DVAR

📁 示例数据准备

cd $WRFDA_DIR/var/obsproc
cp namelist.obsproc.4dvar.wrfvar-tut namelist.obsproc

编辑 namelist.obsproc,特别注意:

  • time_analysis:应设为分析时间 +3 小时(例如实际分析时间是 12:00:00,则 time_analysis = 2008-02-05_15:00:00);
  • num_slots_past 和 time_slots_ahead:控制前后时间窗口(例如 4 个 slot 过去,2 个 slot 未来);
  • 每个 slot 通常为 1 小时。

📍 时间窗口说明
在这里插入图片描述

  • 实际分析时间为 0h;
  • OBSPROC 会处理 0h 到 6h 的观测;
  • 将观测划分为 slot1 到 slot7,共 7 个子窗口;
  • 每个 slot 为 1 小时宽度。

▶️ 运行 OBSPROC:

./obsproc.exe >& obsproc.out

运行成功后,将生成以下多个文件:

obs_gts_2008-02-05_12:00:00.4DVAR
obs_gts_2008-02-05_13:00:00.4DVAR
obs_gts_2008-02-05_14:00:00.4DVAR
obs_gts_2008-02-05_15:00:00.4DVAR
obs_gts_2008-02-05_16:00:00.4DVAR
obs_gts_2008-02-05_17:00:00.4DVAR
obs_gts_2008-02-05_18:00:00.4DVAR

这些文件将作为输入提供给 WRFDA 的 4DVAR 同化系统。

可视化:使用 NCL 脚本查看观测数据分布

可以使用 WRFDA 工具包中的 NCL 脚本绘制观测分布图:

$TOOLS_DIR/var/graphics/ncl/plot_ob_ascii_loc.ncl
  • 脚本需要系统中已安装 NCL (NCAR Command Language)
  • 脚本可帮助快速了解观测空间分布和类型

参考

http://www.dtcms.com/a/266131.html

相关文章:

  • 数据结构:数组在编译器中的表示(Array Representation by Compiler)
  • oracle锁表,oracle解锁表,oracle用户连接数
  • ArcGISPro应用指南:ArcGISPro制图全流程详解
  • 前端面试专栏-算法篇:17. 排序算法
  • Redis常见性能问题和解决方案有哪些?
  • 《UE5_C++多人TPS完整教程》学习笔记41 ——《P42 蹲伏(Crouching)》
  • Flutter基础(ListView.builder)
  • Pandas 安装使用教程
  • 黑马python(二十四)
  • Java——初始guava(1)
  • win11设置任务栏为顶部
  • 「Java流程控制」循环综合应用
  • Redis大Key问题
  • 【PyCharm 2025.1.2配置debug】
  • React Tailwind css 大前端考试、问卷响应式模板
  • Robot---能打羽毛球的机器人
  • Linux: perf report数据对比,python
  • Java的SpringAI+Deepseek大模型实战之会话记忆
  • MySQL 8.0 OCP 1Z0-908 题目解析(19)
  • 基于SpringBoot+Vue的电影售票系统(协同过滤算法)
  • 【数据安全】连续数据突升检测
  • 优化Facebook广告投放的五大关键策略
  • 全双工和半双工在以太网报文收发过程中的核心区别
  • AMD-R9-9950X 和 微星B850M-MORTAR-WIFI主板 简单开箱测评
  • [自然语言处理]汉语文本分词
  • Odoo 中国特色高级工作流审批模块研发
  • 页面登录数据的加密(前端+后端)
  • 使用pdf box去水印
  • 搜索选择DFS还是BFS
  • NumPy-核心函数transpose()深度解析