This directory contains one standalone Python script per figure in the Naar et al. 2026 Late Ordovician paper, with corresponding post-processed model data.
All figures were made with Python 3.8 and the following Python packages:
xarraynumpymatplotlibcmoceancartopy
The same package list is also provided in requirements.txt.
code/: one Python script per figure.data/: NetCDF files read by the scripts, organized asipsl/,foam/, andbristol/.figures/: created automatically when a script is run.
The scripts read data from ../data relative to the script location, so the directory can be moved or zipped as a self-contained package. The default output directory is ../figures.
The NetCDF files are reduced to the variables used by the figure scripts. For the IPSL and FOAM simulation outputs, the retained variables remain on their native non-averaged grids and time axes, so the averaging and diagnostics are still done in the scripts. The only exception is data/ipsl/TS/: these files keep only the global ocean area-weighted thetao time series at the three depths used in Figure A1. The full 4D annual thetao fields are not included.
Optional environment variables:
DATA_DIR: override the packageddata/directory.FIGURE_OUTPUT_DIR: override the defaultfigures/directory.IPSL_MESHandTOPO_FILE: override these two utility NetCDF paths when needed.
The Python source code in code/ is licensed under the MIT License; see LICENSE.
The NetCDF data files in data/ and PDF figures in figures/ are licensed under Creative Commons Attribution 4.0 International (CC BY 4.0); see DATA_LICENSE.
Please cite the archived Zenodo DOI associated with this data and figure repository. Citation metadata are provided in CITATION.cff, and Zenodo metadata are provided in .zenodo.json.
| PDF figure | Script | Output |
|---|---|---|
| Figure 1 | code/fig01_paleogeography_1col.py |
figures/fig01_paleogeography_1col.pdf |
| Figure 2 | code/fig02_pco2_tsurf_seaice.py |
figures/fig02_pco2_tsurf_seaice.pdf |
| Figure 3 | code/fig03_sst_zonal_isotherm.py |
figures/fig03_sst_zonal_isotherm.pdf |
| Figure 4 | code/fig04_ocean_structure.py |
figures/fig04_ocean_structure.pdf |
| Figure 5 | code/fig05_ipsl_msf_eddy.py |
figures/fig05_ipsl_msf_eddy.pdf |
| Figure 6 | code/fig06_ebm_diagnostics.py |
figures/fig06_ebm_diagnostics.pdf |
| Figure 7 | code/fig07_hadcm3l_comparison.py |
figures/fig07_hadcm3l_comparison.pdf |
| Figure A1 | code/figA1_thetao_temporal_drift.py |
figures/figA1_thetao_temporal_drift.pdf |
| Figure B1 | code/figB1_ebm_monthly_accuracy.py |
figures/figB1_ebm_monthly_accuracy.pdf |
| Figure C1 | code/figC1_cloud_fraction_structure_landscape.py |
figures/figC1_cloud_fraction_structure_landscape.pdf |