Atomica
  • General content
    • Initializing compartments
      • Characteristics to Compartments
        • Problems and solutions
          • Negative initial compartment sizes
          • Underdetermined system
          • Inconsistent system
          • Inconsistent overdetermined system
          • Resolving inconsistencies - initialization weight
      • Computing initial values at arbitrary times
    • Contextual overview
    • Logging cookbook
      • Changing the amount of output
      • Dumping output to a log file
    • Optimization
      • Optimization class
        • Performing an optimization
      • Adjustments
        • Implementation specifics
      • Constraints
        • Implementation specifics
        • Total spending constraint
      • Measurables
        • Measurables vs. constraints
      • Optimization examples
        • Maximize people alive
        • Minimize deaths
        • Minimize spending
      • Optimization calling structure
    • Parameters
      • Types of parameter
      • Functions
      • Value precedence
      • Performance considerations
      • Timescales
      • Derivatives
      • Interpolation and smoothing
      • Maximum compartment duration
    • YAML calibration documentation
      • YAML internal structure
      • CalibrationNode functionality
        • Adjustables and measurables settings
          • String format
          • Dictionary format
          • List format
          • Combined format
        • Calibrating populations
          • Meta Y-factors
          • Overriding population specific settings
        • Calibrating transfers and interactions
        • Calibrating to total population data
      • Measurable Weights
    • Junction overview
    • Population types
      • Framework population types
      • Databook population types
      • Programs and population types
      • Running simulations
      • Plotting
    • Program System
      • Data and structural overview
      • Coverage computation
        • Capacity
        • Coverage
        • Number covered
      • Outcome computation
        • Coverage interaction
        • Impact interactions
        • Parameters in Number units
      • Targeting transfers
    • Skipping Excel cells
      • General principles
      • Frameworks
      • Databooks
        • TimeDependentConnections
        • TimeDependentValuesEntry
      • Program books
        • Program targeting
        • Spending data
        • Program effects
    • Stochastic models
    • Timed transitions
      • Motivation
        • Use cases
      • Basic implementation
      • Initialization
      • Normal transitions
      • Duration groups
      • Architecture
      • Transfers
      • Junctions
  • Examples
    • Basic workflow
      • Starting an application
      • Creating a project
      • Calibrating the model
        • Manual calibration
        • Automatic calibration
      • Adding programs
      • Reconciliation
      • Scenarios
        • Parameter scenarios
        • Budget scenarios
        • Coverage scenarios
      • Optimization
    • Data and Databooks
      • TimeSeries objects
        • Population table
        • TimeDependentConnections
        • TimeDependentValuesEntry
      • Modifying databooks
        • Creating a blank databook
        • Pre-populating data
        • Adding a variable
        • Removing a variable
        • Add/remove populations
        • Add/remove transfers and interactions
        • Changing databook years
        • Further spreadsheet modification
    • Frameworks
      • ProjectFramework basics
        • Accessing the data
        • Exporting a Framework
        • Making a new Framework
        • Validating the input
      • Adding a quantity to the Framework
      • Convenience methods
      • Iterating over items
    • Models (implementation)
      • Model object structure
        • Compartment
        • Link
        • Characteristic
        • Parameter
        • Population
        • Model
          • Building
          • Integrating
        • Linking and unlinking
    • Results and Models
      • Pre-specified plots
      • Exporting results
      • Exporting raw results
      • Accessing raw values
        • Traversing the graph
    • Comparison with ODEs
    • Plotting Documentation
      • Quick Reference
        • Just give me a plot
        • FAQs
          • Data manipulation
          • General issues
          • Bar graphs
          • Legends
      • Plotting system design
        • Data preparation and aggregation
        • Characteristic aggregations
        • Function aggregations
        • Axis units
        • Flow rate aggregations and disaggregations
      • Plotting series
        • Overriding data
        • Stacked plots and data
        • Plotting transition parameters and flow rates
        • Setting full names
        • Further formatting
        • Module-level settings and separate legends
      • Time accumulation
      • Subplots
      • Saving figures
      • Plotting bars
        • Time aggregation
        • Stacking bars
        • Negative values
        • Horizontal bars
        • Labelling bars
      • Working with legends
        • Controlling legend order
        • Relabeling legend entries
        • Making a new legend
      • Time aggregation options
        • Flow rates
      • Setting colors
        • Colour design patterns
    • Plotting programs
      • Creating PlotData from programs
        • Plotting spending and coverage
        • Bar plots and selecting times
        • Time aggregation
        • Output aggregation
    • Plot unit conversions
      • Parameters
      • Programs
    • Probability rescaling
      • Geometric vs Exponential distribution for durations
      • Preserving durations vs preserving annual flows
      • Atomica models
      • Conclusions
    • Scenarios
      • Parameter scenarios
        • Using the ParameterScenario class
          • Scenario start year
          • Scenario end year
          • Smoothing
          • Step changes
          • Parameter interpolation prior to the start year
          • Inspecting the ParameterSet
        • Modifying a ParameterSet
        • Overwriting function parameters
    • Uncertainty
      • Specifying uncertainty
      • Sampling inputs
      • Analysis
        • Basic plotting
        • Comparing sampled results
        • Distributions of differences between results
      • Cascade ensembles
        • Virtual stages
      • Memory-limited environments
      • Parallization
      • Experimental plots
    • Overriding coverage calculations
      • Add a new population type
      • Overwriting coverage
  • Tutorials
    • T1 - Defining a model
      • Generating a databook
      • Exercise
    • T2 - Calibration
      • Calibration scale factors
      • Calibrating compartment sizes
      • Calibrating transfers
      • Automatic calibration
        • Automated calibration of transfers
      • Calibration tips
    • T3 - Multiple populations
      • Transfers
      • Interactions
      • Exercises
    • T4 - Characteristics
    • T5 - Junctions
      • Exercise
    • T6 - Programs
      • Reconciliation
      • Common intervention types
        • Vaccines
        • Diagnosis screening program
        • Diagnosis
        • Screening with confirmatory test
        • One-off treatment
        • Sustained treatment
      • Exercise
    • T7 - YAML calibration
      • YAML files
      • Basic calibration example
      • Minimal YAML file
      • Sections
        • Repeating a section
      • Sections vs Actions
      • Types of Action Blocks
        • Calibration blocks
          • Adjustable and measurable settings
          • Specifying Populations
        • Setting initializations
        • Clearing initializations
        • Saving calibrations
      • Specifying settings in outer sections
        • Inheritance
        • Settings hierarchy
        • Outer adjustables/measurables settings
      • Running the YAML calibration
      • Exercise: Worked Example
      • Further resources
        • Epidemiological calibration
        • Documentation
  • Model library
    • Cervical cancer
      • Contents
      • Compartments
        • Compartment: Source
        • Compartment: Without cervical cancer
        • Compartment: Undiagnosed
        • Compartment: Screened
        • Compartment: Diagnosed
        • Compartment: Treated
        • Compartment: Dead (other)
        • Compartment: Dead (cervical cancer)
      • Characteristics
        • Characteristic: Population size
        • Characteristic: Estimated number of women with cervical cancer
        • Characteristic: Estimated number of women with cervical cancer who have ever been screened
        • Characteristic: Estimated number of women with cervical cancer who have ever been diagnosed
        • Characteristic: Estimated number of women being treated for cervical cancer
      • Parameters
        • Parameter: Annual number of births
        • Parameter: Estimated number of new cervical cancer cases annually
        • Parameter: Acquisition rate
        • Parameter: Annual number screened
        • Parameter: Screening yield
        • Parameter: Annual number screened positive
        • Parameter: Screening sensitivity
        • Parameter: Annual number of new diagnoses
        • Parameter: Probability of a positive confirmation following screening
        • Parameter: Annual number newly initiated onto treatment
        • Parameter: Initiation rate
        • Parameter: Mortality rate
        • Parameter: Mortality rate for those with untreated cervical cancer
      • Interactions
      • Cascades
        • Cascade: Cervical cancer cascade
    • Diabetes
      • Contents
      • Compartments
        • Compartment: Source
        • Compartment: Susceptible
        • Compartment: Unaware & uncomplicated
        • Compartment: Unaware & vascular damage
        • Compartment: Screened & uncomplicated
        • Compartment: Screened & vascular damage
        • Compartment: Diagnosed & uncomplicated
        • Compartment: Diagnosed & vascular damage
        • Compartment: Successful treatment & uncomplicated
        • Compartment: Successful treatment & vascular damage
        • Compartment: Treatment failure & uncomplicated
        • Compartment: Treatment failure & vascular damage
        • Compartment: Dead (diabetes)
        • Compartment: Dead (other)
      • Characteristics
        • Characteristic: Population size
        • Characteristic: All people with T2DM
        • Characteristic: People screened for T2DM
        • Characteristic: People diagnosed with T2DM
        • Characteristic: People treated for T2DM
        • Characteristic: People with HbA1c control
        • Characteristic: Proportion screened for T2DM
        • Characteristic: Proportion diagnosed with T2DM
        • Characteristic: Proportion treated for T2DM
        • Characteristic: Proportion with HbA1c control
      • Parameters
        • Parameter: Annual number of births
        • Parameter: Estimated number of new diabetes cases annually
        • Parameter: Acquisition rate
        • Parameter: Time before progression to vascular damage
        • Parameter: Annual number screened
        • Parameter: Yield among those screened
        • Parameter: Annual number screened positive
        • Parameter: Screening sensitivity
        • Parameter: Annual number of new diagnoses
        • Parameter: Diagnosis sensitivity
        • Parameter: Annual number newly initiated onto treatment
        • Parameter: Initiation rate
        • Parameter: Treatment failure rate
        • Parameter: Proportion of those experiencing treatment failure who are offered support
        • Parameter: Death rate for diabetes with vascular damage
        • Parameter: Background mortality rate
      • Interactions
      • Cascades
        • Cascade: Diabetes care cascade
        • Cascade: Diabetes care cascade - vascular damage
        • Cascade: Diabetes care cascade - uncomplicated cases
    • Diagnosis-Treated
      • Contents
      • Compartments
        • Compartment: Diagnosed, not treated
        • Compartment: Treated
      • Characteristics
        • Characteristic: All diagnosed
        • Characteristic: Currently treated
      • Parameters
        • Parameter: Annual number newly initiated onto treatment
        • Parameter: Annual number lost to follow-up
        • Parameter: Proportion of those on treatment lost-to-follow-up
      • Interactions
      • Cascades
        • Cascade: Cascade
    • HIV without dynamics
      • Contents
      • Compartments
        • Compartment: Undiagnosed
        • Compartment: Diagnosed
        • Compartment: Linked to care
        • Compartment: Treated
        • Compartment: Lost to follow-up
        • Compartment: Virally suppressed (comp)
      • Characteristics
        • Characteristic: All PLHIV
        • Characteristic: Aware of their status
        • Characteristic: Ever in care
        • Characteristic: Currently in care
        • Characteristic: Currently treated
        • Characteristic: Virally suppressed
      • Parameters
        • Parameter: Annual number of new diagnoses
        • Parameter: Diagnosis rate
        • Parameter: Average time taken to be linked to care (years)
        • Parameter: Annual number newly initiated onto treatment
        • Parameter: Initiation rate
        • Parameter: Loss-to-follow-up rate
        • Parameter: Time after initiating ART to achieve viral suppression (years)
        • Parameter: Treatment failure rate
      • Interactions
      • Cascades
        • Cascade: main
    • HIV with dynamics
      • Contents
      • Compartments
        • Compartment: Source
        • Compartment: Susceptible
        • Compartment: Undiagnosed
        • Compartment: Diagnosed
        • Compartment: Linked to care
        • Compartment: Treated
        • Compartment: Lost to follow-up
        • Compartment: Virally suppressed (comp)
        • Compartment: Dead (HIV/AIDS)
        • Compartment: Dead (other)
      • Characteristics
        • Characteristic: Population size
        • Characteristic: All PLHIV
        • Characteristic: Aware of their status
        • Characteristic: Ever in care
        • Characteristic: Currently in care
        • Characteristic: Currently treated
        • Characteristic: Virally suppressed
      • Parameters
        • Parameter: Annual number of births
        • Parameter: Estimated number of new HIV infections annually
        • Parameter: Acquisition rate
        • Parameter: Annual number of tests done
        • Parameter: Test yield
        • Parameter: Annual number tested positive
        • Parameter: Test sensitivity
        • Parameter: Average time taken to be linked to care (years)
        • Parameter: Annual number newly initiated onto treatment
        • Parameter: Initiation rate
        • Parameter: Loss-to-follow-up rate
        • Parameter: Time after initiating ART to achieve viral suppression (years)
        • Parameter: Treatment failure rate
        • Parameter: Death rate for those with untreated HIV
        • Parameter: Death rate for those with on unsuppressive ART
        • Parameter: Death rate for those with on suppressive ART
        • Parameter: Background mortality rate
      • Interactions
      • Cascades
        • Cascade: HIV care cascade
    • Hypertension
      • Contents
      • Compartments
        • Compartment: Undiagnosed
        • Compartment: Screened
        • Compartment: Diagnosed
        • Compartment: Treated
        • Compartment: Controlled
      • Characteristics
        • Characteristic: All people with condition
        • Characteristic: Screened people
        • Characteristic: Diagnosed people
        • Characteristic: Currently treated
        • Characteristic: Blood pressure controlled
      • Parameters
        • Parameter: Annual number screened
        • Parameter: Screening rate
        • Parameter: Annual number of new diagnoses
        • Parameter: Diagnosis rate
        • Parameter: Annual number newly initiated onto treatment
        • Parameter: Initiation rate
        • Parameter: Loss-to-follow-up rate
        • Parameter: Time after initiating treatment to achieve BP control (years)
        • Parameter: Treatment failure rate
      • Interactions
      • Cascades
        • Cascade: main
    • Hypertension with dynamics
      • Contents
      • Compartments
        • Compartment: Source
        • Compartment: No hypertension
        • Compartment: Undiagnosed
        • Compartment: Screened, not diagnosed
        • Compartment: Diagnosed, not treated
        • Compartment: Treated, not controlled
        • Compartment: Controlled
        • Compartment: Dead (hypertension)
        • Compartment: Dead (other)
      • Characteristics
        • Characteristic: Population size
        • Characteristic: All people with condition
        • Characteristic: Screened people
        • Characteristic: Diagnosed people
        • Characteristic: Currently treated
        • Characteristic: Blood pressure controlled
      • Parameters
        • Parameter: Annual number of births
        • Parameter: Estimated number of new cases annually
        • Parameter: Acquisition rate
        • Parameter: Annual number screened
        • Parameter: Target population for screening programs
        • Parameter: Screening coverage shares
        • Parameter: Screening yield
        • Parameter: Annual number screened positive
        • Parameter: Annual number of new diagnoses
        • Parameter: Annual number newly initiated onto treatment
        • Parameter: Loss-to-follow-up rate
        • Parameter: Time after initiating treatment to achieve BP control (years)
        • Parameter: Treatment failure rate
        • Parameter: Death rate for those with untreated hypertension
        • Parameter: Background mortality rate
      • Interactions
      • Cascades
        • Cascade: Hypertension care cascade
    • Service modalities
      • Contents
      • Compartments
        • Compartment: Source
        • Compartment: Unaware of own need
        • Compartment: Aware but not linked to services
        • Compartment: Linked to service provider
        • Compartment: Receiving services
        • Compartment: Successful outcome
        • Compartment: Dead
      • Characteristics
        • Characteristic: All people
        • Characteristic: People aware of need
        • Characteristic: People linked to services
        • Characteristic: People receiving services
        • Characteristic: People with successful outcomes
        • Characteristic: Proportion aware of need
        • Characteristic: Proportion linked to services
        • Characteristic: Proportion receiving services
        • Characteristic: Proportion with successful outcomes
      • Parameters
        • Parameter: Number of new cases (annual)
        • Parameter: Number becoming aware of need (annual)
        • Parameter: Number linked to services (annual)
        • Parameter: Number initiated onto services (annual)
        • Parameter: Proportion of those without successful outcomes who are offered further support
        • Parameter: Probability of successful outcome among those receiving services
        • Parameter: Background mortality rate
      • Interactions
      • Cascades
        • Cascade: main
    • SIR model
      • Contents
      • Compartments
        • Compartment: Susceptible
        • Compartment: Infected
        • Compartment: Recovered
        • Compartment: Dead
      • Characteristics
        • Characteristic: Total number of entities
        • Characteristic: Prevalence
        • Characteristic: Number ever infected
        • Characteristic: Number infected or susceptible
        • Characteristic: Number not at risk of death
        • Characteristic: Proportion ever infected
        • Characteristic: Proportion infected or susceptible
        • Characteristic: Proportion not at risk of death
      • Parameters
        • Parameter: Transmission probability per contact
        • Parameter: Number of contacts annually
        • Parameter: Average duration of infections (years)
        • Parameter: Death rate for infected people
        • Parameter: Death rate for susceptible people
        • Parameter: Force of infection
      • Interactions
      • Cascades
        • Cascade: main
    • TB full model
      • Contents
      • Compartments
        • Compartment: Initialization population size
        • Compartment: Susceptible
        • Compartment: Vaccinated
        • Compartment: Early latent untreated (diagnosable)
        • Compartment: Early latent on treatment
        • Compartment: Junction: Latent early treatment outcome
        • Compartment: Late latent untreated (diagnosable)
        • Compartment: Late latent on treatment
        • Compartment: Junction: Latent late treatment outcome
        • Compartment: Susceptible (diagnosis restricted)
        • Compartment: Early latent untreated (diagnosis restricted)
        • Compartment: Late latent untreated (diagnosis restricted)
        • Compartment: Junction: Smear disaggregator for new active
        • Compartment: Junction: Strain disaggregator for new smear positive
        • Compartment: SP-DS undiagnosed
        • Compartment: SP-DS diagnosed but not on treatment
        • Compartment: SP-DS on treatment
        • Compartment: Junction: SP-DS treatment outcome
        • Compartment: SP-MDR undiagnosed
        • Compartment: SP-MDR diagnosed but not on treatment
        • Compartment: SP-MDR on treatment
        • Compartment: Junction: SP-MDR treatment outcome
        • Compartment: SP-XDR undiagnosed
        • Compartment: SP-XDR diagnosed but not on treatment
        • Compartment: SP-XDR on treatment
        • Compartment: Junction: SP-XDR treatment outcome
        • Compartment: Junction: Strain disaggregator for new smear negative
        • Compartment: SN-DS undiagnosed
        • Compartment: SN-DS diagnosed but not on treatment
        • Compartment: SN-DS on treatment
        • Compartment: Junction: SN-DS treatment outcome
        • Compartment: SN-MDR undiagnosed
        • Compartment: SN-MDR diagnosed but not on treatment
        • Compartment: SN-MDR on treatment
        • Compartment: Junction: SN-MDR treatment outcome
        • Compartment: SN-XDR undiagnosed
        • Compartment: SN-XDR diagnosed but not on treatment
        • Compartment: SN-XDR on treatment
        • Compartment: Junction: SN-XDR treatment outcome
        • Compartment: Completed treatment (active)
        • Compartment: Source: Origin of births
        • Compartment: Source: Origin of immigration
        • Compartment: Junction: Infection status of immigrants
        • Compartment: Sink: Cumulative TB deaths over simulation
        • Compartment: Sink: Cumulative non-TB deaths over simulation
        • Compartment: Sink: Cumulative emigration over simulation
      • Characteristics
        • Characteristic: Latent TB infections on treatment
        • Characteristic: Suspected diagnosis restricted latent infections
        • Characteristic: Suspected undiagnosed latent infections
        • Characteristic: Suspected early latent infections
        • Characteristic: Suspected late latent infections
        • Characteristic: Suspected latent infections
        • Characteristic: Known SP-DS infections
        • Characteristic: Known SP-MDR infections
        • Characteristic: Known SP-XDR infections
        • Characteristic: Known SN-DS infections
        • Characteristic: Known SN-MDR infections
        • Characteristic: Known SN-XDR infections
        • Characteristic: Known active TB infections
        • Characteristic: Diagnosed number of living people that developed active TB
        • Characteristic: Suspected SP-DS infections
        • Characteristic: Suspected SP-MD infections
        • Characteristic: Suspected SP-XDR infections
        • Characteristic: Suspected SN-DS infections
        • Characteristic: Suspected SN-MDR infections
        • Characteristic: Suspected SN-XDR infections
        • Characteristic: Suspected SP infections
        • Characteristic: Suspected SN infections
        • Characteristic: Estimated number of people with DS TB
        • Characteristic: Estimated number of people with MDR TB
        • Characteristic: Estimated number of people with XDR TB
        • Characteristic: Estimated number of people with DR TB
        • Characteristic: Estimated number of people with active TB
        • Characteristic: Estimated number of living people that developed active TB
        • Characteristic: Population size
        • Characteristic: Suspected untreated SP-DS infections
        • Characteristic: Suspected untreated SP-MDR infections
        • Characteristic: Suspected untreated SP-XDR infections
        • Characteristic: Suspected untreated SN-DS infections
        • Characteristic: Suspected untreated SN-MDR infections
        • Characteristic: Suspected untreated SN-XDR infections
        • Characteristic: Suspected untreated SP-DS prevalence
        • Characteristic: Suspected untreated SP-MDR prevalence
        • Characteristic: Suspected untreated SP-XDR prevalence
        • Characteristic: Suspected untreated SN-DS prevalence
        • Characteristic: Suspected untreated SN-MDR prevalence
        • Characteristic: Suspected untreated SN-XDR prevalence
        • Characteristic: Suspected LTBI prevalence
        • Characteristic: Suspected SP-DS prevalence
        • Characteristic: Suspected SP-MDR prevalence
        • Characteristic: Suspected SP-XDR prevalence
        • Characteristic: Suspected SN-DS prevalence
        • Characteristic: Suspected SN-MDR prevalence
        • Characteristic: Suspected SN-XDR prevalence
        • Characteristic: Suspected SP prevalence
        • Characteristic: Suspected SN prevalence
        • Characteristic: Suspected DS prevalence
        • Characteristic: Suspected DR prevalence
        • Characteristic: Suspected MDR prevalence
        • Characteristic: Suspected XDR prevalence
        • Characteristic: Suspected active TB prevalence
        • Characteristic: Suspected undiagnosed DS infections
        • Characteristic: Suspected undiagnosed MDR infections
        • Characteristic: Suspected undiagnosed XDR infections
        • Characteristic: Diagnosed DS infections
        • Characteristic: Diagnosed MDR infections
        • Characteristic: Diagnosed XDR infections
        • Characteristic: DS cases on treatment
        • Characteristic: MDR cases on treatment
        • Characteristic: XDR cases on treatment
        • Characteristic: Active TB cases on treatment
        • Characteristic: Number of living people that have recovered from active TB in the previous 2 years
        • Characteristic: Diagnosis sufficiency (known versus suspected infections)
        • Characteristic: Treatment sufficiency (on-treatment versus known infections)
      • Parameters
        • Parameter: Initialization proportion of the population with active TB
        • Parameter: Initialization proportion of the population with latent TB
        • Parameter: Initialization proportion of latent TB cases that are early latent
        • Parameter: Initialization proportion of latent TB cases that are on treatment
        • Parameter: Initialization proportion of active TB cases that are diagnosed
        • Parameter: Initialization proportion of diagnosed TB cases that are on treatment
        • Parameter: Initialization proportion of the population that have previously been vaccinated
        • Parameter: Initialization proportion of the population that have previously been infected with TB
        • Parameter: New active infections: proportion of population that are SP
        • Parameter: New active infections: proportion of population that are SN
        • Parameter: New SP infections: proportion of population that are SP-DS
        • Parameter: New SP infections: proportion of population that are SP-MDR
        • Parameter: New SP infections: proportion of population that are SP-XDR
        • Parameter: New SN infections: proportion of population that are SN-DS
        • Parameter: New SN infections: proportion of population that are SN-MDR
        • Parameter: New SN infections: proportion of population that are SN-XDR
        • Parameter: Infection vulnerability factor (relative population susceptibility)
        • Parameter: Infection vulnerability factor (vaccinated versus susceptible)
        • Parameter: Infection vulnerability factor (recovered versus susceptible)
        • Parameter: SP-DS infectiousness
        • Parameter: Relative infectiousness (SN versus SP)
        • Parameter: Relative infectiousness (MDR versus DS)
        • Parameter: Relative infectiousness (XDR versus DS)
        • Parameter: Initialization proportion: Early latent untreated (diagnosable)
        • Parameter: Initialization proportion: Early latent on treatment
        • Parameter: Initialization proportion: Late latent untreated (diagnosable)
        • Parameter: Initialization proportion: Late latent on treatment
        • Parameter: Initialization proportion: Early latent untreated (diagnosis restricted)
        • Parameter: Initialization proportion: Late latent untreated (diagnosis restricted)
        • Parameter: Initialization proportion: SP-DS undiagnosed
        • Parameter: Initialization proportion: SP-DS diagnosed but not on treatment
        • Parameter: Initialization proportion: SP-DS on treatment
        • Parameter: Initialization proportion: SP-MDR undiagnosed
        • Parameter: Initialization proportion: SP-MDR diagnosed but not on treatment
        • Parameter: Initialization proportion: SP-MDR on treatment
        • Parameter: Initialization proportion: SP-XDR undiagnosed
        • Parameter: Initialization proportion: SP-XDR diagnosed but not on treatment
        • Parameter: Initialization proportion: SP-XDR on treatment
        • Parameter: Initialization proportion: SN-DS undiagnosed
        • Parameter: Initialization proportion: SN-DS diagnosed but not on treatment
        • Parameter: Initialization proportion: SN-DS on treatment
        • Parameter: Initialization proportion: SN-MDR undiagnosed
        • Parameter: Initialization proportion: SN-MDR diagnosed but not on treatment
        • Parameter: Initialization proportion: SN-MDR on treatment
        • Parameter: Initialization proportion: SN-XDR undiagnosed
        • Parameter: Initialization proportion: SN-XDR diagnosed but not on treatment
        • Parameter: Initialization proportion: SN-XDR on treatment
        • Parameter: Initialization proportion: Completed treatment (active)
        • Parameter: Initialization proportion: Vaccinated
        • Parameter: Initialization proportion: Susceptible
        • Parameter: Initialization proportion: Susceptible (diagnosis restricted)
        • Parameter: Number of births
        • Parameter: Non-TB deaths
        • Parameter: Number of new immigrants
        • Parameter: Number of departing emigrants
        • Parameter: Number of vaccinations administered
        • Parameter: LTBI treatment initiations through mass screening
        • Parameter: LTBI treatment initiations through contact tracing
        • Parameter: LTBI treatment average duration of full course
        • Parameter: LTBI treatment proportion of lost to follow up
        • Parameter: LTBI treatment proportion of successful completions
        • Parameter: LTBI treatment average duration until outcome
        • Parameter: Early-LTBI annual number initiating treatment
        • Parameter: Early-LTBI (diagnosis restricted) annual number initiating treatment
        • Parameter: Late-LTBI annual number initiating treatment
        • Parameter: Early-LTBI treatment abandonment rate
        • Parameter: Early-LTBI treatment success rate
        • Parameter: Late-LTBI treatment abandonment rate
        • Parameter: Late-LTBI treatment success rate
        • Parameter: Early latency departure rate
        • Parameter: Late latency departure rate
        • Parameter: Probability of early-active versus early-late progression
        • Parameter: Early-late LTBI progression rate (diagnosable)
        • Parameter: Early-late LTBI progression rate (diagnosis restricted)
        • Parameter: LTBI-active progression rate (early diagnosable)
        • Parameter: LTBI-active progression rate (early diagnosis restricted)
        • Parameter: LTBI-active progression rate (late diagnosable)
        • Parameter: LTBI-active progression rate (late diagnosis restricted)
        • Parameter: SP-MDR infectiousness
        • Parameter: SP-XDR infectiousness
        • Parameter: SN-DS infectiousness
        • Parameter: SN-MDR infectiousness
        • Parameter: SN-XDR infectiousness
        • Parameter: Force of infection from SP prevalence
        • Parameter: Force of infection from SN prevalence
        • Parameter: Force of infection imparted by population
        • Parameter: Force of infection experienced by population
        • Parameter: Infection rate (susceptible to diagnosable latent)
        • Parameter: Infection rate (vaccinated to diagnosis restricted latent)
        • Parameter: Reinfection rate (susceptible to diagnosis restricted for diagnosis restricted)
        • Parameter: Relapse rate for completed treatment (active) cases
        • Parameter: Full recovery rate for completed treatment (active) cases
        • Parameter: Proportion of new immigrants with LTBI
        • Parameter: Early latent proportion of new immigrants
        • Parameter: Late latent proportion of new immigrants
        • Parameter: Proportion of new immigrants with active TB infections
        • Parameter: Susceptible proportion of immigrants
        • Parameter: SP-DS diagnosis notifications
        • Parameter: SP-MDR diagnosis notifications
        • Parameter: SP-XDR diagnosis notifications
        • Parameter: SN-DS diagnosis notifications
        • Parameter: SN-MDR diagnosis notifications
        • Parameter: SN-XDR diagnosis notifications
        • Parameter: DS treatment number of initiations
        • Parameter: SP-DS treatment number of initiations
        • Parameter: SN-DS treatment number of initiations
        • Parameter: DS treatment average duration of completed treatment
        • Parameter: DS treatment proportion of loss to follow up (require re-diagnosis)
        • Parameter: DS treatment proportion failed (no escalation, no need to re-diagnose)
        • Parameter: DS treatment proportion failed (escalation to MDR, require re-diagnosis)
        • Parameter: DS treatment proportion of treatments completed + success
        • Parameter: DS treatment proportion of deaths
        • Parameter: DS treatment average duration until outcome
        • Parameter: SP-DS treatment proportion of loss to follow up (require re-diagnosis)
        • Parameter: SP-DS treatment proportion failed (no escalation, no need to re-diagnose)
        • Parameter: SP-DS treatment proportion failed (escalation to MDR, require re-diagnosis)
        • Parameter: SP-DS treatment proportion of treatments completed + success
        • Parameter: SP-DS treatment proportion of deaths
        • Parameter: SN-DS treatment proportion of loss to follow up (require re-diagnosis)
        • Parameter: SN-DS treatment proportion failed (no escalation, no need to re-diagnose)
        • Parameter: SN-DS treatment proportion failed (escalation to MDR, require re-diagnosis)
        • Parameter: SN-DS treatment proportion of treatments completed + success
        • Parameter: SN-DS treatment proportion of deaths
        • Parameter: MDR treatment number of initiations
        • Parameter: SP-MDR treatment number of initiations
        • Parameter: SN-MDR treatment number of initiations
        • Parameter: MDR treatment average duration of completed treatment
        • Parameter: MDR treatment proportion of loss to follow up (require re-diagnosis)
        • Parameter: MDR treatment proportion failed (no escalation, no need to re-diagnose)
        • Parameter: MDR treatment proportion failed (escalation to XDR, require re-diagnosis)
        • Parameter: MDR treatment proportion of treatments completed + success
        • Parameter: MDR treatment proportion of deaths
        • Parameter: MDR treatment average duration until outcome
        • Parameter: SP-MDR treatment proportion of loss to follow up (require re-diagnosis)
        • Parameter: SP-MDR treatment proportion failed (no escalation, no need to re-diagnose)
        • Parameter: SP-MDR treatment proportion failed (escalation to XDR, require re-diagnosis)
        • Parameter: SP-MDR treatment proportion of treatments completed + success
        • Parameter: SP-MDR treatment proportion of deaths
        • Parameter: SN-MDR treatment proportion of loss to follow up (require re-diagnosis)
        • Parameter: SN-MDR treatment proportion failed (no escalation, no need to re-diagnose)
        • Parameter: SN-MDR treatment proportion failed (escalation to XDR, require re-diagnosis)
        • Parameter: SN-MDR treatment proportion of treatments completed + success
        • Parameter: SN-MDR treatment proportion of deaths
        • Parameter: XDR treatment number of initiations
        • Parameter: SP-XDR treatment number of initiations
        • Parameter: SN-XDR treatment number of initiations
        • Parameter: XDR treatment average duration of completed treatment
        • Parameter: XDR treatment proportion of loss to follow up (require re-diagnosis)
        • Parameter: XDR treatment proportion failed (no escalation, no need to re-diagnose)
        • Parameter: XDR treatment proportion of treatments completed + success
        • Parameter: XDR treatment proportion of deaths
        • Parameter: XDR treatment average duration until outcome
        • Parameter: SP-XDR treatment proportion of loss to follow up (require re-diagnosis)
        • Parameter: SP-XDR treatment proportion failed (no escalation, no need to re-diagnose)
        • Parameter: SP-XDR treatment proportion of treatments completed + success
        • Parameter: SP-XDR treatment proportion of deaths
        • Parameter: SN-XDR treatment proportion of loss to follow up (require re-diagnosis)
        • Parameter: SN-XDR treatment proportion failed (no escalation, no need to re-diagnose)
        • Parameter: SN-XDR treatment proportion of treatments completed + success
        • Parameter: SN-XDR treatment proportion of deaths
        • Parameter: SP-DS natural recovery rate
        • Parameter: SP-MDR natural recovery rate
        • Parameter: SP-XDR natural recovery rate
        • Parameter: SN-DS natural recovery rate
        • Parameter: SN-MDR natural recovery rate
        • Parameter: SN-XDR natural recovery rate
        • Parameter: SP-DS death rate (untreated)
        • Parameter: SP-MDR death rate (untreated)
        • Parameter: SP-XDR death rate (untreated)
        • Parameter: SN-DS death rate (untreated)
        • Parameter: SN-MDR death rate (untreated)
        • Parameter: SN-XDR death rate (untreated)
        • Parameter: Disutility weight for active TB
        • Parameter: YLD rate
        • Parameter: Estimated number of years of life remaining
        • Parameter: YLL rate
        • Parameter: DALYs
      • Interactions
        • Interaction: Preference weighting for one population interacting with another
      • Plots
        • Plot: Population size
        • Plot: Latent infections
        • Plot: Active TB
        • Plot: Active DS-TB
        • Plot: Active MDR-TB
        • Plot: Active XDR-TB
        • Plot: New active TB infections
        • Plot: Activated TB infections inc. relapse and immigration
        • Plot: Smear negative active TB
        • Plot: Smear positive active TB
        • Plot: Latent diagnoses
        • Plot: New active TB diagnoses
        • Plot: Latent treatment
        • Plot: Active treatment
        • Plot: TB-related deaths
        • Plot: Latent prevalence
        • Plot: Active prevalence
        • Plot: DR prevalence
        • Plot: New active SP-DS diagnoses
        • Plot: New active SP-MDR diagnoses
        • Plot: New active SP-XDR diagnoses
        • Plot: New active SN-DS diagnoses
        • Plot: New active SN-MDR diagnoses
        • Plot: New active SN-XDR diagnoses
        • Plot: DS number initiating treatment
        • Plot: MDR number initiating treatment
        • Plot: XDR number initiating treatment
      • Cascades
        • Cascade: TB treatment (including recovered)
        • Cascade: SP treatment
        • Cascade: SN treatment
    • TB simple model
      • Contents
      • Compartments
        • Compartment: Undiagnosed
        • Compartment: Diagnosed
        • Compartment: Notified and treated
        • Compartment: Lost to follow-up
        • Compartment: Successfully treated (comp)
      • Characteristics
        • Characteristic: TB burden
        • Characteristic: Notified
        • Characteristic: In care
        • Characteristic: Treated
        • Characteristic: Successfully treated
      • Parameters
        • Parameter: Annual number of tests done
        • Parameter: Test yield
        • Parameter: Annual number tested positive
        • Parameter: Test sensitivity
        • Parameter: Annual number newly initiated onto treatment
        • Parameter: Initiation rate
        • Parameter: Loss-to-follow-up rate
        • Parameter: Time after initiating treatment to treatment success (years)
        • Parameter: Treatment failure rate
      • Interactions
      • Cascades
        • Cascade: TB care cascade
    • TB simple with dynamics
      • Contents
      • Compartments
        • Compartment: Source
        • Compartment: Susceptible
        • Compartment: Vaccinated
        • Compartment: Undiagnosed
        • Compartment: Diagnosed
        • Compartment: Notified and treated
        • Compartment: Lost to follow-up
        • Compartment: Successfully treated (comp)
        • Compartment: Dead (TB)
        • Compartment: Dead (other)
      • Characteristics
        • Characteristic: Population size
        • Characteristic: TB burden
        • Characteristic: Notified
        • Characteristic: In care
        • Characteristic: Treated
        • Characteristic: Successfully treated
      • Parameters
        • Parameter: Annual number of births
        • Parameter: Estimated number of new TB cases annually
        • Parameter: Acquisition rate
        • Parameter: Natural recovery rate
        • Parameter: Annual number vaccinated
        • Parameter: Vaccination rate
        • Parameter: Annual number of tests done
        • Parameter: Test yield
        • Parameter: Annual number tested positive
        • Parameter: Test sensitivity
        • Parameter: Annual number newly initiated onto treatment
        • Parameter: Initiation rate
        • Parameter: Loss-to-follow-up rate
        • Parameter: Time after initiating treatment to treatment success (years)
        • Parameter: Treatment failure rate
        • Parameter: Death rate for those with untreated TB
        • Parameter: Death rate for those unsuccessfully treated
        • Parameter: Death rate for those successfully treated
        • Parameter: Background mortality rate
      • Interactions
      • Cascades
        • Cascade: TB care cascade
    • UDT model
      • Contents
      • Compartments
        • Compartment: Undiagnosed
        • Compartment: Diagnosed
        • Compartment: Treated
      • Characteristics
        • Characteristic: All people with condition
        • Characteristic: Diagnosed people
        • Characteristic: Currently treated
      • Parameters
        • Parameter: Annual number of new diagnoses
        • Parameter: Diagnosis rate
        • Parameter: Annual number newly initiated onto treatment
        • Parameter: Initiation rate
        • Parameter: Annual number lost to follow-up
        • Parameter: Loss-to-follow-up rate
      • Interactions
      • Cascades
        • Cascade: Cascade
    • UDT model with dynamics
      • Contents
      • Compartments
        • Compartment: Births
        • Compartment: Undiagnosed
        • Compartment: Diagnosed
        • Compartment: Treated
        • Compartment: dead
      • Characteristics
        • Characteristic: All people with condition
        • Characteristic: Diagnosed people
        • Characteristic: Currently treated
      • Parameters
        • Parameter: Annual number of new diagnoses
        • Parameter: Diagnosis rate
        • Parameter: Annual number newly initiated onto treatment
        • Parameter: Initiation rate
        • Parameter: Annual number lost to follow-up
        • Parameter: Loss-to-follow-up rate
        • Parameter: Birth rate
        • Parameter: Untreated death rate
        • Parameter: Treated death rate
      • Interactions
      • Cascades
        • Cascade: Cascade
    • USDT model
      • Contents
      • Compartments
        • Compartment: Undiagnosed
        • Compartment: Screened
        • Compartment: Diagnosed
        • Compartment: Treated
      • Characteristics
        • Characteristic: All people with condition
        • Characteristic: Screened people
        • Characteristic: Diagnosed people
        • Characteristic: Currently treated
      • Parameters
        • Parameter: Annual number screened
        • Parameter: Screening rate
        • Parameter: Annual number of new diagnoses
        • Parameter: Diagnosis rate
        • Parameter: Annual number newly initiated onto treatment
        • Parameter: Initiation rate
        • Parameter: Annual number lost to follow-up
        • Parameter: Loss-to-follow-up rate
      • Interactions
      • Cascades
        • Cascade: main

