【WRFDA教程第一期】运行观测预处理程序(OBSPROC)
目录
- 什么是 OBSPROC?
- 所需输入文件:
- 一、运行 OBSPROC:用于 3DVAR
- 二、运行 OBSPROC:用于 4DVAR
- 可视化:使用 NCL 脚本查看观测数据分布
- 参考
WRFDA的安装可参见另一博客-【WRFDA安装第一期】安装 WRFDA 以运行 3DVAR/4DVAR数据同化。
本博客针对WRFDA 教程中 “运行观测预处理程序(OBSPROC)” 章节进行详细解释,分为 3DVAR 和 4DVAR 两部分。
项目 | 3DVAR | 4DVAR |
---|---|---|
时间窗口 | ±1 小时 | 通常 6 小时(多 slot) |
输出文件数 | 1 个 | 多个(每个 slot 一个) |
配置关键参数 | time_analysis, obs_gts_filename | time_analysis, num_slots_past, time_slots_ahead |
数据格式 | LITTLE_R ASCII | LITTLE_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)
- 脚本可帮助快速了解观测空间分布和类型