Comparison of Net Primary Production (NPP) Models with In Situ Observations at four Data-Rich, Time-Series Locations
Annual mean net primary production (NPP) for six different MODELS. Printed on top of each map is the globally integrated average values of NPP for each model.
This repository contains a collection of MATLAB scripts developed to evaluate and compare net primary production (NPP) models against in situ data. The scripts process, format and visualise freely-available NPP model-derived products for the global ocean and compare them with in situ oceanographic data from four time-series locations using the 14C technique, enabling the identification of the most optimal NPP model based on this comparison. The workflow addresses the often-overlooked task of systematically assessing multiple existing datasets used for forcing/calibrating/validating ocean biogeochemical models.
The five analysed NPP models include:
- Vertically Generalized Production Model (VGPM).
- Carbon-based Production Model (CbPM).
- Carbon, Absorption, and Fluorescence Euphotic-resolving (CAFE) model.
- ESA Biological Pump and Carbon Exchange Processes (BICEP) project model.
- Carr (2002) model.
To use the content of this repository, ensure you have the following.
- MATLAB version R2021a or later installed.
- Third-party functions downloaded from MATLAB'S File Exchange:
brewermap
andsubaxis
. Once downloaded, please place the functions under the./resources/external/
directory.
./code/
: contains the MATLAB scripts for analysing and visualising data (provided, see "MATLAB Scripts" section)../data/
./raw/
: raw NPP data, comprising models and in situ observations (partly provided, see "Obtaining Raw Data" section)../processed/
: output data generated by the MATLAB scripts (partly provided, unless size limits restrictions).
./resources/
./external/
: third-party resources for plotting and functions (see "Requirements" section)../internal/
: custom MATLAB functions generated specifically for calculating and plotting (provided).
./figures/
: figures generated from processed data (provided).
Raw NPP model-derived data products were obtained as .nc
files from the repositories corresponding to the five models listed above. These raw files were then processed using scripts in this related repository (not included here due to size constraints). The processing resulted in the following six .mat files:
npp_vgpm_modis.mat
npp_cbpm_modis.mat
npp_cafe_modis.mat
npp_bicep.mat
npp_carr2002_seawifs_pathfinder_zeub97.mat
npp_carr2002_modis_pathfinder_zeuc02.mat
To proceed, place these generated files in the ./data/raw/
directory. Additionally, the ./data/raw/
directory contains:
- In situ data, provided as an Excel file
npp_c14.xls
. - The file
custom_mask_icefrac_cmems_chla_occci.mat
, used to mask grid cells where NPP calculations are invalid. This mask considers both chlorophyll a presence and photosynthetically active radiation (PAR0) availability, ensuring biologically plausible outputs. It was generated using scripts in this related repository.
Num | Script name | Script action |
---|---|---|
1 | main.m | Main entry point for running the entire data processing and plotting pipeline |
2 | calculateGloballyIntegratedNpp.m | Calculation of globally integrated NPP stocks |
3 | fillGapsInSurfaceOceanForcing.m | Fills NaN gaps in data using a multi-step interpolation process and a mask created using chlorophyll a and light availability |
4 | mapMonthlyNpp.m | Visualisation of monthly modelled NPP |
5 | mapAnnualNpp.m | Visualisation of annual modelled NPP |
6 | processInsituNpp.m | Processing of 14C in situ observations and monthly values |
7 | extractLocalModelledNpp.m | Extraction of modelled NPP at study locations |
8 | calculateMatchupStatistics.m | Calculation of matchup statistics |
9 | plotBarChartInsituVsModelled.m | Bar chart comparison of observations-models |
The provided scripts perform a matchup analysis using in situ data from the following four time-series study sites:
- U.S. Joint Global Ocean Flux Study (JGOFS) Equatorial Pacific process study experimental site (EqPac), in the central equatorial Pacific upwelling system (0ºN, 140ºW).
- Hawaii Ocean Time-series (HOT) station ALOHA, in the subtropical NE Pacific (22.5ºN, 158ºW).
- Bermuda Atlantic Time-Series (BATS) study site, in the subtropical NW Atlantic (31.6ºN, 64.2ºW).
- Ocean Station Papa (OSP), in the high-nutrient, low-chlorophyll region of the subpolar NE Pacific (50ºN, 145ºW).
This work was conducted as part of my ESA Living Planet Fellowship at the University of Oxford under the SLAM DUNK project.