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

【WRFDA数据教程第一期】LITTLE_R 格式详细介绍

目录

  • LITTLE_R 格式概述
  • LITTLE_R 的结构
    • 1-Header Record 详解:观测的“身份证”
    • 2-Data Record:观测数据本体
    • 3-Ending Record:终止标志
    • 4-Tail Integers:尾部校验字段
    • 另-Missing Values(缺测值处理)
  • Mandatory, Optional, and Unused Fields(必填、可选和未使用字段)
    • 1-Header Record
    • 2-Data record
  • 特殊案例(Special cases)
    • GPS PW and ZTD
  • 参考

本博客结合WRFDA 在线教程-LITTLE_R Help,对 LITTLE_R 格式进行详细介绍。
在这里插入图片描述

LITTLE_R 格式概述

1、定义与背景

LITTLE_R 是一种报文式(report-based)ASCII 文本格式,最初用于 MM5 模型,现在被广泛用于 WRFDA 的观测数据处理。

由于原始观测数据格式千差万别(如:BUFR、PREPBUFR、MADIS、HDF、ASCII等),WRFDA 设计了 LITTLE_R 作为统一格式,中间层转换格式,方便不同数据源统一进入同化流程。

2、优点

  • 📄 易读易编辑:纯文本格式,便于人工检查和调试。
  • 🔧 结构清晰:由多条“报文”组成,每条报文包括头、数据、结束标志和尾部校验。
  • 🔁 可拼接:多个观测站或时间点的数据可直接 cat 合并成一个文件。

LITTLE_R 的结构

LITTLE_R 由观测记录(report)组成。每条观测记录(report)由以下 4 个部分组成:

部分说明
Header Record头信息,如位置、时间、平台类型、标志位等
Data Records真正的观测数据(可多层,例如探空)
Ending Record-777777.00000 标记数据结束
Tail Integers旧版格式遗留的校验字段,但仍被 WRFDA 用于冲突选择

1-Header Record 详解:观测的“身份证”

Header 是最重要的一部分,它定义了该条观测的类型、位置、时间、来源等核心元信息。每一条观测都必须有 header

观测数据字段说明表(部分)

字段名类型是否必须说明
Latitude / LongitudeF20.5地理位置
PlatformA40平台类型,如 FM-35 TEMP 代表探空
ElevationF20.5⚠️看类型海拔(部分平台必须)
DateA20格式为 YYYYMMDDhhmmss
PW / QCF13.5 / I7✅(仅 GPS)GPSPW 或 GPSZTD 的核心数据
Is bogus?L可选标记是否为“虚拟”观测
Discard?L可选是否丢弃该观测
其他多个视具体平台而定如 SLP、Temp、RH 等,都要按顺序保留字段位置

⚠️ 注意:即使字段未使用,也不能省略,必须用占位符(如 -888888.00000)或者空格填充。

示例解析:探空气球报文(FM-35 TEMP)

39.78000 -104.86000 72469 DENVER/STAPLETON INT., CO. / U.S.A.
FM-35 TEMP GTS (ROHK) UKUS09 KWBC 051200 RRA
1626.00000 1 -888888 -888888 890 -888888 ...
20080205120000 ...
  • 39.78000, -104.86000 是经纬度
  • 72469 是站号
  • FM-35 TEMP 指的是探空气球数据
  • 20080205120000 是 UTC 时间
  • 其他字段用 -888888 占位

2-Data Record:观测数据本体

格式说明

每条数据记录对应一个垂直层(例如探空的某一高度层),字段包括:

字段单位格式说明
PressurePaF13.5压强
HeightmF13.5高度
TempKF13.5温度
Dew PointKF13.5露点
Wind Speedm/sF13.5风速
Wind DirectiondegF13.5风向
RH%F13.5相对湿度
U / Vm/sF13.5风的分量
QCN/AI7每项都配一个质量控制标志(QC)

⚠️ 规则:

  • 每个数据层至少需要包含 两个有效字段,其中一个必须是 Pressure 或 Height。
  • 缺失字段必须填 -888888.00000 和 QC 值 -880

