Calculates the freezing point of sea water from T, S and P.
Definition at line 81 of file MOM_EOS.F90.
|
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...
|
|
◆ 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] | s | Salinity [ppt] |
[in] | pressure | Pressure [Pa] |
[out] | t_fr | Freezing point potential temperature referenced to the surface [degC] |
[in] | start | Starting index within the array |
[in] | npts | The number of values to calculate |
| eos | Equation of state structure |
Definition at line 339 of file MOM_EOS.F90.
339 real,
dimension(:),
intent(in) :: S
340 real,
dimension(:),
intent(in) :: pressure
341 real,
dimension(:),
intent(out) :: T_fr
343 integer,
intent(in) :: start
344 integer,
intent(in) :: npts
345 type(EOS_type),
pointer :: EOS
347 if (.not.
associated(eos))
call mom_error(fatal, &
348 "calculate_TFreeze_scalar called with an unassociated EOS_type EOS.")
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)
359 call mom_error(fatal, &
360 "calculate_TFreeze_scalar: form_of_TFreeze is not valid.")
◆ 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] | s | Salinity [ppt] |
[in] | pressure | Pressure [Pa] |
[out] | t_fr | Freezing point potential temperature referenced to the surface [degC] |
| eos | Equation of state structure |
Definition at line 313 of file MOM_EOS.F90.
313 real,
intent(in) :: S
314 real,
intent(in) :: pressure
315 real,
intent(out) :: T_fr
317 type(EOS_type),
pointer :: EOS
319 if (.not.
associated(eos))
call mom_error(fatal, &
320 "calculate_TFreeze_scalar called with an unassociated EOS_type EOS.")
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)
331 call mom_error(fatal, &
332 "calculate_TFreeze_scalar: form_of_TFreeze is not valid.")
The documentation for this interface was generated from the following file:
- /glade/work/altuntas/cesm.sandboxes/cesm2_2_alpha_X_mom/components/mom/MOM6/src/equation_of_state/MOM_EOS.F90