ECMWF的數據集
手動下載:
ERA Interim[地址]正在逐步淘汰。強烈建議用戶遷移到ERA5[地址]。
ERA Interim中提供的最後日期爲2019年8月31日。
下載中的相關參數介紹:
ERA5術語:分析和預測;時間和步長;瞬時、累積、平均速率和最小/最大參數
**術語“single levels”**用來表示變量是在一個垂直水平上計算的,該垂直水平可以是表面(或接近表面的水平)或大氣中的專用壓力水平。此目錄條目中排除了多個垂直級別。;
**術語“pressure levels”**用於表示變量是在多個垂直水平上計算的,這些垂直水平在不同模型之間的數量和位置可能有所不同。
關於其他介紹可以參考這篇文章
從圖中可以看出,如果想要下載在分析數據資料,step應該選擇0
Python批量下載:
批量下載,如果是ERA-INTERIM數據,則可以參考:
- Access ECMWF Public Datasets;
- 全局數據:從ECMWF下載特定區域和分辨率的數據
其中,這些博客可以用來參考:
用Python (Anconda)下載歐洲中心 ECMWF 數據
ECMWF 歐洲中期天氣預報中心 下載長序列氣象數據(溫度,風場等)
利用Python調用ECMWF歐洲中心API批量下載數據
ERA-INTERIM數據學習
如果是要下載ERA5數據,那麼可以參考:
- ERA5使用腳本批量下載;
- 腳本文件中的相關參數設置及意義
需要注意的是,在CDS中下載ERA5數據時,它有提供toolbox功能,不用在本地配置也可以下載根據腳本代碼對需要下載的數據進行個性化定製,然後在toolbox網頁面板中運行代碼,就可以生成對應數據的下載鏈接。
上圖是在pressure levels裏下載1000hpa處相對溼度數據(2018年1、2、3月份按小時計算的月均值,河南省區域)裏面的代碼附後(有個小問題,下載下來的是2018年全年12個月的月平均數據,不是1,2,3月份的,還沒找到原因)
關於相對溼度數據,除了使用1000hpa處的數據代替外,也可以使用公式計算,可以參考這篇文章
上圖是下載single levels裏面的10m風速,2m溫度,邊界層高度,地表壓力(2018年1、2、3月份按小時計算的月均值,河南省區域)裏面的代碼附後。
@ct.application(title='Retrieve Data')
@ct.output.download()
def retrieve_sample_data():
"""
Application main steps:
- retrieve a variable from CDS Catalogue
- produce a link to download it.
"""
data = ct.catalogue.retrieve(
'reanalysis-era5-pressure-levels-monthly-means',
{
'variable': 'relative_humidity',
'product_type': 'monthly_averaged_reanalysis_by_hour_of_day',
'year': '2018',
'month': [
'01',
'02',
'03',
],
'area':'37/110/31/117',
'grid': ['0.1', '0.1'],
'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',
],
}
)
return data
import cdstoolbox as ct
@ct.application(title='Retrieve Data')
@ct.output.download()
def retrieve_sample_data():
"""
Application main steps:
- retrieve a variable from CDS Catalogue
- produce a link to download it.
"""
data = ct.catalogue.retrieve(
'reanalysis-era5-single-levels-monthly-means',
{
'format': 'netcdf',
'product_type': 'monthly_averaged_reanalysis_by_hour_of_day',
'variable':[
'10m_wind_speed',
'2m_temperature',
'boundary_layer_height',
'surface_pressure',
],
'year': '2018',
'month': [
'01',
'02',
'03',
],
'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':'37/110/31/117',
},
)
return data