Changes in 3.0.0
Released [2025-07-15]
Behaviour Changes
- Names of distribution functions should now be more familiar to R users (#342).
- mp_trajectory_replicate now uses parameter uncertainty.
Changes in 2.6.1
Released [2025-07-09]
Behaviour Changes
- Stop exporting some developer utilities:
make_expr_parser,finalizer_char,finalizer_index,initial_valid_vars.
New Features
- Option in mp_tmb_calibrator to return optimized version of a calibrator, rather than needing to use mp_optimize.
- New si_example_object function that efficiently generates objects associated with the example SI model, and associated si_example_code function that displays code that could be used to generate these objects.
- Uniform priors no longer add
-0terms to the objective function.
Changes in 2.3.4
Released [2025-06-12]
Bug Fixes
- Default clamping parameters now ensure that the
clampengine function is twice-differentiable. - Minor enhancements to the docs and handling of mp_version_update and mp_read_rds.
Changes in 2.2.2
Released [2025-06-02]
This version patched 2.2.1, which was released in a broken state.
Changes in 2.1.0
Released [2025-05-23]
New Features
- mp_version
- mp_inflow (experimental)
- mp_outflow (experimental)
Changes in 1.4.0
Released [2024-04-25]
Changes in 1.3.1
Released [2024-03-12]
Behaviour Changes
- Removing in-place modifications to model specification objects in
mp_tmb_insertandmp_tmb_update.
New Features
- Define explicit state variable updates, with the choice of applying
mp_euler,mp_rk4, ormp_euler_multinomialupdate methods, the latter generating process error. - New stochasticity engine functions
rbinomandreulermultinom. -
mp_tmb_fixef_covfunction for getting the covariance matrix of fixed effects. -
mp_trajectory_ensembleandmp_trajectory_simfunctions 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 inzare assigned to elements inx,y, etc… in row-major order. -
to_name_pairsfunction for returning all pairwise dot-concatenations of the elements of a character vector without dots. -
to_valuesfunction 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.
Bug Fixes
- Several bugs related to input handling in
mp_tmb_calibrator(#176).
Doc Fixes and Updates
- 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
printfunction in the?engine_functions. -
simple_simsexample in?engine_functionsnow runs without error. - Help file examples for
mp_tmb_insertandmp_tmb_update. - Readme/vignette examples better expose calls to
libraryfor the user.
Changes in 1.1.0
Released [2024-02-23]
Behaviour Changes
-
simple_simsno longer returns outputs for the zeroth time-step. - Using
last.par.bestto finalize the TMB objective function following optimization. -
group_sumsnow checks for bad group indexes. -
rbind_lagnow throws an error whenlag > 1because 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.
New Features
- Streamlined installation via
r-universe. -
mp_tmb_calibratorandmp_tmb_optimizefunctions for calibration using a simple and restrictive trajectory matching model. Future releases will allow more functionality. -
mp_tmb_coefandmp_tmbstan_coeffor tables of statistical parameters used in calibration. -
mp_trajectory_sdandmp_trajectory_ensemblefor getting information about fitted trajectory uncertainty. -
mp_tmb_update|insertfunctions 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_librarycan return a list of model specs withalternative_specs, if the model makes alternatives available. -
time_varengine function is better than the oldtime_group, which required two expressions rather than one to do the same thing.time_groupwill remain but is softly deprecated. - Fixed effects extractor and formatter.
-
mp_defaultfunction for extracting spec and simulator defaults in long-format. -
rbind_timeallows integer vectors for subsetting times -
options(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.
Doc Fixes and Updates
- (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_specdocumentation is filled out. -
group_sumsTMB engine function third argument updated from old pre-1.0.0 behaviour.
Changes in 1.0.0
Released [2024-02-18]
Behaviour Changes
- No more
flows.csv,derivations.jsonfiles in the library, and insteadtmb.Rfiles. - No more
Compartmentalfunction, and insteadmp_tmb_model_specandmp_tmb_library. -
{group|row|col}Sumsare now called{group|row|col}_sums. - Final argument of
group_sumsused to be the length of the output vector, but now it is a vector of the desired output length. -
TMBModeland associated classes (ExprList) are no longer exported, in favour ofmp_...functions for doing similar things. - Sort simulation output by time step.
New Features
- 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
printfunction in the TMB engine. - No need to declare empty matrices when creating TMB model objects, and matrices that are derived are automatically detected.
Experimental Features
- Model structure grammar (
mp_index(),mp_join(), etc.) - Log files
Changes in 0.0.3
Released [2023-10-25]
- 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
Changes in 0.0.2
Released [2023-06-06]
- 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 )
