HIVsim Zimbabwe model
# hivsim_zim
HIVsim Zimbabwe: a calibrated HIV model on the Starsim / STIsim stack, used to
reproduce published Zimbabwe results from two multi-model comparison studies
and to draft a validation preprint. See `ANALYSIS_PLAN.md` for the sprint brief.
## What's in the repo
- `model.py` — HIV-only Zimbabwe sim (HIV disease + structured sexual network +
Zimbabwe demographics), 1985–2040. Slim wrapper around stisim's `sti.HIV` and
`sti.StructuredSexual`.
- `hiv_model.py` — HIV disease module + interventions (testing programs, ART,
VMMC, PrEP) with time-varying coverage from `data/n_art.csv`,
`data/n_vmmc.csv`.
- `priors.py` — HIV-relevant calibration priors (`hiv.beta_m2f`,
`hiv.rel_init_prev`, network shape).
- `data/` — Zimbabwe HIV surveillance (`zimbabwe_hiv_calib.csv`), initial
prevalence, ART / VMMC coverage, demographics (age structure, ASFR, deaths,
migration, condom use).
- `calibration/artifacts/` — 500-draw LHS × K=5 sim-averaging calibration
outputs from the `sti_notification` project (experiment 06, 2026-06-24).
Includes the top-10 draws by GoF (`draws_top10.csv`), the full 500-draw
prior sample (`priors_500.csv`), per-draw calibration metrics
(`per_draw_means_wholepop.csv`), and the calibration write-up
(`CALIBRATION_SUMMARY.md`).
- `reference/` — digitised / appendix data from the target papers (populated
during the sprint).
- `outputs/` — simulated indicator time series (gitignored).
- `figures/` — comparison figures (gitignored).
## Provenance
The calibrated model is lifted from
sti_notification (private, IDM), where HIV was
calibrated jointly with syphilis + NG/CT/TV/BV against Zimbabwe MoH and
ZIMPHIA data. The joint HIV–syph coupling in that fit is
`hiv → syph` (HIV+ agents are more susceptible to syph), not the
reverse, so dropping the STIs here does not materially perturb the HIV
trajectory. The calibration itself ran on stisim `fix/ng-tx@731bc1d`.
## Quick start
```bash
pip install -r requirements.txt
python model.py # smoke t …