Skip to content

Dynamic occupancy feature

Luis Aleixo requested to merge feature/dynamic_occupancy_UI into master

This MR introduces the possibility to define dynamic occupancy intervals both for the infected and exposed population.

Three new inputs were defined:

  • occupancy_format: 'static' - controls the way the model builds the infected and exposed population (based on the static vs. dynamic data)
  • dynamic_exposed_occupancy: NO_DEFAULT - input for the dynamic occupancy of the exposed population
  • dynamic_infected_occupancy: NO_DEFAULT - input for the dynamic occupancy of the infected population

If occupancy_format=='dynamic the expected data format for both the dynamic_exposed_occupancy and dynamic_infected_occupancy is as follows:

[
    {"total_people": 1, "start_time": "10:30", "finish_time": "11:30"}, 
    {"total_people": 0, "start_time": "11:30", "finish_time": "15:30"}, 
    {"total_people": 1, "start_time": "15:30", "finish_time": "16:30"}
]

... a list of occupancy intervals, with the keys total_people for the occupancy of that interval, stating from start_time and finishing at finish_time. Note that if dynamic occupancy is defined, inputs like total_people and everything break-related becomes not needed.

Note that this implementation introduces the possibility to define the dynamic occupancy through the user interface, but no visual elements were defined in the CERN CAiMIRA UI. The main goal is to include the inputs that allow the possibility for external dependencies to develop their own UI components.

With this implementation the probabilistic exposure calculations, as well as the expected number of new cases (and R0) were disabled from the results page (due to their dependency with a static occupancy).

Given that this MR only introduces a change on the way that the inputs are digested and the model format is similar, other results and dependencies on occupancy values are not compromised. In baseline_raw_form_data the inputs are sorted alphabetically.

One needs to evaluate if specific_breaks are required for external dependencies.

Dependent on MR !503 (merged)

Edited by Nicolas Mounet

Merge request reports