在这里插入图片描述

示例:Denver 探空(节选)

83500.00000 0 -888888.00000 0 264.44998 0 263.35001 0 ...
72100.00000 0 -888888.00000 0 257.85001 0 256.14999 0 ...

表示两个垂直层:

  • 压强分别为 83500Pa 和 72100Pa
  • 有温度和露点数据
  • 其他字段缺失

3-Ending Record:终止标志

每条观测的最后一层是一个终止记录,一般格式如下:

-777777.00000 0 -777777.00000 0 -888888.00000 0 ...

这告诉 OBSPROC:“这条观测数据结束了”。

4-Tail Integers:尾部校验字段

这是 LITTLE_R 的最后一行,格式为:

39 0 0

含义如下:

字段说明
第1个有效字段数
第2个错误数
第3个警告数

虽然这些字段在现代 WRFDA 中用途不多,但 OBSPROC 仍然会用它们来决定“保留哪条观测”(例如当多个观测重复时优先保留字段数多的)。

另-Missing Values(缺测值处理)

LITTLE_R 是一种无分隔符的文本格式,每个字段在固定位置,即使字段没有数据、未被使用,也必须保留位置,否则解析失败。

因此,即使某个字段没有观测值,也必须填写“缺测值”标志,常见缺测值如下:

  • 对于浮点数字段(如温度、压强等):使用 -888888.00000
  • 对于 QC(质量控制)标志字段(整数):可以用 -88 表示缺测
  • 对于文本字段(如 ID、名称):用空格填满

实用解释:

  • 由于 LITTLE_R 是 定宽格式(fixed-width),字段之间没有逗号、空格、Tab 等分隔符,字段缺失会导致数据错位,因此必须填上缺测值。
  • OBSPROC 会识别 -888888.00000 为缺值,而不是误认为是实际观测。

Mandatory, Optional, and Unused Fields(必填、可选和未使用字段)

1-Header Record

观测数据字段说明表总结如下:

