学习记录1——利用python批量下载ERA5land数据

网上有很多博客分享了下载方法,我也是参照一篇博客下载的,但是忘了哪篇,现附一篇以供参考https://blog.csdn.net/qq_34734252/article/details/108781538

以下两个代码,第一个是师姐给的,第二个是我自己只需要下载几个月数据用的,仅供参考 

 代码一

import cdsapi

# 创建CDS API客户端
c = cdsapi.Client()

# 设置下载参数
year_range = ['2001']  # 2001年,修改年份即可分别下载对应年份了
variable = 'total_precipitation'  # 将变量名称修改为'total_precipitation'
output_dir = 'G:/ERA5-Land'  # 输出目录

# 循环下载每年的数据
for year in year_range:
    # 设置下载请求参数
    request = {
        'product_type': 'reanalysis',
        'format': 'netcdf',
        'variable': variable,
        'year': year,
        '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',
        ],
        'area': [
            25, 73.4, 40, 105,  # 北纬25,西经73.4,南纬40,东经105,即73.4°~105°E、25°~40°N范围
        ],
    }

    # 发送下载请求
    filename = f'era5-land_{variable}_{year}.nc'
    c.retrieve('reanalysis-era5-land', request, f'{output_dir}/{filename}')

    print(f'{filename} 下载完成!')

代码二

# coding=utf-8
import cdsapi

c = cdsapi.Client()
for year in range(2000,2001):
    for month in range(1, 13):
        outpath = 'E:\\era5land\\' + str(year) + str(month).zfill(2) + '.nc'
        print(outpath)
        c.retrieve(
            'reanalysis-era5-land',
            {
                'variable': 'total_precipitation',
                'year': str(year),
                'month':  [
                    str(month).zfill(2)
                ],
                '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',
                'area': [
                    45, 95, 30,
                    120,
                ],
                'format': 'netcdf',
            },
            outpath)

  • 29
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值