GEE | 1950-2024年全球0.1°气候数据 (气温/降水/土壤水分/蒸发/风速等)

职场   2025-01-05 00:01   陕西  

一、ERA5-Land

ERA5-Land是由欧洲中期天气预报中心(ECMWF)提供的高分辨率气候重分析数据集,相较于ERA5,ERA5-Land在空间分辨率上进行了提升,提供了更加精细的陆地气候变量数据。该数据集利用重分析技术,将全球观测数据与模型数据结合,基于物理定律生成全球一致的时空数据,涵盖了从1950年至今的多个气候变量。ERA5-Land数据的空间分辨率约为11132米,时空分辨率为月度平均,适用于大范围的气候分析和环境监测。

数据链接:https://cds.climate.copernicus.eu

二、气候变量

数据集包括50个气候变量,如2米气温、土壤温度、降水、风速、蒸发、土壤水分等,其中包含流量(累积)和非流量(平均)变量。

三、GEE代码

本次示例以某区域的月度和年度气温数据为例,大家只需更改研究区和波段参数即可。在气温数据中,我们将温度单位从开尔文转换为摄氏度,因此减去了273.15。若需要其他单位转换,可以调整该部分代码。

1. 合成并导出年度气温数据,并绘制年际变化折线图

var geometry = table;
var dataset = ee.ImageCollection("ECMWF/ERA5_LAND/MONTHLY_AGGR");
var yearlyTemperatures = [];var years = [];
for (var i = 1950; i <= 1952; i++) { var data_collection = dataset.filterDate(i+'-01-01', i+'-12-31').select('temperature_2m'); var YR_collection = data_collection.mean().subtract(273.15).clip(geometry);
Export.image.toDrive({ image: YR_collection, description: i + '_temperature', fileNamePrefix: i + '_temperature', scale: 11132, region: geometry, maxPixels: 1e13, crs: "EPSG:4326", folder: 'TemperatureData' });
var meanTemp = YR_collection.reduceRegion({ reducer: ee.Reducer.mean(), geometry: geometry, scale: 11132, maxPixels: 1e8 });
yearlyTemperatures.push(meanTemp.get('temperature_2m')); years.push(i);}
var chart = ui.Chart.array.values({ array: ee.Array(yearlyTemperatures), axis: 0, xLabels: years}).setChartType('LineChart') .setOptions({ title: 'Annual Average Temperature Change (°C)', hAxis: {title: 'Year'}, vAxis: {title: 'Temperature (°C)'}, lineWidth: 1, pointSize: 1, colors: ['black'] });
print(chart);

2. 合成并导出月度气温数据,并绘制月度变化折线图

var geometry = ee.FeatureCollection('users/yusuhenhao/beijing');Map.centerObject(geometry, 8);
var dataset = ee.ImageCollection("ECMWF/ERA5_LAND/MONTHLY_AGGR").select('temperature_2m');var monthlyTemperature = [];
for (var i = 2018; i <= 2023; i++) { for (var j = 1; j <= 12; j++) { var startDate = ee.Date.fromYMD(i, j, 1); var endDate = startDate.advance(1, 'month').advance(-1, 'day'); var data_collection = dataset.filterDate(startDate, endDate).mean(); var monthlyTemp = data_collection.subtract(273.15).clip(geometry).set({ 'year': i, 'month': j, 'system:time_start': startDate.millis() }); var meanTemp = monthlyTemp.reduceRegion({ reducer: ee.Reducer.mean(), geometry: geometry, scale: 11132, maxPixels: 1e13 }).get('temperature_2m'); var feature = ee.Feature(null, { 'time': startDate.format('YYYY-MM'), 'temperature_mean': meanTemp });
monthlyTemperature.push(feature); Export.image.toDrive({ image: monthlyTemp, description: i + '_' + j + '_temperature', fileNamePrefix: i + '_' + j + '_temperature', folder: 'TemperatureData', scale: 11132, region: geometry, crs: "EPSG:4326", maxPixels: 1e13 }); }}
var chart = ui.Chart.feature.byFeature(ee.FeatureCollection(monthlyTemperature), 'time', 'temperature_mean') .setChartType('LineChart') .setOptions({ title: 'Monthly Temperature (2018-2023)', hAxis: { title: 'Time', slantedText: true, slantedTextAngle: 45 }, vAxis: {title: 'Temperature (°C)'}, lineWidth: 1, pointSize: 1, colors: ['black'] });
print(chart);

3. 绘制空间分布图

以1952年中国区域的气温为例,绘制空间分布图。此图基于Python代码,相关代码示例链接:Python | 绘制中国及四川省栅格数据空间分布图

四、成为会员

GIS遥感数据处理应用
会员:数据处理,ArcGIS/Python/MATLAB/R/GEE教学,指导作图和论文。
 最新文章