&ocean_data_nml: the shared time-varying NetCDF input reader
(rdb_ocean_data_input, PR-14). Deliberately two knobs — this
group carries NO per-field entries. Registration is
programmatic: each consumer (surface forcing, OBC segments,
sponge targets, tidal-mixing maps, …) calls
ocean_data_input_register_2d/_3d from its OWN namelist group
at setup and gets back an opaque id. A field never appears
here. Zero registered fields on every shipped namelist today
⇒ ocean_data_input_update_all is a no-op ⇒ bit-identical.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | max_fields | = | 16 |
Size of the reader’s field registry. A registration beyond
this is a fail-loud abort ( |
|
| logical, | public | :: | verbose | = | .false. |
Log every bracket advance (field, record pair, weight, model
time) via |
type :: ocean_data_config_t !! `&ocean_data_nml`: the shared time-varying NetCDF input reader !! (`rdb_ocean_data_input`, PR-14). Deliberately two knobs — this !! group carries NO per-field entries. Registration is !! programmatic: each consumer (surface forcing, OBC segments, !! sponge targets, tidal-mixing maps, ...) calls !! `ocean_data_input_register_2d/_3d` from its OWN namelist group !! at setup and gets back an opaque `id`. A field never appears !! here. Zero registered fields on every shipped namelist today !! ⇒ `ocean_data_input_update_all` is a no-op ⇒ bit-identical. integer :: max_fields = 16 !! Size of the reader's field registry. A registration beyond !! this is a fail-loud abort (`max_fields >= 1` is enforced by !! the schema `min=1`). logical :: verbose = .false. !! Log every bracket advance (field, record pair, weight, model !! time) via `logger%info`. Default off — quiet per-step path. end type ocean_data_config_t