前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何使用nc格式的ERA5制作WRF模式中间文件

如何使用nc格式的ERA5制作WRF模式中间文件

作者头像
用户11172986
发布于 2025-03-21 09:29:15
发布于 2025-03-21 09:29:15
13800
代码可运行
举报
文章被收录于专栏:气python风雨气python风雨
运行总次数:0
代码可运行

如何使用nc格式的ERA5制作WRF模式中间文件

前言

今天我们介绍一个开源项目,用于将 ERA5 netCDF 文件转换为 WPS 中间格式的简单 Python 脚本

项目地址 :https://github.com/NCAR/era5_to_int/

虽然很奇怪为什么有这种项目存在,但既然是NCAR做的项目,那么应该是有较多需求的

本教程面向零基础用户,指导如何使用 era5_to_int.py 将ERA5气象数据转换为WRF/MPAS-A模型所需的中间格式。

一、前期准备

1. 安装Python环境

Python版本:3.11 或更高(可在Python官网下载)。

安装依赖库:打开终端/命令提示符,输入以下命令安装所需库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install netCDF4 numpy  

2. 获取ERA5数据

  • 数据来源:需要从NSF NCAR Research Data Archive (RDA)下载ERA5的d633数据集。
  • 数据路径:默认脚本会搜索Glade系统路径(如不适用需手动指定本地路径)。

二、基础使用步骤

1. 查看帮助文档

输入以下命令查看脚本支持的参数和用法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python era5_to_int.py --help  

2. 转换单个时间点数据

命令示例: 转换 2024年5月1日00时 的数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python era5_to_int.py 2024-05-01_00  

输出文件: 生成名为 ERA5:2024-05-01_00 的中间文件。


三、进阶使用场景

1. 指定本地数据路径

如果数据存放在 /home/user/era5_data,运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python era5_to_int.py --path /home/user/era5_data 2024-05-01_00  

2. 转换时间范围的数据

转换 2024年5月1日00时 - 5月31日18时 的数据,每6小时一个时次:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python era5_to_int.py 2024-05-01_00 2024-05-31_18 6  

3. 处理气压层数据(非默认模型层)

使用 -i 参数处理气压层数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python era5_to_int.py -i 2024-05-01_00  

四、重要参数说明

参数

作用

示例值

datetime

起始时间(必需)

2024-05-01_00

until_datetime

终止时间(默认为起始时间)

2024-05-31_18

interval_hours

时间间隔(默认6小时)

3 (3小时间隔)

--path PATH

自定义数据路径

/home/user/era5_data

-i

使用气压层数据

无参数值,直接添加

五、常见问题

Q1: 运行时提示找不到文件

  • ✅ 检查数据路径是否正确(通过--path指定或确认默认路径是否有权限)。
  • ✅ 确认ERA5文件名是否符合d633数据集命名规范。

Q2: 输出文件未生成

  • ✅ 检查Python依赖库是否安装成功(netCDF4numpy)。
  • ✅ 确保输入时间格式为YYYY-MM-DD_HH(如2024-05-01_00)。

六、总结

通过本教程,你可以学会如何使用ERA5制作WRF的中间格式文件,即met_em开头的文件

但需要注意的,目前有些帖子指出使用该项目制作的文件在高层的风场有差别,我们先让子弹飞一会

等官方的修复吧

