添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

ERA5是ECMWF对全球气候的第五代大气再分析。再分析将模型数据与来自世界各地的观测数据结合起来,形成一个全球完整的、一致的数据集。ERA5取代了其前身ERA-Interim再分析,ERA5数据一般为Grid和NetCDF格式。ERA5是一套质量很高的在分析资料!!!

ERA5数据直接提供了逐小时、逐月的在分析资料,但是daily资料下载有点说法。

下载方式:

1. 最粗暴的方式

就是把逐小时的资料全部下载下来,然后自己计算逐日平均。

Copernicus Climate Data Store |

但是把,这样下载时间成本、储存成本和再处理成本有点高。。。

2. 官方提供了daily的统计资料哦

先把官网甩出来~:

Log in |

ERA5 DAILY提供每天7个ERA5气候再分析参数的汇总值:2米空气温度、2米露点温度、总降水量、平均海平面气压、表面气压、10米u风分量和10米v风分量。此外,根据每小时的2米空气温度数据,计算出2米处的每日最低和最高空气温度。每日总降水质以每日总和给出。所有其他参数都以日平均数提供。

根据你想要的选择合适之后,点击RUN便会生成.nc数据,点击下载就行。

但是还是有个问题啊,每个变量每个月都得点击一次,这也太麻烦了!!!

3. 用脚本批量下载

下面主要介绍如何用 linux 下载,windows下载可见这篇博客,博主写的很详细了!!!

ERA5逐日资料下载方法-数据资料-气象家园_气象人自己的家园

step1:

安装CDS API,大佬可以直接参阅官网提供的AAPI进行下载:

How to use the CDS API |

如果大佬们懒得开,我就简单bb两句怎么搞:

首先,创建 .cdsapirc 文件并填入url和key

vim $HOME/.cdsapirc

然后键入i进入写入模式,填写你自己的url和key,类似于:,自己的url和key在此网站中:How to use the CDS API | Copernicus Climate Data Store,将右侧黑框中的url和key复制过来即可,注意需要先登录才会显示自己的url和key。

 然后,使用pip安装就行了

pip install cdsapi

step2:

运行downloadERA5Daily.py就行 这个脚本代码如下:

