SPB Git forge

spb/wp18_uqo

Public
6commits 1branches 0releases
5.4 MBsize
maindefault branch
yesterdaylast push
TeX 53.2% Python 46.6%
2.2 KB · 67 lines make
Raw Blame History
1# WP18 — reproducible pipeline. Targets: setup / test / simulate / figures / tables / paper / all / clean2PY      ?= .venv/bin/python3PIP     ?= .venv/bin/pip4WORKERS ?= 656.PHONY: all setup test test-fast simulate simulate-force simulate-quick robustness figures tables paper paper-inputs clean clean-results78# simulate is skipped when results/data/diagnostics.json exists (60-min run); `make clean-results` first to redo it9all: test simulate figures tables paper1011setup:12	python3 -m venv .venv13	$(PIP) install --upgrade pip14	$(PIP) install -r requirements.txt1516test:17	$(PY) -m pytest tests/ -q1819test-fast:20	$(PY) -m pytest tests/ -q -m "not slow"2122# Full run: baseline + all scenario groups + transitions + welfare (about 60 min on 18 cores).23# Skipped if results/data/diagnostics.json is present; `make clean-results` (or `make simulate-force`) reruns it.24simulate:25	@if [ -f results/data/diagnostics.json ]; then \26	  echo "simulate: results/data/diagnostics.json present -> skipping the 60-min run (make clean-results to redo)"; \27	else $(MAKE) simulate-force; fi2829simulate-force:30	mkdir -p results/data results/logs results/figures results/tables31	$(PY) -m src.simulation --workers $(WORKERS) 2>&1 | tee results/logs/simulate.log32	$(PY) -m src.robustness3334# Smoke test of the whole pipeline (small panel, subset of scenarios, ~10 min)35simulate-quick:36	mkdir -p results/data results/logs37	$(PY) -m src.simulation --quick --workers $(WORKERS) 2>&1 | tee results/logs/simulate_quick.log38	$(PY) -m src.robustness3940robustness:41	$(PY) -m src.robustness4243figures:44	$(PY) -m src.figures4546tables:47	$(PY) -m src.tables4849# Copy the generated exhibits into paper/ (HARMONISATION: paper/figures, paper/tables are what main.tex includes)50paper-inputs:51	mkdir -p paper/figures paper/tables52	cp results/figures/fig*.pdf paper/figures/53	cp results/tables/*.tex paper/tables/5455paper: paper-inputs56	cd paper && latexmk -pdf main.tex5758clean:59	find . -name "__pycache__" -type d -prune -exec rm -rf {} +60	rm -rf .pytest_cache61	cd paper && latexmk -c 2>/dev/null || true62	cd paper && latexmk -c appendix_proofs_standalone.tex 2>/dev/null || true63	rm -f paper/appendix_proofs_standalone.pdf6465clean-results:66	rm -rf results/data/* results/figures/* results/tables/* results/logs/*67