Version numbers follow Semantic Versioning.
01-01-2024
01-01-2024
12-16-2023
11-16-2023
5-22-2023
5-19-2023
5-18-2023
5-18-2023
5-12-2023
library(portalcasting)
" to start, can use this entry point to expand the testing suite on the image in the future5-5-2023
5-4-2023
5-3-2023
sandbox
and production
version of update_
functions.remotes::install_github
, which actually points to HEAD, when testing the build and push for the docker action. that was fine (although not great) when we were only running that action on tagged version releases, as the main branch was typically up-to-date with the tag and such, but this isn't exact and it also means any testing of the build on a PR was actually still grabbing from main, which is not what we want.4-26-2023
4-25-2023
4-24-2023
4-24-2023
run_web_app()
pointed to main
arrow
to speed up reading and writing filescast
on their fit and cast elements in their control listsmeta_tsglm
and fit_runjags
) for fittingforecast
method used generally now for cast
functionforecast
methods for tsglm
and runjags
objectscast_date
is not an argument anymore, just filled automatically dataset
arguments are also being removed as possible to streamline (just pull from model controls)update_dir
is an "update-flavored" setup function 2023-03-03
2023-02-24
2023-02-23
overwrite
is now FALSE
by default to manage the version match decision making"latest"
; was NULL
)overwrite
setting is temporarily removed from the file saving functions to prevent argument name confusionmoons
to newmoons
to align naming2023-02-21
2023-01-24
all
for species to listing the species.2022-11-18
dm_controls
as a separate datasetinterp
datasetsjags_logistic_competition
jags_logistic_covariates
jags_logistic_competition_covariates
2022-10-27
+ 0.1
- 0.1
for logging, managing it differentlyjags_SS
wrapper, which limited adaptation of the modeljags_SS
wrapper eliminates the core of that vignette2022-05-31
2022-05-27
2022-05-26
all
and all_interp
. Now, only all
exists and models interpolate as needed.2022-05-12
dfl
arg to x
read_rodents
default settings updateprefab_datasets
model fits
now back to fits
and model scripts
back to models
forecast_evaluations
file now saved2022-05-11
download_timeout
now set to default of 600 for setup_production
2022-04-21
2022-04-21
evaluate_casts
and evaluate_cast
pair of functionsevaluate_casts
function now works automatically to evaluate all the casts using evaluate_cast
, generating the error table as it does when being used, but nothing is saved out or updated.2022-04-08
rodent_species
type
argument with abbreviation
, Latin
, and table
optionsmost_abundant_species
function, as we're not using it on the website.2022-04-07
time
response
with type
and link
evaluate_casts
and evaluate_cast
currently just placeholders2022-04-07
tmp
subtempdir
) provides needed functionalityclear_tmp
2022-04-07
setup_production
defaults to verbose = TRUE
2022-04-05
.yaml
files in inst/extdata
read_
and write_
functions for both rodent and model controls lists2022-04-01
2022-04-01
setup_dir
now takes a settings
argument that is a list
of the arguments directory_settings
function now quickly and cleanly collapses the settings that go into setup_dir
do.call
(
and =
_path
functionsarg_checks
removed2022-03-30
bline
bug2022-03-28
messageq
message
directly argument for argument with the addition of the quiet
argument....
that become pasted together2022-03-28
create_dir
2022-03-02
jags_logistic
like jags_RW
, applied to DM
controls dataset.2022-01-26
2022-01-26
2022-01-19
2021-12-08
2021-11-30
2021-11-11
2021-11-10
2021-11-09
simplexEDM
and GPEDM
rEDM
packages, which has been deprecated and now breaks because of the updates in RcpprEDM
to CRAN does not fix the issue, so these models cannot be used in prefab set2021-11-09
2021-09-17
Skipped
2021-02-11
2021-02-10
2021-02-04
dm_controls
and dm_controls_interp
to prefab data setstolower
gets used elsewhere!check_args
when using portalcasting::function_name()
2020-10-28
2020-01-23
2020-01-23
2020-01-23
2020-01-23
portalPredictions
2020-01-16
2020-01-15
2020-01-10
model_fits
and model_casts
model_fits
and model_casts
out as serialized .json
files now instead of .rData
filesread_model_casts
and read_model_fits
).2019-12-18
2019-12-18
2019-10-31
match.call.defaults
into the packageDesignLibrary
causes a problematic dependency chain with the docker image buildingmost_abundant_species
2019-10-24
2019-10-12
control_files
in model scriptscontrol_list_arg
was made to generalize what was coded up from the runjags list for use also with the files control list. This function writes a script component that only includes arguments to the list function that are different from the formal definition. 2019-10-12
2019-10-11
portalcast
updates model scripts according to controls_model
fill_models
before running portalcast
.fill_models
would result in hand-made scripts being overwritten, so a specific function (update_models
) for updating the models was created. update_models
by default only updates the models listed in the controls_model
input, to avoid overwriting model scripts. To change this behavior and also update all of the prefab models' scripts, set update_prefab_models = TRUE
. This is particularly handy when changing a global (with respect to model scripts) argument: main
, quiet
, verbose
, or arg_checks
.create_dir
.prep_rodents_table
and prep_rodents
start_moon
argument, and all of the data prior to end_moon
are returned.start_moon
in forecasting models (e.g., for distributions of starting state variables).run.jags
via a control_runjags
list
(see runjags_control
).prefab_rodents_controls
have effort = TRUE
).2019-09-14
plot_cast_ts
and plot_cast_point
and for the ensemble to be included in plot_casts_err_lead
and plot_casts_cov_RMSE
.most_abundant_species
2019-09-13
arg_checks = FALSE
. 2019-09-06
setup
functions, in particular setup_sandbox
. addressesmodel_names
functions when you need to (usually in coding inside of functions or for setting default argument levels). addressesdirtree
was removedbase
(both as a function and a concept) was removed. To make that structure use main = "./name"
.quiet
and verbose
connected throughout the pipeline.download
function. addresses and addresses and addressesportalcast
and it will run it with everything else.model_script_controls
rather than write their own control functions.prefab_models
script (reusing and adding to the documentation in prefab_model_functions
), rather than to its own script. model_names
.dir_config.yaml
file, which is pulled from to save information about what was used to create, setup, and run the particular casts.data_sets
argument and the controls defining the data set (used by portalr's summarize_rodent_data
function) in the controls_rodents
argument. arg_checks = FALSE
in the relevant function).rodents_controls
function, just like with the models.control_files
(see file_controls
) input list, which allows for some general flexibility with respect to what files the pipeline is reading in from the data
subdirectory.all
and controls
were both default being interpolated for all models because of the use of AIC for model comparison and ensemble building. That forced all models to use interpolated data.write_model
and model_template
have a data_sets
argument that is used to write the code out, replacing the hard code requirement of analyzing "all" and "controls" for every model. Now, users who wish to analyze a particular data component can easily add it to the analysis pipeline. start_newmoon
is now start_moon
like end_moon
end_moon
) that is not the most recently occurring moon.cast_type
is retained in the metadata file for posterity, but functionality is more generally checked by considering end_moon
and last_moon
in combination, where end_moon
is the forecast origin and last_moon
is the most recent cast_type
has been removed as an input, it's auto determined now based on end_moon
and the last moon available (if they're equal it's a "forecast", if not it's a "hindcast").cast
, the model scripts are now sourced within a for-loop (rather than sapply) to allow for simple error catching of each script. addressesarg_checks
logical argument that goes into check_args
to turn off all of the underlying code, enabling the user to go off the production restrictions that would otherwise through errors, even though they might technically work under the hood.adding a model or data
vignette into "working locally" and "adding to the pipeline", also added checklists and screen shots. addressesgetting started
vignette to an order that makes sense. addressesdrop_spp
is now changed to species
(so focus on inclusion, not exclusion). addresses\donttest{}
. addressesskip_on_cran
used judiciously. addresses2019-07-11
Inclusion of json file and some minor editing of documentation, but no functional coding changes
2019-03-21
plot_cov_RMSE_mod_spp
now only plots the most recent -cast by defaultcast_dates = NULL
(the default), the plot only uses the most recent -cast
to avoid swamping more current -casts with historic -casts.check_arg
), so now there are checks to see if
the tables returned from select_casts
have any rows or not.pevGARCH
fcast
and forecast
for one of the edge cases.2019-03-21
nbGARCH
and nbsGARCH
when even the Poisson fallback failsnbGARCH
and then extended into nbsGARCH
, the models fall back
to a Poisson distribution if the negative binomial fit fails. Previously
(with only nbGARCH
) the Poisson fit always succeeded in those back-ups,
but now (with nbsGARCH
) that sometimes isn't the case (because the predictor
model is more complex) and even the Poisson fit can fail. So now for both
models, if that fit fails, we follow what occurs in pevGARCH
which is to
use the fcast0
forecast of 0s and an arbitrarily high AIC (1e6
).2019-03-20
pevGARCH
under hindcastingpevGARCH()
was not set up to leverage the covariate_forecasts
file.cast_type
in the metadata list
(which has replaced the formerly named filename_suffix
element) to load
the covariate_forecasts
file (using a new read_covariate_forecasts
function)
and then select the specific hindcast based on the source
and date_made
columns
as selected by new elements in the metadata list (covariate_source
and
covariate_date_made
).2019-03-19
nbsGARCH
has been added to the base set of models.foy
functionfoy()
calculates the fraction of the year for a given date or set
of dates.2019-03-19
model_scripts
functionmodels
subdirectory.setup_dir
and portalcast
model_template
""
argument for the model
model name input into save_forecast_output
.2019-03-16
check_args
and check_arg
which collaborate to
check the validity of function arguments using a standardized set
of requirements based on the argument names, thereby helping to unify
and standardize the use of the codebase's arguments.prep_rodents
is now prep_rodents_list
rodents_data
is now prep_rodents
update_rodents
is now update_rodents_list
read_data
has been split out into read_all
, read_controls
,
read_covariates
, read_moons
, and read_metadata
model_path
is now model_paths
sub_path
and sub_paths
have been merged into sub_paths
, which
returns all if specific_subs
is NULLlag_data
is now lag_covariates
check_args
, etc.)data
has been replaced with rodents
to be
specific.CI_level
is now subsumed by confidence_level
name
is now subsumed by model
set
is not split into species_set
and model_set
model_names
is now back to model_set
,
add
.subs_type
for subdirs
is now "portalcasting"
.cast
argument to cast_to_check
in cast_is_valid
and
removing the verbose
argument from verify_cast
to allow check_arg
to
leverage check_arg
for verify_cast
.models
class has been removed.subdirs
class has been removed.messageq
functionmessageq
function is added to tidy code around messages being printed
based on the quiet
arguments."wEnsemble"
as an option in model_names
prefab
list with an "Ensemble"
entry added, to allow for
that simply without using the NULL
options, which collects all model names.models
as an argument in the evaluations
plots.2019-03-12
plot_cast_ts()
plot_cast_ts
did not cleanly plot time series where observations had
been made after the start of the prediction window.add_obs
input (defaults to TRUE
).2019-03-04
plot_cast
is now plot_cast_ts
and is now fully vetted and testedplotcastts_ylab
and plotcastts_xaxis
provide tidied functions for
producing the y label and x axis (respectively) for plot_cast_ts
.plot_cast_point
is now added to replace plot_species_forecast
.plotcastpoint_yaxis
provides tidied functionality for the y axis of
plot_cast_point
.select_most_ab_spp
allows for a simple selection of the most abundant
species from a -cast.plot_err_lead_spp_mods
and plot_cov_RMSE_mod_spp
now added to
replace the raw code in the evaluation page.read_casts
(old) is now read_cast
and specifically works for only one -cast.read_casts
(new) reads in multiple -casts.select_cast
is now select_casts
and allows a more flexible selection
by default.make_ensemble
now returns a set of predictions with non-NA
bounds when
only one model is included (it returns that model as the ensemble).most_recent_cast
returns the date of the most recent -cast. Can be dependent
on the presence of a census.verify_cast
and cast_is_valid
replace forecast_is_valid
from the
repo codebase. verify_cast
is a logical wrapper on cast_is_valid
that
facilitates a pipeline integration. cast_is_valid
does the major set of
checks of the cast data frame. append_observed_to_cast
is provided to add the observed data to the forecasts
and add columns for the raw error, in-forecast-window, and lead time as well.measure_cast_error
allows for summarization of errors at the -cast level.most_recent_census
returns the date of the most recent census.models
is reversed (add
then set
) and defaults in general
are now NULL
and NULL
, but set = "prefab"
within the options functions, to
make it easy to run a novel model set.subdirs
is reversed (subs
then type
) and defaults in
general are now NULL
and NULL
, but type = "portalcasting"
within options
functions and dirtree
to make it easier to manage a single subdirectory.fdate
argument has been replaced throughout with cast_date
for generality.na_conformer
provides tidy functionality for converting non-character NA
entries (can get read in from the data due to the "NA"
species) to "NA"
.
Works for both vectors and data frames.2019-02-12
plot_cast
is developed but not yet fully vetted and tested, nor integrated
in the main repository. It will replace forecast_viz
as a main plotting
function."moons"
to read_data
read_data
's options have been expanded to include "moons"
.interpolate_data
interpolate_data
was using rodent_spp
in a way that assumed the "NA"
species was coded as "NA."
, which it wasn't. rodent_spp
to include an nadot
logical argument, with default
value of FALSE
.2019-02-12
read_data
read_data
was reading the All rodents file for Controls as well, which caused
the forecasts for the Controls to be duplicated of the All forecasts.2019-02-04
testthat
.download_predictions()
, which intermittently hangs on Travis. Testing is
available, but requires manual toggling of the test_location
value to
"local"
in the relevant test scripts (02-directory and 12-prepare_predictions).data.frame
or
list
) definitions.rodents
, rodents_list
, covariates
, metadata
, moons
list
definitions.all_options
, dir_options
, PortalData_options
, data_options
,
moons_options
, rodents_options
, covariates_options
, metadata_options
,
predictions_options
, models_options
, and cast_options
classy()
allows for easy application of classes to objects in a %>%
pipelineread_data()
provides simple interface for loading and applying classes to
model-ready data files.remove_incompletes()
removes any incomplete entries in a table, as defined
by an NA
in a specific column.check_options_args()
provides a tidy way to check the input arguments (wrt
class, length, numeric limitations, etc.) to the options functions.README.md
file.2019-01-13
fill_PortalData()
and new PortalData_options()
allow
for control over download source.true code edits 2018-12-14, version number updated 2019-01-02
2018-11-06
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.