Skip to content
#edge computing Dataset Open access

Data & Scripts for: Unraveling the Hydrothermal Resilience Across China's Loess Plateau: Ecological Amplitude Modulation and Vadose-Zone Hydrological Traps

Sep 2026 · Zenodo (CERN European Organization for Nuclear Research)

Abstract

Self-contained lp/ package for the paper "Unmasking ecosystem vulnerability to compound hot-dry shocks via cross-scale frequency dynamics". Intended as a Zenodo/GitHub upload unit: after unpacking, run analyses from the lp/ root without hard-coded machine paths. Figure naming convention (updated 2026-09-14). All Supporting-Information figures now follow the manuscript's Figure S* numbering. The previous figure_ed2–ed5 files were renamed to figure_s2–s5, and figure_si_imf4_7_sensitivity became figure_s6_imf4_7_sensitivity. See the mapping table below. Quick start cd lp python -m venv .venv && source .venv/bin/activate # optional pip install -r requirements.txt pip install EMD-signal # optional (HHT utilities) Large NetCDF files are shipped directly under data/ (~42 GB total). See DATA_LARGE_FILES.md for size breakdown and upload planning. Example (from lp/): python scripts/step1_2_figure1b_spatial_anomalies.py Manuscript figure ↔ file mapping Main text Manuscript Content Output file Script Fig. 1a Target-year screening (GPP / T₂ₘ / VPD / SM_wavg) outputs/figures/figure1a_target_year_screening.png step0_2_obs_target_year_screening.py Fig. 1b Growing-season spatial anomalies outputs/figures/figure1b_spatial_anomalies.png step1_2_figure1b_spatial_anomalies.py Fig. 2 Joint probability phase spaces outputs/figures/figure2_joint_probability_heatmaps.png step1_1_figure2_joint_probability_heatmaps.py Fig. 3a Forcing frequency heterogeneity (three-band stacked bars) outputs/figures/figure3a_forcing_frequency_heterogeneity.png step3_2_figure3a_forcing_frequency_heterogeneity.py Fig. 3b Spectral gap diagnosis (~40 d) outputs/figures/figure3b_spectral_gap_diagnosis.png step3_3_figure3b_spectral_gap_diagnosis.py Fig. 4a–b 2D NHT Huang spectra outputs/figures/figure4a_nht_spectrum.png step4_1_figure4_nht_amplification_decoupling.py Fig. 4c–d Carrier–modulation time series outputs/figures/figure4b_carrier_timeseries.png same Fig. 5 Biophysical overshoot cascade outputs/figures/figure5_biophysical_overshoot_cascade.png step5_0_figure5_biophysical_overshoot_cascade.py Supporting Information Manuscript Content Output file Script Fig. S1 Spatial patterns of seasonal GPP standardized anomalies (2001 / 2006) outputs/figures/figure_s1_gpp_seasonal_anomalies.png step1_3_figure_s1_gpp_seasonal_anomalies.py Fig. S2 Parameter sensitivity scan of spatial EOF truncation order K outputs/figures/figure_s2_meemd_k_sensitivity.png step2_0_figure_s2_meemd_k_sensitivity.py Fig. S3 Variance spectrum and spatial coherence of leading EOFs outputs/figures/figure_s3_eof_validation.png step2_2_figure_s3_eof_validation.py Fig. S4 Domain-averaged marginal Hilbert energy spectra of hydroclimatic forcings outputs/figures/figure_s4_forcing_marginal_spectrum.png step3_1_figure_s4_forcing_marginal_spectrum.py Fig. S5 KDE distributions and K–L divergence across IMFs outputs/figures/figure_s5_imf_kde_kl_divergence_k5.png step3_0_figure_s5_imf_kde_kl_divergence.py Fig. S6 Sensitivity of cross-scale phase dynamics to extended modulation IMFs 4–7 outputs/figures/figure_s6_imf4_7_sensitivity.png step4_2_figure_s6_imf4_7_sensitivity.py Rename history (Extended Data → Supporting Information) Old name New name figure_ed2_* figure_s2_* figure_ed3_* figure_s3_* figure_ed4_* figure_s4_* figure_ed5_* figure_s5_* figure_si_imf4_7_sensitivity* figure_s6_imf4_7_sensitivity* step2_0_figure_ed2_*.py step2_0_figure_s2_*.py step2_2_figure_ed3_*.py step2_2_figure_s3_*.py step3_0_figure_ed5_*.py step3_0_figure_s5_*.py step3_1_figure_ed4_*.py step3_1_figure_s4_*.py step4_2_figure_si_imf4_7_*.py step4_2_figure_s6_imf4_7_*.py S1 archive (2026-09-14) Figure S1 (seasonal GPP standardised anomalies, 2 × 4 panels, 2001 vs 2006) was originally produced under the pre-refactor Act-1 numbering and lived outside the lp/ package. It has been consolidated into lp/ and renamed to the standard SI convention: Figure — lp/outputs/figures/figure_s1_gpp_seasonal_anomalies.png (previously act1_obs_gpp_seasonal_maps_2001_2006.png). Script (canonical) — lp/scripts/step1_3_figure_s1_gpp_seasonal_anomalies.py. GPP only: the earlier SM / T₂ panel variants were removed from the script, so S1 is exclusively the seasonal GPP anomaly map. The pre-refactor copy 5#lpnwc/scripts/step1_1a_obs_seasonal_maps.py is left in the legacy tree as historical reference but is not part of the reproducibility bundle. Environment variable Set LPNWC_RAW_ROOT to point to the data/raw_inputs/ directory if raw input files are stored elsewhere: export LPNWC_RAW_ROOT=/path/to/raw_inputs By default, lpnwc_config.py resolves raw inputs from lp/data/raw_inputs/. Compute environment The full analysis was developed and tested on the following configuration. Results are expected to be numerically identical on any Linux machine satisfying the minimum requirements. Development platform Item Specification CPU 2 × Intel Xeon Gold 6418H (24C/48T per socket, 96 hardware threads) Clock 2.1 GHz base (2.4 GHz max turbo) RAM 251 GB DDR4 ECC Storage 33 TB (NFS) OS Ubuntu 24.04.1 LTS (kernel 6.8.0-51-generic) Python 3.12.2 (conda environment DA, Anaconda3) Key dependencies Package Version numpy 2.2.5 scipy 1.15.3 matplotlib 3.10.3 xarray 2025.4.0 netCDF4 1.7.2 pandas 2.2.3 cartopy 0.24.1 scikit-learn 1.6.1 EMD-signal 1.6.4 Minimum requirements Resource Requirement RAM ≥ 64 GB (all data can be loaded into memory) Disk (full bundle) ~45 GB (42 GB data + 3 GB code/outputs) Disk (code + outputs only) ~1 GB OS Linux (required; cartopy GeoAxes and NFS paths) Network Not required (all data is self-contained) Runtime Mode Script count Estimated wall-clock time Precomputed data (--skip-phase0) 14 scripts ~5–10 minutes Full regeneration (incl. Fast-MEEMD from scratch) 16 scripts ~30–60 minutes Step 0 only (raw preprocessing, requires 67 GB raw inputs) 2 scripts ~10–15 minutes With precomputed data/fast_meemd/ and data/obs_preprocessed/ already shipped, the standard batch run completes in a few minutes on a workstation with ≥ 64 GB RAM. Run everything at once: bash scripts/run_all.sh --skip-phase0 # reuse shipped preprocessed data bash scripts/run_all.sh # include Step 0 preprocessing (needs raw inputs) Research pipeline The analysis proceeds through six sequential phases, mirroring the paper's narrative arc: Step Phase Content Key output 0 Data Preprocessing Build SM-weighted fields; detrend & standardize; target-year screening Standardized anomalies, Fig. 1a 1 Time-Domain Observational Analysis Reveal the hydrothermal resilience paradox Fig. 1, Fig. 1a, Fig. 1b, Fig. 2, Fig. S1 2 Fast-MEEMD Decomposition Spatial dimensionality optimisation (K-sensitivity); IMF extraction; EOF validation Fig. S2, Fig. S3, decomposed IMFs 3 Scale Categorization & Forcing Heterogeneity IMF KDE / K–L divergence; forcing marginal spectra; spectral gap diagnosis Fig. 3a, Fig. 3b, Fig. S4, Fig. S5 4 HHT & Cross-Scale Phase Dynamics NHT/DQ instantaneous frequency; carrier–envelope AM/FM decoupling; 2D NHT Huang Spectrum; nonlinear multiplicative amplification vs. adaptive decoupling Fig. 4, Fig. S6 5 Micro-Scale Biophysical Cascade Vertical vadose-zone moisture depletion; state-space overshoot trajectories; regime-dependent stratification Fig. 5 What this bundle contains 16 analysis & figure scripts (scripts/step*_*.py) producing all main-text and SI figures 5 library modules (scripts/lpnwc_*.py) 1 batch runner (scripts/run_all.sh) 14 PNG figures (outputs/figures/): 8 main-text + 6 SI, plus 1 vector PDF (figure_s6_imf4_7_sensitivity.pdf) 26 analysis data files (outputs/analysis/, JSON/CSV/NPZ/TXT/MD) Unified methodology lock-in: K = 5; growing season Apr 1 – Sep 30; full-calendar-year decomposition with ≥ 90-day edge buffers; NHT/DQ instantaneous frequency; nonlinear multiplicative amplification vs. adaptive decoupling terminology — see docs/ARTICLE_README.md §2–§4 Documentation in docs/ and data/ subdirectories ~42 GB of NetCDF data (data/, self-contained; no external dependencies) Output-file naming convention Analysis products whose content depends on the locked EOF truncation order carry a _k suffix (here _k5, derived from lpnwc_config.MEEMD_N_PCS = 5). The _k5 files are the canonical products referenced by the manuscript; if the locked K ever changes, regenerate them with python scripts/step3_0_figure_s5_imf_kde_kl_divergence.py. Document map File Purpose README.md This overview docs/ARTICLE_README.md Scientific context, data sources, script→figure maps, execution order, reproducibility notes docs/FIGURE_MAP.md Figure/table → output file exact mapping docs/CONTENTS_INVENTORY.md Static inventory of figures, scripts, tables and data directories DATA_LARGE_FILES.md Large-file inventory, Zenodo upload procedure data/README.md data/ sub-directory conventions and data format data/DATA_COPIED_MANIFEST.md Per-file sizes for upload planning data/raw_inputs/README.md Raw input data placeholder data/obs_preprocessed/README.md Preprocessed observation files data/fast_meemd/README.md Fast-MEEMD output files data/forcing_marginal/README.md Forcing marginal spectrum files Directory layout lp/ ├── scripts/ # 17 Python analysis/plotting scripts + 5 library modules │ ├── lpnwc_*.py # shared libraries (config, Fast-MEEMD, HHT/NHT, diagnostics) │ ├── step*_*.py # analysis steps 0–5 │ └── run_all.sh # batch runner ├── outputs/ │ ├── figures/ # 14 PNGs (8 main-text + 6 SI) + 1 SI vector PDF │ ├── analysis/ # 26 JSON/CSV/NPZ/TXT/MD analysis products │ └── tables/ # (reserved; tables currently live in outputs/analysis/) ├── data/ │ ├── raw_inputs/ # Raw input data (placeholder; see data/raw_inputs/RE

