Skip to content

Commit

Permalink
Finalized code for public release
Browse files Browse the repository at this point in the history
  • Loading branch information
jpes707 committed Sep 1, 2020
2 parents 9fa0efb + b5dcf55 commit 1e10237
Show file tree
Hide file tree
Showing 14 changed files with 18,760 additions and 3 deletions.
39 changes: 39 additions & 0 deletions config-files/sigspatial-trials/1-3-1.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
[Settings]

# preliminary parameters
LOCALITY = 'Fairfax' # can be a county, borough, or parish; independent cities (e.g. Baltimore City) are not currently compatible
STATE_ABBR = 'VA' # state abbreviation of where the locality is located
WEEK = '2019-10-28' # start date of the week to base data off of, must be a Monday
NUM_TOPICS = 1 # number of Latent Dirichlet Allocation (LDA) topics
MAXIMUM_NUMBER_OF_MAPPED_POIS = 100 # the top MAXIMUM_NUMBER_OF_MAPPED_POIS for each topic will appear on the topic to poi map
RANDOM_SEED = 1 # SETTING THIS TO 0 USES THE SYSTEM CLOCK!! random seed for all random events in this script
PROPORTION_OF_POPULATION = 0.1 # 0.2 => 20% of the actual population is simulated, a number lower than 1 will cause the curve to "flatten" because all POIs are still simulated
PROPENSITY_TO_LEAVE = 1 # 0.2 => people are only 20% as likely to leave the house as compared to normal

# agent generation parameters
SIMULATION_TICKS_PER_HOUR = 4 # integer, number of ticks per simulation "hour"
ORIGIN_CBG = '510594804023' # only agents in this CBG will begin with the virus, to include all CBGs use 'random'
PROPORTION_INITIALLY_INFECTED = 0.25 # 0.05 => 5% of the origin CBG (or the entire population if ORIGIN_CBG == 'random') is initially infected or exposed
ALPHA = 0 # 0.4 => 40% of the population is quarantined in their house for the duration of the simulation

# runtime parameters
MAX_DWELL_TIME = 16 # maximum dwell time at any POI (hours)
NUMBER_OF_DWELL_SAMPLES = 5 # a higher number decreases POI dwell time variation and allows less outliers
MAXIMUM_INTERACTIONS_PER_TICK = 5 # integer, maximum number of interactions an infected person can have with others per tick
MINIMUM_INTERVENTION_PROPORTION = 0 # 0.1 => all below interventions begin when 10% of the simulated population is infected
SYMPTOMATIC_QUARANTINES = False # if True, quarantines all newly-infected agents upon showing symptoms after the MINIMUM_INTERVENTION_PROPORTION is reached
HOUSEHOLD_QUARANTINES = False # if True, all household members will quarantine if an agent in their household also quarantines due to symptoms
QUARANTINE_DURATION = 10 # number of days a symptomatic-induced quarantine lasts
CLOSED_POI_TYPES = {} # closes the following POI types (from SafeGraph Core Places "sub_category") after the MINIMUM_INTERVENTION_PROPORTION is reached

