下载ERA5数据

#!/usr/bin/python3
import cdsapi
import os
import pandas as pd
import numpy as np

c = cdsapi.Client()

var_list = ['10m_u_component_of_wind', '10m_v_component_of_wind', '2m_dewpoint_temperature',
            '2m_temperature', 'land_sea_mask', 'mean_sea_level_pressure',
            'sea_ice_cover', 'sea_surface_temperature', 'skin_temperature',
            'snow_depth', 'soil_temperature_level_1', 'soil_temperature_level_2',
            'soil_temperature_level_3', 'soil_temperature_level_4', 'surface_pressure',
            'volumetric_soil_water_layer_1', 'volumetric_soil_water_layer_2', 'volumetric_soil_water_layer_3',
            'volumetric_soil_water_layer_4']

start_date = '20240719'
end_date = '20240721'
start_year = int(start_date[:4])
end_year = int(end_date[:4])

year_list = np.arange(start_year, end_year+1)
year_list = year_list.astype(str)

for iyear in year_list:
    path = './' + iyear
    if os.path.exists(path):
        print("file exist")
    else:
        os.mkdir(path)
    year_start_date = iyear+"0101"
    year_end_date   = end_date if int(end_date) < int(iyear)*10000+1231 else iyear+"1231"
    date_list = pd.date_range(year_start_date, year_end_date).strftime("%Y%m%d").tolist()
    for idate in date_list:
        date_name = path + "/" + idate + "-sfc.grib"
        if os.path.exists(date_name):
            continue

        c.retrieve(
            'reanalysis-era5-single-levels',
            {
                'product_type': 'reanalysis',
                'format': 'grib',
                'variable': var_list,
                'year': iyear,
                'month': idate[4:6],
                'day': idate[6:8],
                'time': [
                    '00:00', '06:00', '12:00',
                    '18:00',
                ],
                },
                date_name)
print('ok')

2024-07-23 21:58:54,070 INFO Welcome to the CDS
2024-07-23 21:58:54,072 INFO Sending request to https://cds.climate.copernicus.eu/api/v2/resources/reanalysis-era5-single-levels
2024-07-23 21:58:54,473 INFO Request is queued
2024-07-23 21:59:09,615 INFO Request is running
2024-07-23 22:01:49,041 INFO Request is completed
2024-07-23 22:01:49,043 INFO Downloading https://download-0010-clone.copernicus-climate.eu/cache-compute-0010/cache/data5/adaptor.mars.internal-1721743146.073261-26829-17-afc17d94-891b-4350-a931-9981adf38c89.grib to ./2024/20240101-sfc.grib (154.1M)
  0%|          | 268k/154M [00:44<5:52:02, 7.63kB/s] 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值