Logo Lanfrica
  • Home
  • Atlas
  • Insights
  • Docs
  • Sign in

Β© 2026 Lanfrica. All rights reserved. All copyrights of the resources shown on the Lanfrica website belong to the original copyright holders, unless explicitly stated otherwise.

Global Dryland Desertification Risk (GDDR) Mapping

Domain:

environment and energygeospatialclimate

Record type:

software
Creator:
AutAut
Publisher:
Zenodo
Host:avatar
Global Dryland Desertification Risk (GDDR) Mapping Version 1.0 2026 πŸ“œ Credits Mohammad Javad Soltani Hooman Latifi Β  Β Β Β Β  πŸ“ƒ Overview ◼️ Global Desertification Risk MappingΒ is a comprehensive remote sensing framework for assessing desertification risk across global drylands (Aridity Index < 0.65) usingΒ long-term NDVI trends,Β climate data, andΒ human footprint pressure. ◼️ The framework integratesΒ satellite-derived vegetation trendsΒ (GIMMS 3G + MODIS, 1982–2025) withΒ Mann-Kendall trend analysis,Β Google Earth EngineΒ cloud computing, andΒ multi-metric fusionΒ to produce continuous, unit-free desertification risk scores. ◼️ Validation is performed againstΒ SDG Indicator 15.3.1Β (Trends.Earth) andΒ land use/land cover transition analysis, ensuring scientific robustness and policy relevance. Key Innovations Feature Description 🌍 Multi-Decadal Analysis 43+ years of NDVI data (1982–2025) with GIMMSβ†’MODIS quantile-matching harmonization πŸ“ˆΒ Server-Side Mann-Kendall Pixel-wise trend analysis viaΒ ee.Reducer.kendallsCorrelation()Β β€” no client-side loops πŸ”€Β Percentile-Rank Fusion Continuous risk score from geometric mean of AI, tau, and HFI percentile ranks πŸ§ͺΒ Ecological Significance FDR-corrected significance testing with climate-matched null models (latitude bands) βœ…Β SDG 15.3.1 Alignment Direct comparison with Trends.Earth land degradation indicators πŸ—ΊοΈΒ Multi-Resolution 5 km analysis resolution, IPCC region-based aggregation, patch-level validation Theoretical Foundation Riskgeomean=(AIrΓ—TaurΓ—HFIr)1/3 Where: AIrΒ = 1 βˆ’ percentile_rank(Aridity Index)   ↳ lower AI β†’ higher risk TaurΒ = 1 βˆ’ percentile_rank(MK tau)   ↳ more negative trend β†’ higher risk HFIrΒ = percentile_rank(Human Footprint Index)   ↳ higher pressure β†’ higher risk πŸ—‚οΈ Repository Structure Desertification-Risk/ β”‚ β”œβ”€β”€ Base_Maps_Gen/ # Base map generation pipeline β”‚ β”œβ”€β”€ MApGen_AI.ipynb # Aridity Index map generation β”‚ β”œβ”€β”€ MApGen_HFP.ipynb # Human Footprint Pressure map generation β”‚ β”œβ”€β”€ MKTrend_MApGen_MODIS.ipynb # MODIS Mann-Kendall trend maps β”‚ β”œβ”€β”€ Redundantness.ipynb # Redundancy analysis β”‚ └── Download_HFP_AI.py # Script: download HFP & AI data β”‚ β”œβ”€β”€ NDVI_Trend/ # Core NDVI trend & desertification analysis β”‚ β”œβ”€β”€ Desertification_global_1982_2025.ipynb # Full record (GIMMS+MODIS, 1982-2025) β”‚ └── Desertification_global_2000_2025.ipynb # MODIS-era only (2000-2025) β”‚ β”œβ”€β”€ Desertification_Gen/ # Desertification risk map generation β”‚ β”œβ”€β”€ Desertification_Map.ipynb # Percentile-rank + geometric-mean fusion β”‚ β”œβ”€β”€ Eco_Sig_Pathces_Map_Gen_Desert.ipynb # Ecological significance (desert risk) β”‚ └── Eco_Sig_Pathces_Map_Gen_Tau.ipynb # Ecological significance (tau trends) β”‚ β”œβ”€β”€ LULC_Check/ # Land use/land cover validation β”‚ └── LULC_Check_V01.ipynb # Dryland LULC stability Γ— desertification risk β”‚ β”œβ”€β”€ Evaluation/ # Validation & evaluation β”‚ └── Fianl_EV_Coor_With_SDG.ipynb # SDG 15.3.1 coordination & final validation β”‚ β”œβ”€β”€ LICENSE └── README.md Β  πŸ”¬ Methodology Analysis Pipeline (4 Stages) β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ STAGE 1 β€” Base Map Generation β”‚ β”‚ β”‚ β”‚ GIMMS 3G (1982-1999) MODIS MOD13C2 (2000-2025) β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └───── QM Harmonisation β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ CHIRPS Precip β”‚ β”‚ ERA5-LAND Temp β”‚ β”‚ β”‚ β”‚ (UCSB-CHG) β”‚ β”‚ (2m temperature) β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ STAGE 2 β€” NDVI Trend Analysis (GEE) β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ ee.Reducer.kendallsCorrelation() β€” pixel-wise Mann-Kendall β”‚ β”‚ β”‚ β”‚ β†’ Ο„ (Kendall's tau) + p-value for every pixel β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ Dryland mask (AI < 0.65) applied before export β”‚ β”‚ Resolution: 5,000 m β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ STAGE 3 β€” Desertification Risk Fusion β”‚ β”‚ β”‚ β”‚ Pass 1: Stream histograms β†’ empirical CDFs (AI, tau, HFI) β”‚ β”‚ Pass 2: Percentile-rank transform + 3 fusion operators: β”‚ β”‚ β€’ Risk_geomean = (AI_r Γ— Tau_r Γ— HFI_r)^(1/3) ← headline β”‚ β”‚ β€’ Risk_arithmean = (AI_r + Tau_r + HFI_r) / 3 ← sensitivityβ”‚ β”‚ β€’ Risk_min = min(AI_r, Tau_r, HFI_r) ← sensitivityβ”‚ β”‚ Pass 3: Pairwise agreement & Jaccard between fusion methods β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ STAGE 4 β€” Validation & Evaluation β”‚ β”‚ β”‚ β”‚ β€’ Ecological significance testing (FDR-corrected, β”‚ β”‚ climate-matched null models) β”‚ β”‚ β€’ LULC transition analysis (degradation pathways) β”‚ β”‚ β€’ SDG 15.3.1 coordination (Trends.Earth comparison) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ Β  Analysis Layers Layer Method Inputs Output NDVI Harmonisation Quantile-matching percentile stretch GIMMS 3G + MODIS Harmonised NDVI time series Mann-Kendall Trend ee.Reducer.kendallsCorrelation() NDVI ImageCollection Ο„ + p-value per pixel Risk Map (Boolean) MK p < 0.05 ∩ Ο„ < 0 ∩ AI < 0.65 ∩ HFP > 0.2 MK results + AI + HFP Binary risk classification Risk Map (Continuous) Percentile-rank + geometric-mean fusion AI, Ο„, HFI Unit-free risk score [0, 1] Ecological Significance FDR Benjamini-Hochberg + latitude-matched null Risk raster + IPCC regions Significance maps + hexbin plots LULC Stability Directed transition analysis GLDAS LULC patches Degradation pathway stats SDG Validation Spatial join + agreement metrics Risk raster + Trends.Earth Accuracy assessment πŸ“Š Performance Metrics Desertification risk is evaluated usingΒ multiple complementary metrics, combining trend significance, ecological robustness, and policy alignment. 1. Mann-Kendall Ο„ (Trend Strength) Measures the monotonic trend direction and magnitude of NDVI over time: Ο„ ∈ [-1, 1] Ο„ < 0 β†’ browning / vegetation decline Ο„ > 0 β†’ greening / vegetation increase Ο„ = 0 β†’ no monotonic trend Β  2. Risk Percentile Fusion Three components are combined via geometric mean to produce a continuous risk surface: Component Variable Rationale AIr 1 βˆ’ percentile(Aridity Index) Drier areas have higher inherent vulnerability Taur 1 βˆ’ percentile(MK Ο„) Stronger negative trends indicate active degradation HFIr percentile(Human Footprint) Higher human pressure increases degradation risk 3. FDR-Corrected Significance (Benjamini-Hochberg) Controls the false discovery rate across spatial hypothesis tests: def benjamini_hochberg(pvals): p = np.asarray(pvals, dtype=float) n = p.size order = np.argsort(p) ranked = p[order] adj_ranked = ranked * n / np.arange(1, n + 1) adj_ranked = np.minimum.accumulate(adj_ranked[::-1])[::-1] adj_ranked = np.clip(adj_ranked, 0.0, 1.0) return adj_ranked[np.argsort(order)] Β  4. SDG Indicator 15.3.1 Agreement Validation against Trends.Earth land degradation indicators across three time windows: Window Period Source Baseline 2000–2015 SDG 15.3.1 baseline Mid-term 2004–2019 Trends.Earth v2 Recent 2008–2023 Trends.Earth v3 πŸš€ Quick Start βš™οΈ System Requirements Python 3.13 is required.Β This project has been developed and tested onΒ Python 3.13.x. Using other Python versions (3.9, 3.11+) may cause dependency conflicts, particularly with GDAL, Rasterio, and Google Earth Engine bindings. To verify your Python version: python --version # Expected: Python 3.13.x Β  Google Earth Engine account required.Β You must sign up atΒ signup.earthengine.google.comΒ and authenticate your account. πŸ—ΊοΈ Installation 1. Clone the repository: git clone github.com cd Desertification-Risk Β  2. Create a virtual environment (strongly recommended): python -m venv venv Β  3. Activate the environment: On Windows: venv\Scripts\activate Β  On macOS/Linux: source venv/bin/activate Β  4. Upgrade pip, setuptools, and wheel: pip install --upgrade pip setuptools wheel Β  5. Install dependencies: pip install earthengine-api geemap matplotlib numpy pandas scipy statsmodels scikit-learn rasterio geopandas cartopy seaborn tqdm Β  6. Authenticate Google Earth Engine: earthengine authenticate Β  πŸ“¦ Key Dependencies Package Version Role Python 3.13.x Base interpreter earthengine-api latest Google Earth Engine Python client geemap latest Interactive GEE mapping GDAL β‰₯3.5 Geospatial data I/O and raster processing Rasterio β‰₯1.3 Raster read/write built on GDAL GeoPandas β‰₯1.0 Vector geometry handling and spatial joins NumPy β‰₯1.24 Numerical computing Pandas β‰₯2.0 Tabular data management Matplotlib β‰₯3.8 Visualization Cartopy β‰₯0.22 Map projection and geographic plotting SciPy β‰₯1.11 Statistical computations Scikit-learn β‰₯1.3 Machine learning utilities Statsmodels β‰₯0.14 Statistical modeling (RESTREND) tqdm latest Progress bars ▢️ Running the Pipeline Each notebook can be run independently, but the recommended workflow order is: Β  Β  Step 1 β€” Base Maps Open and run notebooks inΒ Base_Maps_Gen/: Download_HFP_AI.pyΒ β€” Download Human Footprint Pressure and Aridity Index data MApGen_AI.ipynbΒ β€” Generate global Aridity Index base map MApGen_HFP.ipynbΒ β€” Generate Human Footprint Pressure base map MKTrend_MApGen_MODIS.ipynbΒ β€” Generate MODIS MK trend base maps Step 2 β€” NDVI Trend Analysis Choose the appropriate notebook inΒ NDVI_Trend/: Desertification_global_1982_2025.ipynbΒ β€” Full 43-year record (GIMMS + MODIS) Desertification_global_2000_2025.ipynbΒ β€” MODIS-era only Update file paths at the top of the notebook: # Example path configuration DATA_DIR = Path("/path/to/your/data") OUT_DIR = Path("/path/to/your/output") Β  Then run all cells. The notebook will: Install dependencies Authenticate GEE Export NDVI ImageCollections by year Run server-side Mann-Kendall trend analysis Generate desertification risk maps Export results as GeoTIFF Step 3 β€” Desertification Risk Fusion RunΒ Desertification_Gen/Desertification_Map.ipynbΒ with: # Path to your MK trend outputs TAU_RASTER = "/path/to/tau_merged_global.tif" SIG_RASTER = "/path/to/sig_merged_global.tif" AI_RASTER = "/path/to/aridity_index.tif" HFP_RASTER = "/path/to/human_footprint.tif" # Output OUTPUT_DIR = "/path/to/desertification_risk_output" Β  Step 4 β€” Ecological Significance Run the ecological significance notebooks: Eco_Sig_Pathces_Map_Gen_Desert.ipynbΒ β€” For desertification risk maps Eco_Sig_Pathces_Map_Gen_Tau.ipynbΒ β€” For tau trend maps Step 5 β€” Validation RunΒ LULC_Check/LULC_Check_V01.ipynbΒ for LULC transition analysis RunΒ Evaluation/Fianl_EV_Coor_With_SDG.ipynbΒ for SDG 15.3.1 validation 🌐 Data Sources Dataset Source Period Resolution Usage GIMMS 3G NDVI NASA ARC 1982–1999 8 km β†’ 5 km Historical NDVI MODIS MOD13C2 NASA LP DAAC 2000–2025 0.05Β° β†’ 5 km Recent NDVI CHIRPS Precipitation UCSB-CHG 1982–2025 0.05Β° Climate normalization ERA5-LAND Temperature ECMWF/Copernicus 1982–2025 0.1Β° Climate normalization Aridity Index (AI) CGIAR-CSI / GEE Long-term avg 5 km Dryland delineation Human Footprint (HFP) WCS/NASA SEDAC 2013 1 km Human pressure IPCC Reference Regions IPCC-WGI β€” Vector Regional aggregation Trends.Earth SDG 15.3.1 Conservation International 2000–2023 Point data Validation πŸ“„ Citation If you use this framework in your research, please cite the following: Soltani, M.J., Latifi, H. (2026).Β Global Desertification Risk Mapping Using Multi-Decadal NDVI Trends, Satellite Climate Data, and Continuous Risk Fusion.Β Scientific Data. BibTeX: @article{ title = {Global Desertification Risk Mapping Using Multi-Decadal NDVI Trends, Satellite Climate Data, and Continuous Risk Fusion}, author = {Soltani, M.J. and Latifi, H.}, journal = {Scientific Data}, year = {2026}, note = {Submitted} } Β  πŸ“§ Contact Mohammad Javad SoltaniπŸ“§Β mohammadjavadsoltani@email.com🌐 GitHub Profile

Visit

doi.org

Licenses

Creative Commons Attribution 4.0 Internationalhttps://creativecommons.org/licenses/by/4.0/legalcode