cd ..
Autopsia
Ingesta
Neoplasma
Putredo
Delirium
Vigil

湖泊表层温度研究 · 工作日志

2025年9月29日
约4分钟

如题。


scope/research type/log

  • GEE 获取 MODIS LST 逐日数据,下载
  • 机器学习部分用 Python 或 Julia 实现

Log

10/22/25

  • 重构:
    • 在这个项目中,重点不在于水体边界的精确提取,而在于如何高效地在大范围内提取湖泊的表层温度。
    • 湖泊可以被视为均一的水体单元,因此不需要确保所有的水体像元都被提取出来,而是要确保提取的像元确实属于水体。

11/04/25

  • 方案:
    • MODIS 获取湖泊表层温度(LST)数据,2000-2024 年应该都有,逐日。
    • 缺失值插补:利用缺失值同时间的 ERA5 其他变量建立机器学习模型进行插补。

ERA5-Land 有一个 Lake cover 变量,可以用来判断湖泊的覆盖情况。

目前是使用 Landsat 来计算 MNDWI,获取湖泊水体,然后提取 MODIS LST。 第一个问题是,湖泊的选择问题。 需要面积筛选,因为 ERA5 很粗。 研究的湖泊的面积至少要大于 ERA5 的一个像元, 最好是能通过 Lake cover 来进一步筛选。 原本是通过 GLAKES 来选择湖泊,但更简单一点似乎可以直接用 ERA5 来筛。

11/05/25

GEE 基本上是一坨屎。 想不通 Google 为什么搞得这么烂。 最新方案是把 ERA5-Land 下载下来在本地做。

预实验

没做机器学习部分。

先用 ERA5-Land 的 Lake cover 来筛选湖泊, Lake cover > 0.8 的像元视作纯湖泊像元。 然后提取连通域,经典。

只要一个连通域的像元数量大于 2,认为是一个湖泊。 然后直接用 ERA5-Land 的 Lake mix-layer temperature 作为湖泊表层温度,

获取 1978-2023 年的逐月数据。 本意是 1981-2020 年,但由于后续要做突变点分析, 需要控制突变点不能在时间序列的边缘,所以限制了最短的时间阶段为 3 年, 这样一来前后各需要多 3 年的数据。

拿到时间序列后,计算年均温度,然后突变点分析。 得出突变点年份和前后阶段的斜率。

11/07/25

3 年的 Min segment 有点短,我看了很多都是 1980 这个点。

前天的图有问题,突变检测没做好。现在换成 Mann-Kendall 检测趋势变化点。

11/25/25

其实是直接用 ERA5-Land 来做了。 GEE 一坨屎,而且很慢。

ERA5-Land 的 Lake mix-layer temperature 直接作为湖泊表层温度。 所以现在的工作重点是趋势分析和突变点检测。

11/27/25

突变检测的问题。

突变检测本质上是不是算是一个定性分析? 做的过程中发现很强的参数依赖性和方法依赖性。 比如 Min segment 长度,或者不同的突变检测方法,结果差异都挺大。

考虑转向定量分析,比如直接计算趋势斜率,或者变化幅度。

11/28/25

所以在此之前,我需要先对比不同的突变检测方法和参数设置, 看看结果的差异性到底有多大。

组会:

  • 去趋势再做突变检测
  • 区域或湖泊分类

12/03/25

去趋势(detrend)方案

一阶差分: 后一个值减去前一个值,得到一个新的时间序列,表示每个时间点的变化量。 可能会放大噪声,可以先做 3 年滑动平均。

前文
后文
2024-PRESENT
CC BY-NC-SA 4.0
©
froQ