简介
巴西每日气象网格数据(BR-DWGD),1961-2020
巴西综合气象网格数据集是气象研究的一大进步,它满足了人们对精确、广泛的气象数据日益增长的需求。该数据集在前一个数据集的基础上,将空间分辨率提高到 0.1° x 0.1°,并将时间覆盖范围从 1961 年 1 月扩大到 2020 年 7 月。数据集纳入了海拔高度和温度变化率,改进了最低和最高温度的网格插值,同时还包括降水、太阳辐射、风速和相对湿度等其他重要变量。
该数据集将 11,473 个雨量计和 1,252 个气象站的数据进行了细致的融合,从而实现了精确的插值。通过排序交叉验证统计确定的最佳插值方法的选择,彰显了该数据集对精确性的承诺。由于提供了两类网格控制,研究人员获得了根据站点数据评估插值精度的工具。作为一种综合资源,巴西综合气象网格数据集可促进气候、气象和农业研究的进步,为多方面的科学研究提供细致入微的见解。
这些数据集展示了巴西的日气象网格数据集(BR-DWGD)。变量包括降水量(pr,毫米);最高和最低温度(Tmax,tmin,℃);太阳辐射(Rs,兆焦耳/平方米);相对湿度(RH,%);2 米处风速(u2,米/秒)和蒸散量(ETo,毫米)。时间覆盖范围为 1961/01/01-2020/07/31(降水除外:1961/01/01-2022/12/31),空间分辨率为 0.1° x 0.1°,仅针对巴西领土。您可在此处找到该数据集的链接
数据集后处理
数据集以多波段 netcdf 文件的形式提供,每个文件代表 1961 年以来的一天,然后按 20 年的时间间隔分割。然后,数据集被转换并分割成单个 geotiff 图像并进行合并,使其成为连续的数据集,每个数据集约有 21762 个图像,但降水量数据集除外,该数据集一直延续到 2022 年。雨量计和气象站位置数据被进一步添加到资产中。这些数据集必须经过缩放和偏移处理才能代表真实值,它们都包含在下表和示例脚本中。
Variable |
Variable name |
Units |
Offset |
Scale |
pr |
Precipitation |
mm |
255 |
0.006866665 |
Eto |
evapotranspiration |
mm |
0 |
0.051181102 |
Tmax |
maximum temperature |
C |
15 |
0.001068148 |
Tmin |
minimum temperature |
C |
15 |
0.001068148 |
RH |
Relative humidity |
Percentage |
0 |
0.393700787 |
RS |
Solar radiation |
MJ/m2 |
0 |
0.157086614 |
U2 |
Wind speed |
m/s |
0 |
0.059055118 |
引用Citation¶
代码Earth Engine Snippet¶
代码链接Sample code: https://code.earthengine.google.com/?scriptPath=users/sat-io/awesome-gee-catalog-examples:weather-climate/BR-DWDG-EXAMPLE
单一最大温度代码
/*
|Variable|Variable name |Units |Offset|Scale |
|--------|-------------------|----------|------|-----------|
|pr |Precipitation |mm |255 |0.006866665|
|Eto |evapotranspiration |mm |0 |0.051181102|
|Tmax |maximum temperature|C |15 |0.001068148|
|Tmin |minimum temperature|C |15 |0.001068148|
|RH |Relative humidity |Percentage|0 |0.393700787|
|RS |Solar radiation |MJ/m2 |0 |0.157086614|
|U2 |Wind speed |m/s |0 |0.059055118|
*/
var tmax = ee.ImageCollection("projects/sat-io/open-datasets/BR-DWGD/TMAX");
// Define a scaling factor
var offset = 15
var scale = 0.001068148
// Function to apply the scaling factor to a specific band
var scaleBand = function(image) {
var scaledImage = image.select("b1").rename(['TMAX']).multiply(scale).add(offset);
return scaledImage.copyProperties(image, image.propertyNames());
};
var tmax = tmax.map(scaleBand);
//Standard color palette for tmax
var color_pal = ['000066', '001199', '0044BB', '0077DD', '33AAEE', '66CCFF', 'FFDDCC', 'FFBB99', 'FF9966', 'FF6644']
var vis = {min:20,max:40,palette:color_pal};
var tmax = tmax.filterDate('2010-01-01','2022-12-31').select(['TMAX']);
var composite = tmax.first().visualize(vis);
var compositeLayer = ui.Map.Layer(composite).setName('Temp Max in Degree C');
// Create the main map and set the SST layer.
var mapPanel = ui.Map();
var layers = mapPanel.layers();
layers.add(compositeLayer, 'Temp max Composite');
/*
* Panel setup
*/
// Create a panel to hold title, intro text, chart and legend components.
var inspectorPanel = ui.Panel({style: {width: '30%'}});
// Create an intro panel with labels.
var intro = ui.Panel([
ui.Label({
value: 'Temp Max in C - Time Series Inspector',
style: {fontSize: '20px', fontWeight: 'bold'}
}),
ui.Label('Click a location to see its time series of Max temp from gridded data.')
]);
inspectorPanel.add(intro);
// Create panels to hold lon/lat values.
var lon = ui.Label();
var lat = ui.Label();
inspectorPanel.add(ui.Panel([lon, lat], ui.Panel.Layout.flow('horizontal')));
// Add placeholders for the chart and legend.
inspectorPanel.add(ui.Label('[Chart]'));
/*
* Chart setup
*/
// Generates a new time series chart of SST for the given coordinates.
var generateChart = function (coords) {
// Update the lon/lat panel with values from the click event.
lon.setValue('lon: ' + coords.lon.toFixed(2));
lat.setValue('lat: ' + coords.lat.toFixed(2));
// Add a dot for the point clicked on.
var point = ee.Geometry.Point(coords.lon, coords.lat);
var dot = ui.Map.Layer(point, {color: '000000'}, 'clicked location');
// Add the dot as the second layer, so it shows up on top of the composite.
mapPanel.layers().set(1, dot);
// Make a chart from the time series.
var tmaxChart = ui.Chart.image.series(tmax, point, ee.Reducer.mean(), 500);
// Customize the chart.
tmaxChart.setOptions({
title: 'Tmax Brazil in Temp (C)',
vAxis: {title: 'Temp (C)'},
hAxis: {title: 'Date', format: 'yyyy-MM-dd', gridlines: {count: 7}},
series: {
0: {
color: 'blue',
lineWidth: 0,
pointsVisible: true,
pointSize: 2,
},
},
legend: {position: 'right'},
});
// Add the chart at a fixed position, so that new charts overwrite older ones.
inspectorPanel.widgets().set(2, tmaxChart);
};
/*
* Legend setup
*/
/*
* Map setup
*/
// Register a callback on the default map to be invoked when the map is clicked.
mapPanel.onClick(generateChart);
// Configure the map.
mapPanel.style().set('cursor', 'crosshair');
// Initialize with a test point.
var initialPoint = ee.Geometry.Point(-53.02, -8.90);
mapPanel.centerObject(initialPoint, 4);
/*
* Initialize the app
*/
// Replace the root with a SplitPanel that contains the inspector and map.
ui.root.clear();
ui.root.add(ui.SplitPanel(inspectorPanel, mapPanel));
generateChart({
lon: initialPoint.coordinates().get(0).getInfo(),
lat: initialPoint.coordinates().get(1).getInfo()
});
License¶
The datasets are provided under a Attribution 4.0 International (CC BY 4.0) license.
Provided by: Xavier, A. C. et al
Curated in GEE by : Samapriya Roy
Keywords: Brazil, maximum temperature, minimum temperature, precipitation, solar radiation, wind speed, relative humidity, evapotranspiration
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
评论(0)