Cyberinfrastructure for Efficient Ecological Forecasting

EFI Cyberinfrastructure Workshop April 2024

The absence of widely accepted cyberinfrastructure (CI) design principles remains a significant challenge for researchers and organizations involved in ecological forecasting. To tackle these issues, a workshop brought together forecasting researchers and CI experts from government, academia, industry, and NGOs. The key goals of the workshop were to:

  1. Collate commonly used CI practices
  2. Identify CI needs and gaps
  3. Propose CI designs to address various forecasting challenges

Workshop Outcomes

A primary objective of the workshop was to develop an open-access, version-controlled online document. This document is intended to evolve into a community-driven handbook of CI design principles and best practices, accessible to both workshop participants and the broader Ecological Forecasting Initiative (EFI) community. This living document will serve as a comprehensive CI guide, suitable for both beginners and experienced forecasters, and will align with community-established forecasting standards (Dietze et al. 2023).

How to Contribute

This repository is a collaborative space for the EFI community to design, discuss, and refine cyberinfrastructure (CI) for ecological forecasting. We welcome contributions from all backgrounds and levels of experience.

We use Quarto and GitHub Actions to streamline the deployment of this site. Contributors can write pages in Markdown using familiar tools like RStudio, Jupyter, or Visual Studio Code. This approach allows contributors to focus on content creation without worrying about styling or managing the website deployment.

Getting Started

Scope

Begin by reviewing the workshop summary documents to familiarize yourself with the key topics discussed during the 2024 workshop. Additionally, read the briefing paper, which outlines the initial CI design principles covered at the event. We welcome and encourage your comments on these materials.

We also invite you to contribute to the ecological forecasting CI handbook, which is currently in development and in need of the most input.

Prerequisites

Before you start, you will need:

  • A GitHub account. You can sign up for one here.
  • Git installed on your computer. Follow the instructions here to install Git.
  • Basic knowledge of Git and GitHub. If you’re new to these, we recommend this tutorial.

Installation

  1. Fork the repository

    Click the “Fork” button at the top right of the efi-ci-workshop-2024 github repository to create a copy of this repository under your GitHub account.

  2. Clone your fork

    git clone https://github.com/YOUR-USERNAME/efi-ci-workshop-2024.git
  3. Navigate to the repository directory

     cd efi-ci-workshop-2024
  4. Create a new branch

    git checkout -b your-branch-name

Contributing

  1. Find an issue or task

    Check the Issues tab to find tasks that need to be completed or discussions that need your input. You can also create new issues or suggest improvements.

  2. Work on your task

    Once you’ve selected an issue or task, start working on it in your forked repository. Make sure to keep your changes focused and relevant to the task at hand.

  3. Preview the website

    (Optional) To preview your changes locally, you’ll need a Quarto installation.

    There are several ways to work with Quarto. The Quarto documentation provides detailed instructions on how to install it for RStudio, Jupyter, VS Code, and other tools. Once Quarto is installed, you can easily preview your content using your preferred tool:

Open the RStudio project file in the repo. Now you can render and preview the site with quarto::quarto_preview(). RStudio will pop up a web browser to preview the site. As you edit files, you can click the “Render on Save” checkbox, and the website will be updated whenever you save a change to them.

If you’re working with lower-level tools like bash and vim, you can render the site at the shell and start up a preview server with

quarto render
quarto preview

The quarto preview command should open a web page to the correct location. If it does not, you can see the URL to go to in the command’s output.

Within VS Code install the Quarto extension.

To render the site:
Ctrl+Shift+K on PC or Cmd+Shift+K on mac. Althernatively, there is a ‘Quarto:Preview’ button (preview icon) in the upper right-hand corner that will build the page.

To execute a single code cell within a qmd:
Ctrl+Shift+Enter on PC or Cmd+Shift+Enter on mac.

To close a preview session press Ctrl+C on PC or Cmd+C on a mac.

  1. Commit your changes

    git add .
    git commit -m "Brief description of your changes"
  2. Push your changes to your fork

    git push origin your-branch-name
  3. Create a Pull Request

    Go to your forked repository on GitHub, and you should see a “Compare & pull request” button. Click it and follow the instructions to submit your pull request.

  4. Get a review

    You can tag someone in particular to review the content you’re proposing to add; if you don’t tag anyone in particular, one of the repository maintainers will review your PR.

Images

Images can greatly enhance your content, but it’s important to keep file sizes manageable to avoid slowing down the website. We’re using ImageMagick in GitHub Actions to automatically reduce image sizes if the images committed to the repository are larger than 1MB.

Citations

Citing sources in Quarto works just like using BibTeX in a research paper. First, add your references to the references.bibtex file. Then, you can cite them directly in the page text. For example, to cite the Ecological Forecasting Standards, you would write [@dietze2023community] which renders as (Dietze et al. 2023). For more information, see the quarto help page on citations and footnotes.

Current documents

Organizers and Funders

The workshop was co-hosted by EFI and the Northeastern Regional Association for Coastal Ocean Observing Systems (NERACOOS) in Portsmouth, New Hampshire. It was made possible through support from the National Oceanic and Atmospheric Administration/US IOOS, the National Aeronautics and Space Administration, the Northeastern Regional Association of Coastal Ocean Observing Systems, the Ecological Forecasting Initiative, and the U.S. Geological Survey.

Organizing Committee: Jake Zwart (USGS), Hassan Moustahfid (NOAA), Chris Brown (University of Maryland), Jessica Burnett (NASA), Jake Kritzer (NERACOOS), Rob Cardeiro (NERACOOS), Cameron Thompson (NERACOOS), Emily Silva (NERACOOS), Caitlin Shanahan (NERACOOS), Jody Peters (University of Notre Dame), Mike Dietze (Boston University)

References

Dietze, Michael C, R Quinn Thomas, Jody Peters, Carl Boettiger, Gerbrand Koren, Alexey N Shiklomanov, and Jaime Ashander. 2023. “A Community Convention for Ecological Forecasting: Output Files and Metadata Version 1.0.” Ecosphere 14 (11): e4686.