Skip to content

msarofim/SLR-RFF-BRICK

Repository files navigation

SLR-RFF-BRICK

Probabilistic sea-level rise from RFF-SP × FaIR × MimiBRICK.

This repository contains the reproducible pipeline coupling Resources for the Future's RFF-SP probabilistic socio-economic / emissions ensemble (Rennert et al. 2022) with the FaIR v2.2.4 reduced-complexity climate model (using the FaIR-calibrate v1.4.1 posterior of Smith et al. 2024) and MimiBRICK, importance-weighted against observed historical GMSL via the Wong (2026) AR(1) likelihood. Outputs include probabilistic projections of GMST and GMSL through 2300, Hawkins-Sutton variance decomposition by uncertainty source, and pulse-marginal climate responses for social-cost-of-GHG use.

The headline final ensemble is the LHS-10k conditional-BRICK design: 10,000 Latin-Hypercube-sampled (RFF, FaIR cfg, BRICK posterior) triplets, Wong-weighted to give an effective sample size of 7,037.

A direct intellectual companion is Darnell et al. 2025 (Nat Clim Change 15:1205–1211, doi:10.1038/s41558-025-02457-0), who decompose total-SLR uncertainty across emissions vs geophysical sources at the multi-century horizon.

Deliverables

This repository backs two artifacts:

  • Substack post, "Certainties and Uncertainties" (Sarofim, 2026-05-20): https://thesaraphreport.substack.com/p/certainties-and-uncertainties. The post's methods discussion is drawn from METHODS.md; final figures live under outputs/substack/.

  • AGU Chapman SLR conference poster — 46″ × 46″, by Marcus C. Sarofim, James E. Neumann, and Megan Sheahan. Current layout mockup at outputs/poster/layout_mockup.{png,pdf}; abstract at ABSTRACT.md; IEc-graphics handoff checklist at notes/poster_iec_handoff.md. The current commit reflects the near-final scientific layout. IEc graphics is applying final visual polish ahead of the conference; the print-ready PDF (and the v1.0-poster-agu-chapman tag) will land in the repo once that's complete (expected ≈ 2026-06-01). In the meantime, the science, figure data, and references in this repo are stable; the pending changes are graphics-only.

    QR-code target for the printed poster: https://github.com/msarofim/SLR-RFF-BRICK/tree/v1.0-poster-agu-chapman (the tag is created when the poster is delivered).

Acknowledgements

Analysis pipeline development, methods writeup, and reproducibility infrastructure were prepared with assistance from Claude Code (Anthropic). All scientific decisions, model choices, and final interpretations are the authors'.

Quick start

git clone https://github.com/msarofim/SLR-RFF-BRICK.git
cd SLR-RFF-BRICK
conda env create -f environment.yml
conda activate slr-rff-brick

The final figures are committed as PNGs/PDFs under outputs/substack/ and outputs/poster/ — open them directly. To regenerate them:

Tier 1 — these figures regenerate from CSVs already in the repo (no external download):

python python/scripts/substack/pulse_hawkins_sutton.py
python python/scripts/substack/pulse_responses_clean.py
python python/scripts/substack/updated_hawkins_sutton_slr.py
python python/scripts/substack/pulse_convergence.py
python python/scripts/poster/layout_mockup.py

Tier 2 — these figures need the Zenodo data download (GMST cube and/or the LHS-10k baseline weighted CSV, ~6 GB total):

bash scripts/download_data.sh
python python/scripts/substack/obs_overlay.py
python python/scripts/substack/obs_overlay_slr.py
python python/scripts/substack/obs_overlay_recent.py
python python/scripts/substack/exceedance_table.py
python python/scripts/substack/exceedance_crossing_year.py
python python/scripts/substack/median_crossing_year.py
python python/scripts/substack/updated_hawkins_sutton.py
python python/scripts/poster/slr_band.py

The committed CSVs in outputs/plots/ and outputs/substack/ carry every figure-input summary (variance decomposition, pulse-marginal, exceedance summary); the gitignored large files (FaIR cubes, LHS-10k weighted ensembles) are needed only by figures that bin / quantile from the per-trajectory ensemble directly.

Reproducibility tiers

