- extract, isolate and package it in a completely independent Python module, versioned and in a way that allows releases on PyPI.org - fixed error in placeholder for secondary school (data registry defaults) - added restriction in pytest version to install - expected number of new cases fix - data registry update (schema v2.1.1) - github update - deprecate ExpertApplication and CO2Application - changes to reflect schema update 2.0.2 - version update - Fixed error with f_inf (short-range) - new folder layout - Conditional probability data update - General fixes - Fitting results in L/S/person - CO2 fitting algorithm refinement
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
import numpy as np
|
|
import pytest
|
|
|
|
import caimira.calculator.models.models
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"override_params", [
|
|
{'viral_load_in_sputum': np.array([5e8, 1e9])},
|
|
{'exhalation_rate': np.array([0.75, 0.81])},
|
|
]
|
|
)
|
|
def test_infected_population_vectorisation(override_params, data_registry):
|
|
defaults = {
|
|
'viral_load_in_sputum': 1e9,
|
|
'exhalation_rate': 0.75,
|
|
}
|
|
defaults.update(override_params)
|
|
|
|
office_hours = caimira.calculator.models.models.SpecificInterval(present_times=[(8,17)])
|
|
infected = caimira.calculator.models.models.InfectedPopulation(
|
|
data_registry=data_registry,
|
|
number=1,
|
|
presence=office_hours,
|
|
mask=caimira.calculator.models.models.Mask(
|
|
factor_exhale=0.95,
|
|
η_inhale=0.3,
|
|
),
|
|
activity=caimira.calculator.models.models.Activity(
|
|
0.51,
|
|
defaults['exhalation_rate'],
|
|
),
|
|
virus=caimira.calculator.models.models.SARSCoV2(
|
|
viral_load_in_sputum=defaults['viral_load_in_sputum'],
|
|
infectious_dose=50.,
|
|
viable_to_RNA_ratio = 0.5,
|
|
transmissibility_factor=1.0,
|
|
),
|
|
expiration=caimira.calculator.models.models._ExpirationBase.types['Breathing'],
|
|
host_immunity=0.,
|
|
)
|
|
emission_rate = infected.emission_rate(10)
|
|
assert isinstance(emission_rate, np.ndarray)
|
|
assert emission_rate.shape == (2, )
|