View source

Similar papers

#computer vision Review Sep 2017

Agile Software Development Methods: Review and Analysis

This publication proposes a definition and a classification of agile software development approaches and analyses ten software development methods that can be characterized as being "agile" against the defined criterion.

P. Abrahamsson, O. Salo, Jussi Ronkainen et al. · 727 citations · ⚡54
#computer vision Jun 2008

The impact of agile practices on communication in software development

The study shows that agile practices improve both informal and formal communication, but indicates that, in larger development situations involving multiple external stakeholders, a mismatch of adequate communication mechanisms can sometimes even hinder the communication.

M. Pikkarainen, Jukka Haikara, O. Salo et al. · 401 citations · ⚡48
#machine learning Review Open access Oct 2014

Software development in startup companies: A systematic mapping study

The results indicate that software engineering work practices are chosen opportunistically, adapted and configured to provide value under the constrains imposed by the startup context.

Nicolò Paternoster, Carmine Giardino, M. Unterkalmsteiner et al. · 394 citations · ⚡54

Related blog posts

Microsoft Research Blog Oct 6, 2026

What AI gets wrong and what failure teaches us

Jennifer Neville did not want to go into computer science—but that’s exactly where she landed. Neville discusses the starts and stops that led to her professional sweet spot and her work identifying “surprising failures” making it hard for AI to handle complexity.  The post What AI gets wrong and what failure teaches us appeared first on Microsoft Research.

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.