API Reference

  • atomica
    • atomica.calibration
      • atomica.calibration.calibrate
        • calibrate()
    • atomica.cascade
      • atomica.cascade.cascade_summary
        • cascade_summary()
      • atomica.cascade.get_cascade_data
        • get_cascade_data()
      • atomica.cascade.get_cascade_vals
        • get_cascade_vals()
      • atomica.cascade.plot_cascade
        • plot_cascade()
      • atomica.cascade.plot_multi_cascade
        • plot_multi_cascade()
      • atomica.cascade.plot_single_cascade
        • plot_single_cascade()
      • atomica.cascade.plot_single_cascade_series
        • plot_single_cascade_series()
      • atomica.cascade.sanitize_cascade
        • sanitize_cascade()
      • atomica.cascade.sanitize_pops
        • sanitize_pops()
      • atomica.cascade.validate_cascade
        • validate_cascade()
      • atomica.cascade.CascadeEnsemble
        • CascadeEnsemble
          • CascadeEnsemble.add()
          • CascadeEnsemble.baseline
          • CascadeEnsemble.boxplot()
          • CascadeEnsemble.get_vals()
          • CascadeEnsemble.mapping_function
          • CascadeEnsemble.n_samples
          • CascadeEnsemble.outputs
          • CascadeEnsemble.plot_bars()
          • CascadeEnsemble.plot_distribution()
          • CascadeEnsemble.plot_multi_cascade()
          • CascadeEnsemble.plot_series()
          • CascadeEnsemble.pops
          • CascadeEnsemble.results
          • CascadeEnsemble.run_sims()
          • CascadeEnsemble.samples
          • CascadeEnsemble.set_baseline()
          • CascadeEnsemble.tvec
          • CascadeEnsemble.update()
      • atomica.cascade.InvalidCascade
        • InvalidCascade
    • atomica.data
      • atomica.data.ProjectData
        • ProjectData
          • ProjectData.add_interaction()
          • ProjectData.add_pop()
          • ProjectData.add_transfer()
          • ProjectData.change_tvec()
          • ProjectData.end_year
          • ProjectData.from_spreadsheet()
          • ProjectData.get_tdve_page()
          • ProjectData.get_ts()
          • ProjectData.gitinfo
          • ProjectData.interpops
          • ProjectData.new()
          • ProjectData.pops
          • ProjectData.remove_interaction()
          • ProjectData.remove_transfer()
          • ProjectData.rename_pop()
          • ProjectData.rename_transfer()
          • ProjectData.save()
          • ProjectData.start_year
          • ProjectData.tables()
          • ProjectData.tdve
          • ProjectData.tdve_pages
          • ProjectData.to_spreadsheet()
          • ProjectData.to_workbook()
          • ProjectData.transfers
          • ProjectData.tvec
          • ProjectData.validate()
          • ProjectData.version
      • atomica.data.InvalidDatabook
        • InvalidDatabook
    • atomica.demos
      • atomica.demos.demo
        • demo()
      • atomica.demos.make_demo_scenarios
        • make_demo_scenarios()
    • atomica.excel
      • atomica.excel.apply_widths
        • apply_widths()
      • atomica.excel.cell_get_number
        • cell_get_number()
      • atomica.excel.cell_get_string
        • cell_get_string()
      • atomica.excel.copy_sheet
        • copy_sheet()
      • atomica.excel.read_dataframes
        • read_dataframes()
      • atomica.excel.read_tables
        • read_tables()
      • atomica.excel.standard_formats
        • standard_formats()
      • atomica.excel.transfer_comments
        • transfer_comments()
      • atomica.excel.update_widths
        • update_widths()
      • atomica.excel.validate_category
        • validate_category()
      • atomica.excel.TimeDependentConnections
        • TimeDependentConnections
          • TimeDependentConnections.assumption_heading
          • TimeDependentConnections.attributes
          • TimeDependentConnections.from_tables()
          • TimeDependentConnections.ts_attributes
          • TimeDependentConnections.write()
          • TimeDependentConnections.write_assumption
          • TimeDependentConnections.write_uncertainty
          • TimeDependentConnections.write_units
      • atomica.excel.TimeDependentValuesEntry
        • TimeDependentValuesEntry
          • TimeDependentValuesEntry.assumption_heading
          • TimeDependentValuesEntry.comment
          • TimeDependentValuesEntry.default_all
          • TimeDependentValuesEntry.from_rows()
          • TimeDependentValuesEntry.has_data
          • TimeDependentValuesEntry.name
          • TimeDependentValuesEntry.ts_attributes
          • TimeDependentValuesEntry.tvec
          • TimeDependentValuesEntry.write()
          • TimeDependentValuesEntry.write_assumption
          • TimeDependentValuesEntry.write_uncertainty
          • TimeDependentValuesEntry.write_units
    • atomica.framework
      • atomica.framework.generate_framework_doc
        • generate_framework_doc()
      • atomica.framework.ProjectFramework
        • ProjectFramework
          • ProjectFramework.cascades
          • ProjectFramework.characs
          • ProjectFramework.comps
          • ProjectFramework.created
          • ProjectFramework.get_charac()
          • ProjectFramework.get_charac_includes()
          • ProjectFramework.get_comp()
          • ProjectFramework.get_databook_units()
          • ProjectFramework.get_interaction()
          • ProjectFramework.get_label()
          • ProjectFramework.get_par()
          • ProjectFramework.get_variable()
          • ProjectFramework.gitinfo
          • ProjectFramework.interactions
          • ProjectFramework.modified
          • ProjectFramework.name
          • ProjectFramework.pars
          • ProjectFramework.pop_types
          • ProjectFramework.save()
          • ProjectFramework.sheets
          • ProjectFramework.spreadsheet
          • ProjectFramework.to_spreadsheet()
          • ProjectFramework.uid
          • ProjectFramework.version
      • atomica.framework.InvalidFramework
        • InvalidFramework
    • atomica.function_parser
      • atomica.function_parser.parse_function
        • parse_function()
      • atomica.function_parser.sdiv
        • sdiv()
      • atomica.function_parser.vector_max
        • vector_max()
      • atomica.function_parser.vector_min
        • vector_min()
    • atomica.migration
      • atomica.migration.all_frameworks
        • all_frameworks()
      • atomica.migration.all_progsets
        • all_progsets()
      • atomica.migration.all_results
        • all_results()
      • atomica.migration.migrate
        • migrate()
      • atomica.migration.migration
        • migration()
      • atomica.migration.register_migration
        • register_migration()
      • atomica.migration.Migration
        • Migration
    • atomica.model
      • atomica.model.run_model
        • run_model()
      • atomica.model.Characteristic
        • Characteristic
          • Characteristic.id
          • Characteristic.name
          • Characteristic.plot()
          • Characteristic.pop
          • Characteristic.preallocate()
          • Characteristic.set_dynamic()
          • Characteristic.units
          • Characteristic.update()
      • atomica.model.Compartment
        • Compartment
          • Compartment.connect()
          • Compartment.id
          • Compartment.name
          • Compartment.outflow
          • Compartment.plot()
          • Compartment.pop
          • Compartment.preallocate()
          • Compartment.resolve_outflows()
          • Compartment.set_dynamic()
          • Compartment.units
          • Compartment.update()
      • atomica.model.JunctionCompartment
        • JunctionCompartment
          • JunctionCompartment.balance()
          • JunctionCompartment.connect()
          • JunctionCompartment.duration_group
          • JunctionCompartment.id
          • JunctionCompartment.initial_flush()
          • JunctionCompartment.name
          • JunctionCompartment.outflow
          • JunctionCompartment.plot()
          • JunctionCompartment.pop
          • JunctionCompartment.preallocate()
          • JunctionCompartment.resolve_outflows()
          • JunctionCompartment.set_dynamic()
          • JunctionCompartment.units
          • JunctionCompartment.update()
      • atomica.model.Link
        • Link
          • Link.create()
          • Link.id
          • Link.name
          • Link.plot()
          • Link.pop
          • Link.preallocate()
          • Link.set_dynamic()
          • Link.units
          • Link.update()
      • atomica.model.Model
        • Model
          • Model.build()
          • Model.dt
          • Model.flush_junctions()
          • Model.get_pop()
          • Model.process()
          • Model.relink()
          • Model.t
          • Model.unlink()
          • Model.update_comps()
          • Model.update_links()
          • Model.update_pars()
      • atomica.model.Parameter
        • Parameter
          • Parameter.constrain()
          • Parameter.deps
          • Parameter.derivative
          • Parameter.fcn_str
          • Parameter.id
          • Parameter.limits
          • Parameter.links
          • Parameter.name
          • Parameter.plot()
          • Parameter.pop
          • Parameter.pop_aggregation
          • Parameter.preallocate()
          • Parameter.scale_factor
          • Parameter.set_dynamic()
          • Parameter.set_fcn()
          • Parameter.skip_function
          • Parameter.timescale
          • Parameter.units
          • Parameter.update()
      • atomica.model.Population
        • Population
          • Population.build()
          • Population.charac_lookup
          • Population.characs
          • Population.comp_lookup
          • Population.comps
          • Population.get_charac()
          • Population.get_comp()
          • Population.get_links()
          • Population.get_par()
          • Population.get_variable()
          • Population.initialize_compartments()
          • Population.label
          • Population.link_lookup
          • Population.links
          • Population.name
          • Population.par_lookup
          • Population.pars
          • Population.popsize()
          • Population.type
      • atomica.model.ResidualJunctionCompartment
        • ResidualJunctionCompartment
          • ResidualJunctionCompartment.balance()
          • ResidualJunctionCompartment.connect()
          • ResidualJunctionCompartment.duration_group
          • ResidualJunctionCompartment.id
          • ResidualJunctionCompartment.initial_flush()
          • ResidualJunctionCompartment.name
          • ResidualJunctionCompartment.outflow
          • ResidualJunctionCompartment.plot()
          • ResidualJunctionCompartment.pop
          • ResidualJunctionCompartment.preallocate()
          • ResidualJunctionCompartment.resolve_outflows()
          • ResidualJunctionCompartment.set_dynamic()
          • ResidualJunctionCompartment.units
          • ResidualJunctionCompartment.update()
      • atomica.model.SinkCompartment
        • SinkCompartment
          • SinkCompartment.connect()
          • SinkCompartment.id
          • SinkCompartment.name
          • SinkCompartment.outflow
          • SinkCompartment.plot()
          • SinkCompartment.pop
          • SinkCompartment.preallocate()
          • SinkCompartment.resolve_outflows()
          • SinkCompartment.set_dynamic()
          • SinkCompartment.units
          • SinkCompartment.update()
      • atomica.model.SourceCompartment
        • SourceCompartment
          • SourceCompartment.connect()
          • SourceCompartment.id
          • SourceCompartment.name
          • SourceCompartment.outflow
          • SourceCompartment.plot()
          • SourceCompartment.pop
          • SourceCompartment.preallocate()
          • SourceCompartment.resolve_outflows()
          • SourceCompartment.set_dynamic()
          • SourceCompartment.units
          • SourceCompartment.update()
      • atomica.model.TimedCompartment
        • TimedCompartment
          • TimedCompartment.connect()
          • TimedCompartment.flush_link
          • TimedCompartment.id
          • TimedCompartment.name
          • TimedCompartment.outflow
          • TimedCompartment.parameter
          • TimedCompartment.plot()
          • TimedCompartment.pop
          • TimedCompartment.preallocate()
          • TimedCompartment.resolve_outflows()
          • TimedCompartment.set_dynamic()
          • TimedCompartment.units
          • TimedCompartment.update()
          • TimedCompartment.vals
      • atomica.model.TimedLink
        • TimedLink
          • TimedLink.create()
          • TimedLink.id
          • TimedLink.name
          • TimedLink.plot()
          • TimedLink.pop
          • TimedLink.preallocate()
          • TimedLink.set_dynamic()
          • TimedLink.units
          • TimedLink.update()
          • TimedLink.vals
      • atomica.model.Variable
        • Variable
          • Variable.id
          • Variable.name
          • Variable.plot()
          • Variable.pop
          • Variable.preallocate()
          • Variable.set_dynamic()
          • Variable.units
          • Variable.update()
      • atomica.model.BadInitialization
        • BadInitialization
      • atomica.model.ModelError
        • ModelError
    • atomica.optimization
      • atomica.optimization.constrain_sum_bounded
        • constrain_sum_bounded()
      • atomica.optimization.optimize
        • optimize()
      • atomica.optimization.Adjustable
        • Adjustable
          • Adjustable.get_hard_bounds()
      • atomica.optimization.Adjustment
        • Adjustment
          • Adjustment.adjustables
          • Adjustment.get_initialization()
      • atomica.optimization.AtLeastMeasurable
        • AtLeastMeasurable
          • AtLeastMeasurable.get_baseline()
          • AtLeastMeasurable.get_objective_val()
      • atomica.optimization.AtMostMeasurable
        • AtMostMeasurable
          • AtMostMeasurable.get_baseline()
          • AtMostMeasurable.get_objective_val()
      • atomica.optimization.Constraint
        • Constraint
          • Constraint.constrain_instructions()
          • Constraint.get_hard_constraint()
      • atomica.optimization.DecreaseByMeasurable
        • DecreaseByMeasurable
          • DecreaseByMeasurable.get_baseline()
          • DecreaseByMeasurable.get_objective_val()
      • atomica.optimization.ExponentialSpendingAdjustment
        • ExponentialSpendingAdjustment
          • ExponentialSpendingAdjustment.adjustables
          • ExponentialSpendingAdjustment.get_initialization()
      • atomica.optimization.IncreaseByMeasurable
        • IncreaseByMeasurable
          • IncreaseByMeasurable.get_baseline()
          • IncreaseByMeasurable.get_objective_val()
      • atomica.optimization.MaximizeCascadeConversionRate
        • MaximizeCascadeConversionRate
          • MaximizeCascadeConversionRate.get_baseline()
          • MaximizeCascadeConversionRate.get_objective_val()
      • atomica.optimization.MaximizeCascadeStage
        • MaximizeCascadeStage
          • MaximizeCascadeStage.get_baseline()
          • MaximizeCascadeStage.get_objective_val()
      • atomica.optimization.MaximizeMeasurable
        • MaximizeMeasurable
          • MaximizeMeasurable.get_baseline()
          • MaximizeMeasurable.get_objective_val()
      • atomica.optimization.Measurable
        • Measurable
          • Measurable.get_baseline()
          • Measurable.get_objective_val()
      • atomica.optimization.MinimizeMeasurable
        • MinimizeMeasurable
          • MinimizeMeasurable.get_baseline()
          • MinimizeMeasurable.get_objective_val()
      • atomica.optimization.Optimization
        • Optimization
          • Optimization.compute_objective()
          • Optimization.constrain_instructions()
          • Optimization.get_adjustment()
          • Optimization.get_baselines()
          • Optimization.get_hard_constraints()
          • Optimization.get_initialization()
          • Optimization.maxiters
          • Optimization.maxtime
          • Optimization.method
          • Optimization.update_instructions()
      • atomica.optimization.PairedLinearSpendingAdjustment
        • PairedLinearSpendingAdjustment
          • PairedLinearSpendingAdjustment.adjustables
          • PairedLinearSpendingAdjustment.get_initialization()
      • atomica.optimization.SpendingAdjustment
        • SpendingAdjustment
          • SpendingAdjustment.adjustables
          • SpendingAdjustment.get_initialization()
      • atomica.optimization.SpendingPackageAdjustment
        • SpendingPackageAdjustment
          • SpendingPackageAdjustment.adjust_total_spend
          • SpendingPackageAdjustment.adjustables
          • SpendingPackageAdjustment.get_initialization()
      • atomica.optimization.StartTimeAdjustment
        • StartTimeAdjustment
          • StartTimeAdjustment.adjustables
          • StartTimeAdjustment.get_initialization()
      • atomica.optimization.TotalSpendConstraint
        • TotalSpendConstraint
          • TotalSpendConstraint.constrain_instructions()
          • TotalSpendConstraint.get_hard_constraint()
      • atomica.optimization.FailedConstraint
        • FailedConstraint
      • atomica.optimization.InvalidInitialConditions
        • InvalidInitialConditions
      • atomica.optimization.UnresolvableConstraint
        • UnresolvableConstraint
    • atomica.parameters
      • atomica.parameters.Initialization
        • Initialization
          • Initialization.apply()
          • Initialization.from_excel()
          • Initialization.from_result()
          • Initialization.hash_y_factors()
      • atomica.parameters.Parameter
        • Parameter
          • Parameter.has_values()
          • Parameter.interpolate()
          • Parameter.pops
          • Parameter.sample()
          • Parameter.smooth()
      • atomica.parameters.ParameterSet
        • ParameterSet
          • ParameterSet.all_pars()
          • ParameterSet.apply_initialization()
          • ParameterSet.calibration_spreadsheet()
          • ParameterSet.get_par()
          • ParameterSet.initialization
          • ParameterSet.load_calibration()
          • ParameterSet.make_constant()
          • ParameterSet.sample()
          • ParameterSet.save_calibration()
          • ParameterSet.y_factors
    • atomica.plotting
      • atomica.plotting.plot_bars
        • plot_bars()
      • atomica.plotting.plot_legend
        • plot_legend()
      • atomica.plotting.plot_series
        • plot_series()
      • atomica.plotting.relabel_legend
        • relabel_legend()
      • atomica.plotting.reorder_legend
        • reorder_legend()
      • atomica.plotting.save_figs
        • save_figs()
      • atomica.plotting.separatelegend
        • separatelegend()
      • atomica.plotting.PlotData
        • PlotData
          • PlotData.__getitem__()
          • PlotData.accumulate()
          • PlotData.interpolate()
          • PlotData.programs()
          • PlotData.set_colors()
          • PlotData.time_aggregate()
          • PlotData.tvals()
      • atomica.plotting.Series
        • Series
          • Series.data_label
          • Series.data_pop
          • Series.interpolate()
          • Series.timescale
          • Series.unit_string
          • Series.units
    • atomica.programs
      • atomica.programs.Covout
        • Covout
          • Covout.compute_impact_interaction()
          • Covout.get_outcome()
          • Covout.n_progs
          • Covout.sample()
          • Covout.update_outcomes()
      • atomica.programs.Program
        • Program
          • Program.baseline_spend
          • Program.capacity_constraint
          • Program.coverage
          • Program.get_capacity()
          • Program.get_prop_covered()
          • Program.get_spend()
          • Program.is_one_off
          • Program.label
          • Program.name
          • Program.sample()
          • Program.saturation
          • Program.spend_data
          • Program.target_comps
          • Program.target_pops
          • Program.unit_cost
      • atomica.programs.ProgramInstructions
        • ProgramInstructions
          • ProgramInstructions.scale_alloc()
      • atomica.programs.ProgramSet
        • ProgramSet
          • ProgramSet.add_comp()
          • ProgramSet.add_par()
          • ProgramSet.add_pop()
          • ProgramSet.add_program()
          • ProgramSet.from_spreadsheet()
          • ProgramSet.get_alloc()
          • ProgramSet.get_capacities()
          • ProgramSet.get_outcomes()
          • ProgramSet.get_prop_coverage()
          • ProgramSet.new()
          • ProgramSet.remove_comp()
          • ProgramSet.remove_par()
          • ProgramSet.remove_pop()
          • ProgramSet.remove_program()
          • ProgramSet.sample()
          • ProgramSet.to_spreadsheet()
          • ProgramSet.to_workbook()
          • ProgramSet.validate()
      • atomica.programs.InvalidProgramBook
        • InvalidProgramBook
    • atomica.project
      • atomica.project.Project
        • Project
          • Project.calibrate()
          • Project.create_databook()
          • Project.load()
          • Project.load_databook()
          • Project.load_progbook()
          • Project.make_parset()
          • Project.make_progbook()
          • Project.make_scenario()
          • Project.optim()
          • Project.parset()
          • Project.parsets
          • Project.progset()
          • Project.result()
          • Project.run_optimization()
          • Project.run_sampled_sims()
          • Project.run_scenarios()
          • Project.run_sim()
          • Project.save()
          • Project.scen()
          • Project.update_settings()
      • atomica.project.ProjectSettings
        • ProjectSettings
          • ProjectSettings.tvec
          • ProjectSettings.update_time_vector()
    • atomica.reconciliation
      • atomica.reconciliation.reconcile
        • reconcile()
    • atomica.results
      • atomica.results.export_results
        • export_results()
      • atomica.results.Ensemble
        • Ensemble
          • Ensemble.add()
          • Ensemble.baseline
          • Ensemble.boxplot()
          • Ensemble.mapping_function
          • Ensemble.n_samples
          • Ensemble.outputs
          • Ensemble.plot_bars()
          • Ensemble.plot_distribution()
          • Ensemble.plot_series()
          • Ensemble.pops
          • Ensemble.results
          • Ensemble.run_sims()
          • Ensemble.samples
          • Ensemble.set_baseline()
          • Ensemble.tvec
          • Ensemble.update()
      • atomica.results.Result
        • Result
          • Result.charac_names()
          • Result.check_for_nans()
          • Result.comp_names()
          • Result.dt
          • Result.export_raw()
          • Result.framework
          • Result.get_alloc()
          • Result.get_coverage()
          • Result.get_equivalent_alloc()
          • Result.get_variable()
          • Result.link_names()
          • Result.par_names()
          • Result.plot()
          • Result.pop_labels
          • Result.t
          • Result.used_programs
    • atomica.scenarios
      • atomica.scenarios.BudgetScenario
        • BudgetScenario
          • BudgetScenario.active
          • BudgetScenario.get_instructions()
          • BudgetScenario.get_parset()
          • BudgetScenario.get_progset()
          • BudgetScenario.parsetname
          • BudgetScenario.progsetname
          • BudgetScenario.run()
      • atomica.scenarios.CombinedScenario
        • CombinedScenario
          • CombinedScenario.active
          • CombinedScenario.get_instructions()
          • CombinedScenario.get_parset()
          • CombinedScenario.get_progset()
          • CombinedScenario.interpolation
          • CombinedScenario.parsetname
          • CombinedScenario.progsetname
          • CombinedScenario.run()
          • CombinedScenario.scenario_values
      • atomica.scenarios.CoverageScenario
        • CoverageScenario
          • CoverageScenario.active
          • CoverageScenario.get_instructions()
          • CoverageScenario.get_parset()
          • CoverageScenario.get_progset()
          • CoverageScenario.parsetname
          • CoverageScenario.progsetname
          • CoverageScenario.run()
      • atomica.scenarios.ParameterScenario
        • ParameterScenario
          • ParameterScenario.active
          • ParameterScenario.add()
          • ParameterScenario.get_instructions()
          • ParameterScenario.get_parset()
          • ParameterScenario.get_progset()
          • ParameterScenario.interpolation
          • ParameterScenario.parsetname
          • ParameterScenario.progsetname
          • ParameterScenario.run()
          • ParameterScenario.scenario_values
      • atomica.scenarios.Scenario
        • Scenario
          • Scenario.active
          • Scenario.get_instructions()
          • Scenario.get_parset()
          • Scenario.get_progset()
          • Scenario.parsetname
          • Scenario.progsetname
          • Scenario.run()
    • atomica.system
      • atomica.system.atomica_path
        • atomica_path()
      • atomica.system.FrameworkSettings
        • FrameworkSettings
      • atomica.system.NotFoundError
        • NotFoundError
    • atomica.utils
      • atomica.utils.datetime_to_year
        • datetime_to_year()
      • atomica.utils.evaluate_plot_string
        • evaluate_plot_string()
      • atomica.utils.format_duration
        • format_duration()
      • atomica.utils.get_sigfigs_necessary
        • get_sigfigs_necessary()
      • atomica.utils.nested_loop
        • nested_loop()
      • atomica.utils.parallel_progress
        • parallel_progress()
      • atomica.utils.parent_dir
        • parent_dir()
      • atomica.utils.start_logging
        • start_logging()
      • atomica.utils.stop_logging
        • stop_logging()
      • atomica.utils.NDict
        • NDict
          • NDict.__add__()
          • NDict.append()
          • NDict.clear()
          • NDict.copy()
          • NDict.dict_items()
          • NDict.dict_keys()
          • NDict.dict_values()
          • NDict.disp()
          • NDict.enumitems()
          • NDict.enumkeys()
          • NDict.enumvals()
          • NDict.enumvalues()
          • NDict.export()
          • NDict.filter()
          • NDict.filtervals()
          • NDict.findbykey()
          • NDict.findbyval()
          • NDict.findkeys()
          • NDict.fromeach()
          • NDict.fromkeys()
          • NDict.get()
          • NDict.getnested()
          • NDict.index()
          • NDict.insert()
          • NDict.items()
          • NDict.iteritems()
          • NDict.iternested()
          • NDict.keys()
          • NDict.make()
          • NDict.makefrom()
          • NDict.makenested()
          • NDict.map()
          • NDict.pop()
          • NDict.popitem()
          • NDict.promote()
          • NDict.remove()
          • NDict.rename()
          • NDict.reverse()
          • NDict.reversed()
          • NDict.setdefault()
          • NDict.setitem()
          • NDict.setnested()
          • NDict.sort()
          • NDict.sorted()
          • NDict.toeach()
          • NDict.update()
          • NDict.valind()
          • NDict.values()
      • atomica.utils.NamedItem
        • NamedItem
      • atomica.utils.Quiet
        • Quiet
      • atomica.utils.TimeSeries
        • TimeSeries
          • TimeSeries.assumption
          • TimeSeries.copy()
          • TimeSeries.get()
          • TimeSeries.get_arrays()
          • TimeSeries.has_data
          • TimeSeries.has_time_data
          • TimeSeries.insert()
          • TimeSeries.interpolate()
          • TimeSeries.remove()
          • TimeSeries.remove_after()
          • TimeSeries.remove_before()
          • TimeSeries.remove_between()
          • TimeSeries.sample()
          • TimeSeries.sigma
          • TimeSeries.t
          • TimeSeries.units
          • TimeSeries.vals
    • atomica.version
    • atomica.yaml_calibration
      • atomica.yaml_calibration.build
        • build()
      • atomica.yaml_calibration.run
        • run()
      • atomica.yaml_calibration.BaseNode
        • BaseNode
          • BaseNode.apply()
          • BaseNode.validate()
      • atomica.yaml_calibration.CalibrationNode
        • CalibrationNode
          • CalibrationNode.apply()
          • CalibrationNode.validate()
      • atomica.yaml_calibration.ClearInitializationNode
        • ClearInitializationNode
          • ClearInitializationNode.apply()
          • ClearInitializationNode.validate()
      • atomica.yaml_calibration.InitializationNode
        • InitializationNode
          • InitializationNode.apply()
          • InitializationNode.validate()
      • atomica.yaml_calibration.SaveCalibrationNode
        • SaveCalibrationNode
          • SaveCalibrationNode.apply()
          • SaveCalibrationNode.validate()
      • atomica.yaml_calibration.SectionNode
        • SectionNode
          • SectionNode.apply()
          • SectionNode.validate()