帖子地址:https://forum.mmm.ucar.edu/threads/wps-with-grib-era5-vs-netcdf-era5-outputs-are-different.21221/#post-51541

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气python风雨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python | WRF任意剖面风矢量的三种投影方法及绘图
旋转法:通过旋转风向量,使其与剖面方向对齐,从而得到沿剖面和垂直于剖面的风速分量。
用户11172986
2025/01/17
1920
Python | WRF任意剖面风矢量的三种投影方法及绘图
真・WRF模式后处理之Python版
WRF模式是数值天气预报和大气模拟系统,其开发目的就是用语研究和实际应用。运行WRF模式时,可以利用多种初始场数据来驱动,然后配置好选项之后便可以模拟天气过程(说的好像很简单的样子==)。
bugsuse
2020/04/20
5.5K1
【复制即用】下载ERA-5数据的python脚本分享
分享两个下载era5数据的脚本(根据实际仅需要改动时间、变量、气压层、时次即可使用),由中国科学技术大学-大气科学先进计算实验室提供。在使用之前,需要先配置CDS API,点击https://cds.climate.copernicus.eu/api-how-to即可跳转至配置教程。 下载高空 #!/usr/bin/python3 import cdsapi import os import pandas as pd import numpy as np c = cdsapi.Client() v
自学气象人
2023/01/12
1.9K0
ERA5: 如何利用逐小时数据计算日总降水量?
This knowledge base article shows you how to calculate daily total precipitation using ERA5 data.
气象学家
2022/01/18
3.9K0
ERA5: 如何利用逐小时数据计算日总降水量?
用Python批处理指定数据-以WRF输出结果为例演示按照指定维度合并(附示例代码)
使用过WRF的人都知道,它的模拟结果是按照我们指定的时间间隔和模拟时间段依次输出的。但在处理数据的时候呢,比如想画一个时间趋势图之类的时候,挨个读取数据非常繁琐。我们希望能够把所有的数据或者某个我们关心的变量单独提取出来,让其按照指定的维度,如时间维度来排序并整合成一个文件。下面我就分享一下我在日常科研中为了解决这个问题而写的代码,供大家参考使用(代码很简单, 大家只需要把文件名、路径改成自己的就可以用了)。
自学气象人
2022/10/09
2.8K0
用Python批处理指定数据-以WRF输出结果为例演示按照指定维度合并(附示例代码)
Python | ERA5任意经纬度风矢量剖面绘制
这次的代码没什么难点,主要是涉及单位转换 pa/s 转为 m/s 和wrf不同,metpy提供了直接的转换切向法向的函数,非常全面,不过不晓得有没有画错
用户11172986
2025/01/20
1670
Python | ERA5任意经纬度风矢量剖面绘制
【亲测有效】Python+IDM多线程加速批量下载ERA5数据
本文介绍了如何通过Python脚本和Internet Download Manager(IDM)软件批量下载ERA5数据。
自学气象人
2023/01/31
6.6K2
【亲测有效】Python+IDM多线程加速批量下载ERA5数据
ERA5水汽通量散度剖面计算与绘图
由于可视化代码过长隐藏,可点击运行Fork查看 若没有成功加载可视化图,点击运行可以查看 ps:隐藏代码在【代码已被隐藏】所在行,点击所在行,可以看到该行的最右角,会出现个三角形,点击查看即可
用户11172986
2025/01/14
2710
ERA5水汽通量散度剖面计算与绘图
WRF散度计算步骤及Python可视化实现2.0
在气象家园论坛中,有用户对WRF模式输出的散度计算感到困惑。本项目旨在介绍WRF散度的计算方法,并提供Python可视化实现。在后续研究中发现不使用循环也可以完成计算,因此进行了测试比较。
用户11172986
2025/04/22
1060
WRF散度计算步骤及Python可视化实现2.0
meteva,这可能是气象萌新最需要的python库
本文内容参考meteva官方文档: https://www.showdoc.com.cn/meteva/ 面向群体:拿着micaps数据却不知如何读取与绘图的小白 初衷:向广大气象学子介绍meteva库的用途,达到降低micaps门槛的目的,主打“我淋过雨我撑伞” 应用场景:比如说组会前赶图(
用户11172986
2024/06/20
2K0
meteva,这可能是气象萌新最需要的python库
wrf-python 详解之如何使用
近几年,python在气象领域的发展也越来越快,同时出现了很多用于处理气象数据的python包。比如和NCL中的 WRF_ARWUser库类似的 wrf-python模块。
bugsuse
2020/04/20
21.2K0
龙行龘龘!如何批量提取wrfout变量存为nc
我们经常需要对大量的模型输出数据进行处理和分析。在气象学中,WRF(Weather Research and Forecasting Model)是一个常用的数值天气预报模型,它可以提供丰富的气象变量数据来帮助我们理解和预测天气现象。 为了更好地处理WRF模型输出数据(当然因为wrfout文件太大了!),我们经常需要批量提取其中的变量,并将提取的数据保存为NetCDF格式(.nc文件),这样可以方便我们后续的分析和可视化操作。
用户11172986
2024/06/20
3730
龙行龘龘!如何批量提取wrfout变量存为nc
Python指定时间、经纬度读取NC数据
  本文介绍基于Python语言的netCDF4库,读取.nc格式的数据文件,并提取指定维(时间、经度与纬度)下的变量数据的方法。
疯狂学习GIS
2024/03/26
4410
Python指定时间、经纬度读取NC数据
C++的netCDF读取NC数据:踩坑经历
  本文介绍基于C++语言的netCDF库读取.nc格式的栅格文件时,出现数据无法读取、数据读取错误、无法依据维度提取变量等情况的原因与解决方法。
疯狂学习GIS
2024/05/13
4260
C++的netCDF读取NC数据:踩坑经历
基于vis5d的WRF模式高维数据可视化
之前在介绍高维数据可视化时说过后面会说WRF模式后处理的高维可视化,这跳票一跳就是差不多一年半,今天从其Vis5d的角度说一下WRF模式的高维可视化。
bugsuse
2020/04/21
1.4K0
基于vis5d的WRF模式高维数据可视化
ERA5 | 台风 | 基于ERA5数据的台风摩羯的气象动图制作
https://www.heywhale.com/mw/project/66fec2d707a4464c3fc75d4b
用户11172986
2024/10/10
1730
ERA5 | 台风 | 基于ERA5数据的台风摩羯的气象动图制作
Python可视化 | WRF模式模拟数据后处理(一)
动画在公众号中不太好放,感兴趣的大家可以去和鲸社区上手玩儿一下。代码获取在好奇心Log公众号后台回复wrf绘图
郭好奇同学
2021/08/26
6.7K2
Python可视化 | WRF模式模拟数据后处理(一)
WRF模式之WPS的配置运行
编译安装好可以模拟实际个例的WRF模式之后,在模拟之前需要先确定模拟域(即模拟范围)以及数据预处理(插值陆面数据,比如地形,土壤等数据;差插值气象数据到模拟域)过程。这就是WPS——模式前处理系统。
bugsuse
2020/04/21
5.2K0
WRF模式之WPS的配置运行
Python批量读取NC数据的时间维信息
  本文介绍基于Python语言,逐一读取大量.nc格式的多时相栅格文件,导出其中所具有的全部时间信息的方法。
疯狂学习GIS
2024/03/26
4010
Python批量读取NC数据的时间维信息
WRF | ERA5驱动所需要素下载以及注意事项
数值模拟发展到现在这种地步,对我来说已经有一定程度的黑盒的感觉,不过对大佬来说应该不是黑盒
用户11172986
2024/10/25
3300
WRF | ERA5驱动所需要素下载以及注意事项
推荐阅读
相关推荐
Python | WRF任意剖面风矢量的三种投影方法及绘图
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验