rdb_ocean_status Module

A library cannot abort its host process. Every procedure on the solver-creation path (config parse/validate, the configure_ocean_* setup chain, IC seeding) that used to error stop now takes an optional, intent(out) :: ierr — present ⇒ return one of these codes instead of aborting; absent ⇒ unchanged legacy error stop behaviour (every existing caller keeps aborting exactly as it does today).

Coarse, stage-level codes: the specific reason is always logged via global_logger%error immediately before ierr is set (unchanged message text), so the code only needs to say which STAGE failed — mirroring the existing restart_mismatch_kind precedent in rdb_ocean_state.F90.

OCEAN_STATUS_ERR_IO’s “a dimension mismatch” clause (below) is deliberate, not the “taxonomy drift” an early adversarial review (P0.1, F4) flagged: a mismatch between a FILE’s declared dimensions and the model’s config is a file-content problem, distinct from the namelist-only checks (rad_earth, domain size, tripolar knobs) that configure_ocean_metrics itself resolves as OCEAN_STATUS_ERR_SETUP with no file involved at all.

Layering note (P0.1 review F8): this module is registered in the CMake “core infrastructure” block (alongside rdb_config/rdb_eos, both of which use it) even though it lives under src/core/ocean/state/ and is named rdb_ocean_*. This is a DELIBERATE choice, not an oversight: this tree is ocean-only (sim_type='ocean' is the only accepted regime — see the repo CLAUDE.md), so “the one status vocabulary” and “the one regime’s status vocabulary” are the same thing today, and a rename to a regime-neutral rdb_status would be pure churn until a second regime returns to this tree. Revisit if/when that happens.


