This Jupyter-based pipeline estimates soil moisture variability and anomalies over a given Area of Interest (AOI) using NASA’s SMAP (Soil Moisture Active Passive) satellite data hosted in Google Earth Engine (GEE).
It automates the process of:
- Fetching SMAP soil moisture data from GEE.
- Computing monthly statistics (mean, min, max) for a specified AOI.
- Building a baseline climatology (e.g., 2016–2021).
- Comparing recent years (2022–2024) to the baseline to compute monthly anomalies.
- Saving all results to CSV and providing visualizations.
- Name:
NASA/SMAP/SPL3SMP_E.006 - Type: Enhanced Level 3 Passive Soil Moisture (9 km, Equal-Area Scalable Earth Grid)
- Temporal Coverage: 2015 – present
- Spatial Resolution: ~9 km
- Temporal Resolution: Daily global coverage
- Variables Used:
soil_moisture_am: Morning soil moisture (m³/m³)soil_moisture_pm: Afternoon soil moisture (m³/m³)- Optional supporting layers (available but unused in this version):
tb_h_corrected_am,tb_v_corrected_am,vegetation_water_content_am,retrieval_qual_flag_am, etc.
Data are accessed via the Earth Engine Python API using ee.ImageCollection.
- The user specifies a polygonal Area of Interest (AOI) (e.g., administrative boundary or study region).
- Define the analysis time range (e.g., 2016–2024).
- Function:
compute_monthly_smap_stats_range(aoi, start_date, end_date, pass_type='am') - For each month in the range:
- Filters SMAP images by date.
- Clips to the AOI.
- Computes the mean, min, and max soil moisture across the AOI.
- Results are stored in a DataFrame with columns:
['month', 'count', 'mean_soil_moisture_am', 'min_soil_moisture_am', 'max_soil_moisture_am']
- Aggregates monthly soil moisture statistics over the baseline years.
- Produces a climatological mean per calendar month (Jan–Dec).
- Saved as:
outputs/smap_baseline_monthly_2016_2021_am_raw.csv
- For each target year:
- Monthly means are computed for that year.
- Each month’s value is compared to the baseline mean of the same month: [ \text{Anomaly} = \text{Yearly Mean} - \text{Baseline Mean} ]
- Positive anomaly → wetter than normal.
Negative anomaly → drier than normal.
- Results saved as: