sed_tools

Todo

add paragraph description of the module

The tools are defined in pyDeltaRCM.sed_tools.

Public API methods attached to model

The following methods are defined in the sed_tools class, of the pyDeltaRCM.sed_tools module.

sed_tools()

class pyDeltaRCM.sed_tools.sed_tools
get_inlet_weights_sediment(**kwargs: Any)

Get weight for inlet cells for sediment parcels.

This method determines the weights describing which inlet cells sediment parcels are fed into the domain (where the cells are self.inlet). Internally, pyDeltaRCM.shared_tools._get_inlet_weights is called, returning a balanced weighting across all inlet cells.

Note

Reimplement this method in custom subclasses as needed. Function is passed a string argument parcel_type, with information about the parcel being routed for convenience.

init_sediment_iteration() None

Init the water iteration routine.

Clear and pad fields in preparation for iterating parcels.

route_all_mud_parcels() None

Route mud parcels.

This method largely wraps the MudRouter. First, the number of parcels and sand fraction (f_bedload) are used to determine starting locations for mud parcels. Next, these locations are sent to the MudRouter, along with many other model state variables.

Finally, variables are unpacked from the MudRouter and updated in the model fields, where they are later used by the water parcel routing.

Examples

The cumulative effect of routing all sand parcels:

(png, hires.png)

../../_images/_initial_bed_state.png

(png, hires.png)

../../_images/route_all_mud_parcels.png
route_all_sand_parcels() None

Route sand parcels; topo diffusion.

This method largely wraps the SandRouter. First, the number of parcels and sand fraction (f_bedload) are used to determine starting locations for sand parcels. Next, these locations are sent to the SandRouter, along with many other model state variables.

Finally, variables are unpacked from the SandRouter and updated in the model fields, where they are later used by the MudRouter and the water parcel routing.

Examples

The cumulative effect of routing all sand parcels:

(png, hires.png)

../../_images/_initial_bed_state.png

(png, hires.png)

../../_images/route_all_sand_parcels.png
route_sediment() None

Sediment routing main method.

This is the main method for sediment routing in the model. It is called once per update() call.

Internally, this method calls:
sed_route() None

Deprecated, since v1.3.1. Use route_sediment.

topo_diffusion() None

Diffuse topography after routing.

Diffuse topography after routing all coarse sediment parcels. The operation is repeated N_crossdiff times.

Router classes

The following classes are defined in the pyDeltaRCM.sed_tools module. These sediment routing classes are jitted for speed.

SandRouter(*args, **kwargs)

Jitted class to route sand.

MudRouter(*args, **kwargs)

Jitted class to route mud.

BaseRouter()

BaseRouter.

sed_tools helper functions

Additionally, the sediment parcel step-weighting function is defined at the module level in pyDeltaRCM.sed_tools.

pyDeltaRCM.sed_tools._get_weight_at_cell_sediment(ind, weight_int, depth_nbrs, ct_nbrs, dry_depth: float, theta: float, distances_flat: int, mod_sed_weight)

Get neighbor weight array for sediment routing.

Todo

Expand description. Include example? Equation? Link to Morphodynamics document.