From 28b5d01ab3a84031f542ef57e86d863221896511 Mon Sep 17 00:00:00 2001
From: James Devine
Date: Wed, 17 Mar 2021 10:34:06 +0000
Subject: [PATCH] New activity profiles for control rooms
---
cara/apps/calculator/model_generator.py | 14 +++++++++++++-
.../calculator/templates/calculator.form.html.j2 | 6 +++++-
cara/apps/calculator/templates/report.html.j2 | 4 ++++
cara/apps/calculator/templates/userguide.html.j2 | 2 ++
4 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/cara/apps/calculator/model_generator.py b/cara/apps/calculator/model_generator.py
index 42949fdb..14d30b45 100644
--- a/cara/apps/calculator/model_generator.py
+++ b/cara/apps/calculator/model_generator.py
@@ -215,6 +215,16 @@ class FormData:
# Mostly silent in the office, but 1/3rd of time talking.
{'Talking': 1, 'Breathing': 2}
),
+ 'controlroom-day': (
+ 'Seated',
+ # Daytime control room shift, 50% talking.
+ {'Talking': 1, 'Breathing': 1}
+ ),
+ 'controlroom-night': (
+ 'Seated',
+ # Nightshift control room, 10% talking.
+ {'Talking': 1, 'Breathing': 9}
+ ),
'meeting': (
'Seated',
# Conversation of N people is approximately 1/N% of the time talking.
@@ -253,6 +263,8 @@ class FormData:
def exposed_population(self) -> models.Population:
scenario_activity = {
'office': 'Seated',
+ 'controlroom-day': 'Seated',
+ 'controlroom-night': 'Seated',
'meeting': 'Seated',
'callcentre': 'Seated',
'library': 'Seated',
@@ -559,7 +571,7 @@ def baseline_raw_form_data():
}
-ACTIVITY_TYPES = {'office', 'meeting', 'training', 'callcentre', 'library', 'workshop', 'lab', 'gym'}
+ACTIVITY_TYPES = {'office', 'meeting', 'training', 'callcentre', 'controlroom-day', 'controlroom-night', 'library', 'workshop', 'lab', 'gym'}
MECHANICAL_VENTILATION_TYPES = {'mech_type_air_changes', 'mech_type_air_supply', 'not-applicable'}
MASK_TYPES = {'Type I', 'FFP2'}
MASK_WEARING_OPTIONS = {'mask_on', 'mask_off'}
diff --git a/cara/apps/calculator/templates/calculator.form.html.j2 b/cara/apps/calculator/templates/calculator.form.html.j2
index 0b641e19..9a281243 100644
--- a/cara/apps/calculator/templates/calculator.form.html.j2
+++ b/cara/apps/calculator/templates/calculator.form.html.j2
@@ -1,6 +1,6 @@
{% extends "layout.html.j2" %}
-{% set MODEL_VERSION="v1.5.0" %}
+{% set MODEL_VERSION="v1.5.1" %}
{% set DEBUG=False %}
{% set active_page="calculator/" %}
@@ -152,6 +152,8 @@
+
+
@@ -296,6 +298,8 @@
Office = all seated, talking 33% of the time,
Meeting = all seated, talking time shared between all persons,
Call Centre = all seated, continuous talking,
+
Control Room (day shift) = all seated, talking 50% of the time,
+
Control Room (night shift) = all seated, talking 10% of the time,
Library = all seated, no talking, just breathing,
Laboratory = light physical activity, talking 50% of the time,
Workshop = moderate physical activity, talking 50% of the time,
diff --git a/cara/apps/calculator/templates/report.html.j2 b/cara/apps/calculator/templates/report.html.j2
index 4e9eabf8..cb9628ae 100644
--- a/cara/apps/calculator/templates/report.html.j2
+++ b/cara/apps/calculator/templates/report.html.j2
@@ -112,6 +112,10 @@
Meeting – typical scenario with all persons seated, one person talking at a time.
{% elif form.activity_type == "callcentre" %}
Call Centre = typical office-like scenario with all persons seated, all talking continuously.
+ {% elif form.activity_type == "controlroom-day" %}
+ Control Room (Day Shift) = specific control room scenario, all persons seated, all talking 50% of the time.
+ {% elif form.activity_type == "controlroom-night" %}
+ Control Room (Night Shift) = specific control room scenario with all persons seated, all talking for 10% of the time.
{% elif form.activity_type == "library" %}
Library = Library scenario with all persons seated, breathing and not talking.
{% elif form.activity_type == "workshop" %}
diff --git a/cara/apps/calculator/templates/userguide.html.j2 b/cara/apps/calculator/templates/userguide.html.j2
index 6c5db938..d78295a6 100644
--- a/cara/apps/calculator/templates/userguide.html.j2
+++ b/cara/apps/calculator/templates/userguide.html.j2
@@ -93,6 +93,8 @@ Within the number of people occupying the space, you should specify how many are
Meeting = All persons seated, having a conversation (approximately each occupant is 1/N % of the time talking, where N is the number of occupants). Everyone (exposed and infected occupants) is treated the same in this model.
Library = All persons seated, breathing only (not talking), all the time.
Call Centre = All persons seated, all talking simultaneously, all the time. This is a conservative profile, i.e. will show an increased P(i) compared to office/meeting activity. Everyone (exposed and infected occupants) is treated the same in this model.
+
Control Room (day shift) = All persons seated, all talking 50% of the time. This is a conservative profile, i.e. will show an increased P(i) compared to office/meeting activity. Everyone (exposed and infected occupants) is treated the same in this model.
+
Control Room (night shift) = All persons seated, all talking 10% of the time. Everyone (exposed 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 (exposed 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. This activity is equally applicable to bicycling, or walking on a gradient, in the LHC tunnels. Everyone (exposed and infected occupants) is treated the same in this model.
Training = Based on a typical training course scenario.