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)
| Model | Scenarios | Status |
|---|---|---|
| GFDL-ESM4 | ssp126, ssp245, ssp370, ssp585 | fetched |
| MPI-ESM1-2-HR | ssp370 | availability-only |
| CNRM-ESM2-1 | ssp370 | availability-only |
CMIP6-raw – raw (not bias-corrected) CMIP6 archive, fetched via ocean-data’s DataLoader
| Model | Scenarios | Status |
|---|---|---|
| GFDL-ESM4 | ssp126, ssp245, ssp370, ssp585 | fetched |
| MPI-ESM1-2-HR | ssp370 | availability-only |
| CNRM-ESM2-1 | ssp370 | availability-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
| Model | Scenarios | Status |
|---|---|---|
| GFDL-ESM4 | ssp126, ssp245, ssp370, ssp585 | fetched |
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
| Model | Scenarios | Status |
|---|---|---|
| GFDL-ESM4 | ssp126, ssp245, ssp370, ssp585 | fetched |
| MPI-ESM1-2-HR | ssp370 | availability-only |
| CNRM-ESM2-1 | ssp370 | availability-only |
boundaries.baroclinic
CMEMS (default)
WOA
CMIP6 – ocean-prep’s delta-change boundary output (NOT the raw CMIP6 extraction)
| Model | Scenarios | Status |
|---|---|---|
| GFDL-ESM4 | ssp126, ssp245, ssp370, ssp585 | fetched |
| MPI-ESM1-2-HR | ssp370 | availability-only |
| CNRM-ESM2-1 | ssp370 | availability-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
| Model | Scenarios | Status |
|---|---|---|
| GFDL-ESM4 | ssp126, ssp245, ssp370, ssp585 | fetched |
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 script | Dataset | Scope | Note |
|---|---|---|---|
| tidal_analysis.py | GESLA tide gauges | generic | |
| tidal_analysis.py | FES2014 / TPXO9 tidal atlas | generic | |
| cruise_ctd_profiles.py | ICES / EMODnet Chemistry (ERDDAP cache) | generic | |
| argo_profiles.py | Argo floats (Ifremer ERDDAP cache) | generic | |
| ices_profiles.py | ICES / ECOVAL point profiles | area-specific | ’nws’ = NW-Shelf extract, prepared for NS/AMM7-type areas |
| glodap_profiles.py | GLODAP v2.2023 bottle profiles | generic | glodap_profiles.yaml’s own data_file (GLODAP_FOLDER) is commented out/optional; cache_dir is the real active default |
| wod_profiles.py | World Ocean Database (NOAA NCEI ERDDAP cache) | generic | |
| gridded_2d_validation.py | CCI-SST | generic | |
| gridded_2d_validation.py | CCI-SSS | generic | |
| gridded_2d_validation.py | OISST | generic | |
| gridded_2d_validation.py | OSTIA (Copernicus Marine, METOFFICE-GLO-SST-L4-REP-OBS-SST) | generic | streamed 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.py | NW-Shelf reanalysis (Copernicus Marine, bottomT / salinity) | area-specific | streamed 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.py | WOA climatology (temperature) | generic | also 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.py | WOA climatology (salinity) | generic | see temperature row above |
| fixed_platform.py | ICES / EMODnet moorings (ERDDAP cache) | generic | |
| station_timeseries.py | Station L4 (PML, Western Channel) | area-specific | fixed 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.