LAPM, CompartmentalSystems, bc-md

Runner-up - DSWeb 2018 Software Contest

By Markus Müller
Print
LAPM, CompartmentalSystems, bc-md

Compartmental systems are a large class of dynamical systems used in many different scientific applications where mass balance has to be considered. The presented software framework consists of three open-source python packages that serve to represent, classify, and analyze compartmental systems of ordinary differential equations, with special emphasis on the computation of age and transit time densities of the contents in each reservoir and the entire system. The packages do not have a graphical user interface, and are meant to be used together with other open source software e.g. jupyter.

CompartmentalSystems package: https://github.com/MPIBGC-TEE/CompartmentalSystems

The package allows the computation of ages and transit times for nonlinear, non-autonomous well mixed compartmental systems. A brief summary is found under the link above. A more detailed description of the concepts and their application is given in Metzler et al. (2018). An example jupyter notebook that shows how to use the package can be found here.

LAPM package: https://github.com/MPIBGC-TEE/LAPM

LAPM stands for Linear Autonomous Pool Models. It provides the class LinearAutonomousPoolModels which allows the symbolic computation of transit time, system age, and pool ages. Since transit time and system age are phasetype distributed, the computations of them rely on properties of this distribution. They are treated in a separate module. LAPM can be seen as a symbolic companion to CompartmentalSystems for the special case of linear autonomous compartmental systems in steady state. Again a brief summary is given under the link above while a more detailed one is published, (Metzler and Sierra, 2017).

The biogeochemical model data base (bgc-md): https://github.com/MPIBGC-TEE/bgc-md

This package presents a specific application for dynamical systems that represent element cycling in ecosystems. Short summaries are found under the link above or on our group website. The package provides:

  1. collections of yaml files each encoding a published carbon cycling model,
  2. the code to produce (at the moment still static) html for user specified queries or can be used in a jupyter notebook.

The software simplifies the abstract description of element cycling models and introduces a yaml format to store them. It uses a symbolic mathematical representation based on sympy, but also allows immediate numerical computations using scipy and our own packages CompartmentalSystems and LAPM. Its main use is to make complex models immediately available for further investigation e.g. in jupyter notebooks, but it also provides a command-line tool to build html reports about single models or sets. Users can create their own templates and yaml files. We are currently developing a web front end that makes it possible to run the whole database as a website with a graphical JavaScript based user interface. The GUI further simplifies the creation of the database entries.

Keywordscompartmental dynamical systems
Model
  • ODEs
  • Other
Software Type
  • Package
Language
  • Python
Platform
  • Unix
  • Linux
  • Windows
  • MacOS
Availability

CompartmentalSystems package: https://github.com/MPIBGC-TEE/CompartmentalSystems

LAPM package: https://github.com/MPIBGC-TEE/LAPM

The biogeochemical model data base (bgc-md): https://github.com/MPIBGC-TEE/bgc-md

Contact Person
References to Papers
1. Jacquez, J. A. and Simon, C. P. (1993). Qualitative theory of compartmental systems. Siam Review, 35(1):43–79.
2. Metzler, H., Müller, M., and Sierra, C. A. (2018). Transit-time and age distributions for nonlinear time-dependent compartmental systems. Proceedings of the National Academy of Sciences.

3. Metzler, H. and Sierra, C. A. (2017). Linear autonomous compartmental models as continuous-time markov chains: Transit-time and age distributions. Mathematical Geosciences.

Documents to download

Categories: Software
Tags:

Please login or register to post comments.

Name:
Email:
Subject:
Message:
x

More from DSWeb