Recent Releases of grlp

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 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

  • Updating pre-v2 Network functions by @awickert in https://github.com/MNiMORPH/GRLP/pull/14
  • Network building by @awickert in https://github.com/MNiMORPH/GRLP/pull/15

Full Changelog: https://github.com/MNiMORPH/GRLP/compare/v2.0.0-alpha...v2.0.0-beta

- Python
Published by fmcnab over 1 year ago

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 random generation of segment lengths and areas in constructing random networks.
    • Support specification of network topology, segment lengths and/or segment areas in constructing random networks.
    • Support along stream supply of sediment and water in constructing random networks.
    • 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

  • Updating pre-v2 Network functions by @awickert in https://github.com/MNiMORPH/GRLP/pull/14
  • Network building by @awickert in https://github.com/MNiMORPH/GRLP/pull/15

Full Changelog: https://github.com/MNiMORPH/GRLP/compare/v2.0.0-alpha...v2.0.0-beta

- Python
Published by fmcnab over 1 year ago

grlp - 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.
  • 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

  • Var dx by @awickert in https://github.com/MNiMORPH/GRLP/pull/7
  • Variable dx works in networks by @awickert in https://github.com/MNiMORPH/GRLP/pull/8
  • Variable dx and full new network by @awickert in https://github.com/MNiMORPH/GRLP/pull/9
  • Merge Qsmear: Central difference, Q averaging, updated "example" tests. by @awickert in https://github.com/MNiMORPH/GRLP/pull/10

Full Changelog: https://github.com/MNiMORPH/GRLP/compare/v1.8.0...v2.0.0-alpha

- Python
Published by awickert over 2 years ago

grlp - v1.8.0: Network tools

  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

- Python
Published by awickert over 2 years ago

grlp - v1.7.0: McNab 2022

McNab (2022, submitted) linearization examples and plotting scripts

- Python
Published by awickert over 3 years ago

grlp - v1.6.0

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

- Python
Published by awickert about 4 years ago

grlp - 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

- Python
Published by awickert over 4 years ago

grlp - v1.4.1: Check published version in Firefox

Check package availability in Firefox after uploading to PyPI

- Python
Published by awickert over 5 years ago

grlp - 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

- Python
Published by awickert over 5 years ago

grlp - 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

- Python
Published by awickert over 5 years ago

grlp - 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.

- Python
Published by awickert over 5 years ago

grlp - v1.2.3: PyPI Integration

GRLP is now available at https://pypi.org/project/GRLP/. Future stable updates will be available via PyPI and pip.

- Python
Published by awickert almost 6 years ago

grlp - v1.2.0: Fully linked network

  • Semi-implicit solution fully coupled between segments. Large time steps possible.
  • Code simplified to treat all dx values as arrays
  • Fix instantiation with dx, nx, and x0

- Python
Published by awickert almost 6 years ago

grlp - v1.1.0: Ghost-node network

  • Enabled networking by using "ghost nodes" for boundary conditions on each segment
  • Fix sign issue and factor-of-two error on Dirichlet boundary condition (using S_ficticious)
  • Default intermittency to 1 (so it doesn't appear unless the user sets it)
  • Appropriately compute Q_s directionality (for output; does not affect model run)
  • Rename dzdt016 to dzdx016
  • Incorporate intermittency and sinuosity into S0 calculation

- Python
Published by awickert almost 6 years ago

grlp - v1.0.0: ESurf publication

Published alongside:

Wickert, A. D. and T. F. Schildgen (in review, 2018), Long-Profile Evolution of Transport-Limited Gravel-Bed Rivers, Earth Surf. Dynam. Discuss., 9(3), 997–1017, doi:10.5194/esurf-2018-39.

- Python
Published by awickert over 7 years ago

grlp - ESurf-D Submission

This version, and in particular the main code ("grlp"), corresponds to the version from the submission of the following paper submitted to the journal Earth Surface Dynamics.

Wickert, A. D. and T. F. Schildgen (in review, 2018), Long-Profile Evolution of Transport-Limited Gravel-Bed Rivers , Earth Surf. Dynam. Discuss., 9(3), 997–1017, doi:10.5194/esurf-2018-39.

- Python
Published by awickert almost 8 years ago

grlp - ESurf-D initial release

Initial version submitted with the Earth Surface Dynamics Discussions paper, "Long-Profile Evolution of Transport-Limited Gravel-Bed Rivers". A few more changes were applied before the initial processing for the paper was complete, and these form v1.0.0-alpha, which corresponds to the final code used for the figures in the paper.

- Python
Published by awickert almost 8 years ago