gnome.utilities.weathering¶
weathering package
This is where we keep a reasonably organized assortment of algorithms for calculating behavior due to weathering.
Submodules¶
- gnome.utilities.weathering.adios2
- gnome.utilities.weathering.banerjee_huibers
- gnome.utilities.weathering.delvigne_sweeney
- gnome.utilities.weathering.ding_farmer
- gnome.utilities.weathering.huibers_lehr
- gnome.utilities.weathering.lee_huibers
- gnome.utilities.weathering.lehr_simecek
- gnome.utilities.weathering.monahan
- gnome.utilities.weathering.overstreet
- gnome.utilities.weathering.pierson_moskowitz
- gnome.utilities.weathering.riazi
- gnome.utilities.weathering.spill_area
- gnome.utilities.weathering.stokes
- gnome.utilities.weathering.zhao_toba
Classes¶
The combination of correlations by Huibers and Katritzky (1998) |
|
The combination of correlations by Huibers and Katritzky (1998) |
|
Using Huibers & Katrisky for solubility. |
|
Using Riazi (2005), aromatic properties are approximated |
|
Pierson-Moskowitz spectrum for fully developed, wind induced, |
|
Delvigne and Sweeney (1988) computes the fraction of |
|
Zhao and Toba (2001) percent whitecap coverage formula |
|
This is for any Adios 2 algorithms for which a scientific reference |
|
This based on formulas by: |
Package Contents¶
- class gnome.utilities.weathering.LeeHuibers¶
Bases:
object
The combination of correlations by Huibers and Katritzky (1998) and Lee et al (1992) to estimate the correlation between a specific aromatic hydrocarbon’s density and molecular weight with its partition coefficient.
rho_arom = density of aromatic
mol_wt = molecular weight
s = solubility
s = Huibers(rho_arom, mol_wt)
k_ow = Lee(s)
= Lee(Huibers(rho_arom, mol_wt))
We calibrate an empiric coefficient A with the measured values of Toluene.
- A¶
- classmethod partition_coeff(mol_wt, density)¶
- Parameters:
mol_wt – Molecular weight in kg/kmole
density – Density in kg/m^3
- class gnome.utilities.weathering.BanerjeeHuibers¶
Bases:
object
The combination of correlations by Huibers and Katritzky (1998) and Banerjee et al (1980) to estimate the correlation between a specific aromatic hydrocarbon’s density and molecular weight with its partition coefficient.
rho_arom = density of aromatic
mol_wt = molecular weight
s = solubility
s = Huibers(rho_arom, mol_wt)
k_ow = Banerjee(s)
= Banerjee(Huibers(rho_arom, mol_wt))
- classmethod partition_coeff(mol_wt, density)¶
- Parameters:
mol_wt – Molecular weight in kg/kmole
density – Density in kg/m^3
- class gnome.utilities.weathering.HuibersLehr¶
Bases:
object
Using Huibers & Katrisky for solubility. Using EPA report (2012), and tweaking by Bill so that results better match measured values, to estimate the correlation between a specific aromatic hydrocarbon’s density and molecular weight with its partition coefficient.
rho_arom = density of aromatic mol_wt = molecular weight S_w = solubility
S_w = Huibers(rho_arom, mol_wt) k_ow = 5.45 * s**(-.89) (EPA) k_ow = 10 * s**(-.95) (Lehr)
- classmethod partition_coeff(mol_wt, density)¶
- Parameters:
mol_wt – Molecular weight in kg/kmole
density – Density in kg/m^3
- class gnome.utilities.weathering.Riazi¶
Bases:
object
Using Riazi (2005), aromatic properties are approximated from distillation cut temperature (degrees Kelvin)
- classmethod mol_wt(temp)¶
returns molecular weight in kg/kmole
- classmethod density(temp)¶
returns density in kg/m^3
- classmethod molar_volume(temp)¶
returns molar_volume in m^3/kmole
- class gnome.utilities.weathering.Stokes¶
Bases:
object
- static water_phase_xfer_velocity(oil_water_rho_delta, diameter)¶
water phase transfer velocity k_w (m/s)
This assumes spherical droplets with a diameter < 400 microns.
Bigger droplets will be distorted and rise more rapidly, and they are presumed to rise so quickly that little dissolution takes place for them except as part of the dissolution from the surface slick.
- Parameters:
oil_water_rho_delta – density difference (unit-less)
diameter – droplet diameter (m)
- Returns:
transfer velocity (m/s)
- class gnome.utilities.weathering.PiersonMoskowitz¶
Bases:
object
Pierson-Moskowitz spectrum for fully developed, wind induced, surface waves. This relates significant wave height to U_10 (m/s), which is the wind speed at 10m elevation.
- classmethod significant_wave_height(wind_speed)¶
significant wave height H_13 (m)
- classmethod peak_wave_period(wind_speed)¶
peak wave period T_w (s)
- classmethod peak_wave_speed(wind_speed)¶
peak wave speed
- classmethod peak_angular_frequency(wind_speed)¶
peak angular frequency (1/s)
- class gnome.utilities.weathering.DelvigneSweeney¶
Bases:
object
Delvigne and Sweeney (1988) computes the fraction of breaking waves f_bw. DS assumes no breaking waves for winds less than 10 knots.
- static breaking_waves_frac(wind_speed, peak_wave_period)¶
Field observations of Holthuysen and Herbers (1986) and Toba et al. (1971) lead to a simple empirical relation for spilling breakers in deep water.
- class gnome.utilities.weathering.DingFarmer¶
Bases:
object
- classmethod calm_between_wave_breaks(breaking_waves_frac, peak_wave_period)¶
The time available (calm period) for the droplets to re-float
D&F note that the duration of the breaking event is about half the wave period, presumably 0.5 * T_w, although this is unclear from their text.
- classmethod refloat_time(significant_wave_height, water_phase_xfer_velocity)¶
Assuming that the ‘average’ droplet is inserted to a depth of 0.75 * H_13, calculate the average re-float time T_rfl for the droplet.
- classmethod water_column_time_fraction(breaking_waves_frac, peak_wave_period, significant_wave_height, water_phase_xfer_velocity)¶
The time fraction that the droplet spends in the water column f_wc
- class gnome.utilities.weathering.ZhaoToba¶
Bases:
object
Zhao and Toba (2001) percent whitecap coverage formula They use a Reynolds-like dimensionless number rather than an integer power of the wind speed fits the data better
- classmethod percent_whitecap_coverage(wind_speed)¶
percent whitecap coverage drag coefficient reduces linearly with wind speed for winds less than 2.4 m/s
- class gnome.utilities.weathering.Adios2¶
Bases:
object
This is for any Adios 2 algorithms for which a scientific reference is not documented.
- Note: We should really try to look up the references for these and
move them to an appropriately referenced class.
- static wave_height(U, fetch)¶
compute the wave height
- Parameters:
U (floating point number in m/s units) – wind speed
- Returns Hrms:
RMS wave height in meters
- static wind_speed_from_height(H)¶
Compute the wind speed to use for the whitecap fraction This is the reverse of wave_height() - Used if the wave height is specified. - Unlimited fetch is assumed:
- Parameters:
H – given wave height.
- static mean_wave_period(U, wave_height, fetch)¶
Compute the mean wave period
- fixme: check for discontinuity at large fetch..
Is this s bit low??? 32 m/s -> T=15.7 s
- static dissipative_wave_energy(water_density, H)¶
Compute the dissipative wave energy
- units? – should be: 1/s^3
i.e. energy disspiation rate per m^2 so water density is in there – but something else is up does the constant have units?
- class gnome.utilities.weathering.LehrSimecek¶
Bases:
object
This based on formulas by: Lehr and Simecek-Beatty
- static whitecap_fraction(U, salinity)¶
compute the white capping fraction
This based on Lehr and Simecek-Beatty The Relation of Langmuir Circulation Processes to the Standard Oil Spill Spreading, Dispersion, and Transport Algorithms Spill Sci. and Tech. Bull, 6:247-253 (2000) (maybe typo – didn’t match)
- Additionally: Ocean Waves Breaking and Marine Aerosol Fluxes
By Stanislaw R. Massel