Hosts ocean_eos_compute, the outer shim that pulls the
registered S, T tracer arrays off multilayer_state_t and
forwards them as bare 3D arrays to the regime-agnostic
eos_compute_arrays dispatch in rdb_eos.
This shim is the ONLY EOS code that touches the ocean C-grid
state, and it lives here — not in rdb_eos — so the shared
EOS module carries zero ocean dependencies: the coastal opt-in
nonlinear EOS (&tracer_nml eos_form, via
rdb_ml_eos::ml_equation_of_state_shared) reaches
eos_compute_arrays without transitively dragging in
rdb_multilayer_state.
Compute ms%rho_layer from the registered (T, S) tracers.
Outer-shim pattern: pulls the tracer hTr arrays off the
registry on the host and forwards them as bare 3D arrays
to a flat-impl chosen by eos%variant.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(eos_t), | intent(in) | :: | eos | |||
| type(multilayer_state_t), | intent(inout) | :: | ms | |||
| logical, | intent(in), | optional | :: | active |