Skip to main content

DOI tests

gravel-river-long-profile

This model simulates the long-profile evolution of alluvial river valleys formed and evolved by gravel-bedded rivers.

Key assumptions are that:

  • The river's bed and banks are formed of noncohesive gravel, and the rate and form of the river's morphological evolution is limited by its ability to move this gravel.
  • The river always maintains a self-formed equilibrium width with mobile gravel banks (following Parker, 1978). This linearlizes the sediment-transport response to an increase in discharge. Engineered or bedrock-walled rivers will require a fixed width, or one set by a different set of dynamics.
  • Simulations may be based upon a single channel-forming discharge. (See Blom et al., 2017.)
  • We are concerned with aggradation and incision over time scales affecting the full valley bottom (active fluvially worked surface), such that this is the area across which material must be added or removed for vertical change to take place.

The code-base structure, in short, is as follows:

  • The grlp folder holds the core program
    • grlp.py contains the equations and solvers.
    • build_synthetic_network.py generates networks to run and test GRLP.
  • The examples folder contains general examples (in the subfolders) as well as tutorial code for a one-dimensional model.
    • run_grlp.py contains comments intended to help you learn how to write your own models.
    • example_1d.ipynb is a Jupyter notebook containing more extensive tutorial information.

Sources to cite

Base / always

When you use any version of grlp, please cite the following two sources:

Wickert, A. D. and T. F. Schildgen (2019), Long-Profile Evolution of Transport-Limited Gravel-Bed Rivers, Earth Surf. Dynam., 7, 17–43, doi:10.5194/esurf-7-17-2019.

The version of the code that you used, which is found in CITATION.cff, automatically formatted by GitHub, and exposed in the web interface.

Linearization and spectral response

Fergus McNab and Jens Turowski developed the mathematics and associated code to linearize the GRLP equation in order to take advantage of near-analytical solutions and therefore perform rapid tests with it. If you use any of the features associated with the linearization or the plotting scripts noted in the folder McNab_et_al_GRL, please cite:

McNab, F., T. F. Schildgen, J. M. Turowski, and A. D. Wickert (2023), Diverse responses of alluvial rivers to periodic environmental change, Geophys. Res. Lett., 50, e2023GL103075, doi:10.1029/2023GL103075.

Network

Wickert designed and wrote the code for the networked version of GRLP, with assistance from McNab, including error finding and bug fixing. McNab in turn added functions to expanded network functionality and wrote and executed scientific code to understand river-network dynamics. Based on this, McNab led the study on river-network dynamics and wrote the associated paper. Therefore, if you use the river-network version of GRLP, please cite both of the following:

Wickert, A. D., McNab, F., and Barefoot, E. (2026). GRLP (Version 2.1.0). doi:10.5281/zenodo.3740658.

McNab, F., T. F. Schildgen, J. M. Turowski, and A. D. Wickert (2025), Influence of network geometry on long-term morphodynamics of alluvial rivers, Earth Surf. Dynam., 13, 1059–1092, doi:10.5194/esurf-13-1059-2025.

Installation

Via pip and PyPI

Releases will be sent to PyPI.

To download and install the release version within your python system, use:

# Python 3
pip install grlp

# If you computer is shielding your core Python install from external
# packages, you have two options:
# First, you may simply ignore these blocks
# (Fine in my experience but could cause packages to clash)
pip install grlp --break-system-packages
# Second, you can build a separate environment for GRLP

Locally with pip and incorporating ongoing code modifications

To install the unreleased code from this repository and/or to make changes to it locally and have this reflected immediately in how GRLP runs:

# Download the repository
gh repo clone MNiMORPH/GRLP

# Install it
# First, navigate to the root grlp directory. Then use:
pip install -e .

# As noted above, you may need to  --break-system-packages or create an
# environment for this to work.

You may always just download the grlp source from here and run it as a local (rather than system-wide installed) module. But this can be inconvenient when needing to manage the directory of grlp.py relative to that of the driver *.py file that you are building to create your model run.

Learning how to use GRLP

1-D river long profile

For a tutorial run the Jupyter notebook contained within this package. After installing Jupyter on your local machine, navigate to the "examples" directory in the terminal and type:

jupyter notebook

to launch it. Alternatively, a number of cloud-based services can help to host Jupyter notebooks.

Alongside the Jupyter notebook is a file, run_grlp.py, which replicates one of the figures from the Wickert and Schildgen (2019) article. It includes comments to describe how to set up a GRLP run, though the information is less extensive than that available in the Jupyter notebook.

Beyond these two, a set of examples are located in the "one-dimensional" sub-directory of the "examples" folder.

Network of 1-D river long profiles

A set of functional examples for river networks is avaialble within the "network" sub-directory of the "examples" folder.

For more extensive network examples, including random network generation, see the repository accompanying the paper McNab et al. (2025, EGUsphere).

Release files for GRLP 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for GRLP 2.1.0
File Size Uploaded
grlp-2.1.0.tar.gz 73.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for GRLP 2.1.0
File Interpreter ABI Platform
grlp-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 131.5 kB

Release files / grlp-2.1.0.tar.gz

Download URL grlp-2.1.0.tar.gz
Size 73.8 kB
Tags Source
SHA-256 checksum
How to use checksums
460de6ef237d99f4345c73b1238920cb345e0a24047a23c4f212889c4fcd369f
BLAKE2b-256 checksum
How to use checksums
bac5f0aeb1058550ce057ef1e14fe2539afb0e223667b10b84c89173bb816a21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.

Transparency log

Release files / grlp-2.1.0-py3-none-any.whl

Download URL grlp-2.1.0-py3-none-any.whl
Size 57.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5d600437e2dc8b023312029cde2d5095570994fc09fba86577911ec21db5dd65
BLAKE2b-256 checksum
How to use checksums
730160211f3c3baa2f0b6cd3303a47ad07ca9c2213428af447b50d9a7c2b8f84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files

2.0.0

2 release files

1.8.0

1 release file

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.2.3

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page