What data feeds these simulations and what they’re checked against, from generic (any model setup) to specific.

Forcing & Boundary Data (Any Model Setup)

meteo

ERA5 (default)

CMIP6 – bias-corrected CMIP6 meteo (ocean-prep’s bias-correction pipeline)

ModelScenariosStatus
GFDL-ESM4ssp126, ssp245, ssp370, ssp585fetched
MPI-ESM1-2-HRssp370availability-only
CNRM-ESM2-1ssp370availability-only

CMIP6-raw – raw (not bias-corrected) CMIP6 archive, fetched via ocean-data’s DataLoader

ModelScenariosStatus
GFDL-ESM4ssp126, ssp245, ssp370, ssp585fetched
MPI-ESM1-2-HRssp370availability-only
CNRM-ESM2-1ssp370availability-only

Fluxes – prescribed taux/tauy/sp/shf/swr/pe, static per-run constants

river_discharge

emorid (default) – EMORID/JRC, 446 real gauged stations

CMIP6 – delta-change-projected discharge, same 446 EMORID stations

ModelScenariosStatus
GFDL-ESM4ssp126, ssp245, ssp370, ssp585fetched

hydrography

initial conditions (temperature, salinity)

CMEMS (default)

WOA

constant – uniform temp/salt, no file

boundaries.barotropic

TPXO (default) – TPXO9-atlas tidal constituents

CMEMS

CMIP6 – CMIP6 monthly mean SSH / barotropic transport

ModelScenariosStatus
GFDL-ESM4ssp126, ssp245, ssp370, ssp585fetched
MPI-ESM1-2-HRssp370availability-only
CNRM-ESM2-1ssp370availability-only

boundaries.baroclinic

CMEMS (default)

WOA

CMIP6 – ocean-prep’s delta-change boundary output (NOT the raw CMIP6 extraction)

ModelScenariosStatus
GFDL-ESM4ssp126, ssp245, ssp370, ssp585fetched
MPI-ESM1-2-HRssp370availability-only
CNRM-ESM2-1ssp370availability-only

boundaries.fabm

biogeochemical (FABM) boundary/IC tracers

WOA (default) – global climatology, cycled 12-month pattern

CMEMS – real boundary-point biogeochemistry; dissic/talk pre-2015 bridged via dic_ta_historical_method (cycled_climatology or pml_trend)

CMIP6

ModelScenariosStatus
GFDL-ESM4ssp126, ssp245, ssp370, ssp585fetched

fabm

biogeochemical model selection

none

ERSEM (default)

Area-Specific Data

Each area’s own configuration selects among the generic choices above and adds area-specific inputs (bathymetry, boundary segment definitions, initial conditions) – maintained with the area, not duplicated here.

Observational & Validation Data

Validation scriptDatasetScopeNote
tidal_analysis.pyGESLA tide gaugesgeneric
tidal_analysis.pyFES2014 / TPXO9 tidal atlasgeneric
cruise_ctd_profiles.pyICES / EMODnet Chemistry (ERDDAP cache)generic
argo_profiles.pyArgo floats (Ifremer ERDDAP cache)generic
ices_profiles.pyICES / ECOVAL point profilesarea-specific’nws’ = NW-Shelf extract, prepared for NS/AMM7-type areas
glodap_profiles.pyGLODAP v2.2023 bottle profilesgenericglodap_profiles.yaml’s own data_file (GLODAP_FOLDER) is commented out/optional; cache_dir is the real active default
wod_profiles.pyWorld Ocean Database (NOAA NCEI ERDDAP cache)generic
gridded_2d_validation.pyCCI-SSTgeneric
gridded_2d_validation.pyCCI-SSSgeneric
gridded_2d_validation.pyOISSTgeneric
gridded_2d_validation.pyOSTIA (Copernicus Marine, METOFFICE-GLO-SST-L4-REP-OBS-SST)genericstreamed live via Copernicus Marine, no local path – domain preset NEA (config/bounding_boxes.yaml), cached under ${CACHE_ROOT}/2d_surface (shared with gridded_2d_validation_surface.yaml’s identical pull)
gridded_2d_validation.pyNW-Shelf reanalysis (Copernicus Marine, bottomT / salinity)area-specificstreamed live via Copernicus Marine for gridded_2d_validation_bottom.yaml; domain preset NEA auto-clips to the product’s real coverage (lon -20..13 / lat 40..65), cached under ${CACHE_ROOT}/2d_bottom
gridded_3d_validation.pyWOA climatology (temperature)genericalso used by gridded_2d_validation_depths.yaml for fixed-depth slices (replaced that config’s previous woa23_A5B7_*{month:02d}_04.nc paths, which pointed at files that don’t exist)
gridded_3d_validation.pyWOA climatology (salinity)genericsee temperature row above
fixed_platform.pyICES / EMODnet moorings (ERDDAP cache)generic
station_timeseries.pyStation L4 (PML, Western Channel)area-specificfixed physical site; a new station needs its own STATIONS_FOLDER subfolder

This table is generated from config/data_inventory_observational.yaml in the ocean-post repo; the same mechanism covers the forcing/boundary inventory above (data_inventory_forcing.yaml). To actually check whether a listed dataset’s path resolves and exists on the machine you’re running on (not just that it’s documented here), run:

validate-data-inventory \
    --inventory config/data_inventory_observational.yaml \
    --data-roots-file <hostname>_ocean-post_data_roots.yaml

(swap in driver/data_inventory_forcing.yaml and that repo’s own data-roots file to check the forcing inventory instead). A path: null row – e.g. data streamed live from Copernicus Marine – reports N/A, not an error; a path still containing a bare {placeholder} reports TEMPLATE, not checked.