Skip to content

SMs数据计算干涸段 #4011

Closed
Closed

Description

@ZhaoYeTang

3. 对每一年的浅层SM(GLEAM,daily,nc)进行处理,寻找干涸段(dry_down.py):

  • 去噪:对原始 SM_raw(t)做 5 日(或 3–7 日)中位数滑动平滑,得 SM_t;
  • 一阶差分:ΔSM_t = SM_t − SM_{t−1}(从第 2 天起有值)。
  • 下降日判定: 下降:ΔSM_t ≤ −ε; 近似不变也接受:|ΔSM_t| < ε(噪声容忍,不把段打断); 推荐 ε = 5×10⁻⁴ m³/m³/日(0.0002–0.001 之间可调)。
  • 连续段 + 容忍缺口:把满足上面条件的日子串成连续段;允许中间有≤ max_break 天不满足也不断段(容错噪声或极弱回湿)。 推荐 max_break = 1(最多 1 天小缺口)。
  • 最短长度:段长度L ≥ MIN_LEN才算干涸事件。 推荐 MIN_LEN = 5 天(气候区可调 5–7)。
  • 事件最大化:对每个像元,在全年内按时间顺序把满足条件的段尽可能扩展到最大(直到再也不能合法延长),每段赋一个事件编号。

输出:
1) 事件编号图 drydown_event_id(time, lat, lon) : int32

  • 取值:0 = 不在干涸段;1, 2, 3, … = 第 1/2/3… 个干涸事件(同一像元内递增编号)。
  • 用途:与 GPP 8 天窗口做事件级自举(更稳健),或提取事件统计(长度、总降幅等)。

2) 掩膜图 drydown_mask(time, lat, lon) : bool

  • 取值:True = 在干涸段内;False = 否。
  • 用途:快速筛样本、算“窗口内干涸覆盖率”。

3) 平滑后的土壤水分 SMs_smooth(time, lat, lon) : float32

  • 只是给后续回看与可视化用;真正做阈值时,我们会把8 天窗口的 SSM 从这里聚合。

Activity

  1. github-actions commented on Oct 15, 2025

    @github-actions
    Contributor

    Hello. Thanks for opening an issue on Exercism 🙂

    At Exercism we use our Community Forum, not GitHub issues, as the primary place for discussion. That allows maintainers and contributors from across Exercism's ecosystem to discuss your problems/ideas/suggestions without them having to subscribe to hundreds of repositories.

    This issue will be automatically closed. Please use this link%20%E4%BA%8B%E4%BB%B6%E7%BC%96%E5%8F%B7%E5%9B%BE**%20%60drydown_event_id(time,%20lat,%20lon)%20:%20int32%60%0A-%20%20%20%E5%8F%96%E5%80%BC%EF%BC%9A%600%60%20=%20%E4%B8%8D%E5%9C%A8%E5%B9%B2%E6%B6%B8%E6%AE%B5%EF%BC%9B%601,%202,%203,%20%E2%80%A6%60%20=%20%E7%AC%AC%201/2/3%E2%80%A6%20%E4%B8%AA%E5%B9%B2%E6%B6%B8%E4%BA%8B%E4%BB%B6%EF%BC%88**%E5%90%8C%E4%B8%80%E5%83%8F%E5%85%83%E5%86%85**%E9%80%92%E5%A2%9E%E7%BC%96%E5%8F%B7%EF%BC%89%E3%80%82%0A-%20%20%20%E7%94%A8%E9%80%94%EF%BC%9A%E4%B8%8E%20GPP%208%20%E5%A4%A9%E7%AA%97%E5%8F%A3%E5%81%9A**%E4%BA%8B%E4%BB%B6%E7%BA%A7%E8%87%AA%E4%B8%BE**%EF%BC%88%E6%9B%B4%E7%A8%B3%E5%81%A5%EF%BC%89%EF%BC%8C%E6%88%96%E6%8F%90%E5%8F%96**%E4%BA%8B%E4%BB%B6%E7%BB%9F%E8%AE%A1**%EF%BC%88%E9%95%BF%E5%BA%A6%E3%80%81%E6%80%BB%E9%99%8D%E5%B9%85%E7%AD%89%EF%BC%89%E3%80%82%0A%20%20%20%20%0A2)%20%E6%8E%A9%E8%86%9C%E5%9B%BE%20%60drydown_mask(time,%20lat,%20lon)%20:%20bool%60%0A-%20%20%20%E5%8F%96%E5%80%BC%EF%BC%9A%60True%60%20=%20%E5%9C%A8%E5%B9%B2%E6%B6%B8%E6%AE%B5%E5%86%85%EF%BC%9B%60False%60%20=%20%E5%90%A6%E3%80%82%0A-%20%20%20%E7%94%A8%E9%80%94%EF%BC%9A%E5%BF%AB%E9%80%9F%E7%AD%9B%E6%A0%B7%E6%9C%AC%E3%80%81%E7%AE%97%E2%80%9C%E7%AA%97%E5%8F%A3%E5%86%85%E5%B9%B2%E6%B6%B8%E8%A6%86%E7%9B%96%E7%8E%87%E2%80%9D%E3%80%82%0A%20%20%20%20%0A%0A3)%20%E5%B9%B3%E6%BB%91%E5%90%8E%E7%9A%84%E5%9C%9F%E5%A3%A4%E6%B0%B4%E5%88%86%20%60SMs_smooth(time,%20lat,%20lon)%20:%20float32%60%0A-%20%20%20%E5%8F%AA%E6%98%AF%E7%BB%99%E5%90%8E%E7%BB%AD%E5%9B%9E%E7%9C%8B%E4%B8%8E%E5%8F%AF%E8%A7%86%E5%8C%96%E7%94%A8%EF%BC%9B%E7%9C%9F%E6%AD%A3%E5%81%9A%E9%98%88%E5%80%BC%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E4%BC%9A%E6%8A%8A8%20%E5%A4%A9%E7%AA%97%E5%8F%A3%E7%9A%84%20SSM%20%E4%BB%8E%E8%BF%99%E9%87%8C%E8%81%9A%E5%90%88%E3%80%82&category=python ) to copy your GitHub Issue into a new topic on the forum, where we look forward to chatting with you!

    If you're interested in learning more about this auto-responder, please read this blog post.

  2. locked as spam and limited conversation to collaborators on Oct 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions