Software

Tip

Thanks to rigorous data standards, our software works on any hub.

Full list of hubverse software

The hubverse has a wide range of software packages designed to help you administer hubs, validate and evaluate model outputs, access hub data, ensemble and visualize models.

Hub Access

hubUtils hubData Accessing data from a hub

You can connect to any hub with the hubUtils and hubData R packages and be assured that all the data within the hub are validated against the hub data standards.

hubUtils

The hubUtils R package provides utilities that give you useful information about a hub:

Do more

Important

You should contact the hubverse administrator before submitting your model to a hub. They will ask you to provide metadata for your model.

hubValidations

Useful tools are available in the hubValidations R package.

Model metadata Writing model output to a hub Validate model submission

A modelling hub hosted on GitHub will grow in size over time and it often can take up several hundreds of megabytes or several gigabytes of space. To reduce the size of a hub on your local machine, you can use git sparse checkout. Here’s an example using the FluSight Forecast Hub, but only checking out the model outputs for the FluSight-baseline model:

git init FluSight-Forecast-Hub
cd FluSight-Forecast-Hub
git remote add origin https://github.com/cdcepi/FluSight-Forecast-Hub.git
git sparse-checkout set --no-cone '/*' 'model-output/FluSight-baseline*' '!/model-output'
git pull origin main

Now when you run git status, you will see that you only have a fraction of the files on your local machine:

git status
# On branch main
# You are in a sparse checkout with 14% of tracked files present.
#
# nothing to commit, working tree clean

hubEnsembles hubEvals hubVis

You can use the hubEnsembles, hubEvals, and hubVis R packages to do any of the following:

hubAdmin hubCI hubTemplate

Creating a hub

quickstart Setting up a hub Defining model tasks

To create a hub, you can start with the hubTemplate.

  1. Click the “Use this template” in the top right corner of the page and choose a name for your hub.
  2. Modify the hub-config/admin.json file with general information about the hub
  3. Modify the hub-config/tasks.json file with information about the model tasks
  4. Update the README.md with general hub data access information
  5. Update the model-outputs/README.md with instructions for modelers

Setting up a dashboard

Building a dashboard

To set up a dashboard, follow the instructions in the hub dashboard template.

hubUtils hubDevs Developer Guide

If you want to help contribute code to the hubverse, it is important to consult the developer guide.

Contributing to existing software

To contribute to exisiting software packages, be sure to read the contribution guide for the package you want to contribute to. You can find this guide in the CONTRIBUTING.html page of any R package website. Most of these are identical, but there are caveats, For example the hubUtils contributing guide has a section on synchronizing with the schemas and the hubValidations contributing guide has a section on submitting new check functions.

Creating new packages

The hubDevs package provides tools to help you get started creating a hubverse package.

Note that nearly all hubverse R packages depend on the hubUtils package in some way.