---
tags: TODO
---
# TODO (started July 3)
### Martin:
### Front...Log:
- [ ] Add to track risk_attributes:
- [ ] intervened_behavior.is_under_quarantine
- [ ] intervened_behavior.current_behavior_reasons
- [ ] Make an aggregate plot like presymptomatic curves but for symptomatic
- [ ] finish reviewing the debug plots
- [ ] fix missing plot in baseball cards
- [ ] run compute p_covid
- [ ] message reza ab out his PR
#### Backlog:
- [ ] fix skipped tests
- [ ]
- [ ] refactor reset_index_cases
- [ ] add hospitalizations and deaths to intervention_impact
- [ ] add intervention_impact plot
- [ ] add test for conf['_MEAN_DAILY_UNKNOWN_CONTACTS'], INTERVENTION_START_TIME
- [ ] try an experiment with a larger number of people and try to reduce the random network.
- [ ] add testing and hospitalazation details to epi paper by Thursday
- [ ] create a metric which calculates the amount of time between infection and sending a risk message above 10, and look at heuristicv1 and bdt1.
- [ ] run pareto front
- [ ] fix utils `copy_obj_except_env` will break baseball cards
- [ ] plot p(covid | symptom)
- [ ] prevalence estimation for covid
- Tuning:
- [ ] reduce at home contacts between high risk people
- [ ] reduce mobility with orange level
- [ ] subtract 4 instead of 5 in heuristic in messaging
- [ ] fix presymptomatic plot for heuristic
- Bugfixes:
- [ ] go thru and answer their questions https://docs.google.com/document/d/1QE05BBJI-zD0Qt08_O72y2iFb6LJP-35DOC-xD0AMPU/edit#heading=h.oa0aoxa5nsgw
- Experiments:
- [ ] pareto plot where we vary global mobility (as x-axis)
- DevOps:
- [ ] Do a pass of open issues
- Parallelism / Real-world maps
- [ ] Partition graph in [CityGraph](https://github.com/MPI-IS/CityGraph) for multiprocessing
- [ ] Decide whether we 1) use CityGraph as an imported package and heavily modify it, 2) install it from source and heavily modify it, 3) re-implement some of its functionality in our codebase. Need to do a huge merge of City and Location.
### Akshay
- [ ] Add more pre-existing conditions (heart disease, diabetes, obesity, smoking and chronic kidney disease). You can find the [% on p.26 of the shared google doc](https://docs.google.com/document/d/1QE05BBJI-zD0Qt08_O72y2iFb6LJP-35DOC-xD0AMPU/edit), under "Prevalence in the general population" \
- [ ] Symptoms translate to markov chain
- [ ] Implement dynamic change in mixing to align with real-world data
### Victor
### Meng
- [ ] Replace effective contacts with risky contacts in pareto plot
- [ ] Squash columns to have presymptomatic, susceptible and delta as different colored bars
### Prateek
- [ ] hospital numbers
- [ ] school numbers
- [x] Submit PR for contact mixing changes
- [x] Fix interventions
- [x] Tune the sim for interventions
### Tegan
- [ ] Update/fix symptoms and pre-existing conditions (if-statement version)
- [ ] Fix clipping of infectiousness_onset (and incubation_days?)
- [ ] shift and reduce mean instead of clipping
- [ ] check beta with Eilif
- [ ] “Cohort Ro” look at % infected for has_app vs not
- [ ] Run with heuristic to see if above changes are "significant", possibly merge for arxiv version
### Nasim
- [ ] add dropin to simulator
- [ ] hold adoption stationary at 60% and vary GLOBAL_MOBILITY_SCALING_FACTOR between 0.001 and 1. then plot it
## Alg
- Estimate prevalence of disease using predicted infectiousness (sort of similar to GAEN ML server counter)
- (1 - prevalence) * some hyperparameter gives us proportion of population which is not in jail. "how agressive is the policy"
- Take histogram of infectiousness and select the threshold which produces the corret number of "green" level
- proportion of rec level 1 vs 2 and 3 are additional hyper-parameters
- Experiments:
- [ ] Find out if predicting Viral Load and multiplier separately helps (need plotting scripts for eval in the loop)
- [ ] Find out if factorizing $P(C | D, Data) = P(C | D) P(D | Data)$ helps, where $C$ is contagiousness, $D$ is days since exposure and $Data$ includes contacts, PEC, symptoms, etc.
- [ ] Integrate city-wide hospitalizations and case counts into predictor and train model
- [ ] Integrate GT prevalence into predictor and train model
### Eilif
- Write Cisco Grant (pair w/ martin)
DONE:
- [x] debug current pareto plots
- [x] integrate wandb with plot scripts
- [x] remove plots each run
- [x] have plot dir
- [x] add way to compare multiple transformers with different weights and/or rec level maps
- [x] enable Transformer and Oracle pareto plots to work
- [x] Get datasets to nasim for retraining (narrower DR, no DR, perfect clustering)
- [x] Fix legend / colors in pareto all_adoption
- [x] expand width of pareto adoption figure
- [x] make jellybean uptake 2 wide
- [x] make pre-symptomatic plot be allowed to select just 1 vertical
- [x] Create an example experiment (markdown + images) on hackmd
- [x] integrate SpyHumansPro notebook with victor scripts
- [x] create a new metric which assigns a weight to each recommendation and computes the (number of infections in unmitigated - current method) / weighted restriction
- [x] be able to run `python src/covid19sim/job_scripts/random_search.py exp_file=app_adoption weights_dir=/home/mweiss10/scratch/weights/ outdir=/home/mweiss10/simulator/results/pop2/40k` but for _each_ experiment. Like get to run this 1 time for a bunch of exps.
- [x] Run unmitigated with 1k, 3k, 5k, 10k, 20k population
- [x] Compare TWILIGHT-RAIN experiments with Refactor branch results to ensure I didn't break anything (so we can merge it)
- [x] fix normalization script
- [x] visualize double stuffed transformer
- [x] move repo from covi-canada to mila-iqia (!!!)
- [x] Create wiki page for writeup of v1 efficiency metric
- [x] add plot_generation_time.py and plot_epi_table.py to main.py
- [x] do a pass of open experiments
- [x] Run Nasim's transformers
- [x] run experiment with no covid
- [x] fix tests
- [x] Get akshay added to repository
- [x] fix jellybean width issue
- [x] visualize normalized plots
- [x] normalize nasim's transformers
- [x] Visualize nasim's transformers
- [x] visualize no covid experiment
- [x] merge more PRs
- [x] mkdir jellybeans and pareto_adoption in plotting
- [x] autogenerate markdown report
- [x] Download the repository and get it running (and ask martin if it doesn't work)
- [x] Load and visualize the [historical case and hospitalization counts for montreal](https://docs.google.com/spreadsheets/d/1F98IwKdO5dDdhhALnURsANPCqS6AP6uCYeqsX0JoArI/edit#gid=1889102279)
- [x] mkdir jellybeans and pareto_adoption in plotting
- [x] Make decision about changing performance (prs)
- [x] write script to go through each run on beluga, make a directory named pop_10000_sick_002_mobility_02/ and write the images into it. Need to go in srun for it
- [x] merge https://github.com/mila-iqia/covi-simulator/pull/8 but also add a second path for writing out datasets. or ask nasim to add an hdf5 reader
- [x] vary init percent sick and GLOBAL_MOBILITY for 10k pop (running)
- [x] merge https://github.com/mila-iqia/covi-simulator/pull/25 and https://github.com/mila-iqia/covi-simulator/pull/26
- [x] Integrate baseball cards
- [x] Writeup wiki for infection chains
- [x] make baseball cards for people in the infetion chains
- [x] replace p_never recovers with [this table]( https://www.quebec.ca/en/health/health-issues/a-z/2019-coronavirus/situation-coronavirus-in-quebec/#c63033) and fix document / citation
- [x] Reduce memory consumption of infection chain plot
- [x] Add plot of day of infection of the infector (like generation times)
- [x] Writeup report on Heuristic with baseball cards
- [x] Add infection chains and baseball plots to exps
- [x] Heuristic - should take max over risk levels (symptoms, received messages)
- [x] plotting:
- [x] put the severity of symptoms in the infection chain plot
- [x] observed symptoms instead of true
- [x] pull more chains (10)
- [x] get random chain should have more randomness (don't get first)
- [x] fix viral load clipping (generation time)
- [x] re-run pareto plots experiment (bdt1, heuristicv1)
- [x] make a new debug report
- [x] finish writing tests
- [x] update algorithm and pseudocode from yoshua's comments
- [x] re-generate debug datasets
- [x] fix presymptomatic plot printing
- [x] run normalization on aggregate stats on beluga
- [x] finish pareto plot with global scaling (push it)
- [x] Squash columns to have presymptomatic, susceptible and delta as different colored bars
- [x] add symptom dropin to main simulator
- [x] write two paragraphs and send to joanna
- [x] skip broken tests (that will take a long time and add a list of these)
- [x] fix the fucking github actions shit
- [x] glass-box test reza's code and merge https://github.com/mila-iqia/covi-simulator/pull/56
- [x] fix nasim's tests and merge his PR
- [x] fix tests on prateeks
- [x] review tegan's PR
- [x] wait for prateek to push his change to fix an assertion error
- [x] merge with develop
- [x] run main/ debug plots
## Exp analysis
- pop2/ (exp name)
- 1k (setting 1)
- 2k (setting 2)
- 5k (setting 3)
- 10k (setting 4)
- Param: n_people
- transformers/ (exp name)
- rosy-012 (setting 1)
- twilight-012 (setting 2)
- vague-012 (setting 3)
- Param: transformer weight
- rec_level/ (exp name)
- bdt1/
- heuristiv1/
- oracle/
- twilight-000
- twilight-012
- twilight-135
- Param: method / weight
### Joanna notes
- Asymptomatic / symptomatic changes the false negative rate of testing
- viral load affects false negative rate
- people with severe symptoms who have a negative covid test will be treated as positive
- healthcare workers and asymptomatic people (random) should be tested.
- testing will be dependent on what stage of the epidemic we are at (check joanna's docs)
### Meeting July 30
- RL / pareto metrics
- square of reduction of # contacts
- the # of symptomatic effects
- productivity? mental health?
- for any intervention, difference in the "extreme" benchmark values, e.g. %use of mask = 0% in unmitigated, 50% now, scale all these by the same coeff. which represents #
- masking
- social distance
- handwashing (?)
-