コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
# 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
コード例 #4
0
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,
            }}