发布时间:2026/7/5 17:00:53
Herbie 完全教程:Python 气象数据下载的终极解决方案
Herbie 完全教程Python 气象数据下载的终极解决方案【免费下载链接】HerbieDownload numerical weather prediction datasets (HRRR, RAP, GFS, IFS, etc.) from NOMADS, NODD partners (Amazon, Google, Microsoft), ECMWF open data, and the University of Utah Pando Archive System.项目地址: https://gitcode.com/gh_mirrors/her/HerbieHerbie 是一个强大的 Python 包专门用于从多个云存档源下载数值天气预报NWP模型数据。无论你是气象研究人员、数据科学家还是天气爱好者Herbie 都能让你轻松访问 NOAA、ECMWF 等机构的气象数据。这个工具的核心优势在于其智能化的数据检索机制能够自动从多个数据源中寻找最佳下载路径大大简化了气象数据获取的复杂性。项目亮点为什么选择 HerbieHerbie 的设计理念是让气象数据下载变得简单高效。以下是它的主要亮点多源智能搜索自动从 AWS、Google Cloud、NOMADS、Azure 等多个数据源中寻找可用文件子集下载优化支持按变量筛选只下载你需要的数据节省带宽和存储空间无缝 xarray 集成直接读取 GRIB2 文件为 xarray 数据集便于后续分析广泛模型支持覆盖 HRRR、GFS、RAP、ECMWF、GEFS 等 15 主流气象模型双界面操作提供 Python API 和命令行接口满足不同使用场景核心功能深度解析智能数据源优先级管理Herbie 最强大的功能之一是它的智能数据源搜索机制。当你请求数据时它会按照配置的优先级顺序检查多个数据源from herbie import Herbie # Herbie 会自动检查以下数据源按默认优先级 # 1. AWS S3 (亚马逊云) # 2. Google Cloud Storage (谷歌云) # 3. NOMADS (NOAA 官方服务器) # 4. 犹他大学 Pando 存档系统 # 5. 本地文件系统 H Herbie(2024-01-01 12:00, modelhrrr, productsfc, fxx6)灵活的数据子集下载传统的气象数据下载需要获取整个 GRIB2 文件但 Herbie 允许你只下载需要的变量这在处理大文件时特别有用# 下载完整文件 H.download() # 只下载 500mb 高度的所有变量 H.download(:500 mb) # 只下载 2米温度 H.download(:TMP:2 m) # 下载特定区域的子集 H.download(:TMP:2 m, region[-120, -110, 35, 45])内置数据可视化支持Herbie 集成了 Cartopy 地图库让你能够快速可视化气象数据import matplotlib.pyplot as plt import cartopy.crs as ccrs # 获取数据并创建地图 ds H.xarray(TMP:2 m) ax plt.axes(projectionccrs.PlateCarree()) ds.t2m.plot(axax, transformccrs.PlateCarree()) ax.coastlines() plt.show()安装部署三种方式任选方式一Conda/Mamba 安装推荐# 使用 Conda conda install -c conda-forge herbie-data # 或使用更快的 Mamba mamba install -c conda-forge herbie-data方式二Pip 安装pip install herbie-data方式三Uv 安装uv add herbie-data注意wgrib2 工具是可选的但推荐安装以获得完整功能# Ubuntu/Debian sudo apt-get install wgrib2 # macOS brew install wgrib2 # Conda conda install -c conda-forge wgrib2实战应用从入门到精通案例 1下载 HRRR 模型数据HRRR高分辨率快速更新是美国最常用的高分辨率区域预报模型之一。以下是获取 HRRR 数据的完整流程from herbie import Herbie import xarray as xr # 1. 创建 Herbie 对象 H Herbie( 2024-03-15 12:00, # 日期时间 modelhrrr, # 模型名称 productsfc, # 产品类型地面场 fxx6 # 预报时效6小时 ) # 2. 查看文件内容 print(H.inventory()) # 3. 下载并读取 2米温度数据 temp_data H.xarray(TMP:2 m) # 4. 数据分析和可视化 print(f温度范围: {temp_data.t2m.min().values:.1f}°C 到 {temp_data.t2m.max().values:.1f}°C)案例 2批量下载多时段数据对于需要历史数据的研究Herbie 提供了批量处理功能from herbie import FastHerbie import pandas as pd # 定义时间范围 dates pd.date_range(2024-03-01, 2024-03-07, freqD) # 创建 FastHerbie 对象进行批量下载 FH FastHerbie( dates, modelhrrr, productsfc, fxx6, save_dir./hrrr_data ) # 批量下载 2米温度数据 FH.download(TMP:2 m, verboseTrue) # 批量读取所有数据 datasets FH.xarray(TMP:2 m)案例 3命令行快速操作Herbie 提供了强大的命令行接口适合自动化脚本和快速查询# 查看 HRRR 模型变量清单 herbie inventory -m hrrr -d 2024-03-15T12:00 -f 0 # 下载 GFS 模型 850mb 温度 herbie download -m gfs --product 0p25 -d 2024-03-15 -f 24 --subset :TMP:850 mb: # 指定数据源优先级只检查谷歌云 herbie data -m hrrr -d 2024-03-15 -f 0 -p google支持的气象模型大全Herbie 支持众多气象模型覆盖全球和区域尺度美国 NOAA 模型HRRR3公里高分辨率快速更新模型RAP13公里快速更新模型GFS全球预报系统GEFS全球集合预报系统NAM北美中尺度模型NBM国家模型融合产品其他国际模型ECMWF IFS欧洲中期天气预报中心综合预报系统HRDPS加拿大高分辨率确定性预报系统NAVGEM美国海军全球环境模型生态集成与其他工具无缝协作与 xarray 深度集成Herbie 返回的是标准的 xarray 数据集这意味着你可以直接使用 xarray 的强大功能# 使用 xarray 进行高级分析 ds H.xarray(:500 mb) # 计算垂直速度梯度 ds[dwdp] ds[w].differentiate(isobaricInhPa) # 时间序列分析 monthly_mean ds.groupby(time.month).mean() # 空间统计分析 spatial_mean ds.mean(dim[latitude, longitude])Cartopy 地理可视化结合 CartopyHerbie 数据可以轻松绘制专业气象图import cartopy.feature as cfeature fig plt.figure(figsize(12, 8)) ax plt.axes(projectionccrs.PlateCarree()) # 添加地理特征 ax.add_feature(cfeature.COASTLINE) ax.add_feature(cfeature.BORDERS, linestyle:) ax.add_feature(cfeature.STATES, linewidth0.5) # 绘制气象数据 ds.t2m.plot(axax, transformccrs.PlateCarree(), cbar_kwargs{label: Temperature (°C)}) plt.title(2m Temperature from HRRR Model) plt.show()与机器学习框架结合Herbie 数据可以直接用于机器学习模型训练import torch from torch.utils.data import Dataset class WeatherDataset(Dataset): def __init__(self, dates, modelhrrr, variableTMP:2 m): self.data [] for date in dates: H Herbie(date, modelmodel, productsfc, fxx0) ds H.xarray(variable) self.data.append(ds[variable].values) def __len__(self): return len(self.data) def __getitem__(self, idx): return torch.tensor(self.data[idx], dtypetorch.float32)进阶技巧提升工作效率1. 配置文件优化Herbie 使用 TOML 格式的配置文件你可以自定义默认设置# ~/.config/herbie/config.toml [default] model hrrr fxx 0 save_dir ~/weather_data overwrite false verbose true # 自定义数据源优先级 priority [aws, google, nomads, pando]2. 缓存机制利用Herbie 会自动缓存已下载的文件避免重复下载# 检查文件是否已存在 if H.local_exists(): print(文件已存在跳过下载) ds H.xarray(TMP:2 m) else: ds H.xarray(TMP:2 m, downloadTrue)3. 自定义模型模板如果你有私有数据源可以创建自定义模板# 在 ~/.config/herbie/custom_template.py 中添加 class my_custom_model: def template(self): self.DESCRIPTION My Custom Weather Model self.SOURCES { my_server: fhttp://myserver.com/{self.date:%Y%m%d}/model_output.grib2 }4. 错误处理和重试Herbie 内置了错误处理机制但你可以进一步优化from tenacity import retry, stop_after_attempt, wait_exponential retry(stopstop_after_attempt(3), waitwait_exponential(multiplier1, min4, max10)) def download_with_retry(date, modelhrrr): try: H Herbie(date, modelmodel) return H.xarray(TMP:2 m) except Exception as e: print(f下载失败: {e}) raise性能优化建议网络优化使用离你最近的云服务商AWS、Google、Azure设置合适的优先级顺序减少连接时间考虑使用本地镜像如果可用存储优化使用子集下载只获取需要的变量定期清理缓存文件考虑使用 Zarr 格式存储长期数据计算优化使用 FastHerbie 进行批量处理并行化多个时间步的下载使用 Dask 处理大型数据集常见问题解答Q: Herbie 支持哪些数据格式A: 主要支持 GRIB2 格式这是气象领域最常用的二进制数据格式。通过 xarray 和 cfgrib 后端数据会自动转换为 NetCDF-like 的 xarray 数据集。Q: 如何处理大型数据集A: 推荐使用子集下载功能只获取需要的变量和区域。对于超大型数据集可以使用 FastHerbie 的批量处理功能并结合 Dask 进行分布式计算。Q: Herbie 与直接使用 wget 或 rclone 有何不同A: Herbie 提供了更高级的抽象层包括智能数据源选择、子集下载、自动格式转换等功能。虽然 rclone 也是强大的工具但 Herbie 专门为气象数据优化提供了更便捷的 API。Q: 如何贡献代码A: Herbie 是开源项目欢迎通过 GitHub 提交问题报告、功能请求或拉取请求。项目的主要开发在 核心源码 目录下进行。总结Herbie 彻底改变了气象数据获取的方式将复杂的数据下载流程简化为几行 Python 代码。无论你是进行学术研究、业务预报还是个人项目Herbie 都能提供稳定、高效的数据访问服务。它的主要优势包括智能化数据源管理自动从多个云服务商寻找最佳数据源灵活的数据获取支持完整文件或变量子集下载无缝的数据处理直接输出 xarray 数据集便于后续分析广泛的模型支持覆盖主流气象预报模型活跃的社区支持持续更新和维护开始你的气象数据分析之旅吧安装 Herbie探索丰富的气象数据世界让你的研究和工作更加高效。专业提示对于生产环境建议结合使用 Herbie 的 Python API 和命令行接口创建自动化的数据管道确保数据的及时更新和处理。【免费下载链接】HerbieDownload numerical weather prediction datasets (HRRR, RAP, GFS, IFS, etc.) from NOMADS, NODD partners (Amazon, Google, Microsoft), ECMWF open data, and the University of Utah Pando Archive System.项目地址: https://gitcode.com/gh_mirrors/her/Herbie创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

