pyDeltaRCM 2.2.0__tar.gz → 2.2.1a0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pydeltarcm-2.2.0/pyDeltaRCM.egg-info → pydeltarcm-2.2.1a0}/PKG-INFO +1 -1
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/reference/model/model_hooks.rst +1 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/_version.py +1 -1
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/init_tools.py +6 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/sed_tools.py +19 -7
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0/pyDeltaRCM.egg-info}/PKG-INFO +1 -1
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_domain_cell_type.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_domain_cell_type_list_index.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_domain_cell_type_list_mix_tuple_index.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_domain_cell_type_list_tuple.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_domain_cell_type_multiple_diff_args.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_domain_cell_type_multiple_diff_kwargs.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_domain_cell_type_multiple_index_calls.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_domain_cell_type_no_grid.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_domain_cell_type_single_index.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_domain_cell_type_single_tuple.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_domain_velocity.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_domain_withlabel.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_iwalk.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_plot_multiple_subplots.png +0 -0
- pydeltarcm-2.2.1a0/tests/imgs_baseline/test_show_line_pts_Nx2_array.png +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/imgs_baseline/test_show_line_set_points.png +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/test_init_tools.py +10 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_domain_cell_type.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_domain_cell_type_list_index.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_domain_cell_type_list_mix_tuple_index.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_domain_cell_type_list_tuple.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_domain_cell_type_multiple_diff_args.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_domain_cell_type_multiple_diff_kwargs.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_domain_cell_type_multiple_index_calls.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_domain_cell_type_no_grid.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_domain_cell_type_single_index.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_domain_cell_type_single_tuple.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_domain_velocity.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_domain_withlabel.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_iwalk.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_plot_multiple_subplots.png +0 -0
- pydeltarcm-2.2.0/tests/imgs_baseline/test_show_line_pts_Nx2_array.png +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/LICENSE +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/MANIFEST.in +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/README.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/.nojekyll +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/_resources/checkpoint/checkpoint.npz +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/_resources/checkpoint.yaml +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/_static/style.css +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/_templates/page.html +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/conf.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/basic_runs.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/custom_class_preprocessor.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/custom_saving.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/custom_yaml.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/gotcha_simulataneous_models.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/modelzoo.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/overwrite_topo_diffusion.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/resume_from_checkpoint.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/simple_example.ipynb +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/slight_slope.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/subsidence_region.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/updating_boundary_conditions.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/variable_bedload.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/variable_velocity.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/guides/10min.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/guides/advanced_configuration_guide.inc +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/guides/developer_guide.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/guides/getting_started.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/guides/subsidence_guide.inc +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/guides/user_guide.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/info/hydrodynamics.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/info/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/info/initialization.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/info/modeltime.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/info/morphodynamics.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/info/outputfile.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/info/yamlparameters.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/meta/citing.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/meta/conduct.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/meta/contributing.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/meta/installing.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/meta/license.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/meta/usedby.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/debug_tools/debug_demo.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/guides/10min_demo.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/guides/cover.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/guides/output_file.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/init_tools/domain_basin_inlet_depth.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/init_tools/domain_inlet_geometry.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/init_tools/domain_parameters.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/init_tools/domain_size_compare.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/modeltime/_base.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/modeltime/four_year_condensed_plot.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/modeltime/four_year_plot.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/modeltime/one_year_plot.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/sed_tools/_initial_bed_state.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/sed_tools/route_all_mud_parcels.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/sed_tools/route_all_sand_parcels.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/sed_tools/sediment_weights_examples.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/sed_tools/topo_diffusion.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/water_tools/_accumulate_free_surface_walks.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/water_tools/_check_for_loops.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/water_tools/_smooth_free_surface.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/water_tools/compute_free_surface_inputs.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/water_tools/compute_free_surface_outputs.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/water_tools/flooding_correction.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/water_tools/run_water_iteration.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/water_tools/water_weights_examples.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/reference/debug_tools/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/reference/hook_tools/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/reference/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/reference/init_tools/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/reference/iteration_tools/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/reference/model/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/reference/model/yaml_defaults.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/reference/preprocessor/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/reference/sed_tools/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/reference/shared_tools/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/reference/water_tools/index.rst +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/__init__.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/__main__.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/debug_tools.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/default.yml +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/hook_tools.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/iteration_tools.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/model.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/preprocessor.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/shared_tools.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM/water_tools.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM.egg-info/SOURCES.txt +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM.egg-info/dependency_links.txt +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM.egg-info/entry_points.txt +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM.egg-info/requires.txt +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyDeltaRCM.egg-info/top_level.txt +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/pyproject.toml +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/setup.cfg +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/__init__.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/integration/__init__.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/integration/test_checkpointing.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/integration/test_cli.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/integration/test_consistent_outputs.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/integration/test_timing_triggers.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/test_debug_tools.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/test_iteration_tools.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/test_logging.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/test_model.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/test_preprocessor.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/test_sed_tools.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/test_shared_tools.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/test_water_tools.py +0 -0
- {pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/tests/utilities.py +0 -0
|
@@ -61,4 +61,5 @@ A complete list of behavior-modifying arrays in the model follows:
|
|
|
61
61
|
`mod_water_weight`, modifies the neighbor-weighting of water parcels during routing according to ``(depth * mod_water_weight)**theta_water``, 1
|
|
62
62
|
`mod_sed_weight`, modifies the neighbor-weighting of the sediment parcel routing according to ``(depth * mod_sed_weight)**theta_sed``, 1
|
|
63
63
|
`mod_erosion`, linearly modifies the "erodibility" of cells according to ``mod_erosion * Vp_sed * (U_loc**beta - U_ero**beta) / U_ero**beta``, 1
|
|
64
|
+
`mod_stable_weight`, linearly modifies the maximum change in volume of a cell during erosion and deposition (default = 1 / 4) according to ``mod_stable_weight * depth / 4 * (dx * dx)``, 1
|
|
64
65
|
|
|
@@ -530,6 +530,8 @@ class init_tools(abc.ABC):
|
|
|
530
530
|
self.mod_water_weight = np.ones_like(self.depth)
|
|
531
531
|
self.mod_sed_weight = np.ones_like(self.depth)
|
|
532
532
|
self.mod_erosion = np.ones_like(self.depth)
|
|
533
|
+
#add array of ones to make stability parameter weighting mutable
|
|
534
|
+
self.mod_stable_weight = np.ones_like(self.depth)
|
|
533
535
|
|
|
534
536
|
# ---- domain ----
|
|
535
537
|
cell_land = -2
|
|
@@ -578,6 +580,10 @@ class init_tools(abc.ABC):
|
|
|
578
580
|
self.inlet = np.array(np.unique(np.where(self.cell_type == 1)[1]))
|
|
579
581
|
self.eta[:] = self.stage - self.depth
|
|
580
582
|
|
|
583
|
+
# update eta trackers with initial bed elevation
|
|
584
|
+
self.eta0[:] = self.eta[:]
|
|
585
|
+
self.eta_init[:] = self.eta[:]
|
|
586
|
+
|
|
581
587
|
def init_sediment_routers(self) -> None:
|
|
582
588
|
"""Initialize the sediment router object here.
|
|
583
589
|
|
|
@@ -142,6 +142,7 @@ class sed_tools(abc.ABC):
|
|
|
142
142
|
self.qy,
|
|
143
143
|
self.qs,
|
|
144
144
|
self.mod_sed_weight,
|
|
145
|
+
self.mod_stable_weight,
|
|
145
146
|
)
|
|
146
147
|
|
|
147
148
|
# These are the variables updated at the end of the `SandRouter`. If
|
|
@@ -209,6 +210,7 @@ class sed_tools(abc.ABC):
|
|
|
209
210
|
self.qx,
|
|
210
211
|
self.qy,
|
|
211
212
|
self.mod_sed_weight,
|
|
213
|
+
self.mod_stable_weight,
|
|
212
214
|
)
|
|
213
215
|
|
|
214
216
|
# These are the variables updated at the end of the `MudRouter`. If
|
|
@@ -356,6 +358,7 @@ r_spec = [
|
|
|
356
358
|
("mod_erosion", float32[:, :]),
|
|
357
359
|
("mod_sed_weight", float32[:, :]),
|
|
358
360
|
("pad_mod_sed_weight", float32[:, :]),
|
|
361
|
+
("mod_stable_weight", float32[:, :]),
|
|
359
362
|
]
|
|
360
363
|
|
|
361
364
|
|
|
@@ -540,7 +543,8 @@ class BaseRouter:
|
|
|
540
543
|
"""
|
|
541
544
|
return mod_erosion * Vp_sed * (U_loc**beta - U_ero**beta) / U_ero**beta
|
|
542
545
|
|
|
543
|
-
def _limit_Vp_change(self, Vp, stage, eta, dx: float, dep_ero: int
|
|
546
|
+
def _limit_Vp_change(self, Vp, stage, eta, dx: float, dep_ero: int,
|
|
547
|
+
mod_stable_weight: float):
|
|
544
548
|
"""Limit change in volume to 1/4 of a cell volume.
|
|
545
549
|
|
|
546
550
|
Function is used by multiple pathways in `mud_dep_ero` and `sand_dep_ero`
|
|
@@ -553,10 +557,10 @@ class BaseRouter:
|
|
|
553
557
|
if dep_ero == 0:
|
|
554
558
|
return 0
|
|
555
559
|
else:
|
|
556
|
-
fourth = np.abs(depth) / 4 * (dx * dx)
|
|
560
|
+
fourth = mod_stable_weight * np.abs(depth) / 4 * (dx * dx)
|
|
557
561
|
return np.minimum(Vp, fourth)
|
|
558
562
|
else:
|
|
559
|
-
fourth = depth / 4 * (dx * dx)
|
|
563
|
+
fourth = mod_stable_weight * depth / 4 * (dx * dx)
|
|
560
564
|
return np.minimum(Vp, fourth)
|
|
561
565
|
|
|
562
566
|
|
|
@@ -642,6 +646,7 @@ class SandRouter(BaseRouter):
|
|
|
642
646
|
qy,
|
|
643
647
|
qs,
|
|
644
648
|
mod_sed_weight,
|
|
649
|
+
mod_stable_weight,
|
|
645
650
|
) -> None:
|
|
646
651
|
"""The main function to route and deposit/erode sand parcels.
|
|
647
652
|
|
|
@@ -684,6 +689,7 @@ class SandRouter(BaseRouter):
|
|
|
684
689
|
self.pad_depth = shared_tools.custom_pad(depth)
|
|
685
690
|
self.pad_cell_type = shared_tools.custom_pad(cell_type)
|
|
686
691
|
self.pad_mod_sed_weight = shared_tools.custom_pad(mod_sed_weight)
|
|
692
|
+
self.mod_stable_weight = mod_stable_weight
|
|
687
693
|
self.Vp_dep_mud = Vp_dep_mud
|
|
688
694
|
self.Vp_dep_sand = Vp_dep_sand
|
|
689
695
|
self.qw = qw
|
|
@@ -790,7 +796,8 @@ class SandRouter(BaseRouter):
|
|
|
790
796
|
# transport capacity of the cell (`qs_cap`), sediment needs to
|
|
791
797
|
# deposit on the bed.
|
|
792
798
|
Vp_change = self._limit_Vp_change(
|
|
793
|
-
self.Vp_res, self.stage[px, py], self.eta[px, py], self._dx, 0
|
|
799
|
+
self.Vp_res, self.stage[px, py], self.eta[px, py], self._dx, 0,
|
|
800
|
+
self.mod_stable_weight[px, py]
|
|
794
801
|
)
|
|
795
802
|
|
|
796
803
|
elif (U_loc > self.U_ero_sand) and (qs_loc < qs_cap):
|
|
@@ -802,7 +809,8 @@ class SandRouter(BaseRouter):
|
|
|
802
809
|
self.Vp_sed, U_loc, self.U_ero_sand, self._beta, ero_mod_loc
|
|
803
810
|
)
|
|
804
811
|
Vp_change = self._limit_Vp_change(
|
|
805
|
-
Vp_change, self.stage[px, py], self.eta[px, py], self._dx, 1
|
|
812
|
+
Vp_change, self.stage[px, py], self.eta[px, py], self._dx, 1,
|
|
813
|
+
self.mod_stable_weight[px, py]
|
|
806
814
|
)
|
|
807
815
|
Vp_change = Vp_change * -1
|
|
808
816
|
|
|
@@ -893,6 +901,7 @@ class MudRouter(BaseRouter):
|
|
|
893
901
|
qx,
|
|
894
902
|
qy,
|
|
895
903
|
mod_sed_weight,
|
|
904
|
+
mod_stable_weight,
|
|
896
905
|
) -> None:
|
|
897
906
|
"""The main function to route and deposit/erode mud parcels."""
|
|
898
907
|
|
|
@@ -907,6 +916,7 @@ class MudRouter(BaseRouter):
|
|
|
907
916
|
self.pad_depth = shared_tools.custom_pad(depth)
|
|
908
917
|
self.pad_cell_type = shared_tools.custom_pad(cell_type)
|
|
909
918
|
self.pad_mod_sed_weight = shared_tools.custom_pad(mod_sed_weight)
|
|
919
|
+
self.mod_stable_weight = mod_stable_weight
|
|
910
920
|
self.Vp_dep_mud = Vp_dep_mud
|
|
911
921
|
self.Vp_dep_sand = Vp_dep_sand
|
|
912
922
|
self.qw = qw
|
|
@@ -962,7 +972,8 @@ class MudRouter(BaseRouter):
|
|
|
962
972
|
/ (self.U_dep_mud**self._beta)
|
|
963
973
|
)
|
|
964
974
|
Vp_change = self._limit_Vp_change(
|
|
965
|
-
Vp_change, self.stage[px, py], self.eta[px, py], self._dx, 0
|
|
975
|
+
Vp_change, self.stage[px, py], self.eta[px, py], self._dx, 0,
|
|
976
|
+
self.mod_stable_weight[px, py]
|
|
966
977
|
)
|
|
967
978
|
|
|
968
979
|
if U_loc > self.U_ero_mud:
|
|
@@ -970,7 +981,8 @@ class MudRouter(BaseRouter):
|
|
|
970
981
|
self.Vp_sed, U_loc, self.U_ero_mud, self._beta, ero_mod_loc
|
|
971
982
|
)
|
|
972
983
|
Vp_change = self._limit_Vp_change(
|
|
973
|
-
Vp_change, self.stage[px, py], self.eta[px, py], self._dx, 1
|
|
984
|
+
Vp_change, self.stage[px, py], self.eta[px, py], self._dx, 1,
|
|
985
|
+
self.mod_stable_weight[px, py]
|
|
974
986
|
)
|
|
975
987
|
Vp_change = Vp_change * -1
|
|
976
988
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -150,6 +150,16 @@ class TestModelDomainSetup:
|
|
|
150
150
|
delta = DeltaModel(input_file=p)
|
|
151
151
|
assert np.any(delta.sfc_sum) == 0
|
|
152
152
|
|
|
153
|
+
def test_eta_init(self, tmp_path: Path) -> None:
|
|
154
|
+
p = utilities.yaml_from_dict(tmp_path, "input.yaml")
|
|
155
|
+
delta = DeltaModel(input_file=p)
|
|
156
|
+
assert np.all(delta.eta_init == delta.eta)
|
|
157
|
+
|
|
158
|
+
def test_eta0(self, tmp_path: Path) -> None:
|
|
159
|
+
p = utilities.yaml_from_dict(tmp_path, "input.yaml")
|
|
160
|
+
delta = DeltaModel(input_file=p)
|
|
161
|
+
assert np.all(delta.eta0 == delta.eta)
|
|
162
|
+
|
|
153
163
|
|
|
154
164
|
class TestCreateBoundaryConditions:
|
|
155
165
|
# base case during init is covered by tests elsewhere!
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/gotcha_simulataneous_models.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/examples/updating_boundary_conditions.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/init_tools/domain_basin_inlet_depth.py
RENAMED
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/init_tools/domain_inlet_geometry.py
RENAMED
|
File without changes
|
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/init_tools/domain_size_compare.py
RENAMED
|
File without changes
|
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/modeltime/four_year_condensed_plot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/sed_tools/route_all_mud_parcels.py
RENAMED
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/sed_tools/route_all_sand_parcels.py
RENAMED
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/sed_tools/sediment_weights_examples.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/water_tools/_smooth_free_surface.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/water_tools/flooding_correction.py
RENAMED
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/water_tools/run_water_iteration.py
RENAMED
|
File without changes
|
{pydeltarcm-2.2.0 → pydeltarcm-2.2.1a0}/docs/source/pyplots/water_tools/water_weights_examples.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|