mom_tfreeze module reference

Freezing point expressions.

More…

Functions/Subroutines

calculate_tfreeze_linear_scalar()

This subroutine computes the freezing point potential temperature [degC] from salinity [ppt], and pressure [Pa] using a simple linear expression, with coefficients passed in as arguments.

calculate_tfreeze_linear_array()

This subroutine computes an array of freezing point potential temperatures [degC] from salinity [ppt], and pressure [Pa] using a simple linear expression, with coefficients passed in as arguments.

calculate_tfreeze_millero_scalar()

This subroutine computes the freezing point potential temperature [degC] from salinity [ppt], and pressure [Pa] using the expression from Millero (1978) (and in appendix A of Gill 1982), but with the of the pressure dependence changed from 7.53e-8 to 7.75e-8 to make this an expression for potential temperature (not in situ temperature), using a value that is correct at the freezing point at 35 PSU and 5e6 Pa (500 dbar).

calculate_tfreeze_millero_array()

This subroutine computes the freezing point potential temperature [degC] from salinity [ppt], and pressure [Pa] using the expression from Millero (1978) (and in appendix A of Gill 1982), but with the pressure dependence changed from 7.53e-8 to 7.75e-8 to make this an expression for potential temperature (not in situ temperature), using a value that is correct at the freezing point at 35 PSU and 5e6 Pa (500 dbar).

calculate_tfreeze_teos_poly_scalar()

This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g kg-1], and pressure [Pa] using a rescaled and refactored version of the polynomial expressions from the TEOS10 package.

calculate_tfreeze_teos_poly_array()

This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g kg-1], and pressure [Pa] using a rescaled and refactored version of the polynomial expressions from the TEOS10 package.

calculate_tfreeze_teos10_scalar()

This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g kg-1], and pressure [Pa] using the TEOS10 package.

calculate_tfreeze_teos10_array()

This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g kg-1], and pressure [Pa] using the TEOS10 package.

Detailed Description

Freezing point expressions.

Function/Subroutine Documentation

subroutine mom_tfreeze/calculate_tfreeze_linear_scalar(S, pres, T_Fr, TFr_S0_P0, dTFr_dS, dTFr_dp)

This subroutine computes the freezing point potential temperature [degC] from salinity [ppt], and pressure [Pa] using a simple linear expression, with coefficients passed in as arguments.

Parameters:
  • s :: [in] salinity [ppt].

  • pres :: [in] pressure [Pa].

  • t_fr :: [out] Freezing point potential temperature [degC].

  • tfr_s0_p0 :: [in] The freezing point at S=0, p=0 [degC].

  • dtfr_ds :: [in] The derivative of freezing point with salinity, [degC ppt-1].

  • dtfr_dp :: [in] The derivative of freezing point with pressure, [degC Pa-1].

subroutine mom_tfreeze/calculate_tfreeze_linear_array(S, pres, T_Fr, start, npts, TFr_S0_P0, dTFr_dS, dTFr_dp)

This subroutine computes an array of freezing point potential temperatures [degC] from salinity [ppt], and pressure [Pa] using a simple linear expression, with coefficients passed in as arguments.

Parameters:
  • s :: [in] salinity [ppt].

  • pres :: [in] pressure [Pa].

  • t_fr :: [out] Freezing point potential temperature [degC].

  • start :: [in] the starting point in the arrays.

  • npts :: [in] the number of values to calculate.

  • tfr_s0_p0 :: [in] The freezing point at S=0, p=0, [degC].

  • dtfr_ds :: [in] The derivative of freezing point with salinity, [degC ppt-1].

  • dtfr_dp :: [in] The derivative of freezing point with pressure, [degC Pa-1].

subroutine mom_tfreeze/calculate_tfreeze_millero_scalar(S, pres, T_Fr)

This subroutine computes the freezing point potential temperature [degC] from salinity [ppt], and pressure [Pa] using the expression from Millero (1978) (and in appendix A of Gill 1982), but with the of the pressure dependence changed from 7.53e-8 to 7.75e-8 to make this an expression for potential temperature (not in situ temperature), using a value that is correct at the freezing point at 35 PSU and 5e6 Pa (500 dbar).

Parameters:
  • s :: [in] Salinity [PSU]

  • pres :: [in] Pressure [Pa]

  • t_fr :: [out] Freezing point potential temperature [degC]

subroutine mom_tfreeze/calculate_tfreeze_millero_array(S, pres, T_Fr, start, npts)

This subroutine computes the freezing point potential temperature [degC] from salinity [ppt], and pressure [Pa] using the expression from Millero (1978) (and in appendix A of Gill 1982), but with the pressure dependence changed from 7.53e-8 to 7.75e-8 to make this an expression for potential temperature (not in situ temperature), using a value that is correct at the freezing point at 35 PSU and 5e6 Pa (500 dbar).

Parameters:
  • s :: [in] Salinity [PSU].

  • pres :: [in] Pressure [Pa].

  • t_fr :: [out] Freezing point potential temperature [degC].

  • start :: [in] The starting point in the arrays.

  • npts :: [in] The number of values to calculate.

subroutine mom_tfreeze/calculate_tfreeze_teos_poly_scalar(S, pres, T_Fr)

This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g kg-1], and pressure [Pa] using a rescaled and refactored version of the polynomial expressions from the TEOS10 package.

Parameters:
  • s :: [in] Absolute salinity [g kg-1].

  • pres :: [in] Pressure [Pa].

  • t_fr :: [out] Freezing point conservative temperature [degC].

subroutine mom_tfreeze/calculate_tfreeze_teos_poly_array(S, pres, T_Fr, start, npts)

This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g kg-1], and pressure [Pa] using a rescaled and refactored version of the polynomial expressions from the TEOS10 package.

Parameters:
  • s :: [in] absolute salinity [g kg-1].

  • pres :: [in] Pressure [Pa].

  • t_fr :: [out] Freezing point conservative temperature [degC].

  • start :: [in] The starting point in the arrays

  • npts :: [in] The number of values to calculate

Called from:

mom_tfreeze::calculate_tfreeze_teos_poly::calculate_tfreeze_teos_poly_scalar

subroutine mom_tfreeze/calculate_tfreeze_teos10_scalar(S, pres, T_Fr)

This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g kg-1], and pressure [Pa] using the TEOS10 package.

Parameters:
  • s :: [in] Absolute salinity [g kg-1].

  • pres :: [in] Pressure [Pa].

  • t_fr :: [out] Freezing point conservative temperature [degC].

subroutine mom_tfreeze/calculate_tfreeze_teos10_array(S, pres, T_Fr, start, npts)

This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g kg-1], and pressure [Pa] using the TEOS10 package.

Parameters:
  • s :: [in] absolute salinity [g kg-1].

  • pres :: [in] pressure [Pa].

  • t_fr :: [out] Freezing point conservative temperature [degC].

  • start :: [in] the starting point in the arrays.

  • npts :: [in] the number of values to calculate.

Called from:

mom_tfreeze::calculate_tfreeze_teos10::calculate_tfreeze_teos10_scalar