v0.5.3

metgrs

地基遥感垂直观测数据处理 Python 库

支持风廓线仪、毫米波测云仪、微波辐射计、气溶胶激光观测仪等设备数据的读取、处理和可视化。 基于 xarray 标准对象,完全兼容 Python 科学计算生态。

pip install metgrs
example.py
import metgrs

# 读取风廓线雷达 L1 数据
ds_l1 = metgrs.WindProfileRadar.readSingleL1file('FFT.BIN')

# L1 → L2 谱矩法处理
ds_l2 = ds_l1.wpr.calc_l1_to_l2()

# L2 → L3 风分量合成
ds_l3 = ds_l2.wpr.calc_l2_to_l3()

# 绘制风场
ds_l3.wpr.plot_l3_wind()

核心特性

为气象数据处理而生的强大工具

📊

多设备数据读取

支持风廓线仪、毫米波测云仪、微波辐射计、激光雷达等多种地基遥感设备的数据读取,兼容国内外主流数据格式。

🔬

L1→L2→L3 逐级反演

内置谱矩法、杂波抑制、风分量合成等算法,支持从原始功率谱数据到产品数据的完整处理流程。

📈

专业气象绘图

基于 matplotlib 的专业气象可视化,支持反射率、径向速度、谱宽、风场等多种产品的高质量绘图。

🔧

xarray 标准对象

所有数据以 xarray.Dataset 标准对象输出,完全兼容 xarray 生态系统,支持切片、合并、导出 NetCDF 等操作。

多进程并行

支持多进程批量读取数据文件,充分利用多核 CPU 性能,大幅提升数据处理效率。

🧩

Accessor 扩展

通过 xarray accessor 机制提供领域特定方法,如 ds.wpr.calc_l2_to_l3(),代码简洁易读。

支持的设备

覆盖中国地基遥感垂直观测系统主要设备

🗼

风廓线仪

Wind Profile Radar

FFT.BIN RAD.TXT OBS.TXT ROBS/HOBS/OOBS CAL.XML STA.XML
L1 功率谱 L2 径向数据 L3 产品数据
☁️

毫米波测云仪

Cloud Radar

FFT_M.BIN RAW_M.BIN CP_M.TXT STA_M.XML CAL_D.XML
FFT 谱数据 基数据 产品数据
🌡️

微波辐射计

Microwave Radiometer

CSV
温湿廓线 水汽密度 液态水
💫

气溶胶激光观测仪

Lidar

L0.BIN L1_*.BIN L2_*.TXT CDWL.BIN STA.XML CAL.XML
L0 原始数据 L1 产品 L2 产品

快速开始

几分钟内开始处理气象数据

1

安装 metgrs

pip install metgrs
2

读取数据

import metgrs

# 读取云雷达基数据
ds = metgrs.CloudRadar.readSingleBaseData('RAW.BIN')

# 查看数据结构
print(ds)
3

处理与可视化

# 绘制反射率
ds.cld.plot(data_name='Z1', savepath='reflectivity.png')

# 风廓线雷达 L1→L2→L3 处理
ds_l1 = metgrs.WindProfileRadar.readSingleL1file('FFT.BIN')
ds_l3 = ds_l1.wpr.calc_l1_to_l2().wpr.calc_l2_to_l3()
ds_l3.wpr.plot_l3_wind()

Accessor API

通过 xarray accessor 提供领域特定方法

ds.wpr 风廓线雷达
calc_l1_to_l2() L1 功率谱 → L2 径向数据
calc_l2_to_l3() L2 径向数据 → L3 产品数据
plot_l3_wind() 绘制 L3 风场
ds.cld 云雷达
plot(data_name) 绘制云雷达数据
ds.lidar 激光雷达
channel_metas 获取通道元数据

生态兼容

基于 Python 科学计算生态构建

🔢 NumPy
🐼 Pandas
📦 xarray
📊 Matplotlib
Joblib

关于作者

metgrs 的核心开发者

龙清 (longtsing)

龙清 (longtsing)

气象开发者 · 开源贡献者

国内气象领域开发者,长期从事气象数据处理与观测技术研究工作。活跃于 GitHub 开源社区,参与多个气象相关开源项目的开发与维护。

  • 📡
    地基遥感数据处理 开发 metgrs 库,支持风廓线仪、毫米波测云仪、微波辐射计、激光雷达等设备数据的读取、处理和可视化
  • 🌤️
    气象数据与评估 参与 nmc_met_io(气象数据读写)、MetEva(天气预报产品评估验证)等国家级气象项目开发
  • 🛰️
    卫星与遥感应用 参与 climetlab(气象气候数据访问)、satpy(卫星数据处理)、cloudnetpy(云雷达数据处理与云分类)等国际开源项目贡献

贡献者

感谢所有为 metgrs 做出贡献的开发者

🙏

感谢贡献者

metgrs 的发展离不开社区的支持与贡献。我们衷心感谢以下开发者为项目提供的宝贵代码、文档、测试和建议:

如果您在使用过程中发现了问题,或者有新的功能建议,欢迎通过 GitHub Issues 反馈。 如果您愿意贡献代码,我们非常期待您的参与!

成为贡献者

我们欢迎各种形式的贡献:

  • 💻
    代码贡献 修复 bug、添加新功能、优化性能
  • 📝
    文档改进 完善文档、添加示例、翻译内容
  • 🐛
    问题反馈 报告 bug、提出改进建议
  • 🧪
    测试用例 编写测试、验证功能