This repository contains code underlying the analysis of a probabilistic ensemble of carbon cycle, temperature, sea level, and coastal adaptation costs/damages. The work is detailed in a preprint here, and this link will be updated as the manuscript moves through peer review.
The analysis was conducted in Julia v1.10. The analysis will work fine in earlier versions of Julia, but it will take significantly longer (a day or two instead of a few hours, on a high-end desktop workstation). In the Julia REPL, add the required packages by running the following.
]
add Mimi
add MimiCIAM
add Query
add CSV
add StatsBase
add NetCDF
add DataFrames
add Distributions
add Dates
add ProgressMeter
[backspace to exit]
If you obtained this repository via Zenodo, then the underlying carbon cycle-temperature-sea level projection ensemble is contained within that zipped folder. If you obtained this from GitHub, you can collect the ensemble of Darnell et al 2024 from Zenodo (https://zenodo.org/records/11397684; be sure you are using version 4) or automatically while running the reproduction code as detailed below. The code will automatically check for the ensemble data and download it if you don't already have it. It just makes running the simulations take a bit longer.
To reproduce the analysis of Wong et al 2024, do the following.
Run the Julia script run_sims.jl
with:
ssp_rcp_scenarios = [(2,45)] # what combinations of SSP (first) and RCP (second)?
nensemble = 5000 # how many ensemble members for the Monte Carlo?
surgeoption = 2 # which surge data sets to use (0 = original CIAM/DINAS-COAST; 1 = GTSR-corrected D-C; 2 = GTSR nearest data points)
Once completed (in Julia v1.10, takes about 3 hours), the analysis and plots are done within the Jupyter notebook (Python) analysis_darnell.ipynb
.
Run the Julia script run_sims.jl
with:
ssp_rcp_scenarios = [(4,60)] # what combinations of SSP (first) and RCP (second)?
nensemble = 5000 # how many ensemble members for the Monte Carlo?
surgeoption = 2 # which surge data sets to use (0 = original CIAM/DINAS-COAST; 1 = GTSR-corrected D-C; 2 = GTSR nearest data points)
Once completed (in Julia v1.10, takes about 3 hours), the analysis and plots are done within the Jupyter notebook (Python) analysis_darnell.ipynb
.
Run the Julia script run_sims.jl
with:
ssp_rcp_scenarios = [(2,45)] # what combinations of SSP (first) and RCP (second)?
nensemble = 5000 # how many ensemble members for the Monte Carlo?
surgeoption = 0 # which surge data sets to use (0 = original CIAM/DINAS-COAST; 1 = GTSR-corrected D-C; 2 = GTSR nearest data points)
Once completed (in Julia v1.10, takes about 3 hours), the analysis and plots are done within the Jupyter notebook (Python) analysis_darnell.ipynb
.
Only do this step after you've done the replication of the main text results (above), so that the code will ensure the simulation ensemble is downloaded and in the proper place. Then, run the Jupyter notebook (Python) plot_temp_and_gmsl_darnell.ipynb
.
The supplemental figure showing a map of local sea level rise in the year 2100 can be generated by running the Jupyter notebook (Julia) plot_lslr.ipynb
.
Questions? Feedback? Tony Wong (aewsma at rit.edu) We are also interested in helping folks use other sea-level projections with MimiCIAM. So, please also feel free to ask questions and/or open issues in the MimiCIAM.jl GitHub repository.