reported_fractions = [] reported_fractions.append(Parameter('report_frac_0', 0.95, 0., 1., 'initial reported fraction', hidden=False)) for i in range(4): j = i+1 hidden = j!=1 reported_fractions.append(Parameter('report_frac_'+str(j), 0.96, 0., 1., 'reported fraction after mod '+str(j), hidden=hidden)) mod_reported_fraction_time = Parameter('report_frac_time_'+str(j), 50, 0, 800, 'time of mod reported frac '+str(j), parameter_type='int', hidden=hidden) mod_reported_fraction_nstep = Parameter('report_frac_nstep_'+str(j), -1, -1, 800, 'number of days to apply report_frac '+str(j)+' linear modification', parameter_type='int', hidden=hidden) bc_model.add_transition( Modifier('mod_report_frac_'+str(j), 'rel_days', mod_reported_fraction_time, reported_fraction, reported_fractions[i], reported_fractions[j], enabled=False, model=bc_model, linear = True, n_step=mod_reported_fraction_nstep)) # define boot parameters # ooooooooooooooooooooooo bc_model.boot_setup(contagious_pop, 0.1, exclusion_populations=[total_pop, susceptible_pop, susvaccan_pop, vaccan_pop]) bc_model.save_file('ref_model_2_8.pypm')
'number of days since t0 when outbreak_2 established', parameter_type='int', hidden=False) outbreak_2_number = Parameter('outbreak_2_number', 10., 0., 50000., 'number of infections in outbreak_2', hidden=False) bc_model.add_transition( Injector('outbreak_2', 'rel_days', outbreak_2_time, outbreak_pop, outbreak_2_number, enabled=False, model=bc_model)) outbreak_3_time = Parameter('outbreak_3_time', 41, 0, 100, 'number of days since t0 when outbreak_3 established', parameter_type='int', hidden=False) outbreak_3_number = Parameter('outbreak_3_number', 10., 0., 50000., 'number of infections in outbreak_3', hidden=False) bc_model.add_transition( Injector('outbreak_3', 'rel_days', outbreak_3_time, outbreak_pop, outbreak_3_number, enabled=False, model=bc_model)) # define boot parameters # ooooooooooooooooooooooo bc_model.boot_setup(contagious_pop, 1, exclusion_populations=[total_pop, susceptible_pop]) bc_model.save_file('ref_model_1.pypm')