在此以ERA5的hourly数据[1]为例,ECWMF数据中心的界面用户友好度很高,在你选择相应的变量后会生API代码,复制到python编译器例如jupyter即可下载。以下为详细步骤:
1. 先注册成为用户,然后在网页上登陆,即可等到账户对应的API Key。
2. 下载python,如果有请忽略这一步。
3. 安装 cdsapi python包。我是在anaconda prompt中安装的,直接在Anaconda Prompt中运行如下代码中的一条。
conda install -c conda-forge cdsapi
conda install -c "conda-forge/label/cf202003" cdsapi
4. 安装完成后打开命令行(Command Prompt)创建 .cdsapirc文件。这一步非常关键,将直接决定你的下载代码是否能运行。
打开命令好后,进入’C:\Users\username’这个路径,此处的username为你的用户名,例如我的用户名是‘会飞的狗’。
然后输入type nul > .cdsapirc
创建文件。
之后用Notepad++或Visual studio code等编译器打开,在该文件中输入如下内容,UID为你的uid号,api-key为你的密钥。并删除{}这个符号。保存文件。
url: https://cds.climate.copernicus.eu/api/v2
key: {uid}:{api-key}
5. 在Jupyter中运行从ECWMF网站选择变量后点击show API request并复制此处生成的的代码。运行代码,即可下载到相应的文件。
import cdsapi
c = cdsapi.Client()
c.retrieve(
'reanalysis-era5-single-levels',
{
'product_type': 'reanalysis',
'format': 'netcdf',
'variable': [
'10m_u_component_of_wind', '10m_v_component_of_wind',
],
'year': '2022',
'area': [
72, 21.5, 70,
23.5,
],
'day': [
'01', '02', '03',
'04', '05', '06',
'07', '08', '09',
'10', '11', '12',
'13', '14', '15',
'16', '17', '18',
'19', '20', '21',
'22', '23', '24',
'25', '26', '27',
'28', '29', '30',
'31',
],
'month': '01',
'time': [
'05:00', '06:00', '15:00',
'16:00',
],
},
'download.nc')
参考文档
[1] https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-single-levels?tab=form
[2] https://cds.climate.copernicus.eu/api-how-to
[3] https://earthscience.stackexchange.com/questions/16962/error-trying-to-download-era5-data-exception-missing-incomplete-configuration