字段名称字段类型/宽度字段描述是否必填示例说明
纬度 (Latitude)F20.5观测点的十进制度纬度,相对于赤道必填31.12000北纬为正,南纬为负。范围为 [-90.00000, 90.00000]
经度 (Longitude)F20.5观测点的十进制度经度,相对于本初子午线必填31.12000西经为负,东经为正。范围为 [-180.00000, 360.00000];若值在 180–360 之间,将在重新编码时减去 360
IDA40观测的标识符可选3009S 13625E可用于浮标观测中包含海拔信息;若为 SATOB(FM-88)观测且包含 “AVHRR”,WRFDA 将其视为 POLARAMV 观测;其他情况仅用于人工识别
名称 (Name)A40观测名称可选LINZ/HOERSCHINGFLUGHAFEN / AUSTRIA若包含 “MODIS”,WRFDA 将其视为 POLARAMV 观测;其他情况用于描述观测点名称
平台 (Platform,FM代码)A40观测的 FM-code 和平台描述必填FM-97 AIREP前三位必须为 “FM-”,接着是有效的FM码(3位数或2位数加空格),剩余字符可为任意文本描述平台
来源 (Source)A40观测数据来源可选MADIS NOAA Profiler Network NWS N仅用于人工识别,可描述数据流或平台来源
海拔 (Elevation)F20.5观测点的海拔高度(米)部分必填1626.00000某些观测类型必须填写,详见观测类型说明
有效字段数 (Valid fields)I10观测中有效字段的数量未使用5-
错误数 (Errors)I10写入观测时报告的错误数量未使用0-
警告数 (Warnings)I10写入观测时报告的警告数量未使用0-
序列号 (Sequence number)I10此类观测的顺序编号可选523用于合并重复观测时作为“决胜因素”之一,数字小者为较新观测
重复数 (Duplicates)I10重复观测的数量未使用0-
是否为探空 (Is sounding)L10若观测包含多个层级,则为真未使用F-
虚假观测 (Bogus)L10若观测为“虚构”数据,则为真可选T用于内部质控,不适用于虚假观测
是否丢弃 (Discard)L10若观测应被丢弃,则为真可选F指定该观测不应被使用,将不会写入WRFDA格式文件
Unix 时间戳 (Unix Time)I10Unix 时间戳(秒)可选1497388306用于合并重复观测的“决胜因素”之一
儒略日 (Julian Day)I10儒略日可选2457918同上
日期字符串 (Date string)A20日期字符串(YYYYMMDDhhmmss)必填20080205120000用于检查是否在 namelist 指定的时间窗口内
海平面气压/质控 (Sea level pressure/QC)F13.5 / I7海平面气压(Pa)及其质控标志可选100459.85900 / 0虚假观测(FM-135)可选,其它观测不使用
参考气压/质控 (Reference pressure/QC)F13.5 / I7参考气压(Pa)及其质控标志部分必填100000.00000 / 0SATEM(FM-86)必须填写,用于位势厚度计算
地面温度/质控 (Ground temperature/QC)F13.5 / I7地面温度(K)及其质控标志未使用288.50000 / 0-
海温/质控 (SST/QC)F13.5 / I7海表温度(K)及其质控标志未使用275.80000 / 0-
地面气压/质控 (PSFC/QC)F13.5 / I7地面气压(Pa)及其质控标志可选98150.00000 / 0对 METAR(FM-15,16),若 calc_psfc_from_QNH=true,此项为 QNH(高度计设定值),OBSPROC 将根据其计算地面气压。探空类观测用于一致性检查
降水量/质控 (Precipitation/QC)F13.5 / I7累积降水量(cm)及其质控标志未使用1.80000 / 0-
最高温/质控 (Max temp/QC)F13.5 / I7日最高温度(K)及其质控标志未使用305.10000 / 0-
最低温/质控 (Min temp/QC)F13.5 / I7日最低温度(K)及其质控标志未使用249.00000 / 0-
夜间最低温/质控 (Min night temp/QC)F13.5 / I7夜间最低温度(K)及其质控标志未使用249.00000 / 0-
3小时气压变化/质控 (3H pressure tendency/QC)F13.5 / I73小时气压变化(Pa)及其质控标志未使用150.00000 / 0-
24小时气压变化/质控 (24H pressure tendency/QC)F13.5 / I724小时气压变化(Pa)及其质控标志未使用-400.00000 / 0-
云量/质控 (Cloud cover/QC)F13.5 / I7云量及其质控标志可选0.00000 / 0SATEM(FM-86)可选;值 >10 的观测将视为“多云”,被拒绝;其他类型不使用
云底高度/质控 (Ceiling/QC)F13.5 / I7云底高度(米)及其质控标志未使用4342.00000 / 0-
可降水量或ZTD /质控 (PW or ZTD / QC)F13.5 / I7可降水量或总延迟(ZTD)及其质控标志部分必填3.04000 / 0GPSPW(FM-111)与 GPSZTD(FM-114)必须填写,单位为厘米,质控单位为毫米的十分之一;其他观测不使用;这是唯一可真正省略的字段

字段类型说明:

  • Fxx.x 表示浮点数,xx为总宽度,x为小数位数。
  • Axx 表示文本字段,xx为最大字符数。
  • Ixx 表示整数,xx为最大位数。
  • Lxx 表示逻辑型(布尔值:T/F)。

质控字段 (QC):

  • 多为整数,表示对应观测值的质量控制标志。通常为 0 表示无错误。

2-Data record

各变量的缩写总结如下:

  • P:压力(pressure)
  • H:高度(height)
  • T:温度(temperature)
  • Td:露点温度(dew point temperature)
  • RH:相对湿度(relative humidity)
  • Sp:风速(wind speed)
  • Dr:风向(wind direction)
  • U/V:风速的分量(风向量)
  • Th:位势高度(geopotential height)

观测类型变量要求详细解释

