This repository is a handoff workspace for remote-sensing analyses of irrigation expansion and water-source context in Africa. It collects reusable processing code, data-path configuration, provenance notes, diagnostics, and selected outputs that collaborators can inspect, rerun, or extend.
The most complete script-first analysis module currently is:
Code/paper1_command_area_growth/
The folder name reflects its origin in a paper draft, but the module should be
treated as a reusable command-area growth analysis. A subset of its tables,
figures, and diagnostics is compiled under Output/Paper1_CommandAreaGrowth/
as one possible story package.
| Need | Start here |
|---|---|
| Understand or run the command-area growth analysis | Code/paper1_command_area_growth/README.md |
| See exact pipeline commands | Code/paper1_command_area_growth/RUNBOOK.md |
| Check command-area source choices and assumptions | Code/paper1_command_area_growth/COMMAND_AREA_SOURCE.md |
| Use the curated command-area result package | Output/Paper1_CommandAreaGrowth/README.md |
| Inspect supporting CPIS and water-source analyses | Code/2_water_source_analysis/README.md |
| Check configured input/output paths | config.yaml |
Africa_Irrigation/
|-- Code/
| |-- paper1_command_area_growth/ command-area growth analysis module
| |-- 0_process_data/ preprocessing notebooks and scripts
| |-- 1_analyze_data/ CPIS expansion analyses
| |-- 2_water_source_analysis/ supporting water-source analyses
| |-- Archive/ archived exploratory material
| `-- utils/ shared helpers
|-- Data/
| |-- Raw/ external inputs, not tracked
| `-- Processed/ derived analytical inputs, mostly not tracked
|-- Output/
| |-- Paper1_CommandAreaGrowth/ curated command-area result package
| |-- Archive/ preserved legacy/generated outputs
| |-- Analyze/ older analysis outputs
| `-- Process/ older preprocessing outputs
|-- config.yaml dataset paths and output locations
`-- requirements.yml conda environment specificationThe command-area growth module is the current reproducible analysis spine. It
compares gridded AEI growth inside and outside modeled large-dam command-area
envelopes for arid Sub-Saharan Africa, writes analytical source tables under
Data/Processed/Paper1_CommandAreaGrowth/, and compiles selected results under
Output/Paper1_CommandAreaGrowth/.
From the repository root:
bash Code/paper1_command_area_growth/run_paper1_pipeline.shOn Windows PowerShell:
.\Code\paper1_command_area_growth\run_paper1_pipeline.ps1The wrapper runs numbered scripts 00 through 07. Each script writes stable
tables, figures, diagnostics, or intermediate data documented in the module
runbook.
Other workflow folders preserve useful analysis history and supporting context:
Code/0_process_data/prepares shared inputs.Code/1_analyze_data/summarizes CPIS expansion and regional patterns.Code/2_water_source_analysis/explores CPIS activity, elevation feasibility, groundwater productivity, dam-accessibility classes, anomaly checks, and spatial statistics.
Treat older notebooks as provenance unless their logic has been ported into a current workflow or regenerated as a stable table or figure.
Selected, shareable outputs are tracked under Output/. The most complete
curated result package is:
Output/Paper1_CommandAreaGrowth/
This package is a selection of command-area growth results and diagnostics that can support a paper or presentation story. It is not the full scope of the repository.
Legacy generated dam-analysis outputs that used to live under Code/ are
preserved under:
Output/Archive/Dam_Analysis/
Large raw data and most intermediate processed data are not tracked. Paths are
configured in config.yaml.
Create the project environment from:
conda env create -n irrigation -f requirements.yml
conda activate irrigationSome local runs may need a GIS-enabled Python environment for geospatial packages such as GeoPandas, Rasterio, Fiona, and Shapely.
- Use
config.yamlas the path index. - Use the README inside each workflow directory for purpose, inputs, outputs, and run notes.
- Keep generated outputs under
Output/, not insideCode/. - Prefer stable scripts and generated tables for cited results; use notebooks mainly for exploration or provenance unless they have been rerun with current inputs.
- Treat story packages, including
Output/Paper1_CommandAreaGrowth/, as curated selections from the broader analysis repository.