- Delete elements from model specifications with
mp_tmb_delete
.
- Repeated calls of an optimizer now start from the previous best parameter vector
- No longer fit full covariance matrix in
sdreport
s
- Row vectors with names no longer break spec print methods
- No longer exporting
nlist
. - Removing in-place modifications to model specification objects in
mp_tmb_insert
andmp_tmb_update
.
- Define explicit state variable updates, with the choice of applying
mp_euler
,mp_rk4
, ormp_euler_multinomial
update methods, the latter generating process error. - New stochasticity engine functions
rbinom
andreulermultinom
. mp_tmb_fixef_cov
function for getting the covariance matrix of fixed effects.mp_trajectory_ensemble
andmp_trajectory_sim
functions for summarizing random variation in trajectories.- Unpacking assignment in the engine. This means that you can do things like
c(x, y) ~ z
, where the values inz
are assigned to elements inx
,y
, etc... in row-major order. to_name_pairs
function for returning all pairwise dot-concatenations of the elements of a character vector without dots.to_values
function for extracting the column from a data frame with only a single numerical column and turning numeric matrices and arrays with dimnames into a flattened numeric vector with labels produced by appropriately dot-concatenating the dimnames.
- Several bugs related to input handling in
mp_tmb_calibrator
(#176)
- New installation instructions for installing from
r-universe
. - New vignette:
real_data
. - Document
to_name
,to_names
,to_labels
, which handle naming of structured objects. - Document
print
function in the?engine_functions
. simple_sims
example in?engine_functions
now runs without error.- Help file examples for
mp_tmb_insert
andmp_tmb_update
. - Readme/vignette examples better expose calls to
library
for the user.
simple_sims
no longer returns outputs for the zeroth time-step.- Using
last.par.best
to finalize the TMB objective function following optimization. group_sums
now checks for bad group indexes.rbind_lag
now throws an error whenlag > 1
because there are conceptual errors with this case. We will get back to this when we can to allow these important cases by adding an argument with initial conditions associated with negative time steps.
- Streamlined installation via
r-universe
. mp_tmb_calibrator
andmp_tmb_optimize
functions for calibration using a simple and restrictive trajectory matching model. Future releases will allow more functionality.mp_tmb_coef
andmp_tmbstan_coef
for tables of statistical parameters used in calibration.mp_trajectory_sd
andmp_trajectory_ensemble
for getting information about fitted trajectory uncertainty.mp_tmb_update|insert
functions for creating new model specs from existing ones.- Parameters specified as a data frame can now place default values in columns with any of the following names:
"default", "Default", "value", "Value", "val", "Val"
mp_tmb_library
can return a list of model specs withalternative_specs
, if the model makes alternatives available.time_var
engine function is better than the oldtime_group
, which required two expressions rather than one to do the same thing.time_group
will remain but is softly deprecated.- Fixed effects extractor and formatter.
mp_default
function for extracting spec and simulator defaults in long-format.rbind_time
allows integer vectors for subsetting timesoptions(macpan2_verbose = FALSE)
will turn off the flood of information provided byTMB
. Note that this only takes effect if set before creating a TMB simulator.
- Segfaults for out-of-range assignment.
- (in progress) Calibration vignette is updated to be a simpler quick-start, and previous advanced material is moved to an advanced vignette.
mp_tmb_model_spec
documentation is filled out.group_sums
TMB engine function third argument updated from old pre-1.0.0 behaviour.
- No more
flows.csv
,derivations.json
files in the library, and insteadtmb.R
files. - No more
Compartmental
function, and insteadmp_tmb_model_spec
andmp_tmb_library
. {group|row|col}Sums
are now called{group|row|col}_sums
.- Final argument of
group_sums
used to be the length of the output vector, but now it is a vector of the desired output length. TMBModel
and associated classes (ExprList
) are no longer exported, in favour ofmp_...
functions for doing similar things.- Sort simulation output by time step.
- Constant integer vectors can now be passed to
C++
. - Integer vectors can be used to subset assignment matrices (i.e. integer subsetting on the left-hand-side).
mp_trajectory()
function, which is roughly equivalent tomodel$report(..., .phases = "during")
.- New
print
function in the TMB engine. - No need to declare empty matrices when creating TMB model objects, and matrices that are derived are automatically detected.
- Model structure grammar (
mp_index()
,mp_join()
, etc.) - Log files
- Optimize C++ simulation history storage by avoiding unnecessary allocations
- Use state and flow names in expression inserters
- Chattier validity checking
- Radial basis functions
- New starter models (thanks @mayaearn and @Flynn-Primrose )
macpan-base
-- re-implementation of the McMaster group's COVID-19 model inmacpan2
ww
-- wastewater model (doesn't yet have a readme)- new readme for and clean up of previous models
- Report what expression broke on the C++ side
- Developer tools for switching between different C++ files and working directories
- Package reference organization cleanup (thanks @bbolker )
- Time-varying parameters vignette
- Interface for optimization of TMB simulation objects
- TMB simulation model updating with caching
- Parameter transformations
- Get initial values of matrices in TMB simulation objects
- State and flow variable names can be used in expressions in some contexts
- Example model indexing (thank you @bbolker!)
- Engine function rbind_time defaults to row binding the full simulation history
- Fix bug when the entire model has no inflows or no outflows
- Fix bugs in symbolic R-side manipulation of expressions
- Fix previously broken argument_dots option in model definition files (thank you @Flynn-Primrose )
- Initial release.