Atomica
  • atomica
  • atomica.model
  • atomica.model.TimedLink

atomica.model.TimedLink¶

class atomica.model.TimedLink(pop, parameter, source, dest)[source]¶

Bases: Link

A TimedLink connects two TimedCompartments

A TimedLink should be used between two TimedCompartments if it is important to preserve the ‘time until forced removal’ when making the transition. For example, a vaccinated individual with 3 years of protection remaining may need to move to a vaccinated+latent state, for instance. In that case, they would still have 3 years remaining in vaccinated+latent.

The value for the TimedLink corresponds to the number of people in each time bin from the source compartment. If there is a mismatch in durations across the TimedLink endpoints, it is up to the destination compartment to resolve them.

A TimedLink should _not_ be used for the timed outflow of a TimedCompartment as people flowing out of a timed outflow all originate at the same time.

Attributes

name

Variable code name

vals

Link total flow

id

Unique identifier for the integration object

units

The units for the quantity, used for plotting and for validation.

pop

Reference back to the Population containing this object

Methods

create

Create and wire up a new link

plot

Produce a time series plot

preallocate

Preallocate data storage

relink

set_dynamic

Make the variable a dependency

unlink

update

Updated link flow rate

classmethod create(pop, parameter, source, dest)¶

Create and wire up a new link

