phydra

Phydra is a python package for flexible and reproducible marine ecosystem modelling, using the Xarray-simlab-ODE Framework


Keywords
ecological-modelling, ecology, modeling, open-science
License
BSD-3-Clause
Install
pip install phydra==0.0.2

Documentation

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.

00_schematics_PhydraXSO.png

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.