Thermodynamic Equations

Header file: <libs/superdrops/thermodynamic_equations.hpp> [source]

inline double moist_specifc_heat(const double qvap, const double qcond)

Calculate the specific heat capacity of moist air.

This function calculates the specific heat capacity of a moist parcel of air using the specific heat of dry air, the specific heat of water vapor, and the specific heat of condensed water, and the vapour and liquid mass mixing ratios for that parcel of air.

Parameters:
  • qvap – The vapor mass mixing ratio.

  • qcond – The liquid (condensate) mass mixing ratio.

Returns:

The specific heat capacity of the air parcel.

inline double supersaturation_ratio(const double press, const double qvap, const double psat)

Calculate the supersaturation ratio given the saturation pressure, ambient pressure, and vapor mass mixing ratio.

supersaturation ratio, ‘s_ratio’, = p_vapour/psat (i.e. is equivalent to the relative humidity)

Parameters:
  • press – The ambient pressure.

  • qvap – The vapor mass mixing ratio.

  • psat – The saturation pressure.

Returns:

The supersaturation ratio.

inline Kokkos::pair<double, double> kohler_factors(const Superdrop &drop, const double temp)

Calculate the Raoult and Kelvin factors for the Kohler curve.

Calculates 1) value of ‘a’ in Raoult factor (exp^(a/r)) to account for effect of dissolved solute on radial growth of droplet and 2) Calculates value of ‘b’ in Kelvin factor (1-b/r^3) to account for curvature on radial growth of droplet. Equations [X.YY] are from “An Introduction To Clouds

From The Microscale to Climate” by Lohmann, Luond and Mahrt, 1st edition.

Parameters:
  • drop – The superdroplet.

  • temp – The ambient temperature.

Returns:

A Kokkos pair containing ‘a’ and ‘b’ factors in that order.

double saturation_pressure(const double temp)

Calculate the equilibrium vapor pressure of water over liquid water, i.e. the saturation pressure.

Equation adapted from Bjorn Steven’s “make_tetens” Python function from his module “moist_thermodynamics.saturation_vapour_pressures” available upon request on gitlab. Original paper for formula is Murray, F. W. (1967) “On the Computation of Saturation Vapor Pressure”, Journal of Applied Meteorology and Climatology 6, 203–204.

Note: Function starts with conversion from dimentionless to real temperature [Kelvin], TEMP = temp*Temp0, and returns dimensionless pressure from real psat = PSAT/P0.

Equation adapted from Bjorn Steven’s “make_tetens” python function from his module “moist_thermodynamics.saturation_vapour_pressures” available upon request on gitlab. Original paper for formula is Murray, F. W. (1967) “On the Computation of Saturation Vapor Pressure”, Journal of Applied Meteorology and Climatology 6, 203–204.

Note: Function starts with conversion from dimentionless to real temperature [Kelvin], TEMP = temp*Temp0, and returns dimensionless pressure from real psat = PSAT/P0.

Parameters:
  • temp – The (dimensionless) ambient temperature.

  • temp – The (dimensionless) ambient temperature.

Returns:

The (dimensionless) saturation pressure.

Returns:

The (dimensionless) saturation pressure.

double saturation_pressure_murphy_koop(const double temp)

Calculate the equilibrium vapor pressure of water over liquid water, i.e. the saturation pressure.

Equation adapted from Python module typhon.physics.thermodynamics.e_eq_water_mk with conversion to real TEMP /K = temp*Temp0 and return dimensionless psat from real psat, psat = PSAT/P0.

Parameters:

temp – The (dimensionless) temperature.

Returns:

The (dimensionless) saturation pressure.

double diffusion_factor(const double press, const double temp, const double psat)

Calculate the sum of the heat and vapor diffusion factors for condensation-diffusion growth equation.

Calculate the sum of heat and vapor diffusion factors ‘Fkl’ and ‘Fdl’ respectively for condensation-diffusion growth equation of droplet radius. Equations [X.YY] are from “An

Introduction To Clouds From The Microscale to Climate” by Lohmann, Luond and Mahrt, 1st edition.

Parameters:
  • press – The ambient pressure.

  • temp – The ambient temperature.

  • psat – The saturation pressure.

Returns:

The (dimensionless) diffusion factor.