A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

portalcasting

Provides a model development, deployment, and evaluation system for forecasting how ecological systems change through time, with a focus on a widely used long-term study of mammal population and community dynamics.
https://github.com/weecology/portalcasting

Category: Biosphere
Sub Category: Ecological and Environmental Modeling

Keywords

ecology forecasting portal r r-package r-stats reproducible-research shiny workflow

Keywords from Contributors

community-ecology small-mammal-trapping open-educational-resources hugo-theme changepoint lda parallel-tempering softmax spreadsheets data-retrieval

Last synced: about 1 hour ago
JSON representation

Repository metadata

Model development, deployment, and evaluation for forecasting Portal ecosystem dynamics

README.md

Supporting automated forecasting of rodent populations

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.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 7 days ago

Total Commits: 1,547
Total Committers: 8
Avg Commits per committer: 193.375
Development Distribution Score (DDS): 0.055

Commits in past year: 3
Committers in past year: 1
Avg Commits per committer in past year: 3.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
juniperlsimonis d****s@g****m 1462
henry senyondo h****e@g****m 30
Glenda g****i 22
Ethan White e****n@w****g 16
Hao Ye l****d@g****m 13
skmorgane m****n@w****g 2
Pat Dumandan p****a@u****u 1
Arfon Smith a****n 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 23
Total pull requests: 90
Average time to close issues: 10 months
Average time to close pull requests: 7 days
Total issue authors: 4
Total pull request authors: 6
Average comments per issue: 0.7
Average comments per pull request: 0.49
Merged pull request: 65
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 4
Past year average time to close issues: N/A
Past year average time to close pull requests: 2 days
Past year issue authors: 0
Past year pull request authors: 2
Past year average comments per issue: 0
Past year average comments per pull request: 0.5
Past year merged pull request: 3
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/weecology/portalcasting

Top Issue Authors

  • juniperlsimonis (20)
  • nicholasjclark (1)
  • henrykironde (1)
  • himanshu-02 (1)

Top Pull Request Authors

  • juniperlsimonis (54)
  • henrykironde (25)
  • gmyenni (4)
  • ha0ye (3)
  • ethanwhite (2)
  • skmorgane (2)

Top Issue Labels

  • bug (1)

Top Pull Request Labels


Dependencies

DESCRIPTION cran
  • R >= 3.5.0 depends
  • coda * imports
  • forecast * imports
  • httr * imports
  • jsonlite * imports
  • portalr * imports
  • runjags * imports
  • scoringRules * imports
  • tscount * imports
  • viridis * imports
  • yaml * imports
  • english * suggests
  • knitr * suggests
  • markdown * suggests
  • pkgdown * suggests
  • rmarkdown * suggests
  • testthat * suggests
.github/workflows/docker-publish.yml actions
  • actions/checkout v2 composite
  • crazy-max/ghaction-docker-meta v1 composite
  • docker/build-push-action ad44023a93711e3deb337508980b4b5e9bcdc5dc composite
  • docker/login-action 28218f9b04b4f3f62068d7b6ce6ca5b26e35336c composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/pkgdown.yaml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/test-coverage.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite
docker/Dockerfile docker
  • rocker/tidyverse latest build
.github/workflows/r-cmd-check.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-extra-examples.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-extra-vignettes.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite

Score: 5.662960480135945