Used by

  • module~~rdb_ocean_status~~UsedByGraph module~rdb_ocean_status rdb_ocean_status module~rdb_bathymetry rdb_bathymetry module~rdb_bathymetry->module~rdb_ocean_status module~rdb_config rdb_config module~rdb_config->module~rdb_ocean_status module~rdb_ice_init rdb_ice_init module~rdb_config->module~rdb_ice_init module~rdb_driver rdb_driver module~rdb_driver->module~rdb_ocean_status module~rdb_driver->module~rdb_config module~rdb_ocean_engine rdb_ocean_engine module~rdb_driver->module~rdb_ocean_engine module~rdb_ocean_state rdb_ocean_state module~rdb_driver->module~rdb_ocean_state module~rdb_ocean_console_stats rdb_ocean_console_stats module~rdb_driver->module~rdb_ocean_console_stats module~rdb_ocean_dyn rdb_ocean_dyn module~rdb_driver->module~rdb_ocean_dyn module~rdb_halo rdb_halo module~rdb_driver->module~rdb_halo module~rdb_ocean_api rdb_ocean_api module~rdb_ocean_api->module~rdb_ocean_status module~rdb_ocean_api->module~rdb_config module~rdb_ocean_bathymetry_inject rdb_ocean_bathymetry_inject module~rdb_ocean_api->module~rdb_ocean_bathymetry_inject module~rdb_ocean_api->module~rdb_ocean_engine module~rdb_handle rdb_handle module~rdb_ocean_api->module~rdb_handle module~rdb_ocean_diag_derived rdb_ocean_diag_derived module~rdb_ocean_api->module~rdb_ocean_diag_derived module~rdb_ocean_diag_fills rdb_ocean_diag_fills module~rdb_ocean_api->module~rdb_ocean_diag_fills module~rdb_ocean_api->module~rdb_ocean_dyn module~rdb_ocean_fold_apply rdb_ocean_fold_apply module~rdb_ocean_api->module~rdb_ocean_fold_apply module~rdb_ocean_periodic rdb_ocean_periodic module~rdb_ocean_api->module~rdb_ocean_periodic module~rdb_ocean_halo_width rdb_ocean_halo_width module~rdb_ocean_api->module~rdb_ocean_halo_width module~rdb_ocean_bathymetry_inject->module~rdb_ocean_status module~rdb_ocean_boundary_types rdb_ocean_boundary_types module~rdb_ocean_boundary_types->module~rdb_ocean_status module~rdb_ocean_data_forcing rdb_ocean_data_forcing module~rdb_ocean_data_forcing->module~rdb_ocean_status module~rdb_ocean_data_forcing->module~rdb_config module~rdb_ocean_data_forcing->module~rdb_ocean_boundary_types module~rdb_ocean_data_input rdb_ocean_data_input module~rdb_ocean_data_forcing->module~rdb_ocean_data_input module~rdb_ocean_halo_state rdb_ocean_halo_state module~rdb_ocean_data_forcing->module~rdb_ocean_halo_state module~rdb_ocean_data_input->module~rdb_ocean_status module~rdb_ocean_data_input->module~rdb_config module~rdb_ocean_diag rdb_ocean_diag module~rdb_ocean_diag->module~rdb_ocean_status module~rdb_ocean_diag_netcdf rdb_ocean_diag_netcdf module~rdb_ocean_diag_netcdf->module~rdb_ocean_status module~rdb_ocean_diag_netcdf->module~rdb_ocean_diag module~rdb_ocean_engine->module~rdb_ocean_status module~rdb_ocean_engine->module~rdb_config module~rdb_ocean_engine->module~rdb_ocean_boundary_types module~rdb_ocean_engine->module~rdb_ocean_data_forcing module~rdb_ocean_engine->module~rdb_ocean_data_input module~rdb_ocean_engine->module~rdb_ocean_diag module~rdb_ocean_engine->module~rdb_ocean_diag_netcdf module~rdb_ocean_fold_exchange rdb_ocean_fold_exchange module~rdb_ocean_engine->module~rdb_ocean_fold_exchange module~rdb_ocean_halo rdb_ocean_halo module~rdb_ocean_engine->module~rdb_ocean_halo module~rdb_ocean_metrics rdb_ocean_metrics module~rdb_ocean_engine->module~rdb_ocean_metrics module~rdb_ocean_setup rdb_ocean_setup module~rdb_ocean_engine->module~rdb_ocean_setup module~rdb_ocean_stability_audit rdb_ocean_stability_audit module~rdb_ocean_engine->module~rdb_ocean_stability_audit module~rdb_ocean_engine->module~rdb_ocean_state module~rdb_decomp rdb_decomp module~rdb_ocean_engine->module~rdb_decomp module~rdb_ice_evp rdb_ice_evp module~rdb_ocean_engine->module~rdb_ice_evp module~rdb_ocean_engine->module~rdb_ice_init module~rdb_ice_ocean_coupler rdb_ice_ocean_coupler module~rdb_ocean_engine->module~rdb_ice_ocean_coupler module~rdb_ice_transport rdb_ice_transport module~rdb_ocean_engine->module~rdb_ice_transport module~rdb_ocean_boundary_data rdb_ocean_boundary_data module~rdb_ocean_engine->module~rdb_ocean_boundary_data module~rdb_ocean_cavity_flux rdb_ocean_cavity_flux module~rdb_ocean_engine->module~rdb_ocean_cavity_flux module~rdb_ocean_engine->module~rdb_ocean_diag_derived module~rdb_ocean_engine->module~rdb_ocean_diag_fills module~rdb_ocean_engine->module~rdb_ocean_dyn module~rdb_ocean_engine->module~rdb_ocean_fold_apply module~rdb_ocean_engine->module~rdb_ocean_halo_state module~rdb_ocean_engine->module~rdb_ocean_periodic module~rdb_ocean_sponge rdb_ocean_sponge module~rdb_ocean_engine->module~rdb_ocean_sponge module~rdb_state rdb_state module~rdb_ocean_engine->module~rdb_state module~rdb_ocean_engine->module~rdb_halo module~rdb_ocean_fold_exchange->module~rdb_ocean_status module~rdb_ocean_fold_exchange->module~rdb_decomp module~rdb_ocean_halo->module~rdb_ocean_status module~rdb_ocean_halo->module~rdb_decomp module~rdb_ocean_halo->module~rdb_ocean_periodic module~rdb_ocean_metrics->module~rdb_ocean_status module~rdb_ocean_restart_io rdb_ocean_restart_io module~rdb_ocean_restart_io->module~rdb_ocean_status module~rdb_ocean_restart_io->module~rdb_decomp module~rdb_ocean_setup->module~rdb_ocean_status module~rdb_ocean_setup->module~rdb_config module~rdb_ocean_setup->module~rdb_ocean_boundary_types module~rdb_ocean_setup->module~rdb_ocean_fold_exchange module~rdb_ocean_setup->module~rdb_ocean_halo module~rdb_ocean_setup->module~rdb_ocean_metrics module~rdb_ocean_setup->module~rdb_ocean_state module~rdb_coriolis_adv rdb_coriolis_adv module~rdb_ocean_setup->module~rdb_coriolis_adv module~rdb_ocean_setup->module~rdb_decomp module~rdb_ocean_bottom_drag rdb_ocean_bottom_drag module~rdb_ocean_setup->module~rdb_ocean_bottom_drag module~rdb_ocean_setup->module~rdb_ocean_dyn module~rdb_ocean_setup->module~rdb_ocean_fold_apply module~rdb_ocean_setup->module~rdb_ocean_halo_state module~rdb_ocean_horizontal_viscosity rdb_ocean_horizontal_viscosity module~rdb_ocean_setup->module~rdb_ocean_horizontal_viscosity module~rdb_ocean_lateral_mix rdb_ocean_lateral_mix module~rdb_ocean_setup->module~rdb_ocean_lateral_mix module~rdb_ocean_pressure_force rdb_ocean_pressure_force module~rdb_ocean_setup->module~rdb_ocean_pressure_force module~rdb_ocean_setup->module~rdb_ocean_sponge module~rdb_ocean_setup->module~rdb_halo module~rdb_ocean_stability_audit->module~rdb_ocean_status module~rdb_ocean_stability_audit->module~rdb_config module~rdb_ocean_stability_audit->module~rdb_ocean_metrics module~rdb_ocean_state->module~rdb_ocean_status module~rdb_ocean_state->module~rdb_bathymetry module~rdb_ocean_state->module~rdb_config module~rdb_ocean_state->module~rdb_ocean_bathymetry_inject module~rdb_ocean_state->module~rdb_ocean_boundary_types module~rdb_ocean_state->module~rdb_ocean_data_forcing module~rdb_ocean_state->module~rdb_ocean_data_input module~rdb_ocean_state->module~rdb_ocean_diag module~rdb_ocean_state->module~rdb_ocean_metrics module~rdb_ocean_state->module~rdb_ocean_restart_io module~rdb_ocean_z_init rdb_ocean_z_init module~rdb_ocean_state->module~rdb_ocean_z_init module~rdb_continuity rdb_continuity module~rdb_ocean_state->module~rdb_continuity module~rdb_ocean_state->module~rdb_coriolis_adv module~rdb_ocean_state->module~rdb_decomp module~rdb_ocean_state->module~rdb_ocean_bottom_drag module~rdb_ocean_state->module~rdb_ocean_cavity_flux module~rdb_ocean_state->module~rdb_ocean_dyn module~rdb_ocean_gm rdb_ocean_gm module~rdb_ocean_state->module~rdb_ocean_gm module~rdb_ocean_hdiff_tracer rdb_ocean_hdiff_tracer module~rdb_ocean_state->module~rdb_ocean_hdiff_tracer module~rdb_ocean_state->module~rdb_ocean_horizontal_viscosity module~rdb_ocean_isopycnal_slopes rdb_ocean_isopycnal_slopes module~rdb_ocean_state->module~rdb_ocean_isopycnal_slopes module~rdb_ocean_state->module~rdb_ocean_lateral_mix module~rdb_ocean_meke rdb_ocean_meke module~rdb_ocean_state->module~rdb_ocean_meke module~rdb_ocean_mle rdb_ocean_mle module~rdb_ocean_state->module~rdb_ocean_mle module~rdb_ocean_state->module~rdb_ocean_periodic module~rdb_ocean_state->module~rdb_ocean_pressure_force module~rdb_ocean_redi rdb_ocean_redi module~rdb_ocean_state->module~rdb_ocean_redi module~rdb_ocean_state->module~rdb_ocean_sponge module~rdb_ocean_varmix rdb_ocean_varmix module~rdb_ocean_state->module~rdb_ocean_varmix module~rdb_ocean_wave_speed rdb_ocean_wave_speed module~rdb_ocean_state->module~rdb_ocean_wave_speed module~rdb_ocean_z_init->module~rdb_ocean_status module~rdb_ocean_z_init->module~rdb_config proc~eos_validate eos_validate proc~eos_validate->module~rdb_ocean_status proc~ocean_cavity_flux_step ocean_cavity_flux_step proc~ocean_cavity_flux_step->module~rdb_ocean_status proc~ocean_cavity_mass_step ocean_cavity_mass_step proc~ocean_cavity_mass_step->module~rdb_ocean_status proc~ocean_cavity_mass_step->module~rdb_halo module~rdb_barotropic_coupling rdb_barotropic_coupling module~rdb_barotropic_coupling->module~rdb_ocean_boundary_types module~rdb_barotropic_coupling->module~rdb_ocean_metrics module~rdb_barotropic_coupling->module~rdb_coriolis_adv module~rdb_barotropic_coupling->module~rdb_ocean_bottom_drag module~rdb_barotropic_coupling->module~rdb_ocean_horizontal_viscosity module~rdb_barotropic_coupling->module~rdb_ocean_pressure_force module~rdb_barotropic_substep rdb_barotropic_substep module~rdb_barotropic_substep->module~rdb_ocean_boundary_types module~rdb_barotropic_substep->module~rdb_ocean_fold_exchange module~rdb_barotropic_substep->module~rdb_ocean_halo module~rdb_barotropic_substep->module~rdb_ocean_metrics module~rdb_config_schema rdb_config_schema module~rdb_config_schema->module~rdb_config module~rdb_continuity->module~rdb_ocean_boundary_types module~rdb_continuity->module~rdb_ocean_fold_exchange module~rdb_continuity->module~rdb_ocean_halo module~rdb_continuity->module~rdb_ocean_metrics module~rdb_continuity->module~rdb_ocean_fold_apply module~rdb_continuity->module~rdb_ocean_gm module~rdb_continuity->module~rdb_ocean_mle module~rdb_continuity->module~rdb_ocean_periodic module~rdb_coriolis_adv->module~rdb_ocean_metrics module~rdb_decomp->module~rdb_config module~rdb_handle->module~rdb_config module~rdb_handle->module~rdb_ocean_engine module~rdb_handle->module~rdb_ocean_state module~rdb_ice_evp->module~rdb_ocean_boundary_types module~rdb_ice_evp->module~rdb_ocean_halo module~rdb_ice_evp->module~rdb_ocean_metrics module~rdb_ice_evp->module~rdb_ocean_periodic module~rdb_ice_init->module~rdb_ocean_metrics module~rdb_ice_ocean_coupler->module~rdb_ocean_boundary_types module~rdb_ice_ocean_coupler->module~rdb_ocean_metrics module~rdb_ice_ocean_coupler->module~rdb_ocean_halo_state module~rdb_ice_transport->module~rdb_ocean_boundary_types module~rdb_ice_transport->module~rdb_ocean_halo module~rdb_ice_transport->module~rdb_ocean_metrics module~rdb_ice_transport->module~rdb_continuity module~rdb_ice_transport->module~rdb_ocean_halo_state module~rdb_ice_transport->module~rdb_halo module~rdb_ocean_bottom_drag->module~rdb_ocean_metrics module~rdb_ocean_boundary_data->module~rdb_ocean_boundary_types module~rdb_ocean_bt_wide rdb_ocean_bt_wide module~rdb_ocean_bt_wide->module~rdb_ocean_boundary_types module~rdb_ocean_bt_wide->module~rdb_ocean_halo module~rdb_ocean_bt_wide->module~rdb_ocean_metrics module~rdb_ocean_bt_wide->module~rdb_barotropic_substep module~rdb_ocean_cavity_flux->module~rdb_ocean_metrics module~rdb_ocean_console_stats->module~rdb_ocean_metrics module~rdb_ocean_console_stats->module~rdb_halo module~rdb_ocean_diag_derived->module~rdb_ocean_diag module~rdb_ocean_diag_derived->module~rdb_ocean_state module~rdb_ocean_diag_derived->module~rdb_ocean_diag_fills module~rdb_ocean_diag_fills->module~rdb_ocean_diag module~rdb_ocean_diag_fills->module~rdb_ocean_state module~rdb_ocean_dyn->module~rdb_ocean_boundary_types module~rdb_ocean_dyn->module~rdb_ocean_halo module~rdb_ocean_dyn->module~rdb_ocean_metrics module~rdb_ocean_dyn->module~rdb_barotropic_coupling module~rdb_ocean_dyn->module~rdb_barotropic_substep module~rdb_ocean_dyn->module~rdb_continuity module~rdb_ocean_dyn->module~rdb_coriolis_adv module~rdb_ocean_dyn->module~rdb_ocean_bottom_drag module~rdb_ocean_dyn->module~rdb_ocean_bt_wide module~rdb_ocean_dyn->module~rdb_ocean_cavity_flux module~rdb_ocean_dyn->module~rdb_ocean_console_stats module~rdb_ocean_dyn->module~rdb_ocean_fold_apply module~rdb_ocean_dyn->module~rdb_ocean_gm module~rdb_ocean_dyn->module~rdb_ocean_halo_state module~rdb_ocean_dyn->module~rdb_ocean_hdiff_tracer module~rdb_ocean_dyn->module~rdb_ocean_horizontal_viscosity module~rdb_ocean_dyn->module~rdb_ocean_isopycnal_slopes module~rdb_ocean_ke_probe rdb_ocean_ke_probe module~rdb_ocean_dyn->module~rdb_ocean_ke_probe module~rdb_ocean_dyn->module~rdb_ocean_lateral_mix module~rdb_ocean_dyn->module~rdb_ocean_meke module~rdb_ocean_dyn->module~rdb_ocean_mle module~rdb_ocean_obc_baroclinic rdb_ocean_obc_baroclinic module~rdb_ocean_dyn->module~rdb_ocean_obc_baroclinic module~rdb_ocean_dyn->module~rdb_ocean_periodic module~rdb_ocean_dyn->module~rdb_ocean_pressure_force module~rdb_ocean_dyn->module~rdb_ocean_redi module~rdb_ocean_dyn->module~rdb_ocean_sponge module~rdb_ocean_dyn->module~rdb_ocean_varmix module~rdb_ocean_dyn->module~rdb_ocean_wave_speed module~rdb_ocean_bt_budget_probe rdb_ocean_bt_budget_probe module~rdb_ocean_dyn->module~rdb_ocean_bt_budget_probe module~rdb_ocean_chksum rdb_ocean_chksum module~rdb_ocean_dyn->module~rdb_ocean_chksum module~rdb_ocean_fold_apply->module~rdb_ocean_boundary_types module~rdb_ocean_fold_apply->module~rdb_ocean_fold_exchange module~rdb_ocean_gm->module~rdb_ocean_metrics module~rdb_ocean_gm->module~rdb_ocean_isopycnal_slopes module~rdb_ocean_halo_state->module~rdb_ocean_boundary_types module~rdb_ocean_halo_state->module~rdb_ocean_halo module~rdb_ocean_halo_state->module~rdb_ocean_fold_apply module~rdb_ocean_halo_state->module~rdb_ocean_periodic module~rdb_ocean_hdiff_tracer->module~rdb_ocean_boundary_types module~rdb_ocean_hdiff_tracer->module~rdb_ocean_metrics module~rdb_ocean_horizontal_viscosity->module~rdb_ocean_metrics module~rdb_ocean_horizontal_viscosity->module~rdb_ocean_lateral_mix module~rdb_ocean_isopycnal_slopes->module~rdb_ocean_metrics module~rdb_ocean_ke_probe->module~rdb_ocean_metrics module~rdb_ocean_ke_probe->module~rdb_coriolis_adv module~rdb_ocean_lateral_mix->module~rdb_ocean_metrics module~rdb_ocean_meke->module~rdb_ocean_metrics module~rdb_ocean_meke->module~rdb_ocean_gm module~rdb_ocean_meke->module~rdb_ocean_varmix module~rdb_ocean_meke->module~rdb_ocean_wave_speed module~rdb_ocean_mle->module~rdb_ocean_boundary_types module~rdb_ocean_mle->module~rdb_ocean_metrics module~rdb_ocean_obc_baroclinic->module~rdb_ocean_boundary_types module~rdb_ocean_periodic->module~rdb_ocean_boundary_types module~rdb_ocean_pressure_force->module~rdb_ocean_metrics module~rdb_ocean_redi->module~rdb_ocean_boundary_types module~rdb_ocean_redi->module~rdb_ocean_metrics module~rdb_ocean_sponge->module~rdb_ocean_boundary_types module~rdb_ocean_varmix->module~rdb_ocean_metrics module~rdb_ocean_varmix->module~rdb_ocean_isopycnal_slopes module~rdb_ocean_varmix->module~rdb_ocean_wave_speed module~rdb_ocean_wave_speed->module~rdb_ocean_metrics module~rdb_state->module~rdb_config proc~validate_config validate_config proc~validate_config->module~rdb_ocean_boundary_types proc~validate_config->module~rdb_coriolis_adv proc~validate_config->module~rdb_ocean_bottom_drag proc~validate_config->module~rdb_ocean_horizontal_viscosity proc~validate_config->module~rdb_ocean_lateral_mix proc~validate_config->module~rdb_ocean_pressure_force module~rdb_halo->module~rdb_decomp module~rdb_ocean_bt_budget_probe->module~rdb_coriolis_adv module~rdb_ocean_bt_budget_probe->module~rdb_ocean_bottom_drag module~rdb_ocean_bt_budget_probe->module~rdb_ocean_horizontal_viscosity module~rdb_ocean_bt_budget_probe->module~rdb_ocean_pressure_force module~rdb_ocean_halo_width->module~rdb_coriolis_adv module~rdb_ocean_chksum->module~rdb_halo

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: OCEAN_STATUS_ERR_ALREADY_EXISTS = 11

