分类目录网站做排名怎么做好网络营销推广
前言:由于ERA5网站的更新,原始的代码都无法使用,这里将会提供下载小时尺度和月尺度的代码。
一、前期的工作
需要重新在ERA5网站上注册新的账号(ERA5网站)。然后在User guide里,选择API,将代码复制到文本里,将文本的名字改为:.cdsapirc。然后将文本放在C盘用户的下面。此外需要下载IDMan.exe,CSDN上有很多教程。
二、下载小时尺度的代码
import cdsapi
import calendar
from subprocess import call
import time
from cdsapi import Client, apidef idmDownloader(task_url, folder_path, file_name):""" IDM下载器 """idm_engine = r"D:\\IDM\\Internet Download Manager\\IDMan.exe"call([idm_engine, '/d', task_url, '/p', folder_path, '/f', file_name, '/a'])call([idm_engine, '/s'])if __name__ == '__main__':c = cdsapi.Client()dic = {"product_type": ["reanalysis-era5-land"],"variable": ["surface_solar_radiation_downwards"],# "variable": ["surface_solar_radiation_downwards", "surface_thermal_radiation_downwards", "surface_pressure",# "2m_temperature", "2m_dewpoint_temperature"],"year": [],"month": [],"day": [],"time": [ "17:00"],"data_format": "netcdf","area": [41, -87, 39, -85],"download_format": "unarchived"
}for y in [2013]:for m in range(5, 9):day_num = calendar.monthrange(y, m)[1]for d in range(1, day_num + 1):dic['year'] = str(y)dic['month'] = str(m).zfill(2)dic['day'] = str(d).zfill(2)r=c.retrieve('reanalysis-era5-land', dic)url = r.locationpath = r'F:\PhD\urbanET_downscaled\ERA5\rsd_17'filename = str(y) + str(m).zfill(2) + str(d).zfill(2) + 'rsd17.nc'idmDownloader(url, path, filename)
三、下载月尺度的代码
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
import cdsapiimport calendar
from subprocess import calldef idmDownloader(task_url, folder_path, file_name):""" IDM下载器 """idm_engine = r"D:\\IDM\\Internet Download Manager\\IDMan.exe"call([idm_engine, '/d', task_url, '/p', folder_path, '/f', file_name, '/a'])call([idm_engine, '/s'])c = cdsapi.Client()dic = {'product_type': 'monthly_averaged_reanalysis','variable': 'total_precipitation','year': [],'month': [],'time': '00:00','area': [90, -180, -90,180,],'data_format': 'netcdf','download_format': 'unarchived'
}for y in range (2003,2020):for m in range (1,13):dic['year'] = str(y)dic['month'] = str(m).zfill(2)# name = str(y)+str(m).zfill(2)+'.nc'r=c.retrieve('reanalysis-era5-land-monthly-means',dic)url = r.locationpath = r'F:\PhD\Mult_year_ET\Pre\nc'# filename = 'F:\\PhD\\Mult_year_ET\\Pre\\nc\\' + str(y) + str(m).zfill(2) + '_pre.nc'filename = str(y) + str(m).zfill(2) + '_pre.nc'idmDownloader(url, path, filename)print(filename)
以上代码可以满足小时尺度和月尺度对ERA5在分析资料数据的下载。
长路漫漫…
唯有坚持…