# Simulations Runnable implementations of the models in `models/`. Each simulation names the model version it implements. | Directory | Model | Entry points | |-----------|-------|--------------| | `gadm02/` | GADM-0.2 (`models/GADM-0.2.md`) | `run_scenarios.py`, `sensitivity.py`, `gsa.py`, `test_gadm02.py` | | `gadm02/gadm03.py` | GADM-0.3: power channels, wealth, attention (`models/GADM-0.3.md`) | `power_channels.py`, `wealth.py`, `organism_grid.py`, `test_gadm03.py` | | `gadm02/gadm03c.py` | GADM-0.3 with life-cycle cohorts (`models/GADM-0.3.md` § 5) | `life_cycle.py`, `test_gadm03c.py` | | `gadm02/gadm04.py` | GADM-0.4: durable capability, grounded dO, equilibrium start, cohort agency (`models/GADM-0.4.md`) | `life_cycle.py --model gadm04`, `robustness.py`, `agency.py`, `grounded_readings.py`, `test_gadm04.py` | | `gadm02/grounding.py` | evidence-grounded parameter sets and adoption band B1–B4 (`models/ParameterGrounding.md`, `models/AdoptionBand.md`) | `variant("slow" \| "central" \| "fast" \| "aggressive")`, `band_probe.py`, `legitimacy.py` | Python 3.10+, standard library only. Use `python3 -B` after quick edits: a stale bytecode cache can mask same-size changes made within the same second. ```bash python3 -m unittest discover -s simulations/gadm02 # tests cd simulations/gadm02 && python3 run_scenarios.py # → results/summary.md + CSVs cd simulations/gadm02 && python3 sensitivity.py # → results/sensitivity.md cd simulations/gadm02 && python3 -B gsa.py --jobs 8 # → results/gsa.md (--model gadm04 → gsa_gadm04.md; --quick) ``` Results under `results/` are committed so that model documents can cite them. Regenerate them after any change to the model or the scenarios.