快速掌握Crypto++:免费C++加密库的完整配置指南
2026/7/5 16:00:53

快速掌握Crypto++:免费C++加密库的完整配置指南

快速掌握Crypto:免费C加密库的完整配置指南 【免费下载链接】cryptopp free C class library of cryptographic schemes 项目地址: https://gitcode.com/gh_mirrors/cr/cryptopp Crypto是一个功能强大的免费C加密库,为开发者提供了丰富的密码学算…

阅读更多
F3闪存检测工具:3分钟识别扩容盘的终极解决方案 [特殊字符]
2026/7/5 16:00:53

F3闪存检测工具:3分钟识别扩容盘的终极解决方案 [特殊字符]

F3闪存检测工具:3分钟识别扩容盘的终极解决方案 🔍 【免费下载链接】f3 F3 - Fight Flash Fraud 项目地址: https://gitcode.com/gh_mirrors/f3/f3 你是否曾遇到过新买的U盘或SD卡价格便宜得离谱,但存储重要文件时却频繁出现损坏&…

阅读更多
显卡驱动卸载终极指南:5分钟学会使用DDU彻底清理驱动残留
2026/7/5 16:00:53

显卡驱动卸载终极指南:5分钟学会使用DDU彻底清理驱动残留

显卡驱动卸载终极指南:5分钟学会使用DDU彻底清理驱动残留 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstall…

