GithubHelp home page GithubHelp logo

conradkash / portal-forecasts Goto Github PK

View Code? Open in Web Editor NEW

This project forked from weecology/portal-forecasts

0.0 0.0 0.0 296.43 MB

License: MIT License

Shell 3.82% R 22.54% Jupyter Notebook 73.37% Dockerfile 0.28%

portal-forecasts's Introduction

Portal Forecsts

Metadata Check DOI License NSF-1929730

This is the main repository for predictions made on the Portal rodent census data Portal Project.

Predictions are made and archived weekly. Approximately once a month, one of these forecasts is made immediately prior to a new trapping session (trapping occurs as close to each new moon as possible).

The website code is now located in its own repository.

How to add a new model

Modeling is driven by the portalcasting package. New models should be added there following instructions in the "adding a model" vignette.

Docker builds

Forecasts are run using continuous integration based on a docker image. This makes the builds faster and more reproducible. The code in this repo uses the latest portalcasting image

Developer notes

This code runs weekly on the UF HiPerGator using a cron job on daemon2 using Ethan White's account. The cron job runs a version of portal_weekly_forecast.sh that is separate from the one in the repository, but generally just a copy of it. The version of portal_weekly_forecast.sh in the repo is automatically updated to the one that is run on HiPerGator after the weekly forecasts are complete.

portal_weekly_forecast.sh does the following:

  • Updates the portal-forecasts repository to it's current version
  • Updates the forecasts repository to it's current version (this repository is used for archiving full forecasts)
  • Runs the forecasts
  • Pushes the results of the forecasts in the forecasts and models and data directories to the portal-forecasts repository
  • Pushes the results of the forecasts in the forecasts and models and data directories and also the fits directory to the forecasts repository
  • Tests to see if forecasts ran correctly

portal_dryrun_forecast.sh is automatically run twice each week to check to see if the forecasts are working prior to a production run. It does the same thing as portal_weekly_forecast.sh but does not actually push a release.

The root directory for all work is /orange/ewhite/PortalForecasts/.

There are 4 log files:

  • portal_weekly_forecast_log.out - the main log file for the weekly forecast
  • portal_dryrun_forecast_log.out - the main log file for the dryrun forecast
  • testthat.log - the log file for the tests of whether the forecasts ran correctly
  • cron.log - the cron log file, which is just a list of SLURM submissions

If necessary to create a fresh setup this system:

  1. Create a root directory (PortalForecasts)
  2. Clone portal-forecasts into that directory
  3. Clone forecasts into that directory
  4. Copy portal_weekly_forecast.sh and portal_dryrun_forecast.sh from portal-forecasts into the root directory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.