Skip to contents

hexagon software logo, light grey blue background, basic lettering at the top says portalcasting, main image is a drawn all black rodent standing on two feet with a fishing rod in hand and a brown fishing hat on head, standing next to a tan and green tackle box.

R-CMD-check Docker Codecov test coverage Lifecycle:maturing Project Status: Active – The project has reached a stable, usable state and is being actively developed. License DOI NSF-1929730 JOSS

Overview

The portalcasting package offers a comprehensive system for developing, deploying, and evaluating ecological models that forecast changes in ecological systems over time. It particularly focuses on the long-term study of mammal population and community dynamics, known as the Portal Project.

Core Depedencies

The portalcasting package depends on the PortalData and portalr packages.

  • PortalData is the collection of all the Portal project data.
  • portalr is a collection of functions to summarize the Portal data.

The portalcasting package integrates the PortalData repository and the portalr data management package into a streamlined pipeline. This pipeline is used to forecast.

The functionality of portalcasting extends beyond its deployment, as its functions are portable. This allows users to establish a fully-functional replica repository on either a local or remote machine, facilitating the development and testing of new models within a sandbox environment.

Current deployment:

The Portal-forecasts houses tools that leverage the portalcasting pipeline to generate weekly forecasts. The forecasts are then showcased on the Portal Forecasts website. This website offers users an interactive interface to explore the forecasting results. The source code for this website is hosted on GitHub. Additionally, the portal-forecasts repository archives the forecasts on both GitHub and Zenodo

Docker Container

We leverage a Docker container to enable reproducibility of the Portal forecasting. Presently, we use a Docker image of the software environment to create a container for running the code. The image is automatically rebuilt when there is a new portalcasting release, tagged with both the latest and version-specific (vX.X.X) tags, and pushed to DockerHub.

Because the latest image is updated with releases, the current main branch code in portalcasting is typically, but not necessarily always, being executed within the predictions repository.

The API is actively developed and welcomes any contributors.

Installation

You can install the package from github:

install.packages("remotes")
remotes::install_github("weecology/portalcasting")

You will need to install rjags and JAGS.

MacOS users are recommended to install rjags after reading the instructions on the package’s README file, or use the JAGS discussion forum thread for help under the MacOS installation of JAGS.

install.packages("rjags", configure.args="--enable-rpath")

Production environment

If you wish to spin up a local container from the latest portalcasting image (to ensure that you are using a copy of the current production environment for implementation of the portalcasting pipeline), you can run

sudo docker pull weecology/portalcasting

from a shell on a computer with Docker installed.

Usage

Get started with the “how to set up a Portal Predictions directory” vignette.

If you are interested in adding a model to the preloaded set of models, see the “adding a model and data” vignette. That document also details how to expand the datasets available to new and existing models.

Developer and Contributor notes

We welcome any contributions in form of models or pipeline changes.

For the workflow, please checkout the contribution and code of conduct pages.

Acknowledgements

This project is developed in active collaboration with DAPPER Stats.

The motivating study—the Portal Project—has been funded nearly continuously since 1977 by the National Science Foundation, most recently by DEB-1622425 to S. K. M. Ernest. Much of the computational work was supported by the Gordon and Betty Moore Foundation’s Data-Driven Discovery Initiative through Grant GBMF4563 to E. P. White.

We thank Heather Bradley for logistical support, John Abatzoglou for assistance with climate forecasts, and James Brown for establishing the Portal Project.