当前位置:   article > 正文

GEE代码实例教程详解:长时间序列风速分析_gee大风日数

gee大风日数

简介

在本篇博客中,我们将使用Google Earth Engine (GEE) 对长时间序列的风速数据进行分析。通过ERA5再分析数据集,我们可以计算2010年至2024年间的平均风速,并与1980年至2020年的风速数据进行比较。

背景知识

ERA5数据集

ERA5是ECMWF(European Centre for Medium-Range Weather Forecasts,欧洲中期天气预报中心)提供的全球气候再分析数据集,具有高空间和时间分辨率。

风速计算

风速是风向的两个分量(u和v分量)的矢量合成,通常使用平方和的平方根来计算。

完整代码

// 定义研究区域的坐标点
var cor = [
  [52.24091120672926, 28.94538993989301],
  [59.00848933172926, 28.94538993989301],
  [59.00848933172926, 33.89295282767506],
  [52.24091120672926, 33.89295282767506],
  [52.24091120672926, 28.94538993989301]
];

// 创建多边形区域
var roi = ee.Geometry.Polygon(cor);

// 加载ERA5数据集并选择风速分量
var era5 = ee.ImageCollection("ECMWF/ERA5/DAILY")
  .select('u_10m', 'v_10m')
  .filterDate('2010', '2024');

// 计算风速
var windspeed = era5.map(function (img) {
  var u = img.select('u_10m');
  var v = img.select('v_10m');
  var wind_speed = u.pow(2).add(v.pow(2)).sqrt().rename('wind_speed');
  return wind_speed.copyProperties(img, img.propertyNames());
});

// 绘制风速时间序列图表
print(
  ui.Chart.image.series(windspeed, roi, ee.Reducer.mean(),
    27000, 'system:time_start')
);

// 加载1980年至2020年的ERA5数据集
var wind40 = ee.ImageCollection("ECMWF/ERA5/DAILY")
  .select('u_10m', 'v_10m')
  .filterDate('1980', '2020');

// 计算风速
var windspeed40 = wind40.map(function (img) {
  var u = img.select('u_10m');
  var v = img.select('v_10m');
  var wind_speed = u.pow(2).add(v.pow(2)).sqrt().rename('wind_speed');
  return wind_speed.copyProperties(img, img.propertyNames());
});

// 定义函数提取风速平均值和日期
function get_value(img) {
  var date = ee.Date(img.get('system:time_start')).format().slice(0, 10);
  var value = img.reduceRegion({
    reducer: ee.Reducer.mean(),
    geometry: roi,
    scale: 27000
  }).get('wind_speed');
  return [date, value];
}

// 提取风速数据列表
var size = windspeed40.size();
var windlist = windspeed40.toList(size).map(get_value);

// 将风速数据转换为特征集合
var wind_feature = ee.FeatureCollection(windlist.map(function (el) {
  el = ee.List(el);
  return ee.Feature(null, {
    'date': el.get(0),
    'windspeed': el.get(1).getInfo()
  });
}));

// 导出风速数据表至Google Drive
Export.table.toDrive({
  collection: wind_feature,
  description: 'windspeed40',
  fileFormat: 'CSV'
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74

代码详解

1. 定义研究区域

创建一个多边形区域roi,用于限定分析的地理范围。

2. 加载ERA5数据集

加载ERA5数据集,并选择风速的u和v分量。

3. 计算风速

使用平方和的平方根公式计算风速,并为结果重命名。

4. 绘制风速时间序列图表

使用ui.Chart.image.series绘制风速的时间序列。

5. 加载更长时间序列的ERA5数据集

加载1980年至2020年的ERA5数据集,用于更长时间尺度的风速分析。

6. 提取风速平均值和日期

定义函数get_value提取每张图像的日期和平均风速。

7. 导出风速数据表

将风速数据转换为特征集合,并导出为CSV格式的表格。

结论

本教程展示了如何使用GEE对ERA5数据集进行风速分析。通过计算风速分量的矢量合成,我们可以了解特定区域内风速的时空变化。

进一步探索

GEE提供了多种工具和方法来进行气象数据分析。在后续的教程中,我们将继续探索GEE在不同领域的应用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/936325
推荐阅读
相关标签
  

闽ICP备14008679号