OpenET 月度蒸散发数据集深度解析:六个模型在 Google Earth Engine 中的波段、年限与用途
摘要
蒸散发(Evapotranspiration, ET)是水循环中连接地表与大气的最关键环节之一,精确量化 ET 对于水资源管理、农业灌溉调度、干旱监测和生态系统研究具有不可替代的价值。OpenET 项目通过将六个成熟的遥感 ET 模型统一在 Google Earth Engine 框架下,为美国本土(CONUS)提供了 30 米分辨率的月度蒸散发数据。本文基于 Google Earth Engine 数据目录及 OpenET 官方文档,系统梳理了六个模型——SSEBop、SIMS、PT-JPL、geeSEBAL、eeMETRIC 和 Ensemble——的算法原理、波段属性、数据年限及典型应用场景,并提供了可操作的 Earth Engine 代码示例。文章还专门讨论了 “pre-2000” 数据版本与标准 v2.0 版本之间的版本关系,帮助研究者根据自身需求选择合适的数据集。
1. OpenET 项目背景与数据体系概述
1.1 什么是 OpenET
OpenET 是一个由 NASA、USDA、NOAA 等机构支持的多方协作项目,旨在将多个基于卫星遥感的蒸散发模型业务化运行,提供统一框架下的 ET 数据产品。其核心理念是“模型集成”(ensemble),即通过多个独立模型的相互校验与平均,降低单一模型的不确定性,提高 ET 估算的稳健性。
OpenET 当前包含六个模型:ALEXI/DisALEXI、eeMETRIC、geeSEBAL、PT-JPL、SIMS 和 SSEBop。所有这些模型均以 Landsat 卫星数据为主要输入,生成 30 米空间分辨率的 ET 估算,并聚合为月度、年度等时间尺度。
1.2 数据在 Earth Engine 中的组织方式
OpenET 数据在 Google Earth Engine 中以两种形式存在:
(1)标准 v2.0 数据集,资产 ID 格式为OpenET/{模型名}/CONUS/GRIDMET/MONTHLY/v2_0。这些数据集由 Google Earth Engine 托管,标注为[deprecated](已弃用),但仍可访问。
(2)Publisher Catalog 数据集,资产 ID 格式为projects/openet/assets/{模型名}/conus/gridmet/monthly/v2_0。这些数据集属于 OpenET 的发布者目录,不由 Google 直接管理,数据年限更新至 2025 年 1 月。
用户提供的六个链接均指向 Publisher Catalog 版本。值得注意的是,搜索结果中出现了多个标题包含 “pre2000” 或 “1985-1999” 的片段,表明 OpenET 还提供了 2000 年之前的历史数据扩展版本。
2. 六个模型的技术原理与波段属性
2.1 SSEBop(Operational Simplified Surface Energy Balance)
算法原理:SSEBop 是一种基于热力学的简化地表能量平衡模型,核心思想是利用卫星观测的地表温度(Ts)与预设的“冷/湿球参考值”(Tc)和“地表湿度测量常数”(1/dT)之间的差异来估算 ET。OpenET 实现使用 Landsat Collection 2 的 Ts,结合 NDVI、Daymet 气候平均值(1980-2017 年日最高气温)和 ERA-5 净辐射数据。
波段属性:
et(mm):SSEBop 蒸散发值,30 米分辨率count:无云值数量,30 米分辨率
数据年限:1999-10-01 至 2024-12-01(Publisher 版本至 2025-01-01)
版本增强:v0.2.6 版本增加了 Landsat 9 兼容性、全球可扩展性,并采用 FANO(强制与归一化操作)改进参数化,避免将 Tc 外推到非校准区域。
代码示例:
varssebop=ee.ImageCollection('projects/openet/assets/ssebop/conus/gridmet/monthly/v2_0').filterDate('2020-01-01','2020-12-31');print('SSEBop bands:',ssebop.first().bandNames());2.2 SIMS(Satellite Irrigation Management Support)
算法原理:SIMS 由 NASA 开发,最初旨在支持灌溉区域的卫星作物系数制图和 ET 估算,以提高灌溉调度和区域评估的效率。该模型结合 Landsat 反射率数据与气象数据(包括 gridMET 参考 ET),通过植被指数和温度条件估算作物蒸散发。
波段属性:
et(mm):SIMS ET 值,30 米count:无云值数量,30 米
数据年限:1999-10-01 至 2024-12-01;另有 1985-1999 的历史版本
特点:SIMS 特别关注灌溉管理需求,在农业区域的表现尤为受到关注。
2.3 PT-JPL(Priestley-Taylor Jet Propulsion Laboratory)
算法原理:PT-JPL 基于 Fisher 等人(2008)的原始公式,采用 Priestley-Taylor 方程作为核心,通过植被覆盖度、土壤湿度和大气条件约束来分配潜热通量。OpenET 版本的主要改进包括:使用 Landsat 表面反射率和热辐射计算净辐射与光合有效辐射,利用 NLDAS、Spatial CIMIS 和 gridMET 气象数据估算参考 ET,并采用 Abdelrady 等人(2016)的能量平衡方法估算开放水体蒸发。
波段属性:
et(mm):PT-JPL 蒸散发值,30 米count:无云值数量,30 米
数据年限:1999-10-01 至 2024-12-01(标准版);Publisher 版至 2025-01-01
代码示例:
varptjpl=ee.ImageCollection('projects/openet/assets/ptjpl/conus/gridmet/monthly/v2_0').filterDate('2015-06-01','2015-09-30');varetImage=ptjpl.mean().select('et');Map.addLayer(etImage,{min:0,max:200,palette:['blue','green','yellow','red']},'PT-JPL ET');2.4 geeSEBAL(Google Earth Engine Surface Energy Balance Algorithm for Land)
算法原理:geeSEBAL 是经典 SEBAL 算法(Bastiaanssen 等,1998)在 Google Earth Engine 上的实现。核心机制是通过自动选择“冷端元”(充分湿润、高植被覆盖)和“热端元”(干燥裸土)来构建地表温度-植被指数特征空间,然后基于能量平衡原理估算感热通量(H),进而求得潜热通量(ET)。端元选择采用 Allen 等人(2013)CIMEC 算法的简化版本,利用 LST 和 NDVI 的分位数进行候选筛选。
波段属性:
et(mm):geeSEBAL ET 值,30 米count:无云值数量,30 米
数据年限:1999-10-01 至 2023-12-01(部分版本)或 2024-12-01
特点:geeSEBAL 对地形复杂区域的能量平衡过程有较好的处理能力。
2.5 eeMETRIC(Earth Engine Mapping Evapotranspiration at high Resolution with Internalized Calibration)
算法原理:eeMETRIC 是 METRIC 模型(Allen 等,2007)的 Earth Engine 实现,通过地表温度与近地表气温差(dT)的单一关系来估算感热通量。模型对每个 Landsat 场景自动选择冷热像素,采用统计隔离方法。eeMETRIC 使用 NLDAS 气象数据计算参考 ET,并施加 15% 的固定下调以校正已知偏差。此外,模型包含复杂地形空气动力学函数、有机覆盖物对土壤热通量的调整、以及开放水体的空气动力学蒸发估算等高级功能。
波段属性:
et(mm):eeMETRIC ET 值,30 米count:无云值数量,30 米
数据年限:1999-10-01 至 2025-01-01
2.6 Ensemble(模型集合)
算法原理:Ensemble 并非独立模型,而是对上述六个模型(DisALEXI、eeMETRIC、geeSEBAL、PT-JPL、SIMS、SSEBop)的输出进行集成。核心算法采用中位数绝对偏差(Median Absolute Deviation, MAD)方法过滤离群值,然后计算过滤后模型集合的平均值作为最终 ET 估算。
波段属性(这是六个数据集中最复杂的):
| 波段名 | 单位 | 说明 |
|---|---|---|
et_ensemble_mad | mm | MAD 过滤后的集合均值 |
et_ensemble_mad_min | mm | 过滤后的集合最小值 |
et_ensemble_mad_max | mm | 过滤后的集合最大值 |
et_ensemble_mad_count | — | 用于计算的模型数量 |
et_ensemble_mad_index | — | 位掩码,标识哪些模型被纳入 |
et_ensemble_sam | mm | 六模型的简单算术平均 |
位掩码et_ensemble_mad_index的每一位对应一个模型:Bit 0 = DisALEXI,Bit 1 = eeMETRIC,Bit 2 = geeSEBAL,Bit 3 = PT-JPL,Bit 4 = SIMS,Bit 5 = SSEBop。
数据年限:1999-10-01 至 2025-01-01
代码示例:
varensemble=ee.ImageCollection('projects/openet/assets/ensemble/conus/gridmet/monthly/v2_0').filterDate('2018-01-01','2020-12-31');varmadEt=ensemble.select('et_ensemble_mad').mean();Map.addLayer(madEt,{min:0,max:180,palette:['#2166ac','#67a9cf','#f7f7f7','#ef8a62','#b2182b']},'Ensemble ET (MAD)');3. 数据年限与 “pre-2000” 版本说明
3.1 标准数据的时间范围
用户提供的六个链接的 Publisher Catalog 版本,数据可用时间均为1999-10-01 至 2025-01-01。标准 Earth Engine 托管版本的时间范围大多为1999-10-01 至 2024-12-01,并标注[deprecated]。
3.2 pre-2000 扩展数据
搜索结果中多次出现 “1985-1999” 和 “pre2000” 的标注。例如,在 SSEBop 的标签页中出现 “OpenET SSEBop Monthly Evapotranspiration v2.0 (1985-1999)”,在 SIMS 标签页中出现 “OpenET SIMS Monthly Evapotranspiration v2.0 (1985-1999)”。这表明 OpenET 为部分模型提供了1985 年至 1999 年的扩展历史数据,以覆盖更长的气候分析周期。
需要注意的是,用户提供的链接路径中包含pre2000,但搜索结果中并未直接显示这些特定 URL 的内容。根据 OpenET 官方文档,v2.0 数据集的标准公开范围为 2000-2024 年,而 pre2000 版本可能是通过相同的模型架构回溯运行至 1985 年,使用了 Daymet 等长序列气象数据作为输入。
3.3 版本选择建议
对于需要分析 2000 年之前 ET 趋势的研究,应优先使用 pre2000 版本或 1985-1999 子集。对于 2000 年后的分析,标准 v2.0 或 Publisher 版本均可使用,但建议关注 Publisher 版本,因为其更新更及时(至 2025 年 1 月)。
4. 波段属性的统一性与差异性
4.1 单模型数据集的共性
六个单模型数据集(SSEBop、SIMS、PT-JPL、geeSEBAL、eeMETRIC)的波段结构高度一致:
| 波段 | 类型 | 说明 |
|---|---|---|
et | 浮点 | 月度 ET 累积值(mm) |
count | 整数 | 参与插值的无云观测数量 |
每个图像的属性(properties)包含丰富的元数据:build_date、model_name、model_version、cloud_cover_max、interp_method、mgrs_tile、start_date、end_date、et_reference_source等。
4.2 尺度因子
部分数据集包含scale_factor_et和scale_factor_count属性。用户在使用时应注意,部分 OpenET 数据可能需要乘以尺度因子才能得到物理真实值。建议在加载后检查图像属性:
varimg=ee.ImageCollection('projects/openet/assets/ssebop/conus/gridmet/monthly/v2_0').first();print('ET scale factor:',img.get('scale_factor_et'));print('Count scale factor:',img.get('scale_factor_count'));4.3 Ensemble 的独特波段
Ensemble 数据集不包含count波段,而是提供了六个专用波段,反映了集成方法的特殊性。其中et_ensemble_mad是最常用的波段,代表经过离群值过滤后的“共识” ET 值。et_ensemble_mad_min和max可用于分析模型间分歧程度——分歧越大,表明该像元上各模型对 ET 的估算越不一致,可能指示数据质量或地表异质性问题。
5. 典型用途与应用场景
5.1 农业灌溉管理
SIMS 和 SSEBop 在灌溉调度中应用广泛。SIMS 特别为灌溉管理支持设计,可用于生成作物系数图和灌溉建议。SSEBop 的月度 ET 数据适合评估生长季总耗水量。Ensemble 产品则提供了更稳健的灌溉需求估算。
示例场景:加州中央谷地某农场主需要制定 2023 年 7 月的灌溉计划。使用 Ensemble 的et_ensemble_mad波段,可以获取该月总 ET(mm),结合作物系数和降雨数据,计算净灌溉需求。
varfarm=ee.Geometry.Point([-119.5,35.5]);// 示例坐标varjulyEt=ee.ImageCollection('projects/openet/assets/ensemble/conus/gridmet/monthly/v2_0').filterDate('2023-07-01','2023-07-31').first().select('et_ensemble_mad');print('July ET (mm):',julyEt.reduceRegion({reducer:ee.Reducer.mean(),geometry:farm,scale:30}));5.2 水资源规划与流域水收支
月度 ET 是流域水收支方程(P = ET + Q + ΔS)的关键分量。geeSEBAL 和 eeMETRIC 在复杂地形和灌溉区域的表现使其适合流域尺度的水资源核算。
5.3 干旱监测
ET 的异常降低是干旱胁迫的早期信号。研究者可以使用 Ensemble 的et_ensemble_mad与长期均值对比,生成 ET 异常图。由于 Ensemble 集成了六个模型的优点,其干旱信号比单一模型更可靠。
5.4 模型间比较与不确定性分析
Ensemble 数据集的et_ensemble_mad_min、max和count波段为模型比较提供了便利。count值较低的区域表明多数模型未能有效估算 ET(可能由于云覆盖或地表条件超出模型适用范围)。
varens=ee.ImageCollection('projects/openet/assets/ensemble/conus/gridmet/monthly/v2_0').filterDate('2020-06-01','2020-06-30').first();varspread=ens.select('et_ensemble_mad_max').subtract(ens.select('et_ensemble_mad_min'));Map.addLayer(spread,{min:0,max:80,palette:['white','orange','red']},'模型间ET差异');5.5 气候变化研究
pre-2000 数据扩展至 1985 年,结合标准数据至 2025 年,提供了约 40 年的 ET 时间序列。这对于分析长期 ET 趋势、评估气候变化对水循环的影响至关重要。
6. 代码综合示例:多模型对比与时间序列分析
以下代码展示如何同时加载六个模型,并比较它们在特定区域和时间段内的 ET 估算:
// 研究区域:内布拉斯加州某灌溉区varroi=ee.Geometry.Rectangle([-98.0,41.0,-97.5,41.5]);// 模型资产 ID 列表varmodelIds={'SSEBop':'projects/openet/assets/ssebop/conus/gridmet/monthly/v2_0','SIMS':'projects/openet/assets/sims/conus/gridmet/monthly/v2_0','PT-JPL':'projects/openet/assets/ptjpl/conus/gridmet/monthly/v2_0','geeSEBAL':'projects/openet/assets/geesebal/conus/gridmet/monthly/v2_0','eeMETRIC':'projects/openet/assets/eemetric/conus/gridmet/monthly/v2_0','Ensemble':'projects/openet/assets/ensemble/conus/gridmet/monthly/v2_0'};// 逐模型提取 2020 年 7 月 ETvarjuly2020Et={};Object.keys(modelIds).forEach(function(name){varcol=ee.ImageCollection(modelIds[name]).filterDate('2020-07-01','2020-07-31');varband=(name==='Ensemble')?'et_ensemble_mad':'et';varval=col.first().select(band).reduceRegion({reducer:ee.Reducer.mean(),geometry:roi,scale:30,maxPixels:1e9}).get(band);july2020Et[name]=val;});print('各模型 2020年7月平均ET (mm):',july2020Et);// 可视化 Ensemble MADvarensImg=ee.ImageCollection(modelIds['Ensemble']).filterDate('2020-07-01','2020-07-31').first().select('et_ensemble_mad');Map.centerObject(roi,9);Map.addLayer(ensImg.clip(roi),{min:0,max:200,palette:['#2c7bb6','#abd9e9','#ffffbf','#fdae61','#d7191c']},'Ensemble ET July 2020');7. 使用注意事项与局限
数据弃用状态:标准 Earth Engine 路径下的 v2.0 数据集标注为[deprecated],建议新项目使用 Publisher Catalog 路径。
时间覆盖:各模型的时间范围存在细微差异(如 geeSEBAL 部分版本止于 2023 年),使用前应检查目标月份的可用性。
计算性能:30 米分辨率的月度数据在区域尺度上可能产生大量瓦片,建议使用reduceRegion时设置合理的scale和maxPixels,或先进行邻域聚合。
验证与地面真值:OpenET 产品经过广泛验证,但用户应意识到遥感 ET 估算仍存在不确定性,特别是在异质性地表和极端气候条件下。
8. 结语
OpenET 的六个月度 ET 数据集构成了当前最全面的高分辨率蒸散发产品体系之一。SSEBop 的热力学简化、SIMS 的灌溉导向、PT-JPL 的 Priestley-Taylor 基础、geeSEBAL 和 eeMETRIC 的能量平衡严谨性、以及 Ensemble 的集成智慧,各自服务于不同的科学和应用需求。波段结构的高度统一性降低了多模型对比的技术门槛,而 Ensemble 的丰富波段则为不确定性分析提供了独特价值。随着 pre-2000 数据的逐步开放,研究者将能够在一个统一的 30 米框架下探索近四十年来的地表水循环变化。
参考文献
[1] OpenET Data Availability. OpenET Documentation.
[2] OpenET SSEBop Monthly Evapotranspiration v2.0. Google Earth Engine Data Catalog.
[3] OpenET PT-JPL Monthly Evapotranspiration v2.0. Google Earth Engine Data Catalog.
[4] OpenET geeSEBAL Monthly Evapotranspiration v2.0. Google Earth Engine Data Catalog.
[5] OpenET Ensemble Monthly Evapotranspiration v2.0. Google Earth Engine Data Catalog.
[6] OpenET eeMETRIC Monthly Evapotranspiration v2.0. Google Earth Engine Data Catalog.
[7] OpenET SIMS Monthly Evapotranspiration v2.0. Google Earth Engine Data Catalog.
[8] Melton, F., et al. OpenET: Filling a Critical Data Gap in Water Management.Environmental Research Letters, 2022.