rdb_ocean_create_from_string was called while a live ocean handle already exists. Multi-instance is impossible in this tree (several modules hold process-global topology/device state keyed to “the one running ocean simulation” — see rdb_ocean_api’s header) so a second create fails loud instead of silently corrupting the first.

integer, public, parameter :: OCEAN_STATUS_ERR_BAD_HANDLE = 10

The c_ptr handle is null, stale (already destroyed), or does not carry the ocean-handle magic sentinel (rdb_handle).

integer, public, parameter :: OCEAN_STATUS_ERR_BAD_SHAPE = 14

P2 setters: the caller-supplied array extents do not match the live state’s physical interior shape.

integer, public, parameter :: OCEAN_STATUS_ERR_BATHYMETRY_SIGN = 15

P2.5 geometry injection (rdb_ocean_bathymetry_inject): a staged bathymetry array normalised to zero wet cells under the given sign convention — almost certainly the OTHER convention was intended (D6.2: the single most dangerous argument in the geometry API).

integer, public, parameter :: OCEAN_STATUS_ERR_CONFIG_PARSE = 1

read_config/read_config_from_string: strict namelist/schema parse failure (unknown group/key, type/range/enum violation).

integer, public, parameter :: OCEAN_STATUS_ERR_CONFIG_VALIDATE = 2

validate_config: a cross-knob semantic check failed.

integer, public, parameter :: OCEAN_STATUS_ERR_IC_SEED = 4

Initial-condition seeding (ocean_state_seed_from_cfg and its analytical-IC helpers) rejected the resolved configuration.

integer, public, parameter :: OCEAN_STATUS_ERR_IO = 5

A setup-time file read failed (missing NetCDF at build time, a malformed supergrid/z-level-IC file, a dimension mismatch).

integer, public, parameter :: OCEAN_STATUS_ERR_NOT_FOUND = 13

P2 accessors: rdb_ocean_get_tracer_ptr/rdb_ocean_set_tracer were given a name that is not in the tracer registry.

integer, public, parameter :: OCEAN_STATUS_ERR_NOT_INITIALISED = 12

The handle resolved (valid magic) but never completed create() (device mapping not done) — a step/query call landed on it anyway.

integer, public, parameter :: OCEAN_STATUS_ERR_NOT_PENDING = 16

P2.5 geometry injection: a rdb_ocean_stage_* call (or rdb_ocean_create_finalize) landed on a handle that is not currently in the pending (staging) window — either it was never created via rdb_ocean_create_pending, or create_finalize already completed it.

integer, public, parameter :: OCEAN_STATUS_ERR_RESTART_DECOMP = 21

Restart file’s decomposition metadata (px/py/i_start/ j_start/nx_local/ny_local) does not match the live decomp.

integer, public, parameter :: OCEAN_STATUS_ERR_RESTART_GRID = 22

Restart file’s grid/vcoord/tracer metadata (nz_ml/nghost/ vcoord_type/n_tracers/tracer indices) does not match the live state.

integer, public, parameter :: OCEAN_STATUS_ERR_RESTART_SCHEMA = 20

Restart file’s schema_version attribute does not match the build’s RESTART_SCHEMA_VERSION.

integer, public, parameter :: OCEAN_STATUS_ERR_SETUP = 3

The configure_ocean_* setup chain (rdb_ocean_setup.F90) or one of its direct callees (metrics/EOS/BC validation) rejected the resolved configuration.

integer, public, parameter :: OCEAN_STATUS_OK = 0

No error.