gnome.movers.py_wind_movers
Wind Movers and associated helper functions. This module has no compiled C dependency
Attributes
Classes
WindMover implemented in Python. Uses the .wind attribute to move particles. |
Functions
|
Helper function to load a gridded wind from a file and create a WindMover |
Module Contents
- gnome.movers.py_wind_movers.PyWindMoverSchema
- class gnome.movers.py_wind_movers.WindMover(wind=None, uncertain_duration=3.0 * 3600, uncertain_time_delay=0, uncertain_speed_scale=2.0, uncertain_angle_scale=0.4, scale_value=1, default_num_method='RK2', filename=None, **kwargs)
Bases:
gnome.movers.movers.PyMover
WindMover implemented in Python. Uses the .wind attribute to move particles. The .at() interface is expected on the .wind attribute
Initialize a WindMover
- Parameters:
wind (Any Wind or Wind-like that implements the .at() function) – Environment object representing wind to be used.
active_range (2-tuple of datetimes) – Range of datetimes for when the mover should be active
scale_value – Value to scale wind data
uncertain_duration – (seconds) how often a given uncertain element gets reset
uncertain_time_delay – when the uncertainty kicks in in seconds from model start.
uncertain_speed_scale – Scale for uncertainty of wind speed
uncertain_angle_scale – Scale for uncertainty of wind angle
num_method – Numerical method for calculating movement delta. Choices:(‘Euler’, ‘RK2’, ‘RK4’) Default: RK2
- wind = None
- make_default_refs = False
- uncertain_duration = 10800.0
- uncertain_time_delay = 0
- uncertain_speed_scale = 2.0
- uncertain_angle_scale = 0.4
- uncertain_diffusion = 0
- scale_value = 1
- sigma_theta = 0
- sigma2 = 0
- is_first_step = False
- time_uncertainty_was_set = 0
- shape = (2,)
- uncertainty_list
- classmethod from_netCDF(filename=None, scale_value=1, uncertain_duration=3 * 3600, uncertain_time_delay=0, uncertain_speed_scale=2.0, uncertain_angle_scale=0.4, default_num_method='RK2', **kwargs)
- property data_start
- property data_stop
- prepare_for_model_run()
reset uncertainty
- prepare_for_model_step(sc, time_step, model_time_datetime)
Call base class method using super Also updates windage for this timestep
- Parameters:
sc – an instance of gnome.spill_container.SpillContainer class
time_step – time step in seconds
model_time_datetime – current time of model as a date time object
- model_step_is_done(sc)
remove any off map les
- Parameters:
sc – an instance of gnome.spill_container.SpillContainer class
- get_bounds()
Return a bounding box surrounding the grid data. This function exists because it is part of the top level Mover API
- update_uncertainty(num_les, elapsed_time)
update uncertainty
- Parameters:
num_les – the number released so far
elapsed_time – time in seconds since model run started
- update_uncertainty_values(elapsed_time)
update uncertainty values
- Parameters:
elapsed_time – time in seconds since model run started
- allocate_uncertainty(num_les)
add uncertainty
- Parameters:
num_les – the number of les released so far
- add_uncertainty(deltas, time_step)
add uncertainty
- Parameters:
deltas – the movement for the current time step
- get_move(sc, time_step, model_time_datetime, num_method=None)
Compute the move in (long,lat,z) space. It returns the delta move for each element of the spill as a numpy array of size (number_elements X 3) and dtype = gnome.basic_types.world_point_type
Base class returns an array of numpy.nan for delta to indicate the get_move is not implemented yet.
Each class derived from Mover object must implement it’s own get_move
- Parameters:
sc – an instance of gnome.spill_container.SpillContainer class
time_step – time step in seconds
model_time_datetime – current model time as datetime object
All movers must implement get_move() since that’s what the model calls
- gnome.movers.py_wind_movers.PyWindMover
- gnome.movers.py_wind_movers.grid_wind_mover(filename, wind_kwargs=None, *args, **kwargs)
Helper function to load a gridded wind from a file and create a WindMover
- Parameters:
filename (string or Path-like') – File to create the GridWind object from
wind_kwargs (dict) – keyword arguments for the GridWind object. OPTIONAL