# -*- coding: utf-8 -*-
@author:Tong
import time
import cdsapi
import requests
import multiprocessing
# CDS API script to use CDS service to retrieve daily ERA5* variables and iterate over
# all months in the specified years.
# Requires:
# 1) the CDS API to be installed and working on your system
# 2) You have agreed to the ERA5 Licence (via the CDS web page)
# 3) Selection of required variable, daily statistic, etc
# Output:
# 1) separate netCDF file for chosen daily statistic/variable for each month
# Uncomment years as required
# For valid keywords, see Table 2 of:
# https://datastore.copernicus-climate.eu/documents/app-c3s-daily-era5-statistics/C3S_Application-Documentation_ERA5-daily-statistics-v2.pdf
# select your variable; name must be a valid ERA5 CDS API name.
# Select the required statistic, valid names given in link above
c = cdsapi.Client()#timeout=300
years = [ str(id1) for id1 in range(1959,2016) ]
months =[ '%02d' % id2 for id2 in range(1,13) ]
var = "2m_temperature"
stat = "daily_mean"
def Download(iyear, imonth):
    t000=time.time()
    result = c.service(
        "tool.toolbox.orchestrator.workflow",
        params={
            "realm": "c3s",
            "project": "app-c3s-daily-era5-statistics",
            "version": "master",
            "kwargs": {
                "dataset": "reanalysis-era5-single-levels",
                "product_type": "reanalysis",
                "variable": var,
                "statistic": stat,
                "year": iyear,
                "month": imonth,
                "time_zone": "UTC+00:0",
                "frequency": "1-hourly",
                # Users can change the output grid resolution and selected area
                #                "grid": "1.0/1.0",
                #                "area":{"lat": [10, 60], "lon": [65, 140]}
            "workflow_name": "application"
    # set name of output file for each month (statistic, variable, year, month
    file_name =  stat + "_" + var +  iyear + imonth + ".nc"
    location = result[0]['location']
    res = requests.get(location, stream=True)
    print("Writing data to " + file_name)
    with open(file_name, 'wb') as fh:
        for r in res.iter_content(chunk_size=1024):
            fh.write(r)
    fh.close()
    print('***样本%s 保存结束, 耗时: %.3f s / %.3f mins****************' % (file_name,(time.time() - t000), (time.time() - t000) / 60))
if __name__ == "__main__":
    t0 = time.time()
    # ===================================================================================
    print('*****************程序开始*********************')
    for yr in years:
        for mn in months:
            Download(yr, mn)
    print('***********************程序结束, 耗时: %.3f s / %.3f mins****************' % (
        (time.time() - t0), (time.time() - t0) / 60))
				
第一步:为python安装下载ECMWF数据必需的库包:cdsapi 1、登录ECMWF,下载秘钥key 由网址https://www.ecmwf.int/登陆EC账号,再进入https://cds.climate.copernicus.eu/api-how-to 将界面右侧蓝框中的内容复制保存为txt,并命名为.cdsapirc,保存在 C:\Users\username.cdsapirc, 2、以spyder为例,安装cdsapi库包 以管理员身份进入AnacondaPrompt,进入要安装库包的环
一、数据下载 在网站上注册后,点击Datasets,以“ERA5-Land”搜索,选择“ERA5-Land hourly data from 1950 to present” 1. 手动下载每小时数据 点击Download data,选择需要的时间和地理范围,点击Submit Form,可以在Your Requests中查看请求
今天开完组会,小小放松一下哈哈,更新一下许久没更新的CSDN(登陆太少,好多私信和评论都没回复,尴尬哈哈) 我之前下载JRA-55的monthly数据,上ftp用手点!用手点!!![破音] 太惨了,简直惨绝人寰。 最近要用到daily数据,手点是不可能的,这辈子都不可能的。我搜了一下,好像没看到介绍用服务器批量下载JRA-55的资料(之前有类似的帖子,但都是转载官网的,说什么编shell脚本,连接ftp,我水平有限,没做出来...),因此决定开个坑介绍一下如何用python脚本(内附脚本)对JRA-55
二、登录后获取下载key https://cds.climate.copernicus.eu/api-how-to 如图右侧红色框中的内容复制保存为TXT文件,并重命名为“.cdsapirc”,注意前面有点,保存在 C:\Users\username\.cdsapirc,(WINDOWS系统),username指当前电脑登录账户。 三、安装cdsapi库 以pycharm为例: 在pycharm中依次打开:File>setting
1.下载准备 为了验证MPI算法的准确性,下载ERA5波谱数据,作为海浪的初猜谱进行输入。下载哨兵1 SAR数据,作为SAR图像谱数据。 ECMWF波谱数据链接 1.1 创建ECMWF账户 下载数据首先要创建账户。点击下面链接,网页上方创建新账户。 ECMWF创建 ECMWF数据有两种下载方式,一是可以在网站直接请求下载,这种下载方式适用于直接存储在CDS目录中的数据。具体下载方式看以下链接 CDS在线目录数据下载 另一种下载方式是利用python,通过API对其进行请求。可以下载未在CDS在线目录中的数
for year in range(2015, 2020): for month in range(1, 13): days = [f"{day:02d}" for day in range(1, 32)] for day in days: date = f"{year}{month:02d}{day}" c.retrieve( "reanalysis-era5-single-levels", "product_type": "reanalysis", "format": "netcdf", "variable": variables, "year": str(year), "month": f"{month:02d}", "day": f"{day:02d}", "time": ["00:00", "01:00", "02:00", "03:00", "04:00", "05:00", "06:00", "07:00", "08:00", "09:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", "22:00", "23:00"], f"{output_dir}/era5_{date}.nc", except: print(f"Failed to retrieve data for {date}") 这个代码下载 2015-2019 年每天的 2 米温度、海平面气压和总降水量数据,每小时一个时间步长。你可以根据需要修改下载参数。注意,你需要先安装 `cdsapi` 模块,可以使用 `pip install cdsapi` 命令来安装。此外,由于 ERA5 数据集中存在一些缺失值和错误值,因此可能会出现下载失败的情况,你需要自行处理这些情况。