# virus parameters
# For COVID-19, a close contact is defined as ay individual who was within 6 feet of an infected person for at least 15 minutes starting from 2 days before illness onset (or, for asymptomatic patients, 2 days prior to positive specimen collection) until the time the patient is isolated. (https://www.cdc.gov/coronavirus/2019-ncov/php/contact-tracing/contact-tracing-plan/contact-tracing.html)
percent_asymptomatic = 0.4 # (recommended: 0.4) https://www.cdc.gov/coronavirus/2019-ncov/hcp/planning-scenarios.html
secondary_attack_rate = 0.07 # (recommended: 0.05) chance of contracting the virus on close contact with someone, DO NOT DIVIDE BY SIMULATION_TICKS_PER_HOUR https://jamanetwork.com/journals/jama/fullarticle/2768396
asymptomatic_relative_infectiousness = 0.75 # (recommended: 0.75) https://www.cdc.gov/coronavirus/2019-ncov/hcp/planning-scenarios.html
distribution_of_exposure = scipy.stats.gamma(4, 0, 0.75) # (recommended: 4, 0, 0.75) gamma distribution of the duration (days) between exposure and infectiousness, k=4 μ=3 => midpoint is 2.754 days https://www.nature.com/articles/s41591-020-0962-9
distribution_of_preclinical = scipy.stats.gamma(4, 0, 0.525) # (recommended: 4, 0, 0.525) gamma distribution of the duration (days) between infectiousness and symptoms for symptomatic cases, k=4 μ=2.1 => midpoint is 1.928 days https://www.nature.com/articles/s41591-020-0962-9
distribution_of_clinical = scipy.stats.gamma(4, 0, 0.725) # (recommended: 4, 0, 0.725) gamma distribution of the duration (days) between symptoms and non-infectiousness (recovery) for symptomatic cases, k=4 μ=2.9 => midpoint is 2.662 days https://www.nature.com/articles/s41591-020-0962-9
distribution_of_subclinical = scipy.stats.gamma(4, 0, 1.25) # (recommended: 4, 0, 1.25) gamma distribution of the duration (days) between infectiousness and non-infectiousness (recovery) for asymptomatic cases, k=4 μ=5 => midpoint is 4.590 days https://www.nature.com/articles/s41591-020-0962-9
total_chance_of_small_household_transmission = 0.204 # (recommended: 0.091) chance of an infected agent spreading the virus to a given household member over the agent's entire period of infection when the household size is six or less https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30471-0/fulltext
total_chance_of_large_household_transmission = 0.091 # (recommended: 0.204) chance of an infected agent spreading the virus to a given household member over the agent's entire period of infection when the household size is more than six https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30471-0/fulltext
39 changes: 39 additions & 0 deletions config-files/sigspatial-trials/1-3-10.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
[Settings]

# preliminary parameters
LOCALITY = 'Fairfax' # can be a county, borough, or parish; independent cities (e.g. Baltimore City) are not currently compatible
STATE_ABBR = 'VA' # state abbreviation of where the locality is located
WEEK = '2019-10-28' # start date of the week to base data off of, must be a Monday
NUM_TOPICS = 10 # number of Latent Dirichlet Allocation (LDA) topics
MAXIMUM_NUMBER_OF_MAPPED_POIS = 100 # the top MAXIMUM_NUMBER_OF_MAPPED_POIS for each topic will appear on the topic to poi map
RANDOM_SEED = 1 # SETTING THIS TO 0 USES THE SYSTEM CLOCK!! random seed for all random events in this script
PROPORTION_OF_POPULATION = 0.1 # 0.2 => 20% of the actual population is simulated, a number lower than 1 will cause the curve to "flatten" because all POIs are still simulated
PROPENSITY_TO_LEAVE = 1 # 0.2 => people are only 20% as likely to leave the house as compared to normal

# agent generation parameters
SIMULATION_TICKS_PER_HOUR = 4 # integer, number of ticks per simulation "hour"
ORIGIN_CBG = '510594804023' # only agents in this CBG will begin with the virus, to include all CBGs use 'random'
PROPORTION_INITIALLY_INFECTED = 0.25 # 0.05 => 5% of the origin CBG (or the entire population if ORIGIN_CBG == 'random') is initially infected or exposed
ALPHA = 0 # 0.4 => 40% of the population is quarantined in their house for the duration of the simulation

# runtime parameters
MAX_DWELL_TIME = 16 # maximum dwell time at any POI (hours)
NUMBER_OF_DWELL_SAMPLES = 5 # a higher number decreases POI dwell time variation and allows less outliers
MAXIMUM_INTERACTIONS_PER_TICK = 5 # integer, maximum number of interactions an infected person can have with others per tick
MINIMUM_INTERVENTION_PROPORTION = 0 # 0.1 => all below interventions begin when 10% of the simulated population is infected
SYMPTOMATIC_QUARANTINES = False # if True, quarantines all newly-infected agents upon showing symptoms after the MINIMUM_INTERVENTION_PROPORTION is reached
HOUSEHOLD_QUARANTINES = False # if True, all household members will quarantine if an agent in their household also quarantines due to symptoms
QUARANTINE_DURATION = 10 # number of days a symptomatic-induced quarantine lasts
CLOSED_POI_TYPES = {} # closes the following POI types (from SafeGraph Core Places "sub_category") after the MINIMUM_INTERVENTION_PROPORTION is reached

