&ocean_forcing_nml: surface-flux component-set gate (PR-12).
One knob, deliberately — components are filled by fillers, not
by scalar namelist knobs (that would be a knob-per-component,
all dead in v1).
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine register_ocean_forcing(cfg,schema)!! `&ocean_forcing_nml`: surface-flux component-set gate (PR-12).!! One knob, deliberately — components are filled by fillers, not!! by scalar namelist knobs (that would be a knob-per-component,!! all dead in v1).type(config_t),target,intent(in)::cfgtype(nml_schema_t),intent(inout)::schematype(nml_group_t)::glogical,pointer::plg%name="ocean_forcing"g%doc="Surface-flux component-set gate (PR-12): allocate the "//&"q_sw/evap/heat_content_*/... set and derive Q_heat/Q_salt "//&"from it every thermo step."pl=>cfg%ocean%forcing%enable_componentscall g%add(nml_logical("enable_components",pl,&"Allocate the surface-flux component set and run "//&"the assembler (default off => byte-identical)"))call schema%add_group(g)end subroutine register_ocean_forcing