Skip to content

rellimylime/Africa_Irrigation

Repository files navigation

Africa Irrigation

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.

Where To Start

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

Repository Layout

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 specification

Analysis Modules

The 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.sh

On Windows PowerShell:

.\Code\paper1_command_area_growth\run_paper1_pipeline.ps1

The wrapper runs numbered scripts 00 through 07. Each script writes stable tables, figures, diagnostics, or intermediate data documented in the module runbook.

Supporting Workflows

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.

Outputs

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.

Environment

Create the project environment from:

conda env create -n irrigation -f requirements.yml
conda activate irrigation

Some local runs may need a GIS-enabled Python environment for geospatial packages such as GeoPandas, Rasterio, Fiona, and Shapely.

Handoff Notes

  • Use config.yaml as the path index.
  • Use the README inside each workflow directory for purpose, inputs, outputs, and run notes.
  • Keep generated outputs under Output/, not inside Code/.
  • 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.

About

Project exploring past and potential future expansion of Center Pivot Irrigation Systems in SSA.

Resources

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors