Link volume_per_person_* and size_per_individual_* by deriving volume from floor area × room height
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start by reading get_parameters() and the listed functions each_to_p_inf(), convert_ach_to_riskiness(), calculate_efficacy_from_ach(), generate_setting_intervention_switches(), and generate_joint_intervention_switches() to trace both parameter sets. The issue proposes replacing them with floor area and room height, then deriving volume while preserving the stated defaults. Done when both calculations use consistent room dimensions and Wells-Riley results remain unchanged.
Written by the indexing model from the issue text.
Description
Link volume_per_person_* and size_per_individual_* by deriving volume from floor area × room height
There are two separate parameter sets describing the physical space per person in each setting, and they aren’t connected:
volume_per_person_<setting>(m³ per person) is used in the Wells-Riley calculation (ach_to_p_inf(),convert_ach_to_riskiness(),calculate_efficacy_from_ach()).size_per_individual_<setting>is used whencoverage_target = "square_footage"(generate_setting_intervention_switches(),generate_joint_intervention_switches()).
The floor areas behind the volume defaults only exist as code comments in get_parameters(), and size_per_individual_* defaults to 1 everywhere:
So a user who changes one set doesn’t change the other. Square-footage coverage allocation and Wells-Riley infection risk can then assume different room sizes for the same setting.
Proposed fix
As discussed with @cwhittaker1000 in #142, replace both with:
floor_area_per_person_<setting>(m²): used directly for square-footage coverage allocation.room_height_<setting>(m).- Volume per person calculated as
floor_area_per_person_<setting> * room_height_<setting>, rather than set separately.
Defaults would be taken from the existing comments (10/2.7, 3.33/3, 2/4, 20/2.5), so Wells-Riley results don’t change.
- Dominant language
- R
- Stars
- 8
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from petal-code/helios
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
petal-code/helios#174 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
petal-code/helios#173 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
petal-code/helios#166 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
petal-code/helios#161 ·
-
run_simulation() is not reproducible from seed: the leisure draw uses dqrng's own RNGPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
petal-code/helios#157 · 1 comment ·
All issues in petal-code/helios
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 71/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
OHDSI/PatientLevelPrediction#688 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
rfordatascience/tidytuesday#1098 ·