Skip to content

v3.0.0

Compare
Choose a tag to compare
@s-bessey s-bessey released this 22 Dec 21:09
· 219 commits to main since this release
31543d0

v3.0.0

Version 3 of TITAN refactors agent death and replacement into model exit and entrance, allowing for more flexible use of agents departing and entering during a model run.

Breaking changes

  • params
    • feature name change from die_and_replace to exit_enter
    • introduction of class exit to define agent exit strategies
    • introduction of class enter to define agent entry strategies
    • introduction of exit_enter params to pair exit and enter classes
    • demographics have changed to account for multiple model exit possibilities

Migration notes

For existing parameters that use die_and_replace, the defaults for the new exit, enter, and exit_enter are intended to mimic the behavior of the former die_and_replace (using get_death_rate and 100% replacement). Users should, however, ensure that this is the intended behavior for their project. More importantly, the demographics parameters must be updated to reflect the new paradigm.

New features

  • Model exit
    • now allows for three separate exit strategies: death, aging out, or model departure (e.g. migration)
    • the "death" exit type is the only one to use the previously ubiquitous get_death_rate. All others use strictly demographic-based probabilities
    • agents may exit the model and not be replaced/spawn new agents
  • Model entrance
    • no longer implicitly paired with exit as a strictly 1-to-1 replacement
    • can either replace agents or generate new agents
    • new agents can be generated without any agents leaving the model

Minor updates

  • the poisson function has been moved from .utils to .distributions so that it can be used for distributions in params
  • poisson also allows negative values (returning 0) to enable use of negative numbers when timeline scaling to enforce a zero value