Skip to content

Namespace met_utilities_mod

Namespace List > met_utilities_mod

Public Functions

Type Name
real(fp) function, public arrhenius_rate (real(fp), intent(in) a, real(fp), intent(in) ea, real(fp), intent(in) t)
Calculate Arrhenius rate constant.
real(fp) function, public brunt_vaisala_frequency (real(fp), intent(in) t0, real(fp), intent(in) dtdz)
Calculate Brunt–Väisälä frequency squared (N^2)
real(fp) function, public bulk_richardson_number (real(fp), intent(in) t0, real(fp), intent(in) tz, real(fp), intent(in) u, real(fp), intent(in) z)
Calculate the bulk Richardson number.
real(fp) function, public cunningham_correction_factor (real(fp), intent(in) dp, real(fp), intent(in) lambda)
Calculate Cunningham correction factor.
real(fp) function, public dew_point (real(fp), intent(in) t, real(fp), intent(in) rh)
Calculate dew point temperature.
real(fp) function, public dry_adiabatic_lapse_rate ()
Calculate dry adiabatic lapse rate.
real(fp) function, public friction_velocity (real(fp), intent(in) tau, real(fp), intent(in) rho)
Calculate friction velocity (u*)
real(fp) function, public henrys_law_constant (real(fp), intent(in) h0, real(fp), intent(in) dh, real(fp), intent(in) t, real(fp), intent(in) t0)
Calculate Henry's Law constant (temperature dependent)
real(fp) function, public latent_heat_vaporization (real(fp), intent(in) t)
Calculate latent heat of vaporization (temperature dependent)
real(fp) function, public mean_free_path_air (real(fp), intent(in) t, real(fp), intent(in) p)
Calculate the mean free path of air molecules.
real(fp) function, public mixing_ratio (real(fp), intent(in) q)
Calculate mixing ratio from specific humidity.
real(fp) function, public monin_obukhov_length (real(fp), intent(in) ustar, real(fp), intent(in) t0, real(fp), intent(in) h, real(fp), intent(in) rho)
Calculate the Monin-Obukhov length.
real(fp) function, public nuclear_decay (real(fp), intent(in) n0, real(fp), intent(in) lambda, real(fp), intent(in) t)
Calculate nuclear decay (first-order)
real(fp) function, public photolysis_rate_scaling (real(fp), intent(in) j0, real(fp), intent(in) sza)
Scale photolysis rate for solar zenith angle.
real(fp) function, public potential_temperature (real(fp), intent(in) t, real(fp), intent(in) p, real(fp), intent(in) p0)
Calculate potential temperature (theta)
real(fp) function, public ppm_to_ugm3 (real(fp), intent(in) ppm, real(fp), intent(in) m, real(fp), intent(in) t, real(fp), intent(in) p)
Convert ppm to ug/m3.
real(fp) function, public psi_h_businger (real(fp), intent(in) zeta)
Businger-Dyer stability correction for heat.
real(fp) function, public psi_m_businger (real(fp), intent(in) zeta)
Businger-Dyer stability correction for momentum.
real(fp) function, public psychrometric_constant (real(fp), intent(in) p, real(fp), intent(in) lv)
Calculate the psychrometric constant.
real(fp) function, public relative_humidity (real(fp), intent(in) t, real(fp), intent(in) qv, real(fp), intent(in) p)
Calculate relative humidity.
real(fp) function, public saturation_mixing_ratio (real(fp), intent(in) p, real(fp), intent(in) t)
Calculate saturation mixing ratio.
real(fp) function, public saturation_vapor_pressure (real(fp), intent(in) t)
Calculate saturation vapor pressure (Clausius-Clapeyron)
real(fp) function, public specific_humidity (real(fp), intent(in) r)
Calculate specific humidity from mixing ratio.
integer function, public stability_classification (real(fp), intent(in) l)
Classify atmospheric stability based on Monin-Obukhov length.
real(fp) function, public stokes_number (real(fp), intent(in) rho_p, real(fp), intent(in) d_p, real(fp), intent(in) u, real(fp), intent(in) mu, real(fp), intent(in) l)
Calculate Stokes number from base state variables.
real(fp) function, public stokes_settling_velocity (real(fp), intent(in) dp, real(fp), intent(in) rho_p, real(fp), intent(in) rho_a, real(fp), intent(in) mu, real(fp), intent(in) cc)
Calculate Stokes settling velocity for a particle.
real(fp) function, public ugm3_to_ppm (real(fp), intent(in) ugm3, real(fp), intent(in) m, real(fp), intent(in) t, real(fp), intent(in) p)
Convert ug/m3 to ppm.
real(fp) function, public virtual_temperature (real(fp), intent(in) t, real(fp), intent(in) qv)
Calculate virtual temperature.
real(fp) function, public wind_profile_loglaw (real(fp), intent(in) ustar, real(fp), intent(in) z, real(fp), intent(in) z0)
Calculate wind speed at height z using the log-law.

