Skip to content

Commit 168ceb4

Browse files
docs: clean README + rebuild published-results block from results/summary.csv (PS5.1-safe)
1 parent 61b5da6 commit 168ceb4

File tree

2 files changed

+107
-3
lines changed

2 files changed

+107
-3
lines changed

README.backup_20260208_023545.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# Mars Colony Viability (Strict Science-Only Baseline)
2+
3+
This repository starts from **zero assumptions** and enforces a hard rule:
4+
5+
> **No numeric parameter is used unless it is backed by a verifiable primary source** (NASA/ESA technical reports, peer-reviewed journals, or NASA NTRS).
6+
7+
All verified numeric anchors are stored in `models/verified_constants.py` and documented in `VERIFIED_SOURCES.md`.
8+
9+
## What this repo answers (v0.0.x baseline)
10+
A narrow, falsifiable engineering question:
11+
12+
**Given colony size `N0`, initial stores of O2 and water, local closure fractions, and discrete resupply windows: _when does the colony collapse due to O2 or water depletion?_**
13+
14+
Radiation is tracked only as **dose bookkeeping** using published cruise vs surface dose-equivalent rates.
15+
This repo does **not** convert dose to clinical outcomes.
16+
17+
## Negative-result posture (important)
18+
This project is designed to surface constraints. If a scenario collapses, that is a scientifically useful result (it reveals required closure/resupply conditions).
19+
20+
## What this repo explicitly does NOT do (yet)
21+
- Food/calories model (requires verified agricultural yields and energy budgets).
22+
- Fertility / multi-generational physiology at 0.38g (no verified human dataset).
23+
- Long-duration ISRU reliability curves (requires demonstrated multi-year plant datasets).
24+
- Terraforming claims.
25+
26+
See `docs/NON_CLAIMS.md`.
27+
28+
## Quickstart
29+
### Install
30+
`ash
31+
python -m venv .venv
32+
# Windows PowerShell:
33+
. .\\.venv\\Scripts\\Activate.ps1
34+
python -m pip install --upgrade pip
35+
pip install -r requirements.txt
36+
`ash
37+
python main.py --help
38+
Because parent directories may contain unrelated pytest configs, always run:
39+
`ash
40+
python -m pytest -c pytest.ini
41+
- `docs/methodology.md` ? equations, units, collapse criterion (no speculative numbers)
42+
- `docs/NON_CLAIMS.md` ? explicit scope limits and non-claims
43+
- `paper/manuscript.md` ? manuscript scaffold (Markdown -> LaTeX/PDF later)
44+
45+
## Citation
46+
See `CITATION.cff`.
47+
48+
- If/when a Zenodo DOI exists, it will be added to `CITATION.cff` and pinned in a new release.
49+
50+
## DOI
51+
Zenodo DOI: 10.5281/zenodo.18517605
52+
53+
54+
55+
56+
57+
## Published Results (Reproducible)
58+
59+
The following scenarios were executed using the public codebase.
60+
All results below are generated directly from model execution.
61+
62+
See:
63+
- \esults/published_metrics.csv\
64+
- \esults/published_metrics.md\
65+
66+
Key observable metric:
67+
- \days_elapsed\: simulated survival time until system collapse.
68+
69+
70+
71+
<!-- PUBLISHED_RESULTS_START -->
72+
## Published Results (Reproducible)
73+
74+
Source of truth: results/summary.csv (generated by running the public model).
75+
76+
Reproduce (PowerShell):
77+
`powershell
78+
python -m scripts.run_scenarios
79+
| scenario_id | N0 | o2_storage_days | water_storage_days | o2_local_fraction | water_local_fraction | water_recovery_fraction | launch_window_days | missed_window_probability | collapsed | collapse_day | dose_msv |
80+
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
81+
| S1_baseline | 12 | 365 | 365 | 0.97 | 0.98 | 0.98 | 780 | 0.2 | False | N/A | N/A |
82+
| S2_higher_closure_buffers | 12 | 730 | 730 | 0.995 | 0.995 | 0.98 | 780 | 0.1 | False | N/A | N/A |
83+
| S3_scale_stress | 50 | 365 | 365 | 0.98 | 0.985 | 0.98 | 780 | 0.2 | False | N/A | N/A |
84+
85+
### Figures
86+
- ![o2_metric_by_scenario](results/figures/o2_metric_by_scenario.png)
87+
- ![water_metric_by_scenario](results/figures/water_metric_by_scenario.png)
88+
89+
### Falsifiable outcome statements
90+
- S1_baseline: N0=12, O2_local_fraction=0.97, Water_local_fraction=0.98, launch_window_days=780, missed_window_probability=0.2 -> collapsed=False at day=N/A; dose_msv=N/A
91+
- S2_higher_closure_buffers: N0=12, O2_local_fraction=0.995, Water_local_fraction=0.995, launch_window_days=780, missed_window_probability=0.1 -> collapsed=False at day=N/A; dose_msv=N/A
92+
- S3_scale_stress: N0=50, O2_local_fraction=0.98, Water_local_fraction=0.985, launch_window_days=780, missed_window_probability=0.2 -> collapsed=False at day=N/A; dose_msv=N/A
93+
94+
Notes:
95+
- If collapse_day is N/A, the current run ended without emitting a collapse day for that scenario (model output), not a manual edit.
96+
<!-- PUBLISHED_RESULTS_END -->
97+
98+

README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,14 @@ Key observable metric:
7474
Source of truth: results/summary.csv (generated by running the public model).
7575

7676
Reproduce (PowerShell):
77-
`powershell
78-
python -m scripts.run_scenarios
77+
python -m scripts.run_scenarios
78+
79+
Artifacts:
80+
- results/summary.csv
81+
- results/summary.md
82+
- results/figures/*.png (if generated)
83+
84+
### Summary table (from results/summary.csv)
7985
| scenario_id | N0 | o2_storage_days | water_storage_days | o2_local_fraction | water_local_fraction | water_recovery_fraction | launch_window_days | missed_window_probability | collapsed | collapse_day | dose_msv |
8086
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
8187
| S1_baseline | 12 | 365 | 365 | 0.97 | 0.98 | 0.98 | 780 | 0.2 | False | N/A | N/A |
@@ -92,7 +98,7 @@ python -m scripts.run_scenarios
9298
- S3_scale_stress: N0=50, O2_local_fraction=0.98, Water_local_fraction=0.985, launch_window_days=780, missed_window_probability=0.2 -> collapsed=False at day=N/A; dose_msv=N/A
9399

94100
Notes:
95-
- If collapse_day is N/A, the current run ended without emitting a collapse day for that scenario (model output), not a manual edit.
101+
- If collapse_day is N/A, the run ended without emitting a collapse day for that scenario (model output), not a manual edit.
96102
<!-- PUBLISHED_RESULTS_END -->
97103

98104

0 commit comments

Comments
 (0)