:py:mod:`gnome.movers.random_movers` ==================================== .. py:module:: gnome.movers.random_movers .. autoapi-nested-parse:: Movers using diffusion as the forcing function Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: gnome.movers.random_movers.RandomMover gnome.movers.random_movers.IceAwareRandomMover gnome.movers.random_movers.RandomMover3D .. py:class:: RandomMover(diffusion_coef=100000.0, uncertain_factor=2.0, **kwargs) Bases: :py:obj:`gnome.movers.CyMover` "Random Walk" diffusion mover Moves the elements each time step in a random direction, according to the specified diffusion coefficient. :param diffusion_coef: Diffusion coefficient for random diffusion. Default is 100,000 cm2/sec :type diffusion_coef: float or integer in units of cm^2/s :param uncertain_factor: Uncertainty factor. Default is 2.0 Remaining kwargs are passed onto :class:`gnome.movers.Mover` __init__ See Mover documentation for remaining valid kwargs. .. py:property:: data_start .. py:property:: data_stop .. py:property:: diffusion_coef .. py:property:: uncertain_factor .. py:attribute:: _schema .. py:method:: __repr__() Return repr(self). .. py:class:: IceAwareRandomMover(ice_concentration=None, **kwargs) Bases: :py:obj:`RandomMover` "Random Walk" diffusion mover Moves the elements each time step in a random direction, according to the specified diffusion coefficient. :param diffusion_coef: Diffusion coefficient for random diffusion. Default is 100,000 cm2/sec :type diffusion_coef: float or integer in units of cm^2/s :param uncertain_factor: Uncertainty factor. Default is 2.0 Remaining kwargs are passed onto :class:`gnome.movers.Mover` __init__ See Mover documentation for remaining valid kwargs. .. py:attribute:: _schema .. py:attribute:: _req_refs .. py:method:: 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) :classmethod: .. py:method:: 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 :param sc: spill_container.SpillContainer object :param time_step: time step in seconds :param model_time_datetime: current model time as datetime object .. py:class:: 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: :py:obj:`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. :param vertical_diffusion_coef_above_ml: Vertical diffusion coefficient for random diffusion above the mixed layer. Default is 5 cm2/s :param vertical_diffusion_coef_below_ml: Vertical diffusion coefficient for random diffusion below the mixed layer. Default is .11 cm2/s :param mixed_layer_depth: Mixed layer depth. Default is 10 meters :param horizontal_diffusion_coef_above_ml: Horizontal diffusion coefficient for random diffusion above the mixed layer. Default is 100000 cm2/s :param horizontal_diffusion_coef_below_ml: Horizontal diffusion coefficient for random diffusion below the mixed layer. Default is 126 cm2/s :param 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. .. py:property:: horizontal_diffusion_coef_above_ml .. py:property:: horizontal_diffusion_coef_below_ml .. py:property:: vertical_diffusion_coef_above_ml .. py:property:: vertical_diffusion_coef_below_ml .. py:property:: mixed_layer_depth .. py:property:: surface_is_allowed .. py:attribute:: _schema .. py:method:: __repr__() Return repr(self).