gnome.movers.random_movers

Movers using diffusion as the forcing function

Module Contents

Classes

RandomMover

"Random Walk" diffusion mover

IceAwareRandomMover

"Random Walk" diffusion mover

RandomMover3D

This mover class inherits from CyMover and contains CyRandomMover3D

class gnome.movers.random_movers.RandomMover(diffusion_coef=100000.0, uncertain_factor=2.0, **kwargs)

Bases: gnome.movers.CyMover

“Random Walk” diffusion mover

Moves the elements each time step in a random direction, according to the specified diffusion coefficient.

Parameters:
  • diffusion_coef (float or integer in units of cm^2/s) – Diffusion coefficient for random diffusion. Default is 100,000 cm2/sec

  • uncertain_factor – Uncertainty factor. Default is 2.0

Remaining kwargs are passed onto gnome.movers.Mover __init__

See Mover documentation for remaining valid kwargs.

property data_start
property data_stop
property diffusion_coef
property uncertain_factor
_schema
__repr__()

Return repr(self).

class gnome.movers.random_movers.IceAwareRandomMover(ice_concentration=None, **kwargs)

Bases: RandomMover

“Random Walk” diffusion mover

Moves the elements each time step in a random direction, according to the specified diffusion coefficient.

Parameters:
  • diffusion_coef (float or integer in units of cm^2/s) – Diffusion coefficient for random diffusion. Default is 100,000 cm2/sec

  • uncertain_factor – Uncertainty factor. Default is 2.0

Remaining kwargs are passed onto gnome.movers.Mover __init__

See Mover documentation for remaining valid kwargs.

_schema
_req_refs
classmethod from_netCDF(filename=None, dataset=None, grid_topology=None, units=None, time=None, ice_concentration=None, grid=None, grid_file=None, data_file=None, **kwargs)
get_move(sc, time_step, model_time_datetime)

Base implementation of Cython wrapped C++ movers Override for things like the PointWindMover since it has a different implementation

Parameters:
  • sc – spill_container.SpillContainer object

  • time_step – time step in seconds

  • model_time_datetime – current model time as datetime object

class gnome.movers.random_movers.RandomMover3D(vertical_diffusion_coef_above_ml=5, vertical_diffusion_coef_below_ml=0.11, horizontal_diffusion_coef_above_ml=100000, horizontal_diffusion_coef_below_ml=126, mixed_layer_depth=10.0, surface_is_allowed=False, **kwargs)

Bases: gnome.movers.CyMover

This mover class inherits from CyMover and contains CyRandomMover3D

The real work is done by CyRandomMover3D. CyMover sets everything up that is common to all movers.

Parameters:
  • vertical_diffusion_coef_above_ml – Vertical diffusion coefficient for random diffusion above the mixed layer. Default is 5 cm2/s

  • vertical_diffusion_coef_below_ml – Vertical diffusion coefficient for random diffusion below the mixed layer. Default is .11 cm2/s

  • mixed_layer_depth – Mixed layer depth. Default is 10 meters

  • horizontal_diffusion_coef_above_ml – Horizontal diffusion coefficient for random diffusion above the mixed layer. Default is 100000 cm2/s

  • horizontal_diffusion_coef_below_ml – Horizontal diffusion coefficient for random diffusion below the mixed layer. Default is 126 cm2/s

  • surface_is_allowed – Vertical diffusion will ignore surface particles if this is True. Default is False.

Remaining kwargs are passed onto Mover’s __init__ using super.

See Mover documentation for remaining valid kwargs.

property horizontal_diffusion_coef_above_ml
property horizontal_diffusion_coef_below_ml
property vertical_diffusion_coef_above_ml
property vertical_diffusion_coef_below_ml
property mixed_layer_depth
property surface_is_allowed
_schema
__repr__()

Return repr(self).