pySCION is an open-source pythonic version of the Spatial Continuous Integration (SCION) - Earth Evolution Model. pySCION is a global climate-biogeochemical model that runs over geological timescales. It runs forwards in time and computes the Earth’s major elemental cycles and surface climate. It also predicts the values of a suite of geochemical tracers to aid in hypothesis testing.

It requires python and a few non-standard libraries (detailed below) to run. Tested on Mac, linux and windows.

Installation guide

It's best to make a new python environment to ensure compatibility, I use conda to manage python installations and instructions can be found here to install on Mac/windows/linux (https://docs.conda.io/en/latest/). Install time should be a few minutes.

To run pySCION make a new environment and install required libraries.

make new conda environment
conda create --name pySCION_env

required libraries not installed by default

conda install numpy
pip install metpy
pip install openpyxl

To run the model

A series of Jupyter Notebooks are provided to run the model and visualise some results.

For single run use the notebook call_pySCION.ipynb. This run produces an 'average' model result (i.e. no sensitivity analysis or uncertainty) and should take less than ten seconds on a computer. It will produce a series of plots detailing the modelled evolution of Earth's surface conditions/chemical reservoirs and fluxes.

for sensitivity analysis, pySCION must be run from command line/terminal.

In the same folder as all the files, load your conda environment created above and run:

python pySCION_sens.py

Default is 6 cores and 1000 runs, can be changed in the pySCION_sens.py file, output is to './results/). This command can variably take from 10 minutes to an hour depending on your computer and how many cores you use. Output is a panel of figures showing model results with uncertainty.

To plot key results of sensitivity analysis (i.e. the main results figures show in the manucsript), use the Jupyter Notebook 'plot_key_results.ipynb'