Awesome
Supporting automated forecasting of rodent populations
<img src="man/figures/portalcasting.png" alt="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." width="200px" align="right">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.