编码 (Code)观测类型 (Obs Type)必填变量 (Mandatory)可选变量 (Optional)不使用变量 (Unused)备注说明
FM‑12 / FM‑14SYNOP / SYNOP MOBILP(气压)和/或 H(高度)Sp(风速)、Dr(风向)、T(温度)、RH(相对湿度)†Td(露点温度)、U/V(风向量)、Th(位势高度)-
FM‑13SHIPP 和/或 HSp、Dr、T、RH†Td、U、V、Th若观测气压 < 850 hPa,将被丢弃
FM‑15 / FM‑16METAR / SPECIP 和/或 HSp、Dr、T、RH†Td、U、V、Th-
FM‑18 / FM‑19BUOY(浮标)P、H、T、Td、Sp、Dr、U、V、RH†Th若头部记录中包含地面气压和海拔,则不论是否包含其他字段,观测都会被使用
观测气压<850 hPa将被丢弃
FM‑32~FM‑34PILOT(探空)P 和/或 HSp、DrT、Td、U、V、RH、Th-
FM‑35~FM‑38TEMP(探空)P 和/或 HSp、Dr、T、Td、RHU、V、Th-
FM‑42AMDAR(飞机)P 和/或 HSp、Dr、T、Td、RH†U、V、Th若飞机高度高于地面 3000 米,将转换为气压
FM‑86SATEM(卫星)P、H、ThT、Td、Sp、Dr、U、V、RH、Th-
FM‑88SATOB(卫星)P、Sp、DrH、T、Td、U、V、RH、Th-
FM‑96 / FM‑97AIREP(飞机报告)P 和/或 HSp、Dr、T、Td、RH†U、V、Th同 AMDAR,飞机高度 > 3000 米将转换为气压
FM‑101TAMDAR(飞机)P 和/或 HSp、Dr、T、Td、RHU、V、Th-
FM‑111GPSPW(GPS 可降水量)所有其他字段可降水量数据存储于头部,详见相关章节
FM‑114GPSZD(GPS 总延迟)所有其他字段同上,ZTD 数据存储于头部
FM‑116GPSRF(GPS 折射率)P、H、T、Td(折射率)、RH(折射角×1e7)U、V、Sp、Dr仅 P、H、T、Td、RH 被 WRFDA 使用;其他字段用于定位和轨迹信息
FM‑121SSMT1(卫星微波)P 和/或 HT其他所有字段-
FM‑122SSMT2(卫星微波)P 和/或 HT同上-
FM‑132PROFILER(廓线仪)P 和/或 HSp、DrT、Td、U、V、RH、Th-
FM‑133AIRSRET(AIRS 反演)P 和/或 HT、Td、RHSp、Dr、U、V、Th-
FM‑135BOGUS(虚构观测)P 和/或 HSp、Dr、T、Td、RH†U、V、Th-
FM‑281QSCAT(散射计风)H、Sp、Dr所有其他字段-

🚨 特别注意

  • 相对湿度 (RH) 仅在该观测包含 P 和 T 时才会被使用。这是因为要计算饱和水汽压(进而计算 RH),需要气压和温度。
  • 若某些观测类型的必需变量缺失,则该观测可能会被丢弃或忽略
  • GPS 类型观测(FM‑111、114、116) 有特殊处理方式,数据主要存储在观测头部中,而不是常规变量字段。

特殊案例(Special cases)

在 LITTLE_R 格式中,GPSPW(GPS可降水量) 和 GPSZTD(GPS天顶总延迟) 两种观测类型有 特殊处理方式。

由于 LITTLE_R 是一个较老的格式,它在设计时尚未考虑这些现代观测类型,因此在处理这两种观测类型时采用了与常规观测不同的结构和字段使用方式。

GPS PW and ZTD

GPSPW(GPS Precipitable Water) 和 GPSZTD(Zenith Total Delay)的处理逻辑如下:

观测类型描述
GPSPWGPS 获取的大气中可降水量,单位为厘米(cm)
GPSZTDGPS 获取的天顶总延迟,单位也是厘米(cm)

