---
# System prepended metadata

title: TODO (started July 3)
tags: [TODO]

---

---
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 (?)
 - 

