tracer_init Subroutine

private subroutine tracer_init(this, grid, nz)

Allocate hTr / hTr0 at the multilayer grid size, zero-filled. Caller is responsible for populating the prognostic field (e.g. hTr = h_layer * tr_init) after layer thicknesses are set.

Type Bound

tracer_t

Arguments

Type IntentOptional Attributes Name
class(tracer_t), intent(inout) :: this
type(hgrid_t), intent(in) :: grid
integer, intent(in) :: nz

Called by

proc~~tracer_init~~CalledByGraph proc~tracer_init tracer_t%tracer_init proc~multilayer_register_passive_tracer multilayer_state_t%multilayer_register_passive_tracer proc~multilayer_register_passive_tracer->proc~tracer_init proc~multilayer_state_init multilayer_state_t%multilayer_state_init proc~multilayer_state_init->proc~tracer_init proc~ocean_pseudo_salt_register ocean_pseudo_salt_register proc~ocean_pseudo_salt_register->proc~multilayer_register_passive_tracer proc~ocean_state_init ocean_state_t%ocean_state_init proc~ocean_state_init->proc~ocean_pseudo_salt_register proc~ocean_state_init_from_config ocean_state_t%ocean_state_init_from_config proc~ocean_state_init_from_config->proc~ocean_state_init proc~engine_setup engine_setup proc~engine_setup->proc~ocean_state_init_from_config

Variables

Type Visibility Attributes Name Initial
integer, private :: nx
integer, private :: ny

Source Code

   subroutine tracer_init(this, grid, nz)
      !! Allocate hTr / hTr0 at the multilayer grid size, zero-filled.
      !! Caller is responsible for populating the prognostic field
      !! (e.g. `hTr = h_layer * tr_init`) after layer thicknesses are set.
      class(tracer_t), intent(inout) :: this
      type(hgrid_t), intent(in)    :: grid
      integer, intent(in)    :: nz

      integer :: nx, ny

      nx = grid%nx_total
      ny = grid%ny_total

      allocate (this%hTr(nx, ny, nz), source=0.0_wp)
      allocate (this%hTr0(nx, ny, nz), source=0.0_wp)
   end subroutine tracer_init