Releases: MNiMORPH/GRLP
Releases · MNiMORPH/GRLP
Version 2.0.0 beta
Release notes written by F. McNab
- Includes example network simulations with animations.
- Makes various additions/adjustments to the construction of random networks:
- Adjust construction to align with new network structure/set up introduced in v2.0.0-alpha.
- Support generation of random segment lengths and areas.
- Support specification of network topology, segment lengths and/or segment areas.
- Support along stream supply of sediment and water.
- Support rescaling of the network to a given maximum length.
- Support variable width, set to increase at the same rate as water discharge.
- Corrects some bugs in finite difference calculations introduced in v2.0.0-alpha:
z
values on the RHS of the matrix equation should be filled with values from the previous time step. However, in the new structure,z
was updated at each iteration, so that the non-linearity was not properly accounted for and the network evolved faster than it should by a factor ofniter
. The RHS is now filled withzold
, avoiding the problem.C1
was computed as a sum over upstream segments, doubling its effect. Corrected to mean.
- Supports change in water discharge over tributary junctions. Achieved with
dQ_up_jcn
, which needs to be set for each segment. - Removes dependence of
S0
on intermittency (I
). Intermittency should not influence the slope, just scale the rate of change. - Makes various additions/adjustments to the computation of network properties:
- Compute network mean discharges, slope, and diffusivity.
- Compute Tokunaga's matrices and metrics.
- Compute properties associated with topological lengths and widths, including Jarvis's
E
.
- Adjusts planform plotting to align with new network structure and allow for variable segment lengths.
- Adjusts calculations of gain and lag to align with new network structure. Also, to avoid cycle skipping effects introduced at the inlet, assume lag should be small (< 0.5*period) at the inlet.
- Supports non-uniform
dx
at network mouth. - Deprecates some out-of-date functions.
What's Changed
Full Changelog: v2.0.0-alpha...v2.0.0-beta
Version 2.0.0 alpha
Release notes written by A. Wickert
- Generated accurate network connections that tie downstream segments to an arbitrary number of upstream segments; tested with one or two.
- One
*ext
array for each junction. - Overhauled functions to look for these
*ext
arrays within a list.
- One
- Enabled calculations with variable cell spacing.
- Created a mode for special handling of tributary-junction cells.
- Scale aggradation or incision by an approximation of the areal extent of the junction, both upstream and downstream of the confluence, to respective dx/2 from the upstream-most cell in the downstream segment (i.e., the node directly at the confluence)
- Modified calculations for each cell immediately upstream of the tributary junction to use an upwind difference scheme for dQ (difference in discharge) to not reach below the confluence. Doing so would unrealistically indicate a large increase in discharge within the tributary itself.
- Enabled setting
(x,z)
of the downstream (base-level) boundary, whose machinery permits moving-boundary formulations. - Located major variable handling (
x, z, Q
) within theNetwork
class. This may preface development of an approach in which process modules employ a more generalized network structure. - Recognized that the GRLP numerical approximation requires gradual changes in sediment:water discharge ratio to avoid underestimating downstream channel slopes. Because such changes tend to be gradual in nature, I did not create a higher-order approximation for dQ.
- Separated
dx_ext_2cell
fromC0
, which would enable higher order approximations. However, if I do not use these, such a change may prove to be unnecessary and to add complexity to the ultimate code, with reason to undo it. - Add
initialize(self)
to theNetwork
class. - Made
S0
be positive downstream (sloping downwards). - Further tested and organized sparse-matrix-generation code.
- Added many examples for both development and implementation of working code.
Autogenerated release notes
What's Changed
- Var dx by @awickert in #7
- Variable dx works in networks by @awickert in #8
- Variable dx and full new network by @awickert in #9
- Merge Qsmear: Central difference, Q averaging, updated "example" tests. by @awickert in #10
Full Changelog: v1.8.0...v2.0.0-alpha
v1.8.0: Network tools
- New support by @fmcnab towards generating, plotting, and analyzing river networks
a. Improved function for plotting schematic network planforms, avoiding overlapping segments and using space more efficiently
b. Functions to fit, for a given network, a Hack-style power law for discharge (rather than upstream drainage area) as a function of distance downstream
c. Improved/additional calculation of network metrics (e.g. Horton's ratios) - Jupyter notebook towards Landlab integration (in progress) by @jeffskwang and @niscen
v1.7.0: McNab 2022
McNab (2022, submitted) linearization examples and plotting scripts
v1.6.0
v1.5.0: Networks and Jupyter
- Synthetic network builder and general network tools from @fmcnab
- Jupyter notebook (1D profile) from @ericbarefoot
- README documentation and Python 2+3 support in example from @awickert
v1.4.1: Check published version in Firefox
Check package availability in Firefox after uploading to PyPI
v1.4.0: PyPI tools + v1.3.1 updates
- Added helper shell scripts to publish code with PyPI: goal to keep these in synch from this point onwards.
In addition, includes the v1.3.1 updates, which on further review add functionality in a way that is more in line with a "minor" update than a "patch" update. Copy/pasting these here:
- Compute width and depth with the aid of grain-size information (optional)
- Update some examples (Python 3; core code updates)
- Directionality to S0
- Test variable gravel inputs and attrition in
test_uplift_equals_qs.py
v1.3.1: Channel width and depth, and S0 sign
- Compute width and depth with the aid of grain-size information (optional)
- Update some examples (Python 3; core code updates)
- Directionality to S0
- Test variable gravel inputs and attrition in
test_uplift_equals_qs.py
v1.3.0: Valley width less important
Due to an error in the Exner equation for variable valley width, valley width was inappropriately included within the derivative and propagated through long-profile evolution equations. It now only serves to provide the width across which sediment must be eroded or deposited in order to create a given vertical change.