memilio icon indicating copy to clipboard operation
memilio copied to clipboard

379 implement ide model with age resolution

Open hatrit opened this issue 1 year ago • 0 comments

Changes and Information

Please briefly list the changes (main added features, changed items, or corrected bugs) made:

  • Added The Possibility to use Age Groups in the IDE SECIR Model
  • m_transitions is still a Time Series but at each time step we now store a Vector auf size number Transitions * num_agegroups.
  • In order to find the right Index in this Time series the function get_transition_flat_index was added.
  • m_populationss is still a Time Series but at each time step we now store a Vector auf size number Infection States * num_agegroups.
  • In order to find the right Index in this Time series the function get_state_flat_index was added.
  • m_N, m_forceofinfection, m_total_confirmed_cases are now vectors of size num_agegroups.
  • TransitionDistributions, TransitionProbabilities, TransmissionProbabilityOnContact, RelativeTransmissionNoSymptoms, RiskOfInfectionFromSymptomatic are now Custom Index Array.
  • In model.cpp we compute the Transtions and Compartments for each Age Group separately. The compution of the force_of_infection was slightly changed.
  • Added an Example using two Age Groups.
  • The test ide_secir.cpp still tests the same things as before and uses only one Age Group.
  • Added The Test File test_ide_secir_ageres.cpp where a Test to Compare with Previous run is implemented
  • Changed The Test File test_ide_secir_parameters_io.cpp. We now use the data from cases_all_age_ma7.json, therefore we are using 6 Age Groups.

If need be, add additional information and what the reviewer should look out for in particular:

Merge Request - Guideline Checklist

Please check our git workflow. Use the draft feature if the Pull Request is not yet ready to review.

Checks by code author

  • [x] Every addressed issue is linked (use the "Closes #ISSUE" keyword below)
  • [x] New code adheres to coding guidelines
  • [x] No large data files have been added (files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
  • [ ] Tests are added for new functionality and a local test run was successful (with and without OpenMP)
  • [ ] Appropriate documentation for new functionality has been added (Doxygen in the code and Markdown files if necessary)
  • [ ] Proper attention to licenses, especially no new third-party software with conflicting license has been added
  • [ ] (For ABM development) Checked benchmark results and ran and posted a local test above from before and after development to ensure performance is monitored.

Checks by code reviewer(s)

  • [ ] Corresponding issue(s) is/are linked and addressed
  • [ ] Code is clean of development artifacts (no deactivated or commented code lines, no debugging printouts, etc.)
  • [ ] Appropriate unit tests have been added, CI passes, code coverage and performance is acceptable (did not decrease)
  • [ ] No large data files added in the whole history of commits(files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
  • [ ] On merge, add 2-5 lines with the changes (main added features, changed items, or corrected bugs) to the merge-commit-message. This can be taken from the briefly-list-the-changes above (best case) or the separate commit messages (worst case).

Closes #379

hatrit avatar Aug 01 '24 12:08 hatrit