ocean_data_forcing_t Derived Type

type, public :: 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.


Inherited by

type~~ocean_data_forcing_t~~InheritedByGraph type~ocean_data_forcing_t ocean_data_forcing_t type~ocean_state_t ocean_state_t type~ocean_state_t->type~ocean_data_forcing_t data_forcing type~ocean_engine_t ocean_engine_t type~ocean_engine_t->type~ocean_state_t state type~ocean_handle_t ocean_handle_t type~ocean_handle_t->type~ocean_state_t state type~ocean_handle_t->type~ocean_engine_t engine

Components

Type Visibility Attributes Name Initial
logical, public :: active = .false.

.true. once at least one tag registered. .false. makes ocean_data_forcing_apply an immediate return.

logical, public :: 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.

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: salt_flux vs Q_salt.


Source Code

   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