Public Functions Documentation

function arrhenius_rate

Calculate Arrhenius rate constant.

real( fp ) function, public met_utilities_mod::arrhenius_rate (
    real( fp ), intent(in) a,
    real( fp ), intent(in) ea,
    real( fp ), intent(in) t
) 

Parameters:

  • A Pre-exponential factor [units vary]
  • Ea Activation energy [J/mol]
  • T Temperature [K]

Returns:

Rate constant [units of A] SeinfeldPandis2016


function brunt_vaisala_frequency

Calculate Brunt–Väisälä frequency squared (N^2)

real( fp ) function, public met_utilities_mod::brunt_vaisala_frequency (
    real( fp ), intent(in) t0,
    real( fp ), intent(in) dtdz
) 

Parameters:

  • T0 Reference temperature [K]
  • dTdz Vertical temperature gradient [K/m]

Returns:

Brunt–Väisälä frequency squared [1/s^2] WallaceHobbs2006


function bulk_richardson_number

Calculate the bulk Richardson number.

real( fp ) function, public met_utilities_mod::bulk_richardson_number (
    real( fp ), intent(in) t0,
    real( fp ), intent(in) tz,
    real( fp ), intent(in) u,
    real( fp ), intent(in) z
) 

Parameters:

  • T0 Surface temperature [K]
  • Tz Temperature at height z [K]
  • u Wind speed at height z [m/s]
  • z Height above ground [m]

Returns:

Bulk Richardson number (dimensionless)


function cunningham_correction_factor

Calculate Cunningham correction factor.

real( fp ) function, public met_utilities_mod::cunningham_correction_factor (
    real( fp ), intent(in) dp,
    real( fp ), intent(in) lambda
) 

Parameters:

  • dp Particle diameter [m]
  • lambda Mean free path of air [m]

Returns:

Cunningham correction factor (dimensionless)


function dew_point

Calculate dew point temperature.

real( fp ) function, public met_utilities_mod::dew_point (
    real( fp ), intent(in) t,
    real( fp ), intent(in) rh
) 

Parameters:

  • T Temperature [K]
  • rh Relative humidity [0-1]

Returns:

Dew point temperature [K] Bolton1980


function dry_adiabatic_lapse_rate

Calculate dry adiabatic lapse rate.

real( fp ) function, public met_utilities_mod::dry_adiabatic_lapse_rate () 

Returns:

Dry adiabatic lapse rate [K/m]


function friction_velocity

Calculate friction velocity (u*)

real( fp ) function, public met_utilities_mod::friction_velocity (
    real( fp ), intent(in) tau,
    real( fp ), intent(in) rho
) 

Parameters:

  • tau Surface shear stress [N/m^2]
  • rho Air density [kg/m^3]

Returns:

Friction velocity [m/s]


function henrys_law_constant

Calculate Henry's Law constant (temperature dependent)

real( fp ) function, public met_utilities_mod::henrys_law_constant (
    real( fp ), intent(in) h0,
    real( fp ), intent(in) dh,
    real( fp ), intent(in) t,
    real( fp ), intent(in) t0
) 

Parameters:

  • H0 Reference Henry's constant [mol/(m^3*Pa)]
  • dH Enthalpy of solution [J/mol]
  • T Temperature [K]
  • T0 Reference temperature [K]

Returns:

Henry's Law constant at T [mol/(m^3*Pa)] Sander2015


function latent_heat_vaporization

Calculate latent heat of vaporization (temperature dependent)

