fill_pseudo_salt Subroutine

public subroutine fill_pseudo_salt(state_handle, buf)

Layer pseudo-salt = tracers(idx_pseudo_salt)%hTr / h_layer (psu). Read-out only; registered when &ocean_tracers_nml enable_pseudo_salt (idx_pseudo_salt > 0). Mirrors fill_age.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

Calls

proc~~fill_pseudo_salt~~CallsGraph proc~fill_pseudo_salt fill_pseudo_salt proc~fill_tracer_impl fill_tracer_impl proc~fill_pseudo_salt->proc~fill_tracer_impl proc~fill_zero_impl fill_zero_impl proc~fill_pseudo_salt->proc~fill_zero_impl tracers tracers proc~fill_pseudo_salt->tracers rdb_vl_conc rdb_vl_conc proc~fill_tracer_impl->rdb_vl_conc rdb_vl_is_live rdb_vl_is_live proc~fill_tracer_impl->rdb_vl_is_live

Variables

Type Visibility Attributes Name Initial
integer, private :: it

Source Code

   subroutine fill_pseudo_salt(state_handle, buf)
      !! Layer pseudo-salt = tracers(idx_pseudo_salt)%hTr / h_layer (psu).
      !! Read-out only; registered when `&ocean_tracers_nml
      !! enable_pseudo_salt` (idx_pseudo_salt > 0).  Mirrors `fill_age`.
      class(*), intent(in) :: state_handle
      real(wp), intent(inout) :: buf(:, :, :)
      integer :: it
      select type (state => state_handle)
      class is (ocean_state_t)
         it = state%multilayer%idx_pseudo_salt
         if (it <= 0) then
            call fill_zero_impl(buf)
            return
         end if
         call fill_tracer_impl(state%multilayer%h_layer, &
                               state%multilayer%tracers(it)%hTr, buf)
      end select
   end subroutine fill_pseudo_salt