气象数据集(ERA5-Land)
ERA5-Land是气候再分析数据集,与ERA5相比,提供了更高分辨率的陆地气象要素长时序持续的观测值。ERA5-Land是ECMWF ERA5气候再分析数据的陆地部分反演生产的。生产时将气候模式数据与气象观测站的监测数据结合起来,利用物理学定律形成一套全球完整的、连续的数据集。
数据来源为 CDS(Copernicus Climate Data Store),其数据已被重新格点化为0.1°×0.1°的常规经纬度格点数据。关于数据的具体描述,可查阅官方网站:https://cds.climate.copernicus.eu/cdsapp#!/home
1、数据介绍
AI Earth平台目前上线ERA5-Land的3类数据产品,分别是ERA5-Land hourly data、ERA5-Land monthly averaged data、ERA5-Land monthly averaged data by hour of day ,ERA5-land 数据产品覆盖全球陆地区域1950-2022年共50类气象要素(包括温度、降水、大气压、辐射、蒸散发等),空间分辨率为0.1° x 0.1° (~9 km),数据将持续进行更新。
2、数据检索
在数据产品列表下的气象数据中可以找到对应ERA5-Land 的3类数据产品。支持用户选择时间段进行数据检索。
3、开发者模式
可通过开发者模式调用ERA5-Land 的3类数据产品。如下为利用ERA5-Land monthly averaged data 数据进行平均气温的长时序气候态分析。
上图为中国区域1991-2020年30年年均温空间分布
上图为中国区域2022年年均温距平空间分布(Baseline 1991-2020年)
部分代码如下,仅供参考,欢迎登录平台体验。如有任何疑问,欢迎随时与AI Earth联系交流。
importaieaie.Authenticate() aie.Initialize() region=aie.FeatureCollection('China_Province').geometry() dataset=aie.ImageCollection('ERA5_LAND_MONTHLY').filterDate('1991-01-02', '2020-12-31') print(dataset.size().getInfo()) Temp_Average_30y= (dataset.select(['temperature_2m']).reduce(aie.Reducer.mean())).subtract(aie.Image.constant(273.15)).clip(region) Temp_2022=aie.ImageCollection('ERA5_LAND_MONTHLY').filterDate('2022-01-02', '2022-12-31').select(['temperature_2m']) Temp_Average_2022=Temp_2022.reduce(aie.Reducer.mean()).subtract(aie.Image.constant(273.15)).clip(region) Temp_Anomaly=Temp_Average_2022.subtract(Temp_Average_30y) map=aie.Map( center=region.getCenter(), height=800, zoom=3) vis_temp= { 'min': -10, 'max': 20, 'palette': [ "#000080","#0000D9","#4000FF","#8000FF","#0080FF","#00FFFF", "#00FF80","#80FF00","#DAFF00","#FFFF00","#FFF500","#FFDA00", "#FFB000","#FFA400","#FF4F00","#FF2500","#FF0A00","#FF00FF", ] } vis_temp_anomaly= { 'min': -3, 'max': 3, 'palette': ['#0000D9','#ffffff','#FF0000'] } map.addLayer( Temp_Average_30y, vis_temp, 'Temp_Average_30y(°C)', bounds=dataset.getBounds() ) map.addLayer( Temp_Average_2022, vis_temp, 'Temp_Average_2022(°C)', bounds=dataset.getBounds() ) map.addLayer( Temp_Anomaly, vis_temp_anomaly, 'Temp_Anomaly(°C)', bounds=dataset.getBounds() ) mapdefget_month_data(mon,parameter): dataset=aie.ImageCollection('ERA5_LAND_MONTHLY')\ .filterDate('1991-01-02', '2020-12-31')\ .filter(aie.Filter.calendarRange(mon, None,'month'))\ .select([parameter]) returndatasetx_temp_series= [] y_temp_series= [] foriinrange(1,13): temp_mean=get_month_data(i,'temperature_2m').reduce(aie.Reducer.mean()).subtract(aie.Image.constant(273.15)) temp_sta=temp_mean.reduceRegion(aie.Reducer.mean(), region, 10000) x_temp_series.append(str(i).zfill(2) +'月') y_temp_series.append(temp_sta.getInfo()['temperature_2m_mean']) frombqplotimportpyplotaspltplt.figure(1, title='1991-2020年全国逐月均温统计') plt.plot(x_temp_series, y_temp_series) plt.show()