This method instantiates a Link (including of derived types) and also wires it up to the population, parameter, source, and destination compartments. This allows the Link constructor to be used without needing the entire population infrastructure

Parameters:
  • pop – A Population instance that will contain the new Link

  • parameter – A Parameter instance that will supply values for the new Link

  • source – A Compartment instance to transfer from

  • dest – A Compartment instance to transfer to

Returns:

The newly created Link instance

id¶

Unique identifier for the integration object

property name: str¶

Variable code name

This is implemented as a property method because the id of the Variable is a tuple containing the population name and the variable code name, so this property method returns just the variable code name portion. That way, storage does not need to be duplicated.

Returns:

A code name

plot()¶

Produce a time series plot

This is a quick function to make a basic line plot of this Variable. Mainly intended for debugging. Production-ready plots should be generated using the plotting library functions instead

pop¶

Reference back to the Population containing this object

preallocate(tvec, dt)[source]¶

Preallocate data storage

Note that TimedLinks preallocate their internal storage based on the preallocated size of the source TimedCompartment. Therefore, it must be preallocated after the compartments have been preallocated.

Parameters:
  • tvec (array) – An array of time values

  • dt (float) – Time step size

Return type:

None

set_dynamic(**kwargs)¶

Make the variable a dependency

For Compartments and Links, this does nothing. For Characteristics and Parameters, it will set the dynamic flag, but in addition, any validation constraints e.g. a Parameter that depends on Links cannot itself be dynamic, will be enforced.

This method generally must be overloaded in derived classes e.g. Parameter.set_dynamic()

Return type:

None

units¶

The units for the quantity, used for plotting and for validation. Note that the default 'unknown' units are distinct to dimensionless units, which have value ''

update(ti, converted_frac)[source]¶

Updated link flow rate

For TimedLink instances, we update at all of the time indices

Parameters:
  • ti (int) – Time index to update

  • converted_frac (float) – The fraction of the source compartment to move (the parent parameter value, converted to timestep fraction)

Return type:

None

property vals: array¶

Link total flow

This returns link outflow obtained by summing over the people in each time bin at each point in time

Returns:

A numpy array with the link flow rate

Previous Next

© Copyright 2025, Atomica Team.

Built with Sphinx using a theme provided by Read the Docs.