(2) Rate expression with piecewise:
"rate_expression": "piecewise((0.0, time >= 0.0), (2.0, time >= 1.0), (1.0, time >= 2.0), (0.0, time >= 3.0), (2.0, time >= 4.0), (1.0, time >= 5.0), (2.0, time >= 6.0), (3.0, time >= 7.0), (6.0, time >= 8.0), (2.0, time >= 9.0), (7.0, time >= 10.0), (10.0, time >= 11.0), (4.0, time >= 12.0), (10.0, time >= 13.0), (5.0, time >= 14.0), (11.0, time >= 15.0), (14.0, time >= 16.0), (14.0, time >= 17.0), (26.0, time >= 18.0), (34.0, time >= 19.0), (35.0, time >= 20.0), (45.0, time >= 21.0), (55.0, time >= 22.0), (38.0, time >= 23.0), (34.0, time >= 24.0), (24.0, time >= 25.0), (40.0, time >= 26.0), (16.0, time >= 27.0), (20.0, time >= 28.0), (12.0, time >= 29.0), (23.0, time >= 30.0), (14.0, time >= 31.0), (8.0, time >= 32.0), (14.0, time >= 33.0), (12.0, time >= 34.0), (5.0, time >= 35.0), (9.0, time >= 36.0), (6.0, time >= 37.0), (0.0, time >= 38.0), (0.0, time >= 39.0), (0.0, time >= 40.0), (0.0, time >= 1000.0))",
The stock-and-flow-type model for scenario 5 of the 18-month hackathon (found here: https://github.com/gyorilab/mira/blob/main/notebooks/hackathon_2024.02/scenario5/scenario_5_stockflow.json) has two features which cannot be simulated with TA3 tools. These are (1)
delay3i
and (2)piecewise
(see examples below). These should be implemented using interventions instead. Note thatMin
andMax
are fine.(1) Rate expression with
delay3i
:"rate_expression": "net_fr_fatality*delay3i(into_inf_sym_icu_overflow, delay_for_death, 0)",
(2) Rate expression with
piecewise
:"rate_expression": "piecewise((0.0, time >= 0.0), (2.0, time >= 1.0), (1.0, time >= 2.0), (0.0, time >= 3.0), (2.0, time >= 4.0), (1.0, time >= 5.0), (2.0, time >= 6.0), (3.0, time >= 7.0), (6.0, time >= 8.0), (2.0, time >= 9.0), (7.0, time >= 10.0), (10.0, time >= 11.0), (4.0, time >= 12.0), (10.0, time >= 13.0), (5.0, time >= 14.0), (11.0, time >= 15.0), (14.0, time >= 16.0), (14.0, time >= 17.0), (26.0, time >= 18.0), (34.0, time >= 19.0), (35.0, time >= 20.0), (45.0, time >= 21.0), (55.0, time >= 22.0), (38.0, time >= 23.0), (34.0, time >= 24.0), (24.0, time >= 25.0), (40.0, time >= 26.0), (16.0, time >= 27.0), (20.0, time >= 28.0), (12.0, time >= 29.0), (23.0, time >= 30.0), (14.0, time >= 31.0), (8.0, time >= 32.0), (14.0, time >= 33.0), (12.0, time >= 34.0), (5.0, time >= 35.0), (9.0, time >= 36.0), (6.0, time >= 37.0), (0.0, time >= 38.0), (0.0, time >= 39.0), (0.0, time >= 40.0), (0.0, time >= 1000.0))",