CASA模型:GEE(google earth engine)计算方法及数据集

本文章是我在学习CASA模型计算NPP时的总结,主要当作是数据备忘录。总结一下CASA模型原理、使用到的GEE数据集(计算参考github的python版本代码:https://github.com/jcgloria/npp_gee

目录

一、CASA模型原理

二、数据

1、FPAR数据(光合有效辐射吸收比例)

2、PAR数据(光合有效辐射)

3、LUE数据(实际光能利用率)

1)TerraClimate数据集: Monthly Climate and Climatic Water Balance for Global Terrestrial Surfaces, University of Idaho

2)ECMWF/ERA5数据

① ERA5 Monthly Aggregates - Latest Climate Reanalysis Produced by ECMWF / Copernicus Climate Change Service

② ERA5-Land Monthly Aggregated - ECMWF Climate Reanalysis

4、NDVI数据

MOD09A1.061 Terra Surface Reflectance 8-Day Global 500m


一、CASA模型原理

引用文章:CASA方法估算NPP(IDL+ENVI)_casa模型计算npp-CSDN博客

二、数据

1、FPAR数据(光合有效辐射吸收比例)

表征了植被吸收太阳辐射占太阳辐射的百分量。

2、PAR数据(光合有效辐射)

MODIS数据集:MCD18C2.061 Photosynthetically Active Radiation Daily 3-Hour

官方网址:https://developers.google.com/earth-engine/datasets/catalog/MODIS_061_MCD18C2

MODIS这个数据集时间分辨率为3小时,地面分辨率1000m,数据起始时间为2002年2月24日,截至2024年6月1日停止更新。(我汇总过MODIS在GEE中的数据集,可参考这篇文章:总结一下google earth engine(GEE)中的MODIS数据集_google earth engine的modis数据介绍-CSDN博客,对应的表格也可以从这里下载:https://download.csdn.net/download/zhuzhu1213812138/89686385?spm=1001.2014.3001.5501

这个数据其实已经有v62版本,v61版本已经在2024年6月1日停止更新。但是GEE中现在只有v61,v62可以从官方data pool下载(data pool下载方法可以参考我这篇文章:MODIS数据集直接下载地址分享-CSDN博客

下面是官方使用该数据集的代码(GEE JavaScript):

var dataset = ee.ImageCollection('MODIS/061/MCD18C2')
                  .filter(ee.Filter.date('2001-01-01', '2001-02-01'));
var gmt_1200_par = dataset.select('GMT_1200_PAR');
var gmt_1200_par_vis = {
  min: -236,
  max: 316,
  palette: ['0f17ff', 'b11406', 'f1ff23'],
};
Map.setCenter(6.746, 46.529, 2);
Map.addLayer(
    gmt_1200_par, gmt_1200_par_vis,
    'Total PAR at GMT 12:00');

3、LUE数据(实际光能利用率)

计算LUE数据需要使用到温度数据、气候数据(蒸散量)。

1)TerraClimate数据集: Monthly Climate and Climatic Water Balance for Global Terrestrial Surfaces, University of Idaho

官方网址:https://developers.google.com/earth-engine/datasets/catalog/IDAHO_EPSCOR_TERRACLIMATE#bands

月度气候数据(monthly),波段分辨率4638.3m,更新时间从1958年1月1日到2023年12月1日,主要使用pet和aet波段。

下面是官方使用该数据集的代码(GEE JavaScript):

var dataset = ee.ImageCollection('IDAHO_EPSCOR/TERRACLIMATE')
                  .filter(ee.Filter.date('2017-07-01', '2017-08-01'));
var maximumTemperature = dataset.select('tmmx');
var maximumTemperatureVis = {
  min: -300.0,
  max: 300.0,
  palette: [
    '1a3678', '2955bc', '5699ff', '8dbae9', 'acd1ff', 'caebff', 'e5f9ff',
    'fdffb4', 'ffe6a2', 'ffc969', 'ffa12d', 'ff7c1f', 'ca531a', 'ff0000',
    'ab0000'
  ],
};
Map.setCenter(71.72, 52.48, 3);
Map.addLayer(maximumTemperature, maximumTemperatureVis, 'Maximum Temperature');

2)ECMWF/ERA5数据

这个温度数据我看到了有2个月度数据集:

① ERA5 Monthly Aggregates - Latest Climate Reanalysis Produced by ECMWF / Copernicus Climate Change Service

官方网址:https://developers.google.com/earth-engine/datasets/catalog/ECMWF_ERA5_MONTHLY

这个是月度数据,更新时间到2020年6月1日就结束了(官方解释:由于现代化工作影响了哥白尼气候数据存储,ECMWF数据集的生产可能会中断。),这里使用的波段是:mean_2mair_temperature

下面是官方使用该数据集的代码(GEE JavaScript):

var dataset = ee.ImageCollection('ECMWF/ERA5/MONTHLY');

var visualization = {
  bands: ['mean_2m_air_temperature'],
  min: 250.0,
  max: 320.0,
  palette: [
    '000080', '0000d9', '4000ff', '8000ff', '0080ff', '00ffff',
    '00ff80', '80ff00', 'daff00', 'ffff00', 'fff500', 'ffda00',
    'ffb000', 'ffa400', 'ff4f00', 'ff2500', 'ff0a00', 'ff00ff',
  ]
};

Map.setCenter(22.2, 21.2, 0);

Map.addLayer(dataset, visualization, 'Monthly average air temperature [K] at 2m height');
② ERA5-Land Monthly Aggregated - ECMWF Climate Reanalysis

官方网址:https://developers.google.com/earth-engine/datasets/catalog/ECMWF_ERA5_LAND_MONTHLY_AGGR

因为上面的数据集是github参考代码使用的,2020年就停止更新了,因此找到了一个能够更新至今的月度数据。这里使用的波段是:temperature_2m

下面是官方使用该数据集的代码(GEE JavaScript):

var dataset = ee.ImageCollection('ECMWF/ERA5_LAND/MONTHLY_AGGR').first();

var visualization = {
  bands: ['temperature_2m'],
  min: 250,
  max: 320,
  palette: [
    '000080', '0000d9', '4000ff', '8000ff', '0080ff', '00ffff',
    '00ff80', '80ff00', 'daff00', 'ffff00', 'fff500', 'ffda00',
    'ffb000', 'ffa400', 'ff4f00', 'ff2500', 'ff0a00', 'ff00ff',
  ]
};

Map.setCenter(70, 45, 3);
Map.addLayer(
    dataset, visualization, 'Air temperature [K] at 2m height', true, 0.8);

4、NDVI数据

这个还是好计算的,只要使用有近红外和可见光波段的数据集就可以,这里使用MODIS:

MOD09A1.061 Terra Surface Reflectance 8-Day Global 500m

官方网址:https://developers.google.com/earth-engine/datasets/catalog/MODIS_061_MOD09A1

数据包含波段信息如下:

其中,使用到近红外波段(sur_refl_b02)和红色波段(sur_refl_b01

NDVI计算公式:

NDVI= (NIR-R)/ (NIR+R)

下面是官方使用该数据集的代码(GEE JavaScript):

var dataset = ee.ImageCollection('MODIS/061/MOD09A1')
                  .filter(ee.Filter.date('2018-01-01', '2018-05-01'));
var trueColor =
    dataset.select(['sur_refl_b01', 'sur_refl_b04', 'sur_refl_b03']);
var trueColorVis = {
  min: -100.0,
  max: 3000.0,
};
Map.setCenter(6.746, 46.529, 6);
Map.addLayer(trueColor, trueColorVis, 'True Color');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值