最近需要批量下载逐小时的ERA5变量,通过Python批量下载会高效很多,摸索了一下下载方式ERA5 hourly data on single levels from 1940 to present (copernicus.eu)
以2023年的全球降水率为例
选择产品类型为再分析产品
选择变量为降水率
选取时间范围,2023年全年逐小时
区域范围为全球
数据格式为netcdf文件
点击API request后会直接给出python下载的脚本文件,默认下载文件名为download.nc,保存位置是代码所在的当前文件夹,如spyder是保存在页面左上角的路径位置
import cdsapi
c = cdsapi.Client()
c.retrieve(
'reanalysis-era5-single-levels',
{
'product_type': 'reanalysis',
'variable': 'mean_total_precipitation_rate',
'year': '2023',
'month': [
'01', '02', '03',
'04', '05', '06',
'07', '08', '09',
'10', '11', '12',
],
'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',
],
'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',
],
'format': 'netcdf',
},
'download.nc')
到这就可以直接运行python进行脚本下载,但前提是已安装cdsapi模块,官网上也有教程
(How to use the CDS API | Copernicus Climate Data Store)
其中window系统的安装流程如下How to install and use CDS API on Windows - Copernicus Knowledge Base - ECMWF Confluence Wiki
1.首先需要账号,CDS或者ADS的,注册一个就行,然后登上,我用的CDS
2.进入How to use the CDS API | Copernicus Climate Data Store,如果账号没问题,会在右边黑框里看到两行代码,分别是url和key,里面的内容每个人都不一样
在用户路径底下新建一个txt文件,用户路径一般是C:\Users\+用户名,比如我的用户名是 Lenovo,路径就是C:\Users\Lenovo
把这两行粘贴进文本文件,文件名改成.cdsapirc
3.再打开Anaconda power Prompt,直接输入 pip install cdsapi进行安装
到这就大功告成了,安装完成后运行之前的python脚本即可批量下载数据
其他问题:
在用spyder下载的时候遇到连接问题出现很多warning “http error”,不用中断,让它反复尝试就可以了
我还试图用vscode下载,但是遇到报错"Can't connect to HTTPS URL because the SSL module is not available.",但是我的ssl模块是正常安装的,位置也写在环境路径里了,不清楚问题出在哪里,求大佬解答