今年暴雨也挺多的,下了ERA5所有数据想进行分析极端暴雨,过程中遇到很多问题。
数据量实在太多,ERA5全球数据需要一个月一个月逐个下载,所以也参考了网上的大佬们的代码,改编了一下,这里分享一下每个月下载的代码,因为传输过程随时可能中断,所以最好用个try反复一下,但本人的python 还没精进到那个地步,不会用-- 以后再说吧。代码如下:
import cdsapi
import calendar
#在运行前先安装cdsapi包
c = cdsapi.Client()
dic = {
'product_type': 'reanalysis', #选择数据集
'format': 'netcdf.zip', #选择数据格式
'variable': 'total_precipitation',
'year': '',
'month': '',
'day': [],
'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',
]
}
# 批量下载2000年到2025年所有月份数据
for i in range(2000,2015):
for j in range(1, 13):
day_num = calendar.monthrange(i, j)[1] # 根据年月,获取当月日数
dic['year'] = str(i)
dic['month'] = str(j).zfill(2)
dic['day'] = [str(d).zfill(2) for d in range(1, day_num + 1)]
filename = './Prec_' + str(i) + str(j).zfill(2) + '.nc' # 文件存储路径
c.retrieve('reanalysis-era5-land', dic, filename) # 下载数据
在linux里面 python 这个文件就可以自动下载了。不过前提是注册了账号,以及在 vim $HOME/.cdsapirc 目录里面有自己的账号和API,详细过程可以参照这位的过程 https://blog.csdn.net/Wuliyanpiao/article/details/134681825?fromshare=blogdetail&sharetype=blogdetail&sharerId=134681825&sharerefer=PC&sharesource=qq_41644037&sharefrom=from_link
vim $HOME/.cdsapirc 一共两行内容
第一行
第二行写 key: 一连串自己的key密匙
保存后才能用批量下载的代码正常下载。