# virus parameters
# For COVID-19, a close contact is defined as ay individual who was within 6 feet of an infected person for at least 15 minutes starting from 2 days before illness onset (or, for asymptomatic patients, 2 days prior to positive specimen collection) until the time the patient is isolated. (https://www.cdc.gov/coronavirus/2019-ncov/php/contact-tracing/contact-tracing-plan/contact-tracing.html)
percent_asymptomatic = 0.4 # (recommended: 0.4) https://www.cdc.gov/coronavirus/2019-ncov/hcp/planning-scenarios.html
secondary_attack_rate = 0.07 # (recommended: 0.05) chance of contracting the virus on close contact with someone, DO NOT DIVIDE BY SIMULATION_TICKS_PER_HOUR https://jamanetwork.com/journals/jama/fullarticle/2768396
asymptomatic_relative_infectiousness = 0.75 # (recommended: 0.75) https://www.cdc.gov/coronavirus/2019-ncov/hcp/planning-scenarios.html
distribution_of_exposure = scipy.stats.gamma(4, 0, 0.75) # (recommended: 4, 0, 0.75) gamma distribution of the duration (days) between exposure and infectiousness, k=4 μ=3 => midpoint is 2.754 days https://www.nature.com/articles/s41591-020-0962-9
distribution_of_preclinical = scipy.stats.gamma(4, 0, 0.525) # (recommended: 4, 0, 0.525) gamma distribution of the duration (days) between infectiousness and symptoms for symptomatic cases, k=4 μ=2.1 => midpoint is 1.928 days https://www.nature.com/articles/s41591-020-0962-9
distribution_of_clinical = scipy.stats.gamma(4, 0, 0.725) # (recommended: 4, 0, 0.725) gamma distribution of the duration (days) between symptoms and non-infectiousness (recovery) for symptomatic cases, k=4 μ=2.9 => midpoint is 2.662 days https://www.nature.com/articles/s41591-020-0962-9
distribution_of_subclinical = scipy.stats.gamma(4, 0, 1.25) # (recommended: 4, 0, 1.25) gamma distribution of the duration (days) between infectiousness and non-infectiousness (recovery) for asymptomatic cases, k=4 μ=5 => midpoint is 4.590 days https://www.nature.com/articles/s41591-020-0962-9
total_chance_of_small_household_transmission = 0.204 # (recommended: 0.091) chance of an infected agent spreading the virus to a given household member over the agent's entire period of infection when the household size is six or less https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30471-0/fulltext
total_chance_of_large_household_transmission = 0.091 # (recommended: 0.204) chance of an infected agent spreading the virus to a given household member over the agent's entire period of infection when the household size is more than six https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30471-0/fulltext
39 changes: 39 additions & 0 deletions config-files/sigspatial-trials/1-3-50.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
[Settings]

# preliminary parameters
LOCALITY = 'Fairfax' # can be a county, borough, or parish; independent cities (e.g. Baltimore City) are not currently compatible
STATE_ABBR = 'VA' # state abbreviation of where the locality is located
WEEK = '2019-10-28' # start date of the week to base data off of, must be a Monday
NUM_TOPICS = 50 # number of Latent Dirichlet Allocation (LDA) topics
MAXIMUM_NUMBER_OF_MAPPED_POIS = 100 # the top MAXIMUM_NUMBER_OF_MAPPED_POIS for each topic will appear on the topic to poi map
RANDOM_SEED = 1 # SETTING THIS TO 0 USES THE SYSTEM CLOCK!! random seed for all random events in this script
PROPORTION_OF_POPULATION = 0.1 # 0.2 => 20% of the actual population is simulated, a number lower than 1 will cause the curve to "flatten" because all POIs are still simulated
PROPENSITY_TO_LEAVE = 1 # 0.2 => people are only 20% as likely to leave the house as compared to normal

# agent generation parameters
SIMULATION_TICKS_PER_HOUR = 4 # integer, number of ticks per simulation "hour"
ORIGIN_CBG = '510594804023' # only agents in this CBG will begin with the virus, to include all CBGs use 'random'
PROPORTION_INITIALLY_INFECTED = 0.25 # 0.05 => 5% of the origin CBG (or the entire population if ORIGIN_CBG == 'random') is initially infected or exposed
ALPHA = 0 # 0.4 => 40% of the population is quarantined in their house for the duration of the simulation

# runtime parameters
MAX_DWELL_TIME = 16 # maximum dwell time at any POI (hours)
NUMBER_OF_DWELL_SAMPLES = 5 # a higher number decreases POI dwell time variation and allows less outliers
MAXIMUM_INTERACTIONS_PER_TICK = 5 # integer, maximum number of interactions an infected person can have with others per tick
MINIMUM_INTERVENTION_PROPORTION = 0 # 0.1 => all below interventions begin when 10% of the simulated population is infected
SYMPTOMATIC_QUARANTINES = False # if True, quarantines all newly-infected agents upon showing symptoms after the MINIMUM_INTERVENTION_PROPORTION is reached
HOUSEHOLD_QUARANTINES = False # if True, all household members will quarantine if an agent in their household also quarantines due to symptoms
QUARANTINE_DURATION = 10 # number of days a symptomatic-induced quarantine lasts
CLOSED_POI_TYPES = {} # closes the following POI types (from SafeGraph Core Places "sub_category") after the MINIMUM_INTERVENTION_PROPORTION is reached

# virus parameters
# For COVID-19, a close contact is defined as ay individual who was within 6 feet of an infected person for at least 15 minutes starting from 2 days before illness onset (or, for asymptomatic patients, 2 days prior to positive specimen collection) until the time the patient is isolated. (https://www.cdc.gov/coronavirus/2019-ncov/php/contact-tracing/contact-tracing-plan/contact-tracing.html)
percent_asymptomatic = 0.4 # (recommended: 0.4) https://www.cdc.gov/coronavirus/2019-ncov/hcp/planning-scenarios.html
secondary_attack_rate = 0.07 # (recommended: 0.05) chance of contracting the virus on close contact with someone, DO NOT DIVIDE BY SIMULATION_TICKS_PER_HOUR https://jamanetwork.com/journals/jama/fullarticle/2768396
asymptomatic_relative_infectiousness = 0.75 # (recommended: 0.75) https://www.cdc.gov/coronavirus/2019-ncov/hcp/planning-scenarios.html
distribution_of_exposure = scipy.stats.gamma(4, 0, 0.75) # (recommended: 4, 0, 0.75) gamma distribution of the duration (days) between exposure and infectiousness, k=4 μ=3 => midpoint is 2.754 days https://www.nature.com/articles/s41591-020-0962-9
distribution_of_preclinical = scipy.stats.gamma(4, 0, 0.525) # (recommended: 4, 0, 0.525) gamma distribution of the duration (days) between infectiousness and symptoms for symptomatic cases, k=4 μ=2.1 => midpoint is 1.928 days https://www.nature.com/articles/s41591-020-0962-9
distribution_of_clinical = scipy.stats.gamma(4, 0, 0.725) # (recommended: 4, 0, 0.725) gamma distribution of the duration (days) between symptoms and non-infectiousness (recovery) for symptomatic cases, k=4 μ=2.9 => midpoint is 2.662 days https://www.nature.com/articles/s41591-020-0962-9
distribution_of_subclinical = scipy.stats.gamma(4, 0, 1.25) # (recommended: 4, 0, 1.25) gamma distribution of the duration (days) between infectiousness and non-infectiousness (recovery) for asymptomatic cases, k=4 μ=5 => midpoint is 4.590 days https://www.nature.com/articles/s41591-020-0962-9
total_chance_of_small_household_transmission = 0.204 # (recommended: 0.091) chance of an infected agent spreading the virus to a given household member over the agent's entire period of infection when the household size is six or less https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30471-0/fulltext
total_chance_of_large_household_transmission = 0.091 # (recommended: 0.204) chance of an infected agent spreading the virus to a given household member over the agent's entire period of infection when the household size is more than six https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30471-0/fulltext
86 changes: 86 additions & 0 deletions results/cbg-to-topic-maps/sigspatial-trials/1-3-1.html

Large diffs are not rendered by default.

Loading

0 comments on commit 1e10237

Please sign in to comment.