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:
- collections of yaml files each encoding a published carbon cycling model,
- 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.
Keywords | compartmental dynamical systems |
Model | |
Software Type | |
Language | |
Platform | |
Availability | |
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. |