fill_ice_thick Subroutine

public subroutine fill_ice_thick(state_handle, buf)

Grid-mean sea-ice thickness (m) at T-centres: mice/ICE_RHO_ICE (MOM6 effective-thickness convention) — the two-mode per-cell gather of ice_cell_concentration_impl, inlined (see fill_ice_conc_thick_impl). Registered by register_default_diags only when &ocean_ice_nml enable. Public only for the unit-test suite.

Arguments

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

Calls

proc~~fill_ice_thick~~CallsGraph proc~fill_ice_thick fill_ice_thick proc~fill_ice_conc_thick_impl fill_ice_conc_thick_impl proc~fill_ice_thick->proc~fill_ice_conc_thick_impl proc~fill_zero_impl fill_zero_impl proc~fill_ice_thick->proc~fill_zero_impl local local proc~fill_ice_conc_thick_impl->local

Source Code

   subroutine fill_ice_thick(state_handle, buf)
      !! Grid-mean sea-ice thickness (m) at T-centres: mice/ICE_RHO_ICE
      !! (MOM6 effective-thickness convention) — the two-mode per-cell
      !! gather of `ice_cell_concentration_impl`, inlined (see
      !! fill_ice_conc_thick_impl).  Registered by `register_default_diags`
      !! only when `&ocean_ice_nml enable`.  Public only for the unit-test
      !! suite.
      class(*), intent(in) :: state_handle
      real(wp), intent(inout) :: buf(:, :, :)
      select type (state => state_handle)
      class is (ocean_state_t)
         if (.not. state%ice%is_init) then
            call fill_zero_impl(buf)
            return
         end if
         call fill_ice_conc_thick_impl(state%ice%ncat, &
                                       size(state%ice%m_ice, 1), &
                                       size(state%ice%m_ice, 2), &
                                       state%metrics%wet_T, state%ice%part_size, &
                                       state%ice%m_ice, .true., buf)
      end select
   end subroutine fill_ice_thick