real( fp ) function, public met_utilities_mod::latent_heat_vaporization (
    real( fp ), intent(in) t
) 

Parameters:

  • T Temperature [K]

Returns:

Latent heat of vaporization [J/kg]


function mean_free_path_air

Calculate the mean free path of air molecules.

real( fp ) function, public met_utilities_mod::mean_free_path_air (
    real( fp ), intent(in) t,
    real( fp ), intent(in) p
) 

Parameters:

  • T Temperature [K]
  • p Pressure [Pa]

Returns:

Mean free path [m] SeinfeldPandis2016


function mixing_ratio

Calculate mixing ratio from specific humidity.

real( fp ) function, public met_utilities_mod::mixing_ratio (
    real( fp ), intent(in) q
) 

Parameters:

  • q Specific humidity [kg/kg]

Returns:

Mixing ratio [kg/kg]


function monin_obukhov_length

Calculate the Monin-Obukhov length.

real( fp ) function, public met_utilities_mod::monin_obukhov_length (
    real( fp ), intent(in) ustar,
    real( fp ), intent(in) t0,
    real( fp ), intent(in) h,
    real( fp ), intent(in) rho
) 

Parameters:

  • ustar Friction velocity [m/s]
  • T0 Surface temperature [K]
  • H Sensible heat flux [W/m^2]
  • rho Air density [kg/m^3]

Returns:

Monin-Obukhov length [m]


function nuclear_decay

Calculate nuclear decay (first-order)

real( fp ) function, public met_utilities_mod::nuclear_decay (
    real( fp ), intent(in) n0,
    real( fp ), intent(in) lambda,
    real( fp ), intent(in) t
) 

Parameters:

  • N0 Initial quantity
  • lambda Decay constant [1/s]
  • t Time [s]

Returns:

Remaining quantity after time t


function photolysis_rate_scaling

Scale photolysis rate for solar zenith angle.

real( fp ) function, public met_utilities_mod::photolysis_rate_scaling (
    real( fp ), intent(in) j0,
    real( fp ), intent(in) sza
) 

Parameters:

  • J0 Base photolysis rate [1/s]
  • sza Solar zenith angle [degrees]

Returns:

Scaled photolysis rate [1/s]


function potential_temperature

Calculate potential temperature (theta)

real( fp ) function, public met_utilities_mod::potential_temperature (
    real( fp ), intent(in) t,
    real( fp ), intent(in) p,
    real( fp ), intent(in) p0
) 

Parameters:

  • T Temperature [K]
  • p Pressure [Pa]
  • p0 Surface pressure [Pa]

Returns:

Potential temperature [K] WallaceHobbs2006


function ppm_to_ugm3

Convert ppm to ug/m3.

real( fp ) function, public met_utilities_mod::ppm_to_ugm3 (
    real( fp ), intent(in) ppm,
    real( fp ), intent(in) m,
    real( fp ), intent(in) t,
    real( fp ), intent(in) p
) 

Parameters:

  • ppm Concentration [ppm]
  • M Molar mass [g/mol]
  • T Temperature [K]
  • p Pressure [Pa]

Returns:

Concentration [ug/m3]


function psi_h_businger

Businger-Dyer stability correction for heat.

real( fp ) function, public met_utilities_mod::psi_h_businger (
    real( fp ), intent(in) zeta
) 

Parameters:

  • zeta z/L (dimensionless stability parameter)

Returns:

Psi_h (stability correction for heat)


function psi_m_businger

Businger-Dyer stability correction for momentum.

real( fp ) function, public met_utilities_mod::psi_m_businger (
    real( fp ), intent(in) zeta
) 

Parameters:

  • zeta z/L (dimensionless stability parameter)

Returns:

Psi_m (stability correction for momentum)


function psychrometric_constant

Calculate the psychrometric constant.

real( fp ) function, public met_utilities_mod::psychrometric_constant (
    real( fp ), intent(in) p,
    real( fp ), intent(in) lv
) 

Parameters:

  • p Pressure [Pa]
  • Lv Latent heat of vaporization [J/kg]

Returns:

Psychrometric constant [Pa/K]


function relative_humidity

Calculate relative humidity.

real( fp ) function, public met_utilities_mod::relative_humidity (
    real( fp ), intent(in) t,
    real( fp ), intent(in) qv,
    real( fp ), intent(in) p
) 

