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.
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
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
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.