Tier What you get Extra setup Compute
1. Variance / pulse figures Regenerate the variance-decomposition + pulse-marginal substack/poster figures from committed CSVs laptop, ~2 min
2. Cube + ensemble figures Tier 1 + all GMST-cube-based and SLR-band figures regenerated from raw ensembles bash scripts/download_data.sh (~6 GB Zenodo) laptop, ~10 min
3. Re-run BRICK from cubes Regenerate the LHS-10k weighted ensembles from FaIR cubes; H-S decompositions; pulse marginals Tier 2 + MimiBRICK posterior CSV + Julia env NYU Torch HPC, ~10 min wall
4. Re-run FaIR from emissions Regenerate the FaIR cubes from RFF-SP emissions Tier 3 + RFF-SP 7-Zip (~1.4 GB, Zenodo 6016583) NYU Torch HPC, ~few hours

See METHODS.md for the technical pipeline description.

Repository layout

SLR-RFF-BRICK/
├── README.md              you are here
├── METHODS.md             methods writeup (sampling, weighting, anchors, decompositions)
├── LICENSE                MIT
├── CITATION.cff           machine-readable citation
├── .zenodo.json           metadata for the repo's Zenodo DOI (auto-deposited on tagged release)
├── environment.yml        conda env (recommended)
├── requirements.txt       pip-only fallback
├── scripts/
│   └── download_data.sh   fetch Tier 2 intermediates from Zenodo
├── python/                Python modules and entry-point scripts (see python/scripts/)
├── julia/                 BRICK Julia driver + lockfile
├── slurm/                 NYU Torch HPC submit scripts
├── data/
│   ├── README.md          inventory; pointers to external sources
│   ├── observations/      small obs CSVs (Dangendorf, NOAA STAR, IGCC, BE) [tracked]
│   ├── MimiBRICK/         placeholder; fetch posterior CSV separately
│   ├── RFF-SP-emissions/         [gitignored — Zenodo 6016583]
│   └── RFF-SP-socioeconomics/    [gitignored — Zenodo 6016583]
├── outputs/
│   ├── README.md          inventory; what's tracked vs Zenodo
│   ├── plots/             H-S decomp CSVs + obs-vs-model CSVs + final panel PNGs
│   ├── substack/          figure-input summary CSVs + final substack figures
│   └── poster/            final poster panel figures + layout mockup
├── notes/                 working handoff notes (decision history, methods drafts)
├── docs/                  supplementary technical docs
└── BRICK_notes.md         project-specific BRICK notes

Tier 3 quickstart (re-run BRICK from FaIR cubes)

# 1. Download intermediate data (~6 GB) from Zenodo
bash scripts/download_data.sh

# 2. Place the MimiBRICK posterior subsample (see data/MimiBRICK/README.md)
cp /path/to/parameters_subsample_brick.csv data/MimiBRICK/

# 3. Push to Torch and run the BRICK pipeline
rsync -avz --exclude='.git' . torch:/scratch/$USER/SLR-RFF-BRICK/
ssh torch "cd /scratch/$USER/SLR-RFF-BRICK && sbatch slurm/submit_lhs10k_brick_pipeline.sh"

# 4. Pull weighted CSVs back, regenerate figures
rsync -avz torch:/scratch/$USER/SLR-RFF-BRICK/outputs/brick_lhs10k_*_weighted.csv outputs/
python python/scripts/poster/slr_band.py

Tier 4 quickstart (re-run FaIR from RFF-SP emissions)

# 1. Download RFF-SP socio-economic + emissions ensemble
# https://zenodo.org/records/6016583  ->  rffsps_v5.7z  (~1.4 GB)
7z x rffsps_v5.7z -odata/

# 2. Generate the production FaIR cube on Torch (FaIR is fast but the
#    paired production cube is hours of CPU)
ssh torch "cd /scratch/$USER/SLR-RFF-BRICK && sbatch slurm/submit_lhs_fair.sh"
# Repeat with submit_small_pulse_fair.sh for the +0.01 GtC pulse companion.

# 3. From there, Tier 2 / Tier 1 as above.

Citation

If you use this code or its outputs, please cite the repository (CITATION.cff) plus the underlying methods papers:

Contact

Marcus Sarofim  ·  msarofim@gmail.com NYU Marron Institute of Urban Management / Johns Hopkins EPCP

License

  • Code: MIT — see LICENSE.
  • Non-code content (figures, poster, prose in METHODS.md / ABSTRACT.md): CC-BY-4.0 — see LICENSE-CONTENT.

About

Probabilistic sea-level rise from RFF-SP × FaIR v2.2.4 × MimiBRICK. Backs the AGU Chapman SLR poster and the 'Certainties and Uncertainties' substack post (Sarofim 2026). Intermediate data on Zenodo: 10.5281/zenodo.20312325

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE-CONTENT

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors