gnome.weatherers.natural_dispersion

model dispersion process

Module Contents

Classes

NaturalDispersion

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

Attributes

g

gnome.weatherers.natural_dispersion.g
class gnome.weatherers.natural_dispersion.NaturalDispersion(waves=None, water=None, algorithm='D&S1988', **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 – waves object for obtaining wave_height, etc at given time

_schema
_ref_as = 'dispersion'
_req_refs = ['waves', 'water']
_algorithms_opts
prepare_for_model_run(sc)

add dispersion and sedimentation keys 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 dispersion module for this timestep:

weather_elements(sc, time_step, model_time)

weather elements over time_step - sets ‘natural_dispersion’ and ‘sedimentation’ in sc.mass_balance

disperse_oil_Li(time_step, frac_water, mass, viscosity, density, area, disp_out, sed_out, droplet_avg_size, frac_breaking_waves, disp_wave_energy, wave_height, visc_w, rho_w, sediment, V_entrain, ka)

Oil natural dispersion algorithm developed by Li et al., (2017)

disperse_oil_DS(time_step, frac_water, mass, viscosity, density, area, disp_out, sed_out, droplet_avg_size, frac_breaking_waves, disp_wave_energy, wave_height, visc_w, rho_w, sediment, V_entrain, ka)

Oil natural dispersion model developed by Delvgine and Sweeney (1988) Right now we just want to recreate what the lib_gnome dispersion function is doing…but in python. This will allow us to more easily refactor, and we can always then put it back into lib_gnome if necessary. (TODO: Not quite finished with the function yet.)