处理特点:

  • 观测值(PW 或 ZTD)不是存储在普通的“数据记录”中,而是存储在头部(header)
  • 观测值字段:使用的是 PW or ZTD 字段(单位:cm)
  • 质控(QC)字段:记录观测误差,单位为毫米的十分之一

📌 举例:如果观测误差为 1.5 mm,则 QC 字段存储为 15;3.0 mm 的误差存储为 30


示例 1:GPSPW 观测数据(3.04 cm)

  • Lat/Lon:30.40742, -91.18026
  • 平台 Platform:FM-111 GPSPW(代表 GPS 可降水量)
  • Elevation:20.91 m
  • PW 值:3.04 cm(存在头部字段中)
  • QC 值:0(说明误差为 0)
  • 其他所有字段(如风速、风向、露点温度等)被标记为未使用,使用 -888888 占位。

LITTLE_R 格式对应数据如下:

            30.40742           -91.1802600001                                 1LSU                                    FM-111 GPSPW                            HOURLY_PWV.LLH                                      20.91000         0         0         0         0         0         F         F         F         0        36      20080205114500-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888      3.04000      0-888888.00000-888888101180.00000      0     20.91000      0    295.04999      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0
-777777.00000      0-777777.00000      0      1.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      01      0      0

示例 2:GPSZTD 观测数据(250.20 cm)

  • 平台 Platform:FM-114 GPSZTD(代表 GPS 天顶总延迟)
  • ZTD 值:250.20 cm(同样记录在头部字段)
  • QC 值:0(表明没有记录误差)
  • 同样,其他字段(风速、风向等)都使用 -888888 占位。

LITTLE_R 格式对应数据如下:

            30.40742           -91.18026Fake observation for GPSZTD test        Fake observation for GPSZTD test        FM-114 GPSZTD                           Fake observation for GPSZTD test                    20.91000         0         0         0         0         0         F         F         F         0        36      20080205111500-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888-888888.00000-888888    250.20600      0-888888.00000-888888101180.00000      0     20.91000      0    295.04999      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0
-777777.00000      0-777777.00000      0      1.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      0-888888.00000      01      0      0

注意:250.20 cm 实际在文件中以 250.20600 的浮点数形式存储

参考

http://www.xdnf.cn/news/15663.html

相关文章:

  • 【源力觉醒 创作者计划】百度携文心 4.5 入局,开源大模型市场再添一员猛将,与 Qwen3 对比如何?
  • 3DGS之COLMAP
  • iOS 抓包工具选择与配置指南 从零基础到高效调试的完整流程
  • Android动态获取当前应用占用的内存PSS,Java
  • 汽车功能安全-相关项集成和测试(系统集成测试系统合格性测试)-12
  • 从电子管到CPU
  • 迁移学习的概念和案例
  • 【前端Vue】this.resetForm(“form“)重置表单时出现indexOf报错的解决方案
  • Java 增强 switch 语句详解:从基础到进阶的全面指南
  • Sersync和Rsync部署
  • Ubuntu 安装
  • 22-C#的委托简单使用-2
  • Linux715 磁盘管理:逻辑卷
  • MyBatis Plus功能增强全解析:从手写SQL到优雅开发的进阶指南
  • 【jvm|基本原理】第四天
  • Vue3入门-指令补充
  • MyBatis与Spring整合优化实战指南:从配置到性能调优
  • 《每日AI-人工智能-编程日报》--2025年7月15日
  • mongoDB的CRUD
  • C++ Boost Aiso TCP 网络聊天(服务端客户端一体化)
  • QGIS新手教程9:字段计算器进阶用法与批量处理技巧
  • 操作HTML网页的知识点
  • Linux下调试器gdb/cgdb的使用
  • Unity 多人游戏框架学习系列一
  • 23.将整数转换为罗马数字
  • 全局 WAF 规则:构筑 Web 安全的坚固防线
  • 设计模式一: 模板方法模式 (Template Method Pattern)
  • 基于 AI 的大前端安全态势感知与应急响应体系建设
  • 检查WSL2子系统文件大小并删除
  • 《星盘接口10:时空回响》