Release Notes#

Not yet released (2023-12-21)#

πŸ“– Documentation Enhancements#

  • Added a Sequence logo to the docs. #84

0.6.0 (2023-12-20)#

🍰 New Features#

  • Added the ability for a user to control both what processes are run in a Sequence simulation and the order with which those processes are run. #62

  • Changed all components to only update the current amount of subsidence and deposited sediment but not to update secondary fields like the topographic elevation. This removes the dependence of these secondary fields on component ordering and ensures these secondary fields are updated once, and only once, with each time step. #67

  • Added a get_profile() method to SequenceModelGrid that is a convenience function to return a field just along the middle row of nodes (i.e. along the profile). #67

  • Improved the logging of Sequence. Sequence now logs time spent running each component, and the options available for the plot command. From the command line, users are able to control the detail of the log messages through the --verbose and --silent options. #68

  • Changed the SedimentFlexure component so that it is no longer dependent on the ordering of components. It has been simplified so that it now takes sediment loading as its only input field. #71

  • Added a new component, WaterFlexure, that calculates deflections based on changes in water loading. #72

  • Added a quasi-2d mode for Sequence that keeps track of multiple cross-shore rows. #78

πŸ› οΈ Bug Fixes#

  • Fixed a bug that caused a FieldError when running Sequence without the subsidence component enabled. #64

  • Fixed a bug where the topographic elevations were not being updated correctly after the components were time stepped. #67

  • Fixed a bug that incorrectly updated the profile elevations. Elevations were being updated before the new layer was added rather than after. Among other things, this caused the submarine diffuser component to use incorrect diffusion coeffients. #73

πŸ“– Documentation Enhancements#

  • Updated the sequence documentation to include a page for example notebooks. #58

  • Reorganized and cleaned up the documentation and switched to the furo theme. #59

  • Updated the description of sequence.toml input file in the user guide. #65

  • Updated the documentation to now include an unreleased section of the release notes that includes changes since the latest release. #69

  • Converted the documentation files from reStructuredText to MyST-flavored markdown format. #76

  • Reorganize the docs to follow the DiΓ‘taxis Grand Unified Theory of Documentation. #77

πŸ”© Other Changes and Additions#

  • Set up nox to automate testing and routine package maintenance. #60

  • Added additional linters to the pre-commit hooks and removed the newly-found lint. #61

  • Significantly simplified the grid section of the input file. #62

  • Added unit tests to test Sequence runs for different combinations and ordering of components. #64

  • Enforce the existence of docstrings for all public function, classes, etc. and ensure those docstrings adhere to the numpy docstring conventions. #65

  • Added type hints to the entire code base and a mypy hook to the pre-commit linters to identify potential typing issues. #66

  • Added tests for the compaction, flexure, and subsidence components. #67

  • Fixed an issue with building the docs on readthedocs. #70

  • Updated the repository continuous integration by adding new linters for the notebooks, and add testing for Python 3.11. #74

  • Added support for Python 3.12 and dropped support for Python version older than 3.10. #79

  • Updated Sequence annotations to python 3.10+. #82

  • Renamed the unit test files so that they all have a _test suffix rather than a test_ prefix. #90

0.5.1 (2022-06-30)#

πŸ› οΈ Bug Fixes#

  • Fixed a bug where x_of_shore and x_of_shelf_edge were being incorrectly recorded (but correctly calculated). (#57)

0.5.0 (2022-06-29)#

πŸ“š New Tutorial Notebooks#

  • Added a tutorial notebook that demonstrates the use of the new Sequence class and how one can build, run and dynamically modify a new sequence model from a series of process components. (#51)

🍰 New Features#

  • Added several new setters to SedimentFlexure that allows a user to dynamically change paramters while the model is running. These include: sediment densities (sand and mud), and water density. (#45)

  • Added water_density as an input parameter to SedimentFlexure. (#45)

  • Added a new function, plot_grid, that plots the output of a sequence model from Python. This serves as the programmatic equivalent of the sequence plot command-line program. (#50)

  • Added a new module sequence.processes that holds all processes that can be used to construct a new sequence model. (#50)

  • Added Sequence class that allows a user to construct and run sequence models within a Python environment and dynamically change input variables. (#50)

  • Added a SequenceModelGrid class, based on a landlab RasterModelGrid, that creates a grid that can be used for creating new sequence models. (#50)

  • Added a new method, run, to Sequence that allows a user to run the model until a given time and with a given time step. (#54)

πŸ› οΈ Bug Fixes#

  • Fixed a bug where the sea floor was not plotted in some situations. (#46)

  • Fixed a bug where the Compact component would fail to run because porosity was not being tracked within layers. (#51)

πŸ”© Other Changes and Additions#

  • Updated the SedimentFlexure component to be compatible with the latest version of landlab. (#45)

  • Added unit tests for the SedimentFlexure component. (#45)

  • Upgraded Python syntax to 3.8 and above. (#47)

  • Setup of pre-commit for the project that runs black, flake8, and pyupgrade (for Python 3.8+). (#48)

  • Added GitHub Actions workflows for releasing Sequence to PyPI and TestPyPI (for pre-releases). This allows users to run pip install sequence to get the latest release. (#49)

  • Updated the pre-commit hooks to ensure notebooks are clean and styled correctly. (#51)

  • Added a GitHub Actions workflow that tests the sequence notebooks. The notebooks are simply executed to ensure they run, not to validate any output. (#52)

  • Added a citation file that users of sequence can use to cite the software. (#53)

0.4.1 (2022-04-12)#

🍰 New Features#

  • Added --silent option to supress status messages and the progress bar. (#30)

πŸ› οΈ Bug Fixes#

  • Fixed a bug where, instead of writing the current model time, Sequence was writing the model time step number to the output file as the time variable. (#34)

  • Fixed a bug that incorrectly determined the shore and shelf edge at startigraphic layers when writing netCDF output. This was only an issue when Sequence had averaged buried layers. (#37)

  • Changed the defaults generated by sequence setup to create a set of input files that generate output that can be plotted by sequence plot. (#39)

  • Fixed a bug that caused the sequence plot command to fail if the entire profile was above sea level. (#40)

πŸ”© Other Changes and Additions#

  • Fixed continuous integration tests by removing lint, limit numpy version. (#30)

  • Modified requirements file to exclude numpy versions that caused a core dump when running Sequence with the compaction component. (#31)

  • Setup Sequence to use towncrier to manage the changelog. (#32)

  • Setup towncrier to manage the chagnelog. (#33)

  • The sequence plot command now prints a better error message if the netCDF output file being plotted is missing a required variable. (#39)

  • Added Python 3.10 to the continuous integration tests. (#42)

0.4.0 (2021-07-26)#

🍰 New Features#

  • Added β€œplot” subcommand to sequence for plotting stratigraphic output from a netcdf file. (#25)

πŸ› οΈ Bug Fixes#

  • Fixed layer interpolation when plotting. (#28)

πŸ“– Documentation Enhancements#

  • Updated README documentation. Added descriptions of the sequence.grid and sequence.output sections for the sequence.toml file, and added documentation for the plot subcommand (#27)

πŸ”© Other Changes and Additions#

  • Changed to use GitHub Actions for continuous integration. (#26)

0.3.0 (2020-08-11)#

🍰 New Features#

  • Added more time-varying parameters to SubmarineDiffuser. (#24)

πŸ“– Documentation Enhancements#

  • Improved documentation for time-varying parameters. (#23)

0.2.0 (2020-07-30)#

🍰 New Features#

  • Added support for toml-formatted input files and is now the default. (#1)

  • Added time varying parameters. (#18)

  • Allow subsidence to vary with time. (#21)

πŸ”© Other Changes and Additions#

  • Fixed CI on Travis and AppVeyor. (#18)

  • Use readthedocs file to configure documentation building. (#19)

  • Changed to use landlab version 2 components. (#20)

  • Added lots of new tests, particularly for reading/writing configuration files. (#21)

0.1.2 (2020-03-04)#

  • Added sediment compaction

  • Updated installation docs (#17)

  • Update sequence documentation (#16)

  • Added AppVeyor CI for Windows testing (#15)

  • Fixed failing shelf edge tests (#14)

  • Added examples to sequence cli help message

  • Added Python 3.8 support and testing; remove Python 2.7

  • Add setup/show/run subcommands to the sequence CLI

  • Updated for landlab v2 pre-release version

  • Added hemipelagic parameter to sediments section of configuration file

  • Bug fixes

  • Added ability to read a user-supplied sea level file

  • Enhance CI testing

  • Added ability to write output at intervals (#11)

  • Write a subset of variable fields to netcdf output files

0.1.1 (2018-08-24)#

  • Added versioneer for version management

0.1.0 (2018-08-24)#

  • Initial release