阅读更多
libfabric性能优化秘籍:提升分布式应用通信效率的10个技巧
2026/7/5 18:00:53

libfabric性能优化秘籍:提升分布式应用通信效率的10个技巧

libfabric性能优化秘籍:提升分布式应用通信效率的10个技巧 【免费下载链接】libfabric Open Fabric Interfaces 项目地址: https://gitcode.com/gh_mirrors/li/libfabric 在当今高性能计算和分布式系统领域,libfabric(Open Fabric Int…

阅读更多
Subliminal实战教程:5个核心测试用例详解
2026/7/5 18:00:53

Subliminal实战教程:5个核心测试用例详解

Subliminal实战教程:5个核心测试用例详解 【免费下载链接】Subliminal An understated approach to iOS integration testing. 项目地址: https://gitcode.com/gh_mirrors/subl/Subliminal Subliminal是一款强大的iOS集成测试框架,它巧妙地将Obje…

阅读更多
恶意软件分析入门:Security-Paper项目中的Linux恶意软件研究资料
2026/7/5 18:00:53

恶意软件分析入门:Security-Paper项目中的Linux恶意软件研究资料

恶意软件分析入门:Security-Paper项目中的Linux恶意软件研究资料 【免费下载链接】security-paper (与本人兴趣强相关的)各种安全or计算机资料收集 项目地址: https://gitcode.com/gh_mirrors/se/security-paper 恶意软件分析是网络安…

