numalariamodeling / covid-chicago

Simulating and analyzing Covid-19 transmission and hospital trends per region in Illinois.
https://illinoiscovid.org/
Apache License 2.0
8 stars 14 forks source link

add time event for testDelay to go down #341

Closed ManuelaRunge closed 4 years ago

ManuelaRunge commented 4 years ago
ManuelaRunge commented 4 years ago

Suggested edit in the emodl would have been as shown below, however as test delay is a sensitive parameter leading to negative counts easily, it is difficult to change it and cannot just be set to 0 for no test delay... even changing from 2 to 1 resulted in mostly negative counts and might not be practical to implement at this stage.

Emodl file

(param testDelay_1 @change_testDelay_time1@)
(time-event change_testDelay1 @time_to_detection_1@ ((time_D testDelay_1) ))
(time-event change_testDelay1 @time_to_detection_1@ ((time_D testDelay_1) (Ksys_D (/ 1 time_D)) (Ksym_D (/ 1 time_D)) (Kh1_D (/ fraction_hospitalized (- time_to_hospitalization time_D))) (Kh2_D (/ fraction_critical (- time_to_hospitalization time_D))) (Kh3_D (/ fraction_dead (- time_to_hospitalization time_D))) (Kr_m_D (/ 1 (- recovery_time_mild time_D )))   ))

Emodl generator

    change_testDelay_str = """
(param testDelay_1 @time_to_detection_1@)
(time-event change_testDelay1 @change_testDelay_time1@ ( {} {} {} {} {} {} {} ))
    """.format("(time_D testDelay_1)", 
               "(Ksys_D (/ 1 time_D))",
               "(Ksym_D (/ 1 time_D))",
               "(Kh1_D (/ fraction_hospitalized (- time_to_hospitalization time_D)))",
               "(Kh2_D (/ fraction_critical (- time_to_hospitalization time_D) ))",
               "(Kh3_D (/ fraction_dead (- time_to_hospitalization time_D)))",
               "(Kr_m_D (/ 1 (- recovery_time_mild time_D )))")
    if change_testDelay == True : 
        total_string = total_string.replace(';[ADDITIONAL_TIMEEVENTS]', change_testDelay_str)  

intervention_string = ";[INTERVENTIONS]\n;[ADDITIONAL_TIMEEVENTS]"