diff --git a/cara/apps/calculator/README.md b/cara/apps/calculator/README.md index 77393c1c..8450d166 100644 --- a/cara/apps/calculator/README.md +++ b/cara/apps/calculator/README.md @@ -103,12 +103,16 @@ There are three predefined activities in the tool at present. **Call Centre** = All persons seated, all talking simultaneously, all the time. This is a conservative profile (i.e. will show in increased ``P(i)`` compared to office/meeting) if used for office activity. -**Workshop** = Based on a mechanical assembly workshop, all persons are doing light exercise (standing, moving around, using tools) and talking. Everyone (occupants and infected occupants) is treated the same in this model. +**Lab** = Based on a typical lab or technical working area, all persons are doing light activity and talking 50% of the time. Everyone (occupants and infected occupants) is treated the same in this model. + +**Workshop** = Based on a mechanical assembly workshop or equipment installation scenario, all persons are doing moderate activity and talking 50% of the time. Everyone (occupants and infected occupants) is treated the same in this model. This model is equally applicable to bicycling, or walking on a gradient, in the LHC tunnels. **Training** = Based on a typical training course scenario. -One individual (the trainer) is doing light exercise (standing) and talking, with all other individuals seated and talking quietly (whispering). -In this case it is assumed that the infected person is the trainer, because this is the worst case in terms of viral sheeding. +One individual (the trainer) is standing and talking, with all other individuals seated and talking quietly (whispering). +In this case it is assumed that the infected person is the trainer, because this is the worst case in terms of viral sheding. +**Gym** = Included for comparison purposes only, all persons are doing heavy exercise and breathing (no talking). Everyone (occupants and infected occupants) is treated the same in this model. + ### Timings diff --git a/cara/apps/calculator/model_generator.py b/cara/apps/calculator/model_generator.py index 9ee7bd20..57f1301a 100644 --- a/cara/apps/calculator/model_generator.py +++ b/cara/apps/calculator/model_generator.py @@ -185,8 +185,16 @@ class FormData: {'Talking': 1, 'Breathing': self.total_people - 1} ), 'callcentre': ('Seated', 'Talking'), - 'training': ('Light exercise', 'Talking'), - 'workshop': ('Light exercise', 'Talking'), + 'training': ('Standing', 'Talking'), + 'lab': ( + 'Light activity', + #Model 1/2 of time spent talking in a lab. + {'Talking': 1, 'Breathing': 1}), + 'workshop': ( + 'Moderate activity', + #Model 1/2 of time spent talking in a workshop. + {'Talking': 1, 'Breathing': 1}), + 'gym':('Heavy exercise', 'Breathing'), } [activity_defn, expiration_defn] = scenario_activity_and_expiration[self.activity_type] @@ -210,8 +218,10 @@ class FormData: 'office': 'Seated', 'meeting': 'Seated', 'callcentre': 'Seated', - 'training': 'Light exercise', - 'workshop': 'Light exercise', + 'training': 'Seated', + 'workshop': 'Moderate activity', + 'lab':'Light activity', + 'gym':'Heavy exercise', } activity_defn = scenario_activity[self.activity_type] @@ -388,7 +398,7 @@ def baseline_raw_form_data(): } -ACTIVITY_TYPES = {'office', 'meeting', 'training', 'callcentre', 'workshop'} +ACTIVITY_TYPES = {'office', 'meeting', 'training', 'callcentre', 'workshop', 'lab', 'gym'} EVENT_TYPES = {'single_event', 'recurrent_event'} MECHANICAL_VENTILATION_TYPES = {'air_changes', 'air_supply', 'not-applicable'} MASK_TYPES = {'Type I', 'FFP2'} diff --git a/cara/apps/calculator/templates/calculator.form.html.j2 b/cara/apps/calculator/templates/calculator.form.html.j2 index 682dce11..a28fb5a8 100644 --- a/cara/apps/calculator/templates/calculator.form.html.j2 +++ b/cara/apps/calculator/templates/calculator.form.html.j2 @@ -113,9 +113,11 @@ + -
+ +
Start:    Finish:
@@ -196,7 +198,7 @@ Ventilation data: