- 1Institute of Environmental Science and Geography, University of Potsdam, Potsdam, Germany
- 2Institute of Computer Science, University of Potsdam, Potsdam, Germany
- 3GFZ Helmholtz Centre for Geosciences, Potsdam, Germany
- 4Institute of Geographical Sciences, Freie Universität Berlin, Berlin, Germany
- 5Géosciences Rennes, Université de Rennes, Rennes, France
For 15 years, TopoToolbox has provided a platform for quantitative geomorphology. Its extensibility, user-friendly interface and comprehensive documentation have enabled users across the geosciences and around the world to build custom data analysis and modeling workflows in MATLAB. The third version of TopoToolbox builds on this legacy by making it accessible from other programming and data analysis environments and implementing sustainable research software engineering practices to ensure that TopoToolbox will continue to provide a stable foundation upon which to build geoscientific data analysis tools.
The new software architecture factors the fundamental TopoToolbox algorithms into a separate library that can be accessed from other programming languages such as Python and R while maintaining the existing MATLAB toolbox. Interoperability with the existing geospatial software ecosystems in these languages is encouraged by exposing a minimal interface to a few key data structures and composing transformations between these data structures. This architecture has already allowed us to integrate new tools such as the GraphFlood hydrodynamic model (Gailleton et al. 2024) with TopoToolbox.
Accompanying these software changes has been a reorganization of the software development workflow. Extensive automated testing ensures consistent behavior across languages and helps prevent the introduction of bugs throughout the refactoring process. Modern testing methodologies like property-based testing make it possible to test TopoToolbox even when the correct outputs of our algorithms are unknown. TopoToolbox is developed publicly on GitHub (https://github.com/TopoToolbox), and we encourage contributions from members of the community.
How to cite: Kearney, W., Schwanghart, W., Lamprecht, A.-L., Scherler, D., Bringezu, T., Bartha, D., and Gailleton, B.: TopoToolbox 3 -- a laboratory for topographic analysis, EGU General Assembly 2025, Vienna, Austria, 27 Apr–2 May 2025, EGU25-8678, https://doi.org/10.5194/egusphere-egu25-8678, 2025.