ERA5数据下载教程

ERA5是欧洲中期天气预报中心(ECMWF)开发的第五代全球气候与天气再分析数据集,覆盖了过去80年的气候记录,最早可追溯至1940年。该数据集取代了此前广泛使用的ERA-Interim再分析产品。

再分析是通过数据同化技术将全球观测数据与气候模型相结合,并遵循物理规律生成全球一致、完整的气候数据集的过程。该方法借鉴了数值天气预报中心的业务同化流程:每12小时将先前的预报结果与新获取的观测数据融合,生成最优的大气状态估计(即“分析”),进而发布更新的预报。再分析与之类似,但由于不依赖实时预报,它能够利用更长时间的观测记录,并在回顾性处理中采用经过质量提升的原始观测数据,从而显著提高数据的准确性和可靠性。


一、网页下载方式

1.用户需要访问ECMWF的Climate Data Store(https://cds.climate.copernicus.eu/),注册并登录。

2.进入数据集(Dataset)页面。

3.选择所需要的数据集,以GNSS气象学方向常用的气压分层数据(ERA5 hourly data on pressure levels from 1940 to present)为例。

4.进入数据集后,是该数据集的总览与介绍,可查看空间分辨率、时间分辨率等信息以及各个变量的单位、描述等信息。

5.进入下载页面,选择所需要的产品类型、变量、时间范围、区域范围、文件类型等信息,提交完会自动跳转请求页面,等待处理完成即可下载。


二、Python批量下载

1.配置ERA5本地文件

url: https://cds.climate.copernicus.eu/api

key: xxxxxxxxxxxxxxxxxx

可在ERA5的个人信息中的API key获取

保存到本地C盘用户(user)目录下,文件名及文件类型为:.cdsapirc

注意,不要保存为txt文本。

2.在配置好环境的Python项目里面,终端执行conda install cdsapi,安装所需要的库。

3.在ERA5数据集下载页面选择好所需要的变量、时间、区域后,在最下方打开API request,即可看到对应的代码,复制粘贴至脚本中。

4.若要实现自动化批量下载,将时间变量进行定义,通过循环即可实现批量下载。

# 判断是否为闰年的函数
def is_leap_year(year):
    # 如果能被400整除,或者能被4整除但不能被100整除,则是闰年
    if (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0):
        return True
    return False

# 用户定义的日期范围
start_year = 2020
start_month = 1
start_day = 26
end_month = 12
end_day = 31

# 每月的天数(考虑闰年)
def get_days_in_month(year, month):
    if month == 2:
        return 29 if is_leap_year(year) else 28
    elif month in [4, 6, 9, 11]:
        return 30
    else:
        return 31

# 遍历日期范围
current_year = start_year
current_month = start_month
current_day = start_day

# 下载程序
# ………………

# 处理日期:增加一天
current_day += 1
if current_day > get_days_in_month(current_year, current_month):
    current_day = 1
    current_month += 1
    if current_month > 12:
        current_month = 1
        current_year += 1

下载地址

关注GNSS空间环境智能感知课题微信公众号,发送“ERA5下载”,获取下载地址。

欢迎关注我们,我们会不定期分享最新研究成果与数据!