阅读更多
如何在浏览器中实现人体姿态搜索:免费开源pose-search完整使用指南
2026/7/5 18:00:53

如何在浏览器中实现人体姿态搜索:免费开源pose-search完整使用指南

如何在浏览器中实现人体姿态搜索:免费开源pose-search完整使用指南 【免费下载链接】pose-search x6ud.github.io/pose-search 项目地址: https://gitcode.com/gh_mirrors/po/pose-search 想要在Web应用中快速集成专业级的人体姿态识别与动作搜索功能吗&…

阅读更多
如何快速开始Pillar Valley游戏开发:10个新手必学技巧
2026/7/5 18:00:53

如何快速开始Pillar Valley游戏开发:10个新手必学技巧

如何快速开始Pillar Valley游戏开发:10个新手必学技巧 【免费下载链接】pillar-valley 👾A cross-platform video game built with Expo and three.js 项目地址: https://gitcode.com/gh_mirrors/pi/pillar-valley 欢迎来到Pillar Valley游戏开发…

阅读更多
GitHub语言颜色可视化:使用GitHub Colors创建编程语言颜色卡片墙
2026/7/5 17:00:53

GitHub语言颜色可视化:使用GitHub Colors创建编程语言颜色卡片墙

GitHub语言颜色可视化:使用GitHub Colors创建编程语言颜色卡片墙 【免费下载链接】github-colors 🌈 Github colors for all the languages 项目地址: https://gitcode.com/gh_mirrors/gi/github-colors GitHub Colors是一个强大的开源工具&#…

阅读更多
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御
2026/7/5 0:00:50

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

阅读更多
3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略
2026/7/5 0:00:50

3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略

3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾为Windows右键菜单中那些…

阅读更多
GXDE OS下Wayland兼容性实战:从deepin-mutter原理到VMware Tools修复
2026/7/5 0:00:50

GXDE OS下Wayland兼容性实战:从deepin-mutter原理到VMware Tools修复

如果你正在用 GXDE OS 或者任何基于 Deepin 的发行版,并且遇到了“检测到窗口系统采用 Wayland 协议,程序即将退出”这类弹窗,或者发现 VMware Tools 在 Ubuntu 24.04 这类默认 Wayland 的系统上启动失败,那这篇文章就是为你准备的…

阅读更多
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御
2026/7/5 0:00:50

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

阅读更多
3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略
2026/7/5 0:00:50

3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略

3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾为Windows右键菜单中那些…

阅读更多
GXDE OS下Wayland兼容性实战:从deepin-mutter原理到VMware Tools修复
2026/7/5 0:00:50

GXDE OS下Wayland兼容性实战:从deepin-mutter原理到VMware Tools修复

如果你正在用 GXDE OS 或者任何基于 Deepin 的发行版,并且遇到了“检测到窗口系统采用 Wayland 协议,程序即将退出”这类弹窗,或者发现 VMware Tools 在 Ubuntu 24.04 这类默认 Wayland 的系统上启动失败,那这篇文章就是为你准备的…

阅读更多
基于Dify与DeepSeek构建私有知识库问答系统实战指南
2026/7/4 11:17:16

基于Dify与DeepSeek构建私有知识库问答系统实战指南

在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…

阅读更多
FAE放射组学分析工具:医学影像特征探索的完整解决方案
2026/7/4 5:24:16

FAE放射组学分析工具:医学影像特征探索的完整解决方案

FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE 你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…

阅读更多
DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖!
2026/7/5 15:33:35

DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖!

DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖! 【免费下载链接】DesktopNaotu 桌面版脑图 (百度脑图离线版,思维导图) 跨平台支持 Windows/Linux/Mac OS. (A cross-platform multilingual Mind Map Tool) 项目地址:…

阅读更多