MOM6
mom_eos::calculate_tfreeze Interface Reference

Detailed Description

Calculates the freezing point of sea water from T, S and P.

Definition at line 81 of file MOM_EOS.F90.

Private functions

subroutine calculate_tfreeze_scalar (S, pressure, T_fr, EOS)
 Calls the appropriate subroutine to calculate the freezing point for scalar inputs. More...
 
subroutine calculate_tfreeze_array (S, pressure, T_fr, start, npts, EOS)
 Calls the appropriate subroutine to calculate the freezing point for a 1-D array. More...
 

Functions and subroutines

◆ calculate_tfreeze_array()

subroutine mom_eos::calculate_tfreeze::calculate_tfreeze_array ( real, dimension(:), intent(in)  S,
real, dimension(:), intent(in)  pressure,
real, dimension(:), intent(out)  T_fr,
integer, intent(in)  start,
integer, intent(in)  npts,
type(eos_type), pointer  EOS 
)
private

Calls the appropriate subroutine to calculate the freezing point for a 1-D array.

Parameters
[in]sSalinity [ppt]
[in]pressurePressure [Pa]
[out]t_frFreezing point potential temperature referenced to the surface [degC]
[in]startStarting index within the array
[in]nptsThe number of values to calculate
eosEquation of state structure

Definition at line 339 of file MOM_EOS.F90.

339  real, dimension(:), intent(in) :: S !< Salinity [ppt]
340  real, dimension(:), intent(in) :: pressure !< Pressure [Pa]
341  real, dimension(:), intent(out) :: T_fr !< Freezing point potential temperature referenced
342  !! to the surface [degC]
343  integer, intent(in) :: start !< Starting index within the array
344  integer, intent(in) :: npts !< The number of values to calculate
345  type(EOS_type), pointer :: EOS !< Equation of state structure
346 
347  if (.not.associated(eos)) call mom_error(fatal, &
348  "calculate_TFreeze_scalar called with an unassociated EOS_type EOS.")
349 
350  select case (eos%form_of_TFreeze)
351  case (tfreeze_linear)
352  call calculate_tfreeze_linear(s, pressure, t_fr, start, npts, &
353  eos%TFr_S0_P0, eos%dTFr_dS, eos%dTFr_dp)
354  case (tfreeze_millero)
355  call calculate_tfreeze_millero(s, pressure, t_fr, start, npts)
356  case (tfreeze_teos10)
357  call calculate_tfreeze_teos10(s, pressure, t_fr, start, npts)
358  case default
359  call mom_error(fatal, &
360  "calculate_TFreeze_scalar: form_of_TFreeze is not valid.")
361  end select
362 

◆ calculate_tfreeze_scalar()

subroutine mom_eos::calculate_tfreeze::calculate_tfreeze_scalar ( real, intent(in)  S,
real, intent(in)  pressure,
real, intent(out)  T_fr,
type(eos_type), pointer  EOS 
)
private

Calls the appropriate subroutine to calculate the freezing point for scalar inputs.

Parameters
[in]sSalinity [ppt]
[in]pressurePressure [Pa]
[out]t_frFreezing point potential temperature referenced to the surface [degC]
eosEquation of state structure

Definition at line 313 of file MOM_EOS.F90.

313  real, intent(in) :: S !< Salinity [ppt]
314  real, intent(in) :: pressure !< Pressure [Pa]
315  real, intent(out) :: T_fr !< Freezing point potential temperature referenced
316  !! to the surface [degC]
317  type(EOS_type), pointer :: EOS !< Equation of state structure
318 
319  if (.not.associated(eos)) call mom_error(fatal, &
320  "calculate_TFreeze_scalar called with an unassociated EOS_type EOS.")
321 
322  select case (eos%form_of_TFreeze)
323  case (tfreeze_linear)
324  call calculate_tfreeze_linear(s, pressure, t_fr, eos%TFr_S0_P0, &
325  eos%dTFr_dS, eos%dTFr_dp)
326  case (tfreeze_millero)
327  call calculate_tfreeze_millero(s, pressure, t_fr)
328  case (tfreeze_teos10)
329  call calculate_tfreeze_teos10(s, pressure, t_fr)
330  case default
331  call mom_error(fatal, &
332  "calculate_TFreeze_scalar: form_of_TFreeze is not valid.")
333  end select
334 

The documentation for this interface was generated from the following file: