def test_calib(): entry = sc.loadjson(calibfile)[0] params = sc.dcp(entry['pars']) params['rand_seed'] = int(entry['index']) scen = generate_scenarios()['all_remote'] testing = generate_testing()['None'] #testing[0]['delay'] = 0 for stype, spec in scen.items(): if spec is not None: spec['testing'] = testing scen['testing'] = testing scen['es']['verbose'] = scen['ms']['verbose'] = scen['hs'][ 'verbose'] = debug sim = cs.create_sim(params, pop_size=pop_size, folder=folder) sm = cvsch.schools_manager(scen) sim['interventions'] += [sm] sim.run(keep_people=debug) stats = evaluate_sim(sim) print(stats) if debug: sim.plot(to_plot='overview') #t = sim.make_transtree() else: sim.plot() cv.savefig('sim.png') return sim
def benchmark_schools(): entry = sc.loadjson(calibfile)[0] params = sc.dcp(entry['pars']) params['rand_seed'] = int(entry['index']) scen = generate_scenarios()['with_countermeasures'] testing = generate_testing()['Antigen every 2w, PCR f/u'] #testing[0]['delay'] = 0 for stype, spec in scen.items(): if spec is not None: spec['testing'] = testing scen['testing'] = testing scen['es']['verbose'] = scen['ms']['verbose'] = scen['hs']['verbose'] = debug sim = cs.create_sim(params, pop_size=pop_size, folder=folder, verbose=0.1) if use_intervention: sm = cvsch.schools_manager(scen) sim['interventions'] += [sm] sim.run(keep_people=debug) stats = evaluate_sim(sim) print(stats) if debug: sim.plot(to_plot='overview') #t = sim.make_transtree() else: sim.plot() #sim.save('test.sim') #cv.savefig('sim.png') return sim
# Ensure the population file exists if bypass and not os.path.exists(bypass_popfile): print(f'Population file {bypass_popfile} not found, recreating...') cvsch.make_population(pop_size=pop_size, rand_seed=params['rand_seed'], max_pop_seeds=5, popfile=bypass_popfile, do_save=True) # Create the scenarios divider = ' -- ' def joinkeys(skey, tkey): ''' Turn scenario and testing keys into a single key ''' return divider.join([skey, tkey]) def splitkey(key): ''' Oppostite of joinkeys() ''' return key.split(divider) scens = generate_scenarios() testings = generate_testing() s_keys = list(scens.keys()) t_keys = list(testings.keys()) n_scens = len(scens) n_testings = len(testings) all_scens = sc.odict() all_keys = [] for skey,origscen in scens.items(): for tkey,testing in testings.items(): scen = sc.dcp(origscen) for stype, spec in scen.items(): if spec is not None: spec['testing'] = testing scen['es']['verbose'] = scen['ms']['verbose'] = scen['hs']['verbose'] = debug all_scens[joinkeys(skey, tkey)] = scen
params = sc.dcp(entry['pars']) if rand_seed is None: params['rand_seed'] = int(entry['index']) else: params['rand_seed'] = rand_seed # Ensure the population file exists if not os.path.exists(bypass_popfile): print(f'Population file {bypass_popfile} not found, recreating...') cvsch.make_population(pop_size=pop_size, rand_seed=params['rand_seed'], max_pop_seeds=5, popfile=bypass_popfile, do_save=True) origscen = generate_scenarios()['as_normal'] testings = {'No testing': None, 'Antigen testing': { # Modify these values to explore different scenarios 'start_date': '2020-10-26', 'repeat': 14, 'groups': ['students', 'teachers', 'staff'], # No students 'coverage': 1, 'is_antigen': True, 'symp7d_sensitivity': 0.971, # https://www.fda.gov/media/141570/download 'other_sensitivity': 0.90, # Modeling assumption 'specificity': 0.985, # https://www.fda.gov/media/141570/download 'PCR_followup_perc': 0.0, 'PCR_followup_delay': 3.0, }}