Registration bookkeeping for the file-driven surface tags. A
zero id_* means that tag is not file-driven (blank file in
&ocean_dataovr_nml) and its slot keeps whatever the
configure-time scalar/formula path seeded.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | active | = | .false. |
|
|
| logical, | public | :: | heat_to_component | = | .false. |
|
|
| integer, | public | :: | id_evap | = | 0 | ||
| integer, | public | :: | id_heat | = | 0 | ||
| integer, | public | :: | id_lprec | = | 0 | ||
| integer, | public | :: | id_salt | = | 0 | ||
| integer, | public | :: | id_tau_x | = | 0 | ||
| integer, | public | :: | id_tau_y | = | 0 | ||
| logical, | public | :: | salt_to_component | = | .false. |
Same for the salt tag: |
type :: ocean_data_forcing_t !! Registration bookkeeping for the file-driven surface tags. A !! zero `id_*` means that tag is not file-driven (blank `file` in !! `&ocean_dataovr_nml`) and its slot keeps whatever the !! configure-time scalar/formula path seeded. logical :: active = .false. !! `.true.` once at least one tag registered. `.false.` makes !! `ocean_data_forcing_apply` an immediate return. integer :: id_tau_x = 0 integer :: id_tau_y = 0 integer :: id_heat = 0 integer :: id_evap = 0 integer :: id_lprec = 0 integer :: id_salt = 0 logical :: heat_to_component = .false. !! `.true.` => the heat tag blends into `heat_added` (components !! on); `.false.` => straight into `Q_heat`. Resolved once at !! configure so the per-step path carries no mode test. logical :: salt_to_component = .false. !! Same for the salt tag: `salt_flux` vs `Q_salt`. end type ocean_data_forcing_t