Skip to content

Releases: MNiMORPH/GRLP

Version 2.0.0 beta

28 Nov 15:38
Compare
Choose a tag to compare

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 of niter. The RHS is now filled with zold, 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

01 Oct 04:50
Compare
Choose a tag to compare

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.
  • 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 the Network 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 from C0, 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 the Network 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

Full Changelog: v1.8.0...v2.0.0-alpha

v1.8.0: Network tools

04 Jul 14:58
d76fbec
Compare
Choose a tag to compare
  1. 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)
  2. Jupyter notebook towards Landlab integration (in progress) by @jeffskwang and @niscen

v1.7.0: McNab 2022

05 Aug 22:18
Compare
Choose a tag to compare

McNab (2022, submitted) linearization examples and plotting scripts

v1.6.0

11 Dec 09:26
f17f428
Compare
Choose a tag to compare

Code for metrics based off of a linearized form of the main equation, including the following responses to a periodic forcing:

  • Gain
  • Lag
  • Diffusivity
  • Equilibration time
    and more

v1.5.0: Networks and Jupyter

30 Nov 16:22
Compare
Choose a tag to compare
  • 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

10 Oct 17:07
Compare
Choose a tag to compare

Check package availability in Firefox after uploading to PyPI

v1.4.0: PyPI tools + v1.3.1 updates

10 Oct 16:54
Compare
Choose a tag to compare
  • 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

08 Oct 16:21
Compare
Choose a tag to compare
  • 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

26 Jul 17:06
Compare
Choose a tag to compare

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.