WMO标准气象要素编码与标准代码格式
一、WMO标准气象要素编码
1.1 WMO要素代码表(Table 4677 - 气象要素)
代码 | 英文名称 | 中文名称 | 说明 |
0 | Air temperature | 气温 | 2米高气温 |
1 | Wet-bulb temperature | 湿球温度 | |
2 | Dew-point temperature | 露点温度 | |
3 | Relative humidity | 相对湿度 | 百分比 |
4 | Wind direction | 风向 | 10米高度风向 |
5 | Wind speed | 风速 | 10米高度风速 |
6 | U-component of wind | 风的U分量 | 向东分量 |
7 | V-component of wind | 风的V分量 | 向北分量 |
8 | Horizontal visibility | 水平能见度 | |
9 | Cloud cover (total) | 总云量 | |
10 | Cloud cover (low and/or medium) | 低/中云量 | |
11 | Cloud height | 云高 | |
12 | Present weather | 现在天气现象 | 表4680 |
13 | Past weather (1) | 过去天气现象1 | 表4561 |
14 | Past weather (2) | 过去天气现象2 | 表4561 |
15 | Precipitation amount | 降水量 | |
16 | Precipitation intensity | 降水强度 | |
17 | Snow depth | 积雪深度 | |
18 | State of ground | 地面状态 | 表0901 |
1.2 WMO要素单位代码(Table 3565)
代码 | 单位 | 要素类型 |
0 | m/s | 风速 |
1 | knot | 风速(节) |
2 | m | 能见度、云高 |
3 | hPa | 气压 |
4 | mm | 降水量 |
5 | °C | 温度 |
6 | % | 相对湿度 |
7 | ° | 风向角度 |
8 | okta | 云量 |
1.3 WMO天气现象代码(Table 4677 - 天气现象部分)
代码范围 | 现象类别 |
00-19 | 无降水 |
20-29 | 降水、雾、冰雾 |
30-39 | 尘暴、沙暴、吹雪 |
40-49 | 雾 |
50-59 | 毛毛雨 |
60-69 | 雨 |
70-79 | 固态降水(非阵性) |
80-99 | 阵性降水或雷暴 |
二、SYNOP代码格式(地面天气报告)
2.1 SYNOP基本格式
AAXX YYGGi
IIiii iihVV Nddff 00fff 1sTTT 2sTTT 3PPPP 4PPPP 5appp 6RRRt 7wwWW 8NCCC 9GGgg
333 0.... 1.... 2.... 3.... 4.... 5.... 6.... 7.... 8.... 9....
2.2 SYNOP主要字段说明
字段 | 代码 | 描述 | 示例 |
站号 | IIiii | 5位WMO站号 | 58362(上海) |
日期时间 | YYGGi | YY:日 GG:时 i:风速单位 | 15182 = 15日18时UTC |
风速单位 | i | 0=m/s,1=knot,3=km/h,4=mile/h | |
能见度 | iihVV | ii:标识 h:观测类型 VV:能见度 | 00602 = 能见度2km |
风向风速 | Nddff | N:总云量 dd:风向 ff:风速 | 12315 = 8成云,230°,15m/s |
气温 | 1sTTT | s:正负号 TTT:温度*10 | 10085 = +8.5°C |
露点 | 2sTTT | s:正负号 TTT:露点*10 | 20062 = +6.2°C |
本站气压 | 3PPPP | P:本站气压*10 | 30125 = 1012.5hPa |
海平面气压 | 4PPPP | P:海压*10 | 40123 = 1012.3hPa |
气压倾向 | 5appp | a:倾向特征 p:变化量*10 | 52012 = 先降后升,上升1.2hPa |
降水量 | 6RRRt | R:降水量 t:时段 | 60012 = 过去6小时降水1.2mm |
现在天气 | 7wwWW | ww:现在天气 WW:过去天气 | 70102 = 轻雾,过去天气晴 |
云量云状 | 8NCCC | N:低云量 C:云状 | 82312 = 6成云,层积云 |
补充信息 | 333xx | 可选补充组 |
2.3 SYNOP天气现象代码(ww)
代码 | 现象 | 代码 | 现象 |
00-09 | 无重要天气 | 50-59 | 毛毛雨 |
10-19 | 雾 | 60-69 | 雨 |
20-29 | 降水 | 70-79 | 固态降水 |
30-39 | 沙尘暴/吹雪 | 80-99 | 阵性降水/雷暴 |
40-49 | 雾 |
三、METAR代码格式(航空例行天气报告)
3.1 METAR基本结构
METAR CCCC YYGGggZ dddffGfmfm KT VVVV RVR NNNNDV V/DV VVVDV V/DV w'w' NNN hhh hhh QPPPP REw'w' WS RWYDRDR [TCU|CB] RMK
3.2 METAR主要字段
字段 | 格式 | 示例 | 说明 |
类型 | METAR/SPECI | METAR | 例行/特殊报告 |
站号 | CCCC | ZSSS | 上海浦东 |
时间 | YYGGggZ | 151230Z | 15日12:30 UTC |
风 | dddffGfmfmKT | 12010G15KT | 风向120°,平均10节,阵风15节 |
能见度 | VVVV | 9999 | 能见度≥10km |
跑道视程 | RVR DRDR/VVVV | R24/1200 | 24号跑道视程1200米 |
天气现象 | w'w' | RA | 雨 |
云组 | NNNhhh | SCT020 | 疏云,云底高2000英尺 |
温度/露点 | TT/TdTd | 25/18 | 温度25°C,露点18°C |
气压 | QPPPP | Q1013 | 海平面气压1013hPa |
补充 | REw'w' | RETS | 最近有雷暴 |
风切变 | WS RWYDRDR | WS RWY36 | 36号跑道有风切变 |
3.3 METAR天气现象代码
代码 | 现象 | 强度修饰符 |
RA | 雨 | -:轻,无:中,+:强 |
SN | 雪 | |
DZ | 毛毛雨 | |
GR | 冰雹 | |
GS | 小冰雹 | |
FG | 雾 | |
BR | 轻雾 | |
HZ | 霾 | |
TS | 雷暴 | |
SQ | 飑 |
3.4 METAR云量代码
代码 | 英文 | 中文 | 云量 |
SKC/FEW | Sky Clear/Few | 晴/少云 | 0-2/8 |
SCT | Scattered | 疏云 | 3-4/8 |
BKN | Broken | 裂云 | 5-7/8 |
OVC | Overcast | 阴天 | 8/8 |
四、代码变量名称映射建议
4.1 WMO标准字段变量名
# Python字典示例 - WMO标准字段
wmo_observation = {
'station_id': '58362', # WMO站号
'wmo_block': 58, # WMO区块
'wmo_station': 362, # WMO站号后三位
'element_code': 0, # 要素代码(Table 4677)
'element_value': 25.3, # 要素值
'unit_code': 5, # 单位代码(Table 3565)
'quality_flag': 0, # 质量标志(0=正常)
'observation_time': '2024-01-15T12:00:00Z'
}
# 气象要素类型枚举
from enum import IntEnum
class WMOVariable(IntEnum):
AIR_TEMPERATURE = 0
WET_BULB_TEMP = 1
DEW_POINT = 2
RELATIVE_HUMIDITY = 3
WIND_DIRECTION = 4
WIND_SPEED = 5
U_WIND = 6
V_WIND = 7
VISIBILITY = 8
TOTAL_CLOUD = 9
LOW_CLOUD = 10
CLOUD_HEIGHT = 11
PRESENT_WEATHER = 12
PAST_WEATHER_1 = 13
PAST_WEATHER_2 = 14
PRECIPITATION = 15
PRECIP_INTENSITY = 16
SNOW_DEPTH = 17
GROUND_STATE = 18
4.2 SYNOP解析变量名
# SYNOP消息解析
synop_data = {
'message_type': 'AAXX', # 消息类型
'station_number': '58362', # 站号
'day_time': '15182', # 15日18时UTC
'wind_unit_indicator': 0, # 风速单位指示码
'visibility': {'value': 2000, 'unit': 'm', 'code': '02'},
'wind': {
'total_cloud': 8, # 总云量(okta)
'direction': 230, # 风向(度)
'speed': 15.0 # 风速(m/s)
},
'temperature': 8.5, # 气温(°C)
'dew_point': 6.2, # 露点(°C)
'station_pressure': 1012.5, # 本站气压(hPa)
'sea_level_pressure': 1012.3, # 海平面气压(hPa)
'pressure_tendency': {'character': 5, 'change': 1.2},
'precipitation': {'amount': 1.2, 'period': 6}, # 6小时降水
'weather': {
'present': {'code': 70, 'description': '轻雾'},
'past': {'code': 2, 'description': '过去天气晴'}
},
'clouds': {
'low_cloud_amount': 6,
'cloud_type': 'Sc' # 层积云
}
}
4.3 METAR解析变量名
# METAR消息解析
metar_data = {
'report_type': 'METAR', # 报告类型
'station': 'ZSSS', # 机场代码
'time': '2024-01-15T12:30:00Z',
'wind': {
'direction': 120, # 风向(度)
'speed_kts': 10, # 风速(节)
'gust_kts': 15, # 阵风(节)
'variable': False # 风向是否多变
},
'visibility': {
'value': 10000, # 能见度(米)
'unit': 'm',
'greater_than': True # 是否大于该值
},
'rvr': [ # 跑道视程列表
{'runway': '24', 'value': 1200, 'unit': 'm'}
],
'weather': [
{'code': 'RA', 'intensity': None, 'description': '雨'}
],
'clouds': [
{'amount': 'SCT', 'height_ft': 2000, 'type': None}
],
'temperature': 25.0, # 温度(°C)
'dew_point': 18.0, # 露点(°C)
'qnh': 1013, # QNH气压(hPa)
'recent_weather': ['TS'], # 最近天气
'remarks': 'WS RWY36' # 备注
}
五、注意事项
5.1 数据处理建议
质量控制:实现WMO质量标志检查(0=正常,1=可疑,2=错误,3=缺失)
单位转换:建立完整的单位转换体系
缺测处理:正确处理9999、///、MM等缺测标识
时间标准化:统一使用UTC时间,记录时区信息
5.2 文件格式标准
BUFR:WMO二进制通用格式,用于交换观测数据
GRIB:用于数值预报产品交换
NetCDF:常用科学数据格式,支持CF元数据标准
CSV/JSON:配合标准字段名使用
5.3 实施
# 实用的气象数据处理类示例
class MeteorologicalDataProcessor:
def __init__(self):
self.wmo_tables = self.load_wmo_tables()
def parse_synop(self, synop_string):
"""解析SYNOP报文"""
# 实现SYNOP解析逻辑
pass
def parse_metar(self, metar_string):
"""解析METAR报文"""
# 实现METAR解析逻辑
pass
def convert_units(self, value, from_unit, to_unit):
"""单位转换"""
# 实现单位转换逻辑
pass
def validate_data(self, data_dict):
"""数据验证和质量控制"""
# 实现数据验证逻辑
pass
5.4 常用资源
WMO手册:WMO-No.306 编码手册
ICAO附件3:国际民航组织气象服务标准
国家标准:GB/T 35221-2017 地面气象观测规范
开源库:
Python:
metpy,python-metar,synopJavaScript:
metar-parser-jsR:
weathermetrics
