diff --git a/cara/apps/calculator/model_generator.py b/cara/apps/calculator/model_generator.py index 8e92f361..e9557012 100644 --- a/cara/apps/calculator/model_generator.py +++ b/cara/apps/calculator/model_generator.py @@ -71,7 +71,6 @@ class FormData: virus_type: str volume_type: str windows_duration: float - windows_frequency: float window_height: float window_type: str window_width: float @@ -129,7 +128,6 @@ class FormData: 'window_height': 0., 'window_width': 0., 'windows_duration': 0., - 'windows_frequency': 0., 'windows_number': 0, 'window_opening_regime': 'windows_open_permanently', 'short_range_option': 'short_range_no', @@ -324,11 +322,11 @@ class FormData: return outside_temp def ventilation(self) -> models._VentilationBase: - always_on = models.PeriodicInterval(period=120, duration=120) + always_on = models.PeriodicInterval(period=60, duration=60) # Initializes a ventilation instance as a window if 'natural_ventilation' is selected, or as a HEPA-filter otherwise if self.ventilation_type == 'natural_ventilation': if self.window_opening_regime == 'windows_open_periodically': - window_interval = models.PeriodicInterval(self.windows_frequency, self.windows_duration, min(self.infected_start, self.exposed_start)/60) + window_interval = models.PeriodicInterval(60, self.windows_duration, min(self.infected_start, self.exposed_start)/60) else: window_interval = always_on @@ -717,7 +715,6 @@ def baseline_raw_form_data() -> typing.Dict[str, typing.Union[str, float]]: 'virus_type': 'SARS_CoV_2', 'volume_type': 'room_volume_explicit', 'windows_duration': '', - 'windows_frequency': '', 'window_height': '2', 'window_type': 'window_sliding', 'window_width': '2', diff --git a/cara/apps/calculator/static/js/form.js b/cara/apps/calculator/static/js/form.js index dc20b3b4..cc48a193 100644 --- a/cara/apps/calculator/static/js/form.js +++ b/cara/apps/calculator/static/js/form.js @@ -125,7 +125,6 @@ function require_natural_ventilation(option) { if (!option) { require_input_field("#window_width", option); require_input_field("#windows_duration", option); - require_input_field("#windows_frequency", option); } } @@ -146,9 +145,7 @@ function require_air_supply(option) { function require_venting(option) { require_input_field("#windows_duration", option); - require_input_field("#windows_frequency", option); set_disabled_status("#windows_duration", !option); - set_disabled_status("#windows_frequency", !option); } function require_lunch(id, option) { @@ -404,14 +401,13 @@ function validate_form(form) { } }); - //Validate window venting duration < venting frequency + //Validate window venting duration > 60 minutes. if (!$("#windows_duration").hasClass("disabled")) { var windowsDurationObj = document.getElementById("windows_duration"); - var windowsFrequencyObj = document.getElementById("windows_frequency"); - removeErrorFor(windowsFrequencyObj); + removeErrorFor(windowsDurationObj); - if (parseInt(windowsDurationObj.value) >= parseInt(windowsFrequencyObj.value)) { - insertErrorFor(windowsFrequencyObj, "Duration >= Frequency"); + if (parseInt(windowsDurationObj.value) > 60.) { + insertErrorFor(windowsDurationObj, "Duration > 60 minutes."); submit = false; } } diff --git a/cara/apps/templates/base/calculator.form.html.j2 b/cara/apps/templates/base/calculator.form.html.j2 index 294cda4f..19d73af7 100644 --- a/cara/apps/templates/base/calculator.form.html.j2 +++ b/cara/apps/templates/base/calculator.form.html.j2 @@ -237,9 +237,8 @@
Opening distance: {{ form.opening_distance }} m
Windows open: {% if form.window_opening_regime == "windows_open_periodically" %} - Periodically for {{ form.windows_duration | readable_minutes}} - every {{ form.windows_frequency | readable_minutes}} + Periodically for {{ form.windows_duration | readable_minutes}} every 1 hour. {% elif form.window_opening_regime == "windows_open_permanently" %} Permanently {% endif %} diff --git a/cara/apps/templates/base/userguide.html.j2 b/cara/apps/templates/base/userguide.html.j2 index 893637c2..8c03120f 100644 --- a/cara/apps/templates/base/userguide.html.j2 +++ b/cara/apps/templates/base/userguide.html.j2 @@ -95,7 +95,7 @@ If there are multiple windows of different sizes, you should take an average.
When using natural ventilation, the circulation of air is simulated as a function of the difference between the temperature inside the room and the outside air temperature. The average outdoor temperature for each hour of the day has been computed for every month of the year based on historical data for Geneva, Switzerland. It is therefore very important to enter the correct time and date in the event data section. -Finally, you must specify if the windows are open permanently (at all the times), or periodically (in intervals for a certain duration and frequency - both in minutes) - e.g. open the window for 10 minutes (duration) every 60 minutes (frequency).
+Finally, you must specify if the windows are open permanently (at all the times), or periodically (in intervals for a certain duration per hour - in minutes) - e.g. open the window for 10 minutes (duration) every 1 hour.