Parameters:

  • T Temperature [K]
  • qv Water vapor mixing ratio [kg/kg]
  • p Pressure [Pa]

Returns:

Relative humidity [0-1] WallaceHobbs2006


function saturation_mixing_ratio

Calculate saturation mixing ratio.

real( fp ) function, public met_utilities_mod::saturation_mixing_ratio (
    real( fp ), intent(in) p,
    real( fp ), intent(in) t
) 

Parameters:

  • p Pressure [Pa]
  • T Temperature [K]

Returns:

Saturation mixing ratio [kg/kg]


function saturation_vapor_pressure

Calculate saturation vapor pressure (Clausius-Clapeyron)

real( fp ) function, public met_utilities_mod::saturation_vapor_pressure (
    real( fp ), intent(in) t
) 

Parameters:

  • T Temperature [K]

Returns:

Saturation vapor pressure [Pa] Bolton1980


function specific_humidity

Calculate specific humidity from mixing ratio.

real( fp ) function, public met_utilities_mod::specific_humidity (
    real( fp ), intent(in) r
) 

Parameters:

  • r Mixing ratio [kg/kg]

Returns:

Specific humidity [kg/kg]


function stability_classification

Classify atmospheric stability based on Monin-Obukhov length.

integer function, public met_utilities_mod::stability_classification (
    real( fp ), intent(in) l
) 

Parameters:

  • L Monin-Obukhov length [m]

Returns:

Stability class: -1 (unstable), 0 (neutral), 1 (stable)


function stokes_number

Calculate Stokes number from base state variables.

real( fp ) function, public met_utilities_mod::stokes_number (
    real( fp ), intent(in) rho_p,
    real( fp ), intent(in) d_p,
    real( fp ), intent(in) u,
    real( fp ), intent(in) mu,
    real( fp ), intent(in) l
) 

Parameters:

  • rho_p Particle density [kg/m^3]
  • d_p Particle diameter [m]
  • U Characteristic velocity [m/s]
  • mu Dynamic viscosity [kg/m/s]
  • L Characteristic length scale [m]

Returns:

Stokes number (dimensionless)


function stokes_settling_velocity

Calculate Stokes settling velocity for a particle.

real( fp ) function, public met_utilities_mod::stokes_settling_velocity (
    real( fp ), intent(in) dp,
    real( fp ), intent(in) rho_p,
    real( fp ), intent(in) rho_a,
    real( fp ), intent(in) mu,
    real( fp ), intent(in) cc
) 

Parameters:

  • dp Particle diameter [m]
  • rho_p Particle density [kg/m3]
  • rho_a Air density [kg/m3]
  • mu Air dynamic viscosity [kg/m/s]
  • Cc Cunningham correction factor

Returns:

Settling velocity [m/s]


function ugm3_to_ppm

Convert ug/m3 to ppm.

real( fp ) function, public met_utilities_mod::ugm3_to_ppm (
    real( fp ), intent(in) ugm3,
    real( fp ), intent(in) m,
    real( fp ), intent(in) t,
    real( fp ), intent(in) p
) 

Parameters:

  • ugm3 Concentration [ug/m3]
  • M Molar mass [g/mol]
  • T Temperature [K]
  • p Pressure [Pa]

Returns:

Concentration [ppm]


function virtual_temperature

Calculate virtual temperature.

real( fp ) function, public met_utilities_mod::virtual_temperature (
    real( fp ), intent(in) t,
    real( fp ), intent(in) qv
) 

Parameters:

  • T Temperature [K]
  • qv Water vapor mixing ratio [kg/kg]

Returns:

Virtual temperature [K] WallaceHobbs2006


function wind_profile_loglaw

Calculate wind speed at height z using the log-law.

real( fp ) function, public met_utilities_mod::wind_profile_loglaw (
    real( fp ), intent(in) ustar,
    real( fp ), intent(in) z,
    real( fp ), intent(in) z0
) 

Parameters:

  • ustar Friction velocity [m/s]
  • z Height above ground [m]
  • z0 Surface roughness length [m]

Returns:

Wind speed at height z [m/s]



The documentation for this class was generated from the following file src/core/met_utilities_mod.F90