gnome.weatherers.emulsification

model emulsification process

Module Contents

Classes

Emulsification

Base Weathering agent. This is almost exactly like the base Mover

class gnome.weatherers.emulsification.Emulsification(waves=None, **kwargs)

Bases: gnome.weatherers.Weatherer

Base Weathering agent. This is almost exactly like the base Mover in the way that it acts upon the model. It contains the same API as the mover as well. Not Serializable since it does is partial implementation

Parameters:
  • conditions – gnome.environment.Conditions object which contains things like water temperature

  • waves (get_emulsification_wind(model_time)) – waves object for obtaining emulsification wind speed at specified time

_schema
_ref_as = 'emulsification'
_req_refs = ['waves']
prepare_for_model_run(sc)

add water_content key to mass_balance Assumes all spills have the same type of oil

prepare_for_model_step(sc, time_step, model_time)

Set/update arrays used by emulsification module for this timestep:

weather_elements_lehr(sc, time_step, model_time)

weather elements over time_step - sets ‘water_content’ in sc.mass_balance

weather_elements_adios2(sc, time_step, model_time)

weather elements over time_step - sets ‘water_content’ in sc.mass_balance

weather_elements(sc, time_step, model_time)

weather elements over time_step - sets ‘water_content’ in sc.mass_balance

_H_log(k, x)

logistic function for turning on emulsification

_H_4(k, x)

symmetric function for turning on emulsification

_Bw(x_visc, x_sig_min, x_fasph, x_r, x_s)
_water_uptake_coeff(points, model_time, substance)

Use higher of wind or pseudo wind corresponding to wave height

if (H0 > 0) HU = 2.0286 * sqrt(g * H0) if (HU < 4.429) HU = pow(HU / .71, .813) if (U < HU) U = HU k_emul = 6.0 * K0Y * U * U / d_max