- 积分
- 3051
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-5-14
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
之前有帖子曾经说过这个问题,但那种旧的接口已经停止使用了,因此不再有效。而且ECMWF资料全部采用了新的CDS(Climate Data Store)方式共享,需要注册一个CDS账号,才能下载。 CDS主页连接:https://cds.climate.copernicus.eu/#!/home
通过点击左上角的Datasets——>Product type——>Reanalysis可以查到ERA5多种再分析资料了。
ERA主页
但通过主页下载的ERA5资料存在一个问题,即这里所采用的参数全部是默认值,例如逐小时的气压场再分析资料是全球尺度,0.25°分辨率,使用起来非常不方便,仅仅选择几天的数据,都会产生非常庞大的文件。这时我们就需要利用Python通过cds的API接口来自定义下载ERA5资料了。
1、首先需要在本机上(windows操作系统)安装好python,例如我们安装好了anaconda后,执行以下命令:
conda config --add channels conda-forge
conda install cdsapi
其中,第二个命令会执行一段时间,下载必要的程序包,并进行安装。我在操作时,第二个命令在安装时会出错,并进行了安装回滚操作,
但有提示,让重新启动系统。重新启动电脑后,安装就没问题了。
2、在自己电脑上c:/用户/XXXX目录下(XXXX为操作系统登录名)新建一个文件,名字为.cdsapirc(有传言说这个文件名末尾最后也要加一个.号,
但加了也没用,保存时,仍然只会命名为.cdsapirc),在这个文件名里输入两行,第一行是网址,url: https://cds.climate.copernicus.eu/api/v2
,从这行网址可以看出与以前的ERA-Interim再分析资料下载脚本的重大区别,就是ERA5的脚本是v2版本里,而ERA-Interim的是v1版本。第二行是用户id和API Key,
去哪里找呢?首先用注册的用户名和密码登录,在屏幕右上角会出现一个用户名,点击用户名,就能出现一个一个用户档案页面,在页面最下方,就有一个id和API key。
因此第二行需要写成:key: 17???:8cfa2ede-????-????-????-????????????。最终,.cdsapirc文件内容应该有如下
内容:
.cdsapirc文件
3、撰写下载脚本。这个版本的python下载脚本不再需要放在指定目录下,随便放在哪个目录下都可以(最好是英文目录),下载的数据默认会自动存放在脚本所在目录。
脚本内容,可以自己事先在网页上勾选自己所需的资料,然后点击最下方的“Show API request”按钮查看脚本代码。但由于网页上勾选的资料没有空间分辨率和地区选择,需要自己填补上去。例如:
# -*- coding: utf-8 -*-
import cdsapi
c = cdsapi.Client()
c.retrieve(
'reanalysis-era5-pressure-levels',
{
'product_type':'reanalysis',
'variable':[
'divergence','geopotential','relative_humidity',
'specific_humidity','temperature','u_component_of_wind',
'v_component_of_wind','vertical_velocity','vorticity'
],
'pressure_level':[
'100','125',
'150','175','200',
'225','250','300',
'350','400','450',
'500','550','600',
'650','700','750',
'775','800','825',
'850','875','900',
'925','950','975',
'1000'
],
'year':'2018',
'month':'07',
'day':[
'05','06','07'
],
'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'
],
'area':[40,105,20,122],
'grid':[0.125,0.125],
'format':'netcdf'
},
'20190705.nc')
然后运行即可。运行结果如下:
表明已经收集到资料,并开始下载!
祝大家好运!
|
-
用户信息
|