GaussianDispersion
Documentation for GaussianDispersion.
GaussianDispersion.AbstractDispersionFunctionsGaussianDispersion.GaussianPlumeGaussianDispersion.HeatBalanceParamsGaussianDispersion.PGStabilityGaussianDispersion.PGStabilityClassGaussianDispersion.ReleaseParamsGaussianDispersion.albedo_elevationGaussianDispersion.buoyancy_flux_paramGaussianDispersion.buoyancy_plume_riseGaussianDispersion.friction_tempGaussianDispersion.friction_velocityGaussianDispersion.friction_velocityGaussianDispersion.height_hsGaussianDispersion.height_isaGaussianDispersion.hour_angleGaussianDispersion.log_wind_profileGaussianDispersion.momentum_flux_paramGaussianDispersion.momentum_plume_riseGaussianDispersion.net_radiationGaussianDispersion.obukhovGaussianDispersion.obukhovGaussianDispersion.pasquill_giffordGaussianDispersion.potential_tempGaussianDispersion.saturation_pressureGaussianDispersion.sensible_heat_fluxGaussianDispersion.solar_declinationGaussianDispersion.solar_elevationGaussianDispersion.solar_energy_fluxGaussianDispersion.virtual_tempGaussianDispersion.virtual_temp
GaussianDispersion.AbstractDispersionFunctions — TypeAbstractDispersionFunctionsDefine 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.
GaussianDispersion.GaussianPlume — Typestruct GaussianPlume{M, T}Structure related to the release conditions
release: release parametersmeteo: parameters related to the atmospheric conditionsdispcoefs: object representing the dispersion coefficientsreflection: if ground reflection is considered_z_exp_terms
GaussianDispersion.HeatBalanceParams — Typestruct 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)
GaussianDispersion.PGStability — TypePGStability <: AbstractPGStabilityDefine 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())GaussianDispersion.PGStabilityClass — TypePGStabilityClassAbstract 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).
GaussianDispersion.ReleaseParams — Typestruct 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]
GaussianDispersion.albedo_elevation — Methodalbedo_elevation(albedo_90, ϕ) -> Any
Albedo given albedo_90 the albedo at 90° and ϕ the solar elevation
GaussianDispersion.buoyancy_flux_param — Methodbuoyancy_flux_param(
gas_density,
air_density,
stack_radius,
gas_velocity
)
Buoyancy flux parameter according to Briggs (1968).
GaussianDispersion.buoyancy_plume_rise — Methodbuoyancy_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.
GaussianDispersion.friction_temp — Methodfriction_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]
GaussianDispersion.friction_velocity — Methodfriction_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²].
GaussianDispersion.friction_velocity — Methodfriction_velocity(u_m, z_m, z_0; karman) -> Any
Calculate the friction velocity from a velocity u_m measured at z_m on a surface of roughness length z_0.
GaussianDispersion.height_hs — Methodheight_hs(p, ps, R_gas, T, g) -> Any
Get height from pressure level in a hydrostatic atmosphere.
GaussianDispersion.height_isa — Methodheight_isa(p, R_gas, g) -> Any
Get height from pressure level in the international standard atmosphere.
GaussianDispersion.hour_angle — Functionhour_angle(t) -> Any
hour_angle(t, t0) -> Any
t the time in hour and t0 the time of the solar noon.
GaussianDispersion.log_wind_profile — Methodlog_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]
GaussianDispersion.momentum_flux_param — Methodmomentum_flux_param(
gas_density,
air_density,
stack_radius,
gas_velocity
)
Momentum flux parameter according to Briggs (1968).
GaussianDispersion.momentum_plume_rise — Methodmomentum_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.
GaussianDispersion.net_radiation — Methodnet_radiation(R, albedo, cloud_cover, T_surf) -> Any
Net radiation energy flux received by the earth surface [W m^-2] with R the solar flux (solar_energy_flux)
GaussianDispersion.obukhov — Methodobukhov(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]
GaussianDispersion.obukhov — Methodobukhov(
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]
GaussianDispersion.pasquill_gifford — Methodpasquill_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
GaussianDispersion.potential_temp — Methodpotential_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]
GaussianDispersion.saturation_pressure — Methodsaturation_pressure(t) -> Any
Calculate the saturation vapor pressure from Arden Buck equations (Buck, 1996). t is in K, result in Pa.
GaussianDispersion.sensible_heat_flux — Methodsensible_heat_flux(C_g, net_rad, B) -> Any
Sensible heat flux to the surface [W m^-2]. net_rad can be calculated with net_radiation
GaussianDispersion.solar_declination — Methodsolar_declination(day) -> Any
Latitude [°] where the sun is in the zenith at the solar noon. day is the day of the year
GaussianDispersion.solar_elevation — Methodsolar_elevation(lat, sol_dec, h_angle) -> Any
Solar elevation [°] given the latitude, the solar declination and the hour angle.
GaussianDispersion.solar_energy_flux — Methodsolar_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.
GaussianDispersion.virtual_temp — Methodvirtual_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].
GaussianDispersion.virtual_temp — Methodvirtual_temp(t, w) -> Any
Calculate the virtual temperature from the temperature t [K] and the specific humidity w [kg/kg].