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.
Modeling is driven by the portalcasting package. New models should be added there following instructions in the "adding a model" vignette.
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
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-forecastsrepository to it's current version - Updates the
forecastsrepository to it's current version (this repository is used for archiving full forecasts) - Runs the forecasts
- Pushes the results of the forecasts in the
forecastsandmodelsanddatadirectories to theportal-forecastsrepository - Pushes the results of the forecasts in the
forecastsandmodelsanddatadirectories and also thefitsdirectory to theforecastsrepository - 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 forecastportal_dryrun_forecast_log.out- the main log file for the dryrun forecasttestthat.log- the log file for the tests of whether the forecasts ran correctlycron.log- the cron log file, which is just a list of SLURM submissions
If necessary to create a fresh setup this system:
- Create a root directory (
PortalForecasts) - Clone
portal-forecastsinto that directory - Clone
forecastsinto that directory - Copy
portal_weekly_forecast.shandportal_dryrun_forecast.shfromportal-forecastsinto the root directory.