Geoskill: Grassland Degradation Monitor

Monitor grassland degradation and recovery trends from multi-temporal vegetation cover, phenology, bare ground and climate baselines. Outputs management zones for restoration prior…

ruiduobao

@ruiduobao

Install

$ openclaw skills install @ruiduobao/geoskill-grassland-degradation-monitor

Grassland Degradation Monitor

Identifies grassland degradation and recovery trends from multi-temporal remote sensing data. Separates climate-driven from management-driven vegetation change and outputs management zones with restoration priorities.

Trigger

Use when the user wants to:

  • Identify degrading grassland areas from multi-temporal imagery
  • Evaluate restoration effectiveness (e.g., grazing exclusion, reseeding)
  • Separate climate-driven from management-driven vegetation change
  • Generate management zone maps with restoration priorities
  • Conduct BACI (Before-After-Control-Impact) analysis for management assessment
  • Monitor grassland health trends over years to decades

CLI Usage

# Basic analysis with default parameters (10 years, Theil-Sen, climate normalized)
python scripts/grassland_degradation_monitor.py --output-dir ./gdm-output

# Custom years and trend method
python scripts/grassland_degradation_monitor.py \
  --years 15 \
  --trend-method ols \
  --output-dir ./gdm-output

# Without climate normalization (raw trend only)
python scripts/grassland_degradation_monitor.py \
  --years 10 \
  --no-climate-normalize \
  --output-dir ./gdm-output

# With custom degradation schema
python scripts/grassland_degradation_monitor.py \
  --years 10 \
  --degradation-schema references/degradation_schema.json \
  --output-dir ./gdm-output

Parameters

ParameterDefaultDescription
--input-ndviNoneInput NDVI time series GeoTIFF (multi-band, optional)
--years10Number of years for analysis
--trend-methodtheil-senTrend estimation: theil-sen, ols, mann-kendall
--climate-normalizeTrueApply climate normalization (residual trend)
--no-climate-normalize-Disable climate normalization
--degradation-schemabuilt-inCustom degradation schema JSON
--output-dir./gdm-outputOutput directory

Output

FileDescription
degradation_status.tifRaster map of degradation/recovery status codes
trend.tifRaster map of trend slopes
priority_areas.geojsonPoint features for priority restoration areas
management_summary.csvArea statistics and recommendations per class
timeseries.csvMean NDVI, precipitation, temperature per year
request.jsonAnalysis request metadata
output-manifest.jsonOutput file inventory and area statistics
qa.jsonQuality assurance checks

Degradation Status Codes

CodeNameDescriptionRecommendation
3severe_degradationNDVI declining >0.02/yr, 3+ yearsImmediate restoration
2moderate_degradationNDVI declining 0.01-0.02/yr, 3+ yearsPriority restoration
1light_degradationNDVI declining 0.005-0.01/yr, 3+ yearsPreventive management
0stableNo significant trendSustainable use
-1light_recoveryNDVI increasing 0.005-0.01/yr, 2+ yearsMonitor and maintain
-2moderate_recoveryNDVI increasing 0.01-0.02/yr, 2+ yearsContinue current practices
-3significant_recoveryNDVI increasing >0.02/yr, 2+ yearsSuccess case, replicate

Key Algorithms

Climate Normalization (Residual Trend)

Regresses NDVI against precipitation and temperature anomalies, then computes the trend of residuals. This separates climate-driven variation from management-driven change.

Trend Estimation

  • Theil-Sen: Robust non-parametric slope (median of pairwise slopes). Recommended for noisy remote sensing data.
  • OLS: Ordinary Least Squares. Efficient for clean data.
  • Mann-Kendall: Normalized Kendall tau. Non-parametric trend strength.

Degradation Classification

Combines three factors:

  1. Trend slope: Direction and magnitude of change
  2. Persistence: Minimum consecutive years meeting threshold
  3. Absolute state: Current NDVI level (very low NDVI escalates severity)

BACI Analysis

Before-After-Control-Impact design for management effectiveness: BACI = (treat_after - treat_before) - (ctrl_after - ctrl_before)

Exit Codes

CodeMeaning
0Success
2Argument error
3Dependency missing
6Data validation failure
7Processing failure

Limitations

  • Grazing intensity data typically unavailable
  • Grassland type differences complicate threshold transfer
  • Remote sensing productivity proxies do not replace field biomass measurement
  • Climate normalization assumes linear climate-vegetation relationship
  • Short time series (< 5 years) reduces trend reliability

References

  • Fensholt & Proud 2012, Remote Sensing of Environment (residual trend)
  • Ivits et al. 2013, Remote Sensing (European grassland trends)
  • BGC ChinaGrass dataset for grassland classification

数据下载

本 skill 可自动从 Microsoft Planetary Computer 下载数据 (无需 API key):

python grassland_degradation_monitor.py --bbox 116,39,117,40 --date-range 2024-06-01,2024-06-30 --output-dir <tmp>
  • --bbox W,S,E,N: WGS-84 边界框 (西, 南, 东, 北)
  • --date-range START,END: 日期范围 (YYYY-MM-DD,YYYY-MM-DD)
  • --aoi-file <path.geojson>: 替代 --bbox 的 GeoJSON 多边形
  • --cache-dir <path>: 缓存目录 (默认 ~/.geoskill_cache)

当用户只给 --bbox + --date-range (没有 --image) 时,skill 自动下载数据。 当用户给 --image 时,走原文件路径 (向后兼容)。

Top skills in this category