From 3e87c6cc191d5027600fed3aef212bf0643cf42a Mon Sep 17 00:00:00 2001 From: Luis Aleixo Date: Tue, 1 Mar 2022 10:56:17 +0100 Subject: [PATCH] Added correct types on short range for model generator and expert app --- cara/apps/calculator/model_generator.py | 17 ++++++----------- cara/apps/expert.py | 6 +++--- cara/monte_carlo/data.py | 2 +- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/cara/apps/calculator/model_generator.py b/cara/apps/calculator/model_generator.py index adbd189a..a48cb0ac 100644 --- a/cara/apps/calculator/model_generator.py +++ b/cara/apps/calculator/model_generator.py @@ -245,14 +245,9 @@ class FormData: else: humidity = 0.5 room = models.Room(volume=volume, humidity=humidity) - - if self.short_range_option == "short_range_no": - sr_presence=[] - sr_activities=[] - else: - sr_presence=self.short_range_intervals() - sr_activities=self.short_range_activities() - + + sr_presence=self.short_range_intervals() + sr_activities=self.short_range_activities() short_range_expirations = tuple(short_range_expiration_distributions[activity] for activity in sr_activities) # Initializes and returns a model with the attributes defined above @@ -643,14 +638,14 @@ class FormData: breaks=self.infected_lunch_break_times() + self.infected_coffee_break_times(), ) - def short_range_intervals(self) -> typing.Tuple[models.SpecificInterval]: + def short_range_intervals(self) -> typing.Tuple[models.SpecificInterval, ...]: if (self.short_range_interactions): short_range_intervals = [] for interaction in self.short_range_interactions: start_time = time_string_to_minutes(interaction['start_time']) duration = float(interaction['duration']) short_range_intervals.append(models.SpecificInterval((start_time/60, (start_time + duration)/60))) - return list(short_range_intervals) + return tuple(short_range_intervals) else: return () @@ -674,7 +669,7 @@ def build_expiration(expiration_definition) -> mc._ExpirationBase: np.array(expiration_BLO_factors[exp_type]) * weight/total_weight for exp_type, weight in expiration_definition.items() ], axis=0) - return expiration_distribution(tuple(BLO_factors)) + return expiration_distribution(BLO_factors=tuple(BLO_factors)) def baseline_raw_form_data(): diff --git a/cara/apps/expert.py b/cara/apps/expert.py index 33065bbe..208b3568 100644 --- a/cara/apps/expert.py +++ b/cara/apps/expert.py @@ -504,9 +504,9 @@ baseline_model = models.ExposureModel( evaporation_factor=0.3, ), short_range=models.ShortRangeModel( - presence=[], - expirations=[], - dilutions=[], + presence=(), + expirations=(), + dilutions=(), ), exposed=models.Population( number=10, diff --git a/cara/monte_carlo/data.py b/cara/monte_carlo/data.py index a81ea986..4e8c9206 100644 --- a/cara/monte_carlo/data.py +++ b/cara/monte_carlo/data.py @@ -159,7 +159,7 @@ mask_distributions = { def expiration_distribution( - BLO_factors: typing.Tuple[float, float, float], + BLO_factors, d_max=30., ) -> mc.Expiration: """