Skip to content

v1.1.0

Compare
Choose a tag to compare
@mcmcgrath13 mcmcgrath13 released this 19 Aug 18:18
864938d

v1.1.0

Settings

  • Scott County setting now accurately reflects the real-world setting in the time period from 2010-2020

Parameters

  • Distributions defined in classes and can take a variable number of arguments
  • Classes can now be used as validation items for other parameters
  • See params app for parameter definitions and documentation

Partnering

  • Agents can now attempt to partner with only the agents in their network component with params.partnership.network.same_component.prob

Features

  • Parameters can now be scaled based on the timestep in the model with params.timeline_scaling
  • HIV interaction and assignment can be set to start at any time step
  • Reports can now aggregate by customizable classes with params.outputs.classes
  • Population can be saved to files and also uploaded from files and re-used across runs
  • Syringe services program may now be implemented flexibly in time
  • Partner tracing now allows user-defined probabilities for tracing separately from the probability of PrEP initiation, as well as user-defined tracing period length
  • prints_components report added fields for random trials. Now prints component status for no intervention, intervention components, and intervention components with no eligible agents status.
  • the agent_zero criterion can now be defined based on number of partnerships that share a user-defined interaction type

Batch Submission

  • --savepop and --poppath added as arguments to run_titan.py to respectively allow saving of a population after creation (but before run), or loading a saved population to run (the equivalent flags in subTitan.sh are -p and -P)

Technical Notes

  • population added as an attribute of agent - lightly used currently
  • Output writing abstracted/reorganized to make common report building steps re-usable
  • Distributions can be any numpy distribution (just add to params.classes.distributions) or a distribution in distributions.py
  • Added interaction type to edge list
  • Renamed initialize_graph to trim_graph