fill_tfreeze_ib Subroutine

public subroutine fill_tfreeze_ib(state_handle, buf)

T_f(S_far, p_top) (degC) — the in-situ freezing point of the FAR FIELD at the ice base. Distinct from tbdry, which is the freezing point of the INTERFACE salinity S_b; their difference is the whole three-equation correction, so shipping both makes it visible.

Arguments

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

Calls

proc~~fill_tfreeze_ib~~CallsGraph proc~fill_tfreeze_ib fill_tfreeze_ib proc~tfreeze_ib_impl tfreeze_ib_impl proc~fill_tfreeze_ib->proc~tfreeze_ib_impl proc~eos_freezing_point eos_freezing_point proc~tfreeze_ib_impl->proc~eos_freezing_point

Source Code

   subroutine fill_tfreeze_ib(state_handle, buf)
      !! `T_f(S_far, p_top)` (degC) — the in-situ freezing point of the
      !! FAR FIELD at the ice base.  Distinct from `tbdry`, which is the
      !! freezing point of the INTERFACE salinity `S_b`; their
      !! difference is the whole three-equation correction, so shipping
      !! both makes it visible.
      class(*), intent(in) :: state_handle
      real(wp), intent(inout) :: buf(:, :, :)
      select type (state => state_handle)
      class is (ocean_state_t)
         call tfreeze_ib_impl(state%cavity_flux%s_far, state%multilayer%p_top, &
                              state%cavity_flux%active, state%eos, buf)
      end select
   end subroutine fill_tfreeze_ib