GaussianDispersion

Documentation for GaussianDispersion.

GaussianDispersion.AbstractDispersionFunctionsType
AbstractDispersionFunctions

Define types for representing functions to compute the dispersion coefficients with respect to the downwind distance x in meter. Those types must implement the sigma_y and sigma_z methods that both return a closure for calculating σ_y and σ_z respectively. Instanciating those types give a functor that takes as argument the downwind distance and return the dispersion coefficients.

source
GaussianDispersion.GaussianPlumeType
struct GaussianPlume{M, T}

Structure related to the release conditions

  • release: release parameters

  • meteo: parameters related to the atmospheric conditions

  • dispcoefs: object representing the dispersion coefficients

  • reflection: if ground reflection is considered

  • _z_exp_terms

source
GaussianDispersion.HeatBalanceParamsType
struct HeatBalanceParams{C, A, B}

Values for the heat balance parametrization.

  • 'albedo' :
  • C_g: parameter for the estimation of the heat flux to the ground in the equation $q\_G = C\_G R\_n$.

Typical values are 0.05-0.25 for rural, 0.25-0.3 for urban and 0.1 for grasslands (Scire et al., 2000)

source
GaussianDispersion.PGStabilityType
PGStability <: AbstractPGStability

Define the stability classes for the model according to Pasquill and Gifford. #! If multiple classes are defined, the average result for each class is considered.

Example

julia> pgstab = PGStability(:A)
PGStability(GaussianDispersion.PGVeryUnstable())
source
GaussianDispersion.PGStabilityClassType
PGStabilityClass

Abstract type of Pasquill-Gifford stability classes. The concrete types start with PG followed by the letter from Pasquill-Gifford classes (A, B, C, D, E, F).

Reference

(Pasquill, 1961; Gifford, 1961).

source
GaussianDispersion.ReleaseParamsType
struct ReleaseParams{T}

Structure related to the release conditions

  • h: Effective source height [m]

  • Q: Emission rate [g/s]

  • Ts: Gas temperature out of the stack [K]

source
GaussianDispersion.buoyancy_plume_riseMethod
buoyancy_plume_rise(flux_param, x, u)

Plume rise Δh [m] according to Briggs (1975) parametrization for buoyancy dominated plumes. x is the downwind distance in meter and u the downwind velocity in meter/second.

source
GaussianDispersion.friction_tempMethod
friction_temp(q, rho, u_star, c_p) -> Any

Calculate the friction temperature from the surface pressure p [Pa], temperature t [K], dewpoint temp td [K] and stress stress [N/m²].

Arguments

  • q: surface sensible heat flux [W/m²]
  • rho: air density [kg/m³]
  • u_star: scale velocity [m/s]
  • c_p: specific heat capacities of dry air [J/kg/K]
source
GaussianDispersion.friction_velocityMethod
friction_velocity(p, t, td, stress, R_gas) -> Any

Calculate the friction velocity from the surface pressure p [Pa], temperature t [K], dewpoint temp td [K] and stress stress [N/m²].

source
GaussianDispersion.log_wind_profileMethod
log_wind_profile(u_star, z, z_0, L; karman) -> Any

Calculate the log wind velocity profile.

Arguments

  • u_star: friction velocity [m/s]
  • z: height [m]
  • z_0: roughness length [m]
  • L: Obukhov length [m]
source
GaussianDispersion.momentum_plume_riseMethod
momentum_plume_rise(flux_param, x, u)

Plume rise Δh [m] according to Briggs (1975) parametrization for momentum dominated plumes. x is the downwind distance in meter and u the downwind velocity in meter/second.

source
GaussianDispersion.obukhovMethod
obukhov(ps, ts, u_star, q; c_p, R_gas, karman, g) -> Any

Calculate Obukhov scale height from surface meteorological data and sensible heat flux.

Arguments

  • ps: surface pressure [Pa]
  • ts: surface temperature [K]
  • u_star: scale velocity [m/s]
  • q: surface sensible heat flux [W/m2]
source
GaussianDispersion.obukhovMethod
obukhov(
    ps,
    ts,
    td,
    t,
    p,
    u_star,
    q;
    c_p,
    R_gas,
    karman,
    g
) -> Any

Calculate Obukhov scale height from surface meteorological data and sensible heat flux.

Arguments

  • ps: surface pressure [Pa]
  • ts: surface temperature [K]
  • td: surface dew point [K]
  • t: temperature first model level [K]
  • p : pressure first model level [Pa]
  • u_star: scale velocity [m/s]
  • q: surface sensible heat flux [W/m2]
source
GaussianDispersion.pasquill_giffordMethod
pasquill_gifford(criteria::AbstractSkyCondition, windspeed::Real)

Return a list of stability classes according to the Pasquill Gifford criteria

Example

julia> pasquill_gifford(Moderate, 5.5) Set{StabilityClass} with 2 elements: C D

source
GaussianDispersion.potential_tempMethod
potential_temp(t, p, akap) -> Any

Calculate the potential temperature.

Arguments

  • t: temperature [K]
  • p: pressure [Pa]
  • R_gas: individual gas constant for dry air [J/kg/K]
  • c_p: specific heat capacities of dry air [J/kg/K]
source
GaussianDispersion.solar_energy_fluxMethod
solar_energy_flux(Φ, n) -> Any

Solar radiation energy flux W m^-2 given the solar elevation Φ and n the fractional cloud cover. Ref: Kasten and Czeplak, 1980; Holtslag and van Ulden, 1983.

source
GaussianDispersion.virtual_tempMethod
virtual_temp(ps, t, e) -> Any

Calculate the virtual temperature from the surface pressure ps [Pa], the temperature t [K], and the vapor pressure e [Pa].

source