January 2017, K. Kvale (kkvale@geomar.de) This directory contains all files and links to files needed to reproduce Kvale et al. (2017), Evaluation of the Transport Matrix Method for simulation of ocean biogeochemical tracers, Geoscientific Model Development Discussions: reproduce_the_paper/ This directory contains: 1) Model output used to make the figures found in the manuscript (Offline_output/, UW3_output/, FCT_output/) 2) Figure scripts used in the manuscript (figure_scripts/) -- UVic_Kiel_increase_isopyc_diff/ This directory contains transport matrices and related files used in the offline simulations. -- UVOK_Matrix1_test/ This directory contains the source code of UVOK, the TMM interface to the Kiel version of UVic ESCM's biogeochemical model; Matlab scripts to generate all necessary input data and load output; and an example run script. This is the code used in the paper. The latest version is always to be found at https://github.com/samarkhatiwala/tmm/, where you can also find more details on using the TMM. To run this code requires a number of components that are not distributed here: 1) The full, updated UVic ESCM 2.9 model code available from: UVic_ESCM.2.9.updated.tar.gz (2013-8-1) at http://wikyonos.seos.uvic.ca/model/ 2) Modifications to (1) involving extensive changes of the biogeochemical model and code implementing transport matrix extraction and interfacing of the biogeochemical model to the TMM: https://thredds.geomar.de/thredds/catalog/open_access/Kiel_Jan_2017_updates_to_UVIC2.9/catalog.html OR http://kelvin.earth.ox.ac.uk/spk/Research/TMM/Kiel_Jan_2017_updates_to_UVIC2.9.tar.gz 3) Matlab scripts to generate input data and read output: http://kelvin.earth.ox.ac.uk/spk/Research/TMM/tmm_matlab_code.tar.gz Unpack and add all the directories to your Matlab path. 4) A working installation of PETSc (http://www.mcs.anl.gov/petsc/) compiled with MPI and Fortran support. The TMM code is compatible with PETSc version 3.6.x. Once you have all the above components: 1) Edit Makefile to set the variables BASES1 to point to the toplevel of Kiel_Jan_2017_updates_to_UVIC2.9; BASE2 to the version 2.9 updates directory; and BASE3 to the main 2.9 source tree. 2) Compile with: make smallf make tmmuvok 3) Generate input data by executing 'make_input_files_for_uvok_model.m' in Matlab. 4) Run the model using 'runscript'. 'tmmuvok' is a parallel program which you can execute with mpirun/mpiexec or whatever the appropriate wrapper command is on your machine. 5) Load the output in Matlab with load_output_time_avg.m and load_diagnostics.m. This will also write the output in netcdf format.