Short communication: Landlab v2.0: a software package for Earth surface dynamics

Short communication: Landlab v2.0: a software package for Earth surface dynamics
复制标题

DOI:
10.5194/esurf-8-379-2020
复制
发表时间:
2020-05
期刊:
--
影响因子:
--
通讯作者:
K. Barnhart;E. Hutton;G. Tucker;N. Gasparini;E. Istanbulluoglu;D. Hobley;N. Lyons;M. Mouchené;S. Nudurupati;J. Adams;C. Bandaragoda
K. Barnhart;E. Hutton;G. Tucker;N. Gasparini;E. Istanbulluoglu;D. Hobley;N. Lyons;M. Mouchené;S. Nudurupati;J. Adams;C. Bandaragoda
中科院分区:
其他
文献类型:
--
作者:
K. Barnhart;E. Hutton;G. Tucker;N. Gasparini;E. Istanbulluoglu;D. Hobley;N. Lyons;M. Mouchené;S. Nudurupati;J. Adams;C. Bandaragoda

文献摘要

被引文献

相似文献

抽象的。地球表面的形状和特征的数值模拟提供了对其演化的洞察。LandLab是一个开源的Python包,其中包含地球表面数值模型的模块化元素,从而减少了研究人员创建新模型或重新实现现有模型所需的时间。LandLab包含一个网格引擎,它将模型域表示为结构化四边形(例如,栅格)或不规则Voronoi多边形-Delaunay三角形网格(例如,正六边形、径向对称网格和完全不规则网格)的对偶图形。LandLab还包含组件--单个物理过程的模块化实现--以及一套支持数值方法、输入/输出和可视化的实用程序。这篇文章描述了从1.0版开始的包开发,以及需要发布新的主要版本2.0的破坏向后兼容性的变化。实质性的变化包括重构网格、改进组件标准接口、放弃对Python2的支持以及创建31个新组件--LandLab包中总共有58个组件。我们描述了为什么做出许多改变的原因,以便为未来的包的设计者提供洞察力。最后,我们讨论了从使用、开发、维护和教授LandLab的经验中获得的有关科学软件开发动态的经验教训。
Abstract. Numerical simulation of the form and characteristics of Earth's surface provides insight into its evolution. Landlab is an open-source Python package that contains modularized elements of numerical models for Earth's surface, thus reducing time required for researchers to create new or reimplement existing models. Landlab contains a gridding engine which represents the model domain as a dual graph of structured quadrilaterals (e.g., raster) or irregular Voronoi polygon–Delaunay triangle mesh (e.g., regular hexagons, radially symmetric meshes, and fully irregular meshes). Landlab also contains components – modular implementations of single physical processes – and a suite of utilities that support numerical methods, input/output, and visualization. This contribution describes package development since version 1.0 and backward-compatibility-breaking changes that necessitate the new major release, version 2.0. Substantial changes include refactoring the grid, improving the component standard interface, dropping Python 2 support, and creating 31 new components – for a total of 58 components in the Landlab package. We describe reasons why many changes were made in order to provide insight for designers of future packages. We conclude by discussing lessons about the dynamics of scientific software development gained from the experience of using, developing, maintaining, and teaching with Landlab.