简介
在本篇博客中,我们将使用Google Earth Engine (GEE) 分析特定区域内年平均温度随时间的变化。通过分析ECMWF(European Centre for Medium-Range Weather Forecasts)提供的ERA5_LAND数据集,我们可以了解从1950年到2020年的温度趋势。
背景知识
ERA5_LAND数据集
ERA5_LAND数据集是ECMWF提供的高分辨率气象再分析数据集,其中包括了地表的月平均温度数据。
温度变化分析
温度变化分析是气候变化研究中的一个重要方面,它有助于我们理解全球和地区气候变化的趋势。
完整代码
代码语言:javascript复制// 定义研究区域的坐标点
var cor = [
[-106.362109375, 36.957529497279594],
[-101.528125, 36.957529497279594],
[-101.528125, 40.5210649481601],
[-106.362109375, 40.5210649481601],
[-106.362109375, 36.957529497279594]
];
// 创建多边形区域
var roi = ee.Geometry.Polygon(cor);
// 将地图中心设置为研究区域
Map.centerObject(roi);
// 定义时间范围
var time_start = '1950';
var time_end = '2020';
// 创建ERA5_LAND图像集合并筛选数据
var era5 = ee.ImageCollection("ECMWF/ERA5_LAND/MONTHLY_AGGR")
.select('temperature_2m')
.filterDate(time_start, time_end);
// 定义一个函数来创建年平均温度图像集合
function temporal_collection(collection, start, count, interval, unit) {
var seq = ee.List.sequence(0, ee.Number(count).subtract(1));
var origin_date = ee.Date(start);
return ee.ImageCollection(seq.map(function(i) {
var start_date = origin_date.advance(ee.Number(interval).multiply(i), unit);
var end_date = origin_date.advance(ee.Number(interval).multiply(ee.Number(i).add(1)), unit);
return collection.filterDate(start_date, end_date).mean()
.set('system:time_start', start_date.millis())
.set('system:time_end', end_date.millis());
}));
}
// 创建年平均温度图像集合
var annual = temporal_collection(era5, time_start, 70, 1, 'year')
.map(function(img) {
return img.subtract(273.15); // 转换为摄氏度
});
// 打印年平均温度变化的图表
print(
ui.Chart.image.series({
imageCollection: annual,
region: roi,
reducer: ee.Reducer.mean(),
scale: 10000,
xProperty: 'system:time_start'
})
);
// 计算温度变化的百分比
var temp_mean = annual.mean();
var change = annual.map(function(img) {
var eq = img.expression('((temp - mean) / (mean)) * 100', {
'temp': img,
'mean': temp_mean
});
return eq.rename('temp_change');
});
// 打印温度变化百分比的图表
print(
ui.Chart.image.series({
imageCollection: change,
region: roi,
reducer: ee.Reducer.mean(),
scale: 10000,
xProperty: 'system:time_start'
}).setChartType('ColumnChart')
);
代码详解
1. 定义研究区域
创建一个多边形区域roi
,用于限定分析的地理范围,并设置地图中心。
2. 创建ERA5_LAND图像集合
获取ERA5_LAND数据集,并根据指定的时间范围筛选图像。
3. 年平均温度图像集合
定义temporal_collection
函数,用于生成年平均温度图像集合。
4. 温度单位转换
将温度从开尔文转换为摄氏度。
5. 可视化年平均温度变化
使用ui.Chart.image.series
打印年平均温度变化的图表。
6. 计算温度变化百分比
通过计算每年温度与平均值的差异,并转换为百分比。
7. 可视化温度变化百分比
使用柱状图打印温度变化百分比的图表。
结论
本教程展示了如何使用GEE分析特定区域内年平均温度的变化趋势。通过ERA5_LAND数据集,我们能够监测和可视化温度随时间的变化,这对于理解气候变化具有重要意义。
进一步探索
GEE提供了丰富的工具和方法来进行气象和气候变化分析。在后续的教程中,我们将继续探索GEE在不同领域的应用。