Python + CDSAPI 批量下载ERA5再分析数据

Python + CDSAPI 批量下载ERA5再分析数据

Copernicus Programme(哥白尼计划) 是欧盟发起的地球监测计划

ECMWF(European Centre for Medium-Range Weather Forecast) 是欧洲中期天气预报中心,一个组织/机构

Copernicus Programme中有多个项目,每个项目交给专门的组织负责,其中CAMS(Copernicus Atmosphere Monitoring Service,大气监测服务)C3S(Copernicus Climate Change Service,气候变化服务) 就是交由ECMWF负责

  • CAMS,该项目主要提供大气成分、大气质量、温室气体…大气相关的数据,链接

    在这里插入图片描述

  • C3S,该项目主要提供气候相关变量的数据,包括再分析资料 eq:ERA5,预报资料,链接

具体的,CAMS和C3S分别通过基于的ADS(Atmosphere Data Store)CDS(Climate Data Store)平台来实现这些数据资料的存储、管理和分发…

ADS和CDS都是基于Common Data Store Engine(也缩写为CDS,注意区分),所以结构基本相同:前端Web界面、后端软件引擎、托管服务和核心数据存储库…

后面内容以CDS中下载"reanalysis-era5-single-levels"数据集中的vertical integral of eastward water vapour flux变量数据为例

通过CDS的Web下载数据文件

  1. 首先,(注册)登陆一个ECMWF账号

  2. 选择想要的数据集

    在这里插入图片描述

  3. 点击Download选项卡,填写表单(即勾选所需的产品类型、变量、时空范围、数据格式和文件格式),不用管API request(后面第二种方法下载数据时会用到)。填完表单后,点击Submit form,提交表单并发送请求

  4. Your requests中可以查看刚才提交的数据请求,每个请求会被CDS分配一个唯一的ID,它先进行排队,排到后CDS会进行处理,处理结果有成功Complete和失败Failed。成功后就可以把数据下载到本地了

Web下载数据的特点:请求在排队受理时具有更高的优先级

由于CDS本身的原因,一个请求只能对应一个文件,且这个文件是有最大限制的。所以,当对数据文件有要求时,比如要批量下载2018~2020年隔6h的经纬向的ivt数据,要求一个月一个变量一个文件,如果通过Web手动提交申请,则需要3 * 12 * 2次的填表勾选、提交和下载,虽然也可以把它们先全部下在一个文件中,再通过别的方法对该文件进行拆分,当然这还是不考虑该文件是否超过最大限制的情况。那么,这种情况下就可以通过编写程序然后运行,实现自动循环提交请求并下载

Python + CDSAPI批量下载数据文件

API(Application Programming Interface)应用程序接口,在软件A中接入软件B提供的API,就可以在软件A中获得软件B的部分服务,API实现了不同程序间的交互。简单理解,就是造了一个机器,但需要电,可自己不会造发电机,而发电厂会造发电机,此时他们牵了电线过来,接上电线就能让机器获得电,在这里面,电线是发电厂提供的API,它连接了机器和发电厂,并使得机器能够获得发电厂生产的电

CDSAPI就是ADS/CDS提供的API,Python脚本接入(导入)CDSAPI模块,再提供必要的参数后运行,就能在本地的Python程序中获得CDS的检索分发数据文件的服务。在此基础上,往脚本中添加循环判断语句进行控制,就能实现批量下载数据文件

  1. 在一个Python环境中安装CDSAPI库:

    conda install -c conda-forge cdsapi / pip install cdsapi

  2. 修改cdsapi库的配置文件.cdsapi:

    (注册)登陆CDS后,点击 User guide, 再点击Get data programmatically(API service)

    在这里插入图片描述

    复制url:......key:......,粘贴到用户目录下的.cdsapi文件中

    在初次导入cdsapi库前,C:\Users\user_name\

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值