phydra
A library of plankton community models utilizing the XSO framework (Xarray-simlab-ODE).
Disclaimer: The library and framework are in the early stages of development. Feedback, testing, and contributions are very welcome.
What is phydra?
Phydra is a Python package that provides a library of modular plankton community models built using the XSO framework. XSO provides a streamlined, interactive and reproducible workflow for building and running models. The model input and output data is an Xarray-Dataset directly compatible with a wealth of tools of the Python scientific ecosystem.
Usage & Installation
Assuming that you have git
and conda
installed, you can install all the files and dependencies required to run the
notebooks in a new conda environment using the following commands:
$ git clone https://github.com/ben1post/phydra
$ cd phydra
$ conda env create -n phydra_env -f environment.yml
$ conda activate phydra_env
Then run the command below to start the Jupyterlab application:
$ jupyter lab
This should open an interactive session in your browser. Navigate to the notebooks directory and open the included notebooks for an interactive presentation of included plankton community models.
Package structure
The plankton community models included in the Phydra package are available to the user at multiple hierarchical levels: as a library of pre-built XSO model components, as pre-assembled model objects, and as exemplary model simulations in interactive Jupyter notebooks. These levels are described below.
-
Components: The first version of the library will contain all components used to create the three model applications presented in the notebooks.
-
Model objects: The first release of Phydra contains the model objects defined in the three model applications. The model objects can be imported from the library and can be readily setup, modified, and run by a user.
-
Example notebooks: Model objects only define the collection of components. To run a model, the input parameters need to be defined and supplied at runtime. The Phydra library comes with three fully documented model applications that are presented in interactive Jupyter notebooks. These notebooks show all steps from creating the model setup object to analyzing model output and provide a template for further exploration and experimentation with the provided plankton community models.
You can learn more about Xarray-simlab-ODE in the XSO Documentation on ReadTheDocs.
Motivation
The open-source and extensible nature of Phydra and XSO enables users to customize and develop processes that accurately describe a particular ecosystem. In a collaborative effort to promote efficient, transparent, and reproducible marine ecosystem modeling, Phydra encourages users to contribute components and models to the core library. The Phydra library could potentially offer a comprehensive, well-documented, and peer-reviewed codebase for the scientific exploration of marine ecosystem models.
Contributing
The library is in the early stages of development. Feedback from testing and contributions are very welcome. See GitHub Issues for existing issues, or raise your own. Code contributions can be made via Pull Requests on GitHub.
License
phydra
is licensed open source under the terms of the BSD 3-Clause license.