Landlab

Latest version: v2.9.2

Safety actively analyzes 681775 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 10

2.9.1

✨ New Components

- Added shared stream power component that models mixed bedrock-alluvial erosion in channels. [1976](https://github.com/landlab/landlab/issues/1976)


🍰 New Features

- Added new, faster, aggregator functions for the {class}`~.DataRecord`. These new functions,
{func}`~.aggregate_items_at_link_count`, {func}`~.aggregate_items_at_link_sum`, and
{func}`~.aggregate_items_at_link_mean` are written in *cython* and are several orders
of magnitude faster than the previous method of using *merge*/*group_by*. [1648](https://github.com/landlab/landlab/issues/1648)
- Improved perfomance when creating graphs by using openmp for
parallelism. [1940](https://github.com/landlab/landlab/issues/1940)
- Added {func}`~.esri_ascii.dump` and {func}`~.esri_ascii.load` functions for reading and writing
grids to/from ESRI ASCII format. [1948](https://github.com/landlab/landlab/issues/1948)
- Added transport dependent bed material abrasion to the {class}`~.NetworkSedimentTransporter`, as in Pfeiffer et al. (2022). [1952](https://github.com/landlab/landlab/issues/1952)


🛠️ Bug Fixes

- Fixed a bug in {class}`~.NetworkSedimentTransporter` where porosity was
corrected for twice in calculated topographic change at nodes. [1921](https://github.com/landlab/landlab/issues/1921)
- Update {class}`~.ConcentrationTrackerForDiffusion` run methods to to solve two situations that cause the mass balance to fail. [1967](https://github.com/landlab/landlab/issues/1967)
- Fixed an issue when using :func:`~.jaggedarray.unravel` when using
an `int32` array for offsets. [2015](https://github.com/landlab/landlab/issues/2015)


📖 Documentation Enhancements

- Significantly reduced the amount of time needed to build the documentation. [1987](https://github.com/landlab/landlab/issues/1987)
- Autogenerate Landlab's API reference docs using *sphinx-apidoc*. [1989](https://github.com/landlab/landlab/issues/1989)
- Cleaned up the documentation by removing obsolete documentation and moving
posters and presentations to figshare. [1993](https://github.com/landlab/landlab/issues/1993)
- Added a notebook gallery that shows all of the *Landlab* tutorial and teaching
notebooks on the documentation site. [1994](https://github.com/landlab/landlab/issues/1994)
- Converted documentation files from ReStructuredText to MyST. [2003](https://github.com/landlab/landlab/issues/2003)


🔩 Other Changes and Additions

- Speed up the Flexure component through parallelism using openmp. [1660](https://github.com/landlab/landlab/issues/1660)
- Provide effective sediment erosion and deposition rates for {class}`~.SpaceLargeScaleEroder`. [1931](https://github.com/landlab/landlab/issues/1931)
- Require ``numpy<2`` temporarily while we upgrade to support ``numpy>=2``. [1945](https://github.com/landlab/landlab/issues/1945)
- Updated *Landlab* to be compatible with *numpy* v2. [1956](https://github.com/landlab/landlab/issues/1956)
- Enhanced the continuous integration workflows to automatically
cancel any ongoing tests when new changes are pushed to the same branch. [1971](https://github.com/landlab/landlab/issues/1971)
- Changed the Landlab package to a src-layout. [1985](https://github.com/landlab/landlab/issues/1985)
- Decreased the run time of the continuous integraion tests by about a factor of two. [1995](https://github.com/landlab/landlab/issues/1995)
- Moved the nbmake markers stored in the notebooks' metadata into their own
namespace for newer versions of nbmake. [1996](https://github.com/landlab/landlab/issues/1996)
- Added a configurable parameter to the `landlab authors` command that
allows for a user-specified start string for the credits list in the
authors file. [2005](https://github.com/landlab/landlab/issues/2005)
- Changed the changelog and towncrier to use myst files. [2006](https://github.com/landlab/landlab/issues/2006)
- Modified *Landlab*'s test workflow to run the tests using wheels built
using cibuildwheel. [2012](https://github.com/landlab/landlab/issues/2012)
- Combined the `release` and prerelease `workflows` with the `test`
workflow. [2013](https://github.com/landlab/landlab/issues/2013)

2.8.0

✨ New Components

- Added new component {class}`~.ConcentrationTrackerForDiffusion`
for tracking hillslope sediment properties. ([1662](https://github.com/landlab/landlab/issues/1662))
- Added new component {class}`~.MassWastingRunout`
for predicting the hazard extent, sediment transport and topographic change associated with the runout of a landslide. ([1830](https://github.com/landlab/landlab/issues/1830))

🍰 New Features

- Fixed the Radiation component by computing fields with ASCE standard formulas, added
increased test coverage for both field computations and standard unit testing.
Min, max, and avg daily temp are also three optional, newly added
user-defined arguments for the component. ([1755](https://github.com/landlab/landlab/issues/1755))
- Added a new grid type, {class}`~.IcosphereGlobalGrid` (plus underlying graph
machinery, etc.). ([1808](https://github.com/landlab/landlab/issues/1808))
- Added a new function, calc_net_face_flux_at_cell, that computes the
net flux of a quantity into each of a RasterModelGrid's cells. This
function uses openmp to parallelize its calculations. ([1900](https://github.com/landlab/landlab/issues/1900))
- Added a new *vtk* writer, `landlab.io.legacy_vtk.dump` that is
able to write *Landlab* grids that have three spatial coordinates.
This function is also able to write both the main grid (*nodes* and
*patches*) as well as the dual grid (*corners* and *cells*). ([1932](https://github.com/landlab/landlab/issues/1932))

🛠️ Bug Fixes

- Fixed a bug when ordering links at patches with patches composed of varying
numbers of links. ([1807](https://github.com/landlab/landlab/issues/1807))
- Fixed a bug where SpaceLargeScaleEroder deviates from analytical solution for mixed bedrock-alluvial river in a portion of the parameter space. ([1901](https://github.com/landlab/landlab/issues/1901))
- Fixed a bug that caused a `ModuleNotFoundError` for *pkg_config* on
Python 3.12. ([1927](https://github.com/landlab/landlab/issues/1927))

📖 Documentation Enhancements

- Update list of publications in USEDBY.rst. ([1928](https://github.com/landlab/landlab/issues/1928))

🔩 Other Changes and Additions

- Removed the broken `map_link_vector_to_nodes` method from
`ModelGrid`. As a replacement, use
{func}`~.map_link_vector_components_to_node_raster` for raster grids, and
{func}`~.map_link_vector_components_to_node_hex` for hex grids. ([1786](https://github.com/landlab/landlab/issues/1786))
- Fixed the path to the requirements file needed by *readthedocs*. ([1797](https://github.com/landlab/landlab/issues/1797))
- Fixed an issue that caused with the CI to fail when building *multidict* on
Mac and Python 3.12. ([1850](https://github.com/landlab/landlab/issues/1850))
- Fixed warnings caused by using xarray.Dataset.dims rather than
xarray.Dataset.sizes. ([1910](https://github.com/landlab/landlab/issues/1910))
- Added a list of Landlab's extensions to setup.py that must be
maintained manually. This replaces the old, and somewhat buggy,
method of conducting a recursive glob for pyx files. ([1915](https://github.com/landlab/landlab/issues/1915))
- Added a new linter, *cython-lint*, that checks for lint in cython
files. ([1924](https://github.com/landlab/landlab/issues/1924))
- Changed the *numpy* printing options from the legacy 1.13 format
to the latest, default, version. ([1929](https://github.com/landlab/landlab/issues/1929))
- Removed duplicate shapefile modules. ([1933](https://github.com/landlab/landlab/issues/1933))

2.7.0

✨ New Components

- Added new component {class}`~.GravelBedrockEroder` to model rock-cutting gravel rivers. ([1505](https://github.com/landlab/landlab/issues/1505))
- Added new component {class}`~.AdvectionSolverTVD` for advection using
a Total Variation Diminishing method. ([1582](https://github.com/landlab/landlab/issues/1582))

📚 New Tutorial Notebooks

- Added a tutorial notebook for the {class}`~.AdvectionSolverTVD` component. ([1582](https://github.com/landlab/landlab/issues/1582))

🍰 New Features

- Added two new mapping functions to assist numerical advection schemes:
{func}`~.map_node_to_link_linear_upwind` and {func}`~.map_node_to_link_lax_wendroff`. ([1570](https://github.com/landlab/landlab/issues/1570))
- Added {attr}`.RasterModelGrid.orientation_of_link` and {attr}`.HexModelGrid.orientation_of_link`
attributes to get orientation codes for links. ([1573](https://github.com/landlab/landlab/issues/1573))
- Added {attr}`.RasterModelGrid.parallel_links_at_link` and {attr}`.HexModelGrid.parallel_links_at_link`
attributes. ([1576](https://github.com/landlab/landlab/issues/1576))
- AdvectionSolverTVD can now handle advection of multiple fields ([1632](https://github.com/landlab/landlab/issues/1632))
- Refactor ListricKinematicExtender to use AdvectionSolverTVD ([1635](https://github.com/landlab/landlab/issues/1635))
- Add output function for legacy VTK files ([1643](https://github.com/landlab/landlab/issues/1643))
- Added an `rng` keyword to the {class}`~.NetworkSedimentTransporter` utilities
that allows a user to control the random number generator used. ([1722](https://github.com/landlab/landlab/issues/1722))
- Added an `alpha` keyword to {func}`~.plot.imshow_grid` that allows a user to set
the transparency value for image plots. ([1735](https://github.com/landlab/landlab/issues/1735))
- Added the ability for {class}`~.OverlandFlow` to accept an array
for the `rainfall_intensity` keyword. ([1743](https://github.com/landlab/landlab/issues/1743))

🛠️ Bug Fixes

- Fixed a bug that prevented the {class}`~.DrainageDensity` component from
working on hex grids. ([1266](https://github.com/landlab/landlab/issues/1266))
- Fixed a boundary condition issue on D8 flow accumulation in the {class}`~.PriorityFloodFlowRouter`. ([1542](https://github.com/landlab/landlab/issues/1542))
- Fixed broken link to header image in `notebooks/tutorials/syllabus.ipynb`. ([1556](https://github.com/landlab/landlab/issues/1556))
- Update obsolete function name in raster_gradients.calc_slope_at_node ([1606](https://github.com/landlab/landlab/issues/1606))
- Fixed a bug in {class}`~.SpaceLargeScaleEroder` where it would overwrite parts
of the *sediment\_\_influx* field with zeros. ([1638](https://github.com/landlab/landlab/issues/1638))
- Fixed a bug where the `colorbar_label` keyword of {func}`~.imshow.imshow_grid`
was being ignored for non-raster grids. ([1654](https://github.com/landlab/landlab/issues/1654))
- Fixed errors introduced with *argsort* from *numpy* v1.25. These were the result of
vectorized versions of the quicksort algorithm used on some architectures. ([1670](https://github.com/landlab/landlab/issues/1670))
- Fixed an issue with the agent based modeling tutorial notebooks that
caused a "too many values to unpack" error with *mesa* v2. ([1674](https://github.com/landlab/landlab/issues/1674))
- Fixed an issue with {class}`~.PriorityFloodFlowRouter` where flooded nodes were not updated properly.
This is fixed by setting the `flood_status_code` to 3 (i.e. `_FLOODED`) ([1683](https://github.com/landlab/landlab/issues/1683))
- Fixed a bug that caused an incorrect Python version to be used in *Landlab*'s
continuous integration tests. ([1754](https://github.com/landlab/landlab/issues/1754))

📖 Documentation Enhancements

- Added links in docs and README to open Landlab tutorials on EarthscapeHub. ([1556](https://github.com/landlab/landlab/issues/1556))
- Removed out-dated installation instructions from the documentation. ([1592](https://github.com/landlab/landlab/issues/1592))
- Add a tutorial notebook on bringing Landlab raster NetCDF output into Paraview for visualization and animation. ([1646](https://github.com/landlab/landlab/issues/1646))
- Fixed an error that caused the documentation build to fail with an error
saying that the documentation was not using `furo.css` as the stylesheet. ([1696](https://github.com/landlab/landlab/issues/1696))
- Add tutorial on bringing Landlab .obj output into Blender ([1698](https://github.com/landlab/landlab/issues/1698))
- Updated the installation instructions to include options to fetch dependencies
from, and only from, *conda-forge*. ([1704](https://github.com/landlab/landlab/issues/1704))
- Reformatted all *doctests* and *reStructuredText* *code-blocks* to conform
to [black](https://github.com/psf/black), giving the code across all of
our documentation a consistent format. To keep things formatted correctly,
added [blackdoc](https://github.com/keewis/blackdoc) to our linters ([#1785](https://github.com/landlab/landlab/issues/1785))

🔩 Other Changes and Additions

- Removed the `on_diagonals` method from the {class}`~.LinearDiffuser` component. ([1236](https://github.com/landlab/landlab/issues/1236))
- Moved unversioned requirements into *requirements.in* files and pinned
requirements into *requirements.txt* files. ([1546](https://github.com/landlab/landlab/issues/1546))
- Set up [dependabot](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates)
to track and update dependencies. ([1546](https://github.com/landlab/landlab/issues/1546))
- Added pre-commit hooks for delinting the notebooks and removed newly-found
lint. ([1585](https://github.com/landlab/landlab/issues/1585))
- Changed the target branch for *dependabot* pull requests to *dependencies*
and added a GitHub action that automatically keeps the *dependencies* branch
up-to-date with *master*. ([1602](https://github.com/landlab/landlab/issues/1602))
- Added two new references to list of publications. ([1603](https://github.com/landlab/landlab/issues/1603))
- Added better error reporting and input validation for the LinearDiffser
component. ([1607](https://github.com/landlab/landlab/issues/1607))
- Added Cython 3.x (beta) to the build-system for compiling extension modules. ([1639](https://github.com/landlab/landlab/issues/1639))
- Fixed an issue with a missing package, *hypothesis*, not being installed when
the notebook tests were run through *nox*. ([1644](https://github.com/landlab/landlab/issues/1644))
- Added getters for several {class}`~.BedrockLandslider` input parameters. ([1651](https://github.com/landlab/landlab/issues/1651))
- Added getter for several {class}`~SpaceLargeScaleEroder` input parameters. ([1652](https://github.com/landlab/landlab/issues/1652))
- Modified the *TaylorDiffuser* components, {class}`~.DepthDependentTaylorDiffuser` and
{class}`~.TaylorNonLinearDiffuser` to use the shortest link instead of `dx` in calculatting
time steps. ([1694](https://github.com/landlab/landlab/issues/1694))
- Changed the continuous integraion to use *micromamba* rather than *miniconda*. ([1703](https://github.com/landlab/landlab/issues/1703))
- Updated *Landlab* for *matplotlib* 3.7.2. Removed calls to newly deprecated
`get_cmap` and fixed some notebook errors. ([1714](https://github.com/landlab/landlab/issues/1714))
- Removed unused requirements for building the documentation. ([1720](https://github.com/landlab/landlab/issues/1720))
- Fixed a flaky test with the {class}`~.lateral_erosion.lateral_erosion.LateralEroder` where it would occasionally
fail to reach the steady state solution. ([1722](https://github.com/landlab/landlab/issues/1722))
- Fixed a flaky test with the `sediment_pulser_at_links.ipynb` notebook where it
would occasionally hang. ([1722](https://github.com/landlab/landlab/issues/1722))
- Fixed incorrect doctests for `parallel_links_at_link` and
`orientation_of_link`. ([1738](https://github.com/landlab/landlab/issues/1738))
- Fixed an issue with *Landlab*'s environment file that caused an error when
trying to run the tutorial notebooks through *Binder*. ([1758](https://github.com/landlab/landlab/issues/1758))
- Updated the *readthedocs* configuration file to exclude the
[now invalid](https://blog.readthedocs.com/drop-support-system-packages)
`system_packages` option. ([1762](https://github.com/landlab/landlab/issues/1762))
- Updated the *isort* configuration to identify *landlab* as a first-party
package to prevent it from moving *landlab* imports into the third-party
section. ([1763](https://github.com/landlab/landlab/issues/1763))
- Updated *dependabot* to only manage *Landlab* direct dependencies and changed
our CI to ensure we are running with those pinned dependencies. ([1773](https://github.com/landlab/landlab/issues/1773))
- Added support for Python 3.12 and dropped Python 3.9. ([1782](https://github.com/landlab/landlab/issues/1782))
- Removed the unused and broken *cython* functions `reorient_links` and
`get_angle_of_links` from the `remap_element` *cython* module. ([1788](https://github.com/landlab/landlab/issues/1788))
- Fixed flaky tests of the {class}`~.SedimentPulserAtLinks` and
{class}`~.SedimentPulserEachParcel` components by testing them using a random seed. ([1794](https://github.com/landlab/landlab/issues/1794))
- Added a tool that builds a list of *Landlab* contributors and updates the
`AUTHORS.rst` and `.mailmap` files. ([1795](https://github.com/landlab/landlab/issues/1795))

2.6.0

✨ New Components

- Added two {class}`SedimentPulser <.SedimentPulserBase>` components ({class}`~.SedimentPulserAtLinks`,
{class}`~.SedimentPulserEachParcel`) that allow the user to efficiently add sediment
parcels to the {class}`~.DataRecord` while using the
{class}`~.NetworkSedimentTransporter` component. ([1208](https://github.com/landlab/landlab/issues/1208))

- Added a set of {class}`BedParcelInitializer <.BedParcelInitializerBase>` components
({class}`~.BedParcelInitializerDischarge`, {class}`~.BedParcelInitializerDepth`,
{class}`~.BedParcelInitializerArea`, {class}`~.BedParcelInitializerUserD50`) that
allow the user to efficiently create initial river bed sediment conditions for use
in the {class}`~.NetworkSedimentTransporter` component. ([1208](https://github.com/landlab/landlab/issues/1208))

- Added a new component, {class}`~.GravelRiverTransporter`, that models
gravel transport and abrasion in a gridded network of river segments. ([1439](https://github.com/landlab/landlab/issues/1439))

- Added a new component, {class}`~.AreaSlopeTransporter`.

The {class}`~.AreaSlopeTransporter` is a generic transport-limited landscape evolution component that models the time rate of change of elevation at a set of grid nodes, each of which has a defined contributing drainage area 𝐴 (field drainage_area) and a local steepest-descent slope gradient, 𝑆, defined from the node itself toward one of its neighboring nodes. The drainage area and slope can be computed with a drainage-routing component such as {class}`~.FlowAccumulator` or {class}`~.PriorityFloodFlowRouter`. The component is designed to function as an integral part of a transport-limited landscape evolution model in the spirit of the Willgoose et al. "SIBERIA" model. ([1502](https://github.com/landlab/landlab/issues/1502))

📚 New Tutorial Notebooks

- Added tutorial notebooks for the new
{class}`BedParcelInitializer <.BedParcelInitializerBase>` and
{class}`SedimentPulser <.SedimentPulserBase>` components, all associated with the
{class}`~.NetworkSedimentTransporter`. ([1208](https://github.com/landlab/landlab/issues/1208))
- Added a tutorial notebook that demonstrates use of the new {class}`~.GravelRiverTransporter` component. ([1439](https://github.com/landlab/landlab/issues/1439))

🍰 New Features

- Updated the `NetworkSedimentTransporter` component to allow the user to
specify a minimum acceptable channel slope threshold. ([1208](https://github.com/landlab/landlab/issues/1208))
- Added the `calculate_window_statistic` utility that calculates local grid node statistics within a moving window. ([1263](https://github.com/landlab/landlab/issues/1263))
- Added the `at` keyword to the `imshow_grid` functions so that they now
use the same pattern as many other *landlab* functions. ([1424](https://github.com/landlab/landlab/issues/1424))
- The `plot_graph` function now can take lists of graph elements rather than only comma-separated strings. ([1425](https://github.com/landlab/landlab/issues/1425))
- Added a new keyword, `axes` to `plot_graph` to allow plotting within an
existing axes. ([1425](https://github.com/landlab/landlab/issues/1425))
- Enhanced the `plot_graph` function: allow the `with_id` keyword to
accept a list of elements that should have included IDs, fill in patches and
cells. ([1425](https://github.com/landlab/landlab/issues/1425))
- Added an `imshow` method to all *landlab* model grids that is a wrapper for
the `imshow_grid` function. ([1430](https://github.com/landlab/landlab/issues/1430))
- Updated the `BedrockLandslider` component so that a user can now specify a
threshold slope to determine the transport length within the deposition part
of the component. ([1431](https://github.com/landlab/landlab/issues/1431))
- Added the `ThresholdEroder` component that erodes material to a user-suplied maximum slope. ([1440](https://github.com/landlab/landlab/issues/1440))
- Added a new class of grid, *FramedVoronoiGrid* which is an elaborated version of the VoronoiDelaunayGrid. The user input parameters to automatically calculate the positions of the nodes. The boundary nodes are automatically fixed, in a not random way. The core nodes are first positioned in a rectangular pattern, and then moved by a random distance in such a way that a minimal distance between nodes is respected. This minimal distance is convenient when we have to run diffusion or river incision processes on the grid, which can become unstable for two small distances between nodes (depending on the timestep of the run). ([1450](https://github.com/landlab/landlab/issues/1450))
- Enhance possibilities for .pyx compilation through setup.py update. Now include the tests and compile using Python 3. Compilation instructions (C++, multithreading openmp, macros) can be added at top of the .pyx and .pxd files. See use case with files linked to the future FlowRouter component (including tests). ([1467](https://github.com/landlab/landlab/issues/1467))
- Enhance Exponential weatherer so that it takes spatially explicit input values for soil production maximum rate and soil production decay depth. ([1529](https://github.com/landlab/landlab/issues/1529))

🛠️ Bug Fixes

- Fixed an issue in the NetworkSedimentTransporter tutorial notebooks related to
deprecated xarray dataset syntax in the calc_aggregate_value method of `DataRecord` ([1208](https://github.com/landlab/landlab/issues/1208))
- Fixed a bug in notebooks that use *bmi-topography* where an incorrect API key was being used. ([1410](https://github.com/landlab/landlab/issues/1410))
- Fixed a bug in `plot_graph` where patch and cell polygons were not drawn. ([1428](https://github.com/landlab/landlab/issues/1428))
- Fixed a bug where `plot_graph` would incorrectly include the last
node/corner with patches/cells that had fewer links/faces than the maximum of
the graph. ([1428](https://github.com/landlab/landlab/issues/1428))
- Fixed an issue related to flow re-routing on an irregular Voronoi-Delaunay grid. ([1442](https://github.com/landlab/landlab/issues/1442))
- Fixed the ABM tutorial notebooks that were using an older syntax for the
*Mesa* *remove_agent* method. ([1444](https://github.com/landlab/landlab/issues/1444))
- Fixed a bug where the *tests* folder was also being installed in
*site-packages*. ([1445](https://github.com/landlab/landlab/issues/1445))
- Fixed a bug where the `SpaceLargeScaleEroder` was only able to accept a scalar value for the erodibility coefficient.
Now it is able to accept either a scalar or an array. ([1477](https://github.com/landlab/landlab/issues/1477))
- Fixed a bug in *imshowhs_grid* where, when a no-data drape was provided, the plot was
inverted in the north-south directions. ([1484](https://github.com/landlab/landlab/issues/1484))
- Fixed a bug in *imshowhs_grid* where the hillshade base layer was not plotting data from rows and columns adjacent to boundary nodes. ([1484](https://github.com/landlab/landlab/issues/1484))
- Fixed a bug in the *HyLandsTutorial* notebook where the *BedrockLandslider*'s
*topographic\_\_elevation* field was not being updated correctly. ([1490](https://github.com/landlab/landlab/issues/1490))
- Fixed a bug in *imshowhs_grid* that caused the axis tick marks to be slightly in the wrong position. ([1492](https://github.com/landlab/landlab/issues/1492))
- Fixed a bug in *imshowhs_grid* where boundary nodes were not indicated even if requested. ([1492](https://github.com/landlab/landlab/issues/1492))
- Fixed an issue when plotting the colorbar in the `plot_drainage` function
using *matplotlib* 3.6. ([1493](https://github.com/landlab/landlab/issues/1493))
- Fixed usages of `plt.gca` that used keywords to create new axes objects. With
*matplotlib* 3.6, the way to do this is with `plt.axes`. ([1494](https://github.com/landlab/landlab/issues/1494))
- Fixed a possible memory leak caused by using the *lru_cache* decorator of
class methods. ([1514](https://github.com/landlab/landlab/issues/1514))
- Fixed a bug that, when using randomly positioned nodes, sometimes resulted in a voronoi
diagram that contained cells without any vertices. ([1516](https://github.com/landlab/landlab/issues/1516))

📖 Documentation Enhancements

- Combined multiple "Tectonics" sections on the component documentation page. ([1415](https://github.com/landlab/landlab/issues/1415))
- Fixed the broken links to the openearthscape JupyterHub. ([1419](https://github.com/landlab/landlab/issues/1419))
- Cleaned up the indexing of field names used and provided by all landlab
components. ([1476](https://github.com/landlab/landlab/issues/1476))
- Cleaned up the categorization of all the landlab grid methods. ([1476](https://github.com/landlab/landlab/issues/1476))
- Updated the installation instructions for the tutorial notebooks to better
describe how to install the tutorial dependencies. ([1526](https://github.com/landlab/landlab/issues/1526))
- Added additional publications to the list in the documentation. ([1538](https://github.com/landlab/landlab/issues/1538))

🔩 Other Changes and Additions

- Added a pull request template that contains a checklist of items for
contributors to complete. ([1340](https://github.com/landlab/landlab/issues/1340))
- Added a citation file, using the Citation File Format, that describes how to cite the *landlab* code base. ([1342](https://github.com/landlab/landlab/issues/1342))
- Added a short script that can be used to download a set of *landlab* notebooks
that are compatible with a specified version of *landlab*. ([1408](https://github.com/landlab/landlab/issues/1408))
- Moved static project metadata into pyproject.toml. ([1409](https://github.com/landlab/landlab/issues/1409))
- Fixed an issue where notebooks that download DEMs from OpenTopography were
failing with an error about a missing API key. ([1410](https://github.com/landlab/landlab/issues/1410))
- Fixed some failing read_shapefile tests related to a new version of pyshp by requiring pyshp != v2.3.0. ([1418](https://github.com/landlab/landlab/issues/1418))
- Fixed some typos in the doctest for the `StreamPowerEroder`. ([1426](https://github.com/landlab/landlab/issues/1426))
- Added *water_surface\_\_elevation* as a field in the
`LinearDiffusionOverlandFlowRouter`. ([1433](https://github.com/landlab/landlab/issues/1433))
- Fixed doctests that were failing because "0"s were being printed as "-0"s. ([1435](https://github.com/landlab/landlab/issues/1435))
- Added a GitHub Actions workflow to the continuous integration that checks to
see if a pull request contains a news fragment. ([1446](https://github.com/landlab/landlab/issues/1446))
- Update tutorial template notebook remove obsolute "%" magic and edit description of link to tutorials page. ([1457](https://github.com/landlab/landlab/issues/1457))
- Added unit tests for the cython function, *adjust_flow_receivers*, used by the *FlowDirectorSteepest* component. ([1459](https://github.com/landlab/landlab/issues/1459))
- Added a *nox* file to help with routine project maintenance tasks like, for
example, running the tests, and checking for coding style. ([1469](https://github.com/landlab/landlab/issues/1469))
- Added two new *nox* sessions: *requirements* and *nuke*. *requirements*
recreates the various requirements files while *nuke* does an extra bit of
cleaning. ([1474](https://github.com/landlab/landlab/issues/1474))
- Fixed an issue that prevented the docs from building due to a compatibility
issue with *sphinxcontrib.towncrier* and *towncrier* v22.8. ([1480](https://github.com/landlab/landlab/issues/1480))
- Changed `FramedVoronoiGrid` to accept a single seed for the *seed* keyword. ([1495](https://github.com/landlab/landlab/issues/1495))
- Modified to skip the doctests for `ExampleData` and `write_esri_ascii` that created
files in the user's working directory. These doctests are now repeated as unit tests
that clean up after themselves. ([1496](https://github.com/landlab/landlab/issues/1496))
- Improved the error message that's reported when a user attempts to add a field
to a grid that already contains a field with that name. ([1500](https://github.com/landlab/landlab/issues/1500))
- Allow the cumulative_subsidence_depth field in ListricKinematicExtender to clobber a pre-existing field, which is needed if the caller has read in a pre-existing saved grid. ([1510](https://github.com/landlab/landlab/issues/1510))
- Fixed a broken *pre-commit* hook that caused an error when checking for lint
with *flake8*. ([1512](https://github.com/landlab/landlab/issues/1512))
- Added *flake8-comprehension* to the *flake8* *pre-commit* hook to identify
comprehension-related lint. ([1512](https://github.com/landlab/landlab/issues/1512))
- Added additional linters via pre-commit hooks and removed the newly discovered
lint. ([1514](https://github.com/landlab/landlab/issues/1514))
- In the Tutorials doc, updated the URL to download the `notebook.py` script from GitHub. ([1520](https://github.com/landlab/landlab/issues/1520))
- Updated code to work with *numpy* v1.24 and *scipy* v1.10. ([1521](https://github.com/landlab/landlab/issues/1521))
- Removed the *richdem* package as a mandatory requirement for *landlab*. Users
needing to use *richdem* (i.e. the `PriorityFloodFlowRouter`) must now install it
separately. ([1523](https://github.com/landlab/landlab/issues/1523))
- Updated the pre-commit hooks (most notably flake8 and its plugins) and removed
newly-found lint. ([1524](https://github.com/landlab/landlab/issues/1524))
- Updated *Landlab*'s CI to use Python 3.11 and to drop testing with Python 3.8. ([1527](https://github.com/landlab/landlab/issues/1527))
- Updated `landlab.__version__` to match that of the latest release. ([1531](https://github.com/landlab/landlab/issues/1531))
- Removed obsolete files from the top-level directory of the repository. ([1534](https://github.com/landlab/landlab/issues/1534))
- Updated the ci workflows to use a newer version of cibuildwheel when building
wheels for releases and pre-releases. ([1536](https://github.com/landlab/landlab/issues/1536))
- Fixed a test failure in the `PriorityFlood_realDEMs.ipynb` notebook by
constraining bmi-topography to versions other than 0.8.1. ([1539](https://github.com/landlab/landlab/issues/1539))
- Changed the ci testing of the notebooks to use nbmake. ([1541](https://github.com/landlab/landlab/issues/1541))
- Increased the stacklevel for warnings from 1 (the default) to 2 to provide
more information to the user. ([1545](https://github.com/landlab/landlab/issues/1545))

2.5.0

✨ New Components

- `CarbonateProducer` Grow carbonate strata using growth function of Bosscher and Schlager (1992). ([1284](https://github.com/landlab/landlab/issues/1284))
- `DimensionlessDischarge`, that calculates the dimensionless discharge value, debris flow threshold value, and boolean for predicted debris flow for stream segments. ([1377](https://github.com/landlab/landlab/issues/1377))
- `LinearDiffusionOverlandFlowRouter`: overland flow using the linearized diffusion-wave approximation. ([1383](https://github.com/landlab/landlab/issues/1383))

📚 New Tutorial Notebooks

- Added a notebook that shows how to use USGS NHDPlus HR datasets with the
`NetworkSedimentTransporter` component ([1345](https://github.com/landlab/landlab/issues/1345))
- Addded a new notebook that demonstrates ways to create a `NetworkModelGrid` from a DEM fetched from *OpenTopography* using the *Topography* utility. ([1400](https://github.com/landlab/landlab/issues/1400))

🍰 New Features

- Added the ability for a user to add layers at grid elements other than cells (i.e.
nodes, links, etc.). Previously, the *at_layer* variables could only be at cell elements. ([1292](https://github.com/landlab/landlab/issues/1292))
- Added the ability to define the units of a field when creating a grid from a file
through the `create_grid` function. ([1358](https://github.com/landlab/landlab/issues/1358))
- Added the `network_grid_from_raster` function that creates a `NetworkModelGrid`
from a `RasterModelGrid`. This function extracts channel segments from the
source grid to become links of the newly-created grid. ([1360](https://github.com/landlab/landlab/issues/1360))
- Added *sediment\_\_influx* and *sediment\_\_outflux* fields to the `ErosionDeposition`,
`LateralEroder`, `SpaceLargeScaleEroder`, and `Space` components. ([1370](https://github.com/landlab/landlab/issues/1370))
- Added `ticks_km`, `cbar_ticks_color` keywords to the `imshowhs_grid` function for more control of colorbar ticks. ([1397](https://github.com/landlab/landlab/issues/1397))
- Added control on location of the ylabels of colorbars in the `imshowhs_grid` function using the `y_label_offSet_var_1` and `y_label_offSet_var_2` keywords. ([1397](https://github.com/landlab/landlab/issues/1397))
- Added a new utility, *plot_layers*, that plots sediment layers along with sea level and bedrock. ([1398](https://github.com/landlab/landlab/issues/1398))

🛠️ Bug Fixes

- Clip active layer thickness to zero in the NetworkSedimentTransporter component. This
eliminates an `invalid value encountered in power` warning. ([1356](https://github.com/landlab/landlab/issues/1356))
- Allow *landlab* to be installed without the *richdem* package in the case that
*richdem* is not available for a particular platform or Python version. ([1379](https://github.com/landlab/landlab/issues/1379))
- Resolved instabilities related to the use of very small `H*` values when using the `Space_Large_Scale_Eroder`. ([1397](https://github.com/landlab/landlab/issues/1397))
- Fixed a broken reference in the `PriorityFloodFlowDirector` where the gradient of the hillslopes are being updated. ([1397](https://github.com/landlab/landlab/issues/1397))
- Fixed a bug that incorrectly diagnosed if the *richdem* engine was installed and working correctly. ([1399](https://github.com/landlab/landlab/issues/1399))

📖 Documentation Enhancements

- Added missing documentation files for `BedrockLandslider` and `SpaceLargeScaleEroder`. ([1373](https://github.com/landlab/landlab/issues/1373))
- Set up *\[towncrier\](https://towncrier.readthedocs.io/en/actual-freaking-docs/)*
to update and manage the *landlab* changelog. New fragments are placed in the
`news/` folder. ([1396](https://github.com/landlab/landlab/issues/1396))

🔩 Other Changes and Additions

- Added an OpenTopography API key to notebooks that use *bmi-topography* to fetch
data from OpenTopography. ([1384](https://github.com/landlab/landlab/issues/1384))
- Updated the coding style to conform to new version of black. This was, primarily,
hugging the `**` operator. ([1385](https://github.com/landlab/landlab/issues/1385))
- The notebooks are tested only with Python 3.9. ([1399](https://github.com/landlab/landlab/issues/1399))
- Added Python 3.10 to continuous integration tests and dropped Python 3.7. ([1399](https://github.com/landlab/landlab/issues/1399))
- Speed up our continuous integration tests by about 2x by running them in parallel using *pytest-xdist*. ([1399](https://github.com/landlab/landlab/issues/1399))
- Turn off *hypothesis* deadline setting globally when running continuous
integration tests. ([1401](https://github.com/landlab/landlab/issues/1401))
- Updated the documentation to build with newer versions of *Sphinx*. ([1404](https://github.com/landlab/landlab/issues/1404))
- Added several new *landlab*-using references. ([1407](https://github.com/landlab/landlab/issues/1407))

2.4.1

📚 New Tutorial Notebooks

- Added two ABM tutorial notebooks ([1364](https://github.com/landlab/landlab/issues/1364))

🔩 Other Changes and Additions

- fixed a bug that causes release workflows to not be triggered ([1371](https://github.com/landlab/landlab/issues/1371))
- Fixed the building of source distributions for prerelease and release
workflows ([1372](https://github.com/landlab/landlab/issues/1372))

Page 1 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.