fill_ice_conc Subroutine

public subroutine fill_ice_conc(state_handle, buf)

Total sea-ice concentration (0..1) at T-centres — the two-mode per-cell gather of ice_cell_concentration_impl (rdb_ice_state), 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_conc~~CallsGraph proc~fill_ice_conc fill_ice_conc proc~fill_ice_conc_thick_impl fill_ice_conc_thick_impl proc~fill_ice_conc->proc~fill_ice_conc_thick_impl proc~fill_zero_impl fill_zero_impl proc~fill_ice_conc->proc~fill_zero_impl local local proc~fill_ice_conc_thick_impl->local

Source Code

   subroutine fill_ice_conc(state_handle, buf)
      !! Total sea-ice concentration (0..1) at T-centres — the two-mode
      !! per-cell gather of `ice_cell_concentration_impl` (rdb_ice_state),
      !! 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, .false., buf)
      end select
   end subroutine fill_ice_conc