Skip to content

Releases: SciCompMod/memilio

v2.4.1

15 Jun 09:04
c2c884c

Choose a tag to compare

Added features / functionality:

  • (LCT) implement possibility of death from hospitalization without intensive care

Minor changes:

  • Windows VS2026 migration
  • Move build files into pycode/memilio-simulation and update actions

Merged pull requests

  • 1571 Windows VS2026 migration by @HenrZu in #1572
  • 1547 (LCT) implement possibility of death from hospitalization without intensive care by @annawendler in #1556
  • Move build files into pycode/memilio-simulation and update actions by @reneSchm in #1566

Full Changelog: v2.4.0...v2.4.1

v2.4.0

13 May 17:44
8851d5b

Choose a tag to compare

Added features / functionality:

  • Added generic country simulation that automatically downloads contact data for various countries from POLYMOD
  • ODE/IDE-based models with hospitalization: Added possibility of death from hospitalization without intensive care
  • Added ODE SEIR metapopulation model with implicit mobility
  • Added Python bindings for ODE SEIR metapopulation model
  • Added PyPI package for memilio-simulation
  • Added Graph Neural Networks
  • Added ODE model generator from yaml and toml template

General changes:

  • Improved functionality for DynamicNPIs
  • Use of ContactMatrix instead of CustomIndexArray for contact rates of ABM
  • Move output of examples to example_results

Corrections:

  • Corrected macOS import failure due to incorrect runtime library lookup (RPATH)
  • Fixed typos and bugs in documentation
  • Harmonized description of time series, infection states and other keywords in documentation
  • Added ScalarType to code examples in the documentation
  • Corrected use of the ABMs RNG after initialization
  • Corrected operation to act only on current system state and not on result time series in SMM

Minor changes:

  • Build benchmarks in CI
  • Switched to Doxysphinx
  • Removed log outputs from testing
  • Improved documentation of TypeSafe and derived types
  • Extended documentation
  • Build and test on MacOS
  • Replaced the deprecated FetchContent_Populate and increased CMake minimum version to 3.18.

Merged pull requests

  • 1478 Switch to Doxysphinx by @kilianvolmer in #1504
  • 1463 Remove log outputs from testing by @reneSchm in #1464
  • Add binding for clear_dampings by @HenrZu in #1509
  • Replace contact rates of ABM by ContactMatrix by @charlie0614 in #1516
  • 1442 Generic country Simulation by @HenrZu in #1466
  • 1520 Operate only on current system state and not on result time series in SMM by @jubicker in #1521
  • 1527 Improve documentation of TypeSafe and derived types by @HenrZu in #1528
  • 1508 (ODE) implement possibility of death from hospitalization without intensive care by @HenrZu in #1526
  • 1139 introduce improved GNN surrogate models by @mhheger in #1378
  • 1400 The ABMs RNG is not used after initialization by @reneSchm in #1534
  • 1027 Use FetchContent_MakeAvailable instead of FetchContent_Populate by @reneSchm in #1535
  • 1045 Build benchmarks in CI by @HenrZu in #1538
  • Extend documentation and fix typos and bugs in documentation by @mknaranja in #1531
  • 1003 implement ODE SEIR metapopulation model by @charlie0614 in #1273
  • 1519 memilio-simulation PyPI package by @annawendler in #1495
  • 1540 (IDE) Implement possibility of death from hospitalization without intensive care by @annawendler in #1542
  • 1543 harmonize description of time series infection states etc in documentation by @jubicker in #1545
  • 1549 macOS import fails due to incorrect runtime library lookup (RPATH) by @HenrZu in #1550
  • 1522 Improve DynamicNPI structure through harmonization across models and more options by @mknaranja in #1523
  • 1551 Build and test on MacOS by @reneSchm in #1552
  • 1429 move example output to example_results by @reneSchm in #1544
  • 1462 Add ScalarType to Code examples in the documentation by @annawendler in #1546
  • 1512 Generate ODE models from yaml template by @HenrZu in #1518
  • 1560 More supported countries in getContactData by @HenrZu in #1562
  • 1003 Add ode seir metapop bindings by @charlie0614 in #1554
  • 1564 Dynamic NPIs can create short lifting gaps at renewal time by @HenrZu in #1567

Full Changelog: v2.3.0...v2.4.0

v2.3.0

09 Mar 20:37
1bb1c1e

Choose a tag to compare

Added features / functionality:

  • Added SEIRDB model for EBOLA
  • Added Influenza model
  • Added LCT SECIR model with two disease strains
  • Enable SMM Model with generic indices
  • Generalize ParameterStudy for ODE models in python bindings
  • Simplify parameter IO and graph building with constructor
  • Make timers MPI compatible
  • Added Python bindings for get_times() function
  • Improved compile time of flows

General changes:

  • Deactivate SBML support by default
  • Add CMake option to allow building python simulation without HDF5
  • Accelerate add_edge() for large graphs
  • Normalize transitions in ode MSEIRS4 model
  • Migrate Python packages to use pyproject.toml for builds
  • Enable numpy versions 1.22-1.24
  • Update Python Version in CI to 3.12
  • Read result from HDF5 files uses lexical order

Corrections:

  • Correction for SMM model output misaligned with time points
  • Detection of duplicate flows in the FlowModel
  • Fix documentation build after migration to pyproject toml
  • Use correct ParameterStudy in graph examples of Python bindings
  • Change default value of MaxRiskOfInfectionFromSymptomatic
  • Correct non-ageresolved indices in IDE-SECIR model
  • Correction of interpolate_simulation_result which did not yield consistent timepoints
  • Correction of memilio.simulation incompatible with pandas 3

Minor changes:

  • Improve messages related to parameter checks
  • Update citation file
  • General documentation improvement
  • Modernizations and minor fixes in core C++ library
  • Minor additions to how infections in the ABM work
  • Revise README for data directory clarification
  • Updated holiday data

Merged pull requests

New Contributors

Full Changelog: v2.2.0...v2.3.0

v2.2.0

17 Nov 13:34
b128e05

Choose a tag to compare

Added features / functionality:

  • Added RSV model
  • Added ABM parameter study
  • Support for IO functionality with single age group for ODE SECIR
  • Enabled vaccination data output for NUTS1 and NUTS2 stratifications in Germany
  • Extended automatic differentiation (AD) to support to the SECIRVVS model
  • Added read_graph to python bindings
  • Added Python interface for SDE SIR type models
  • Added Geographic location to all of MEmilio

General changes:

  • Added return value policy to TimeSeries in python bindings
  • Deleted simulation folder after porting to https://github.com/SciCompMod/memilio-simulations/
  • When calling print_table from python, the output is now direclty printed in the console per default.
  • Added copy constructable simulation for ODE models (changed handling of IntegratorCore)
  • Changed python CI to build wheels without SDist
  • Changed install requirements for readthedocs to build in two steps
  • Added default options and a builder to CLI
  • Introduced a naming scheme for concepts
  • Added normalization of exposure rate for ABM
  • Adjusted epidata code to new NUTS3 file structure
  • Updated IDE-SECIR examples and improved documentation

Corrections:

  • Fixed the initialization of recovered in ODE SECIR
  • Improved consistency of floating-point types
  • Fixed potential use of wrong dt_max in ControlledStepperWrapper
  • Fixed missing SMM update of internal waiting time at the end of advance
  • Fixed file leak in test_mobility_io
  • Fixed incorrect overload detection and type mismatch in test_commuters
  • Added missing members to ABM serialization

Minor changes:

  • Allow threshold for code coverage
  • Updated citations
  • Extended documentation

Merged pull requests

New Contributors

Full Changelog: v2.1.0...v2.2.0

v2.1.0

01 Aug 12:50
0b61820

Choose a tag to compare

Added features / functionality:

  • Added a temporal hybrid ODE-ABM-based model
  • Added spatially resolved feedback simulation
  • Extended integrator classes and reimplemented SDE models
  • Adjusted memilio-generation for flow models and automatic differentiation
  • Added setup for performance monitoring with LIKWID
  • Introduction of a timing framework
  • Export TimeSeries objects into csv files
  • Added quarantine effectiveness parameter to ABM
  • C++ Code creation based on standardized formats for ODEs
  • Added GitHub bot to inform on new discussions

General changes:

  • Reworked ABM state transitions
  • Updated minimum and latest Ubuntu and Windows versions which are tested in CI
  • Fully reworked and extended documentation
  • Deactivated old GitHubPages
  • Enhanced testing logic in ABM
  • Improved trip addition in ABM
  • Changes in model initializations due to changes in provision of intensive care and SARS-CoV-2 vaccination data
  • Streamline code for reading in data in model specific IO files
  • Updated simple surrogate models
  • Renamed compartmentalmodel.h to compartmental_model.h

Corrections:

  • Corrected the different output on Mac
  • Fix population download handling
  • Property of MobilityParametersEdge was not accessible in python bindings

Minor changes:

  • Updated citations
  • Updated coding guidelines and pull request template
  • Cancel concurrent and redundant CI runs

Merged pull requests

New Contributors

Full Changelog: v2.0.0...v2.1.0

v2.0.0

07 Apr 15:46
3390762

Choose a tag to compare

Added features / functionality:

  • Integration of the SECIRTS model: a three immunity layer ODE model with waning immunity
  • Integration of diffusive ABM (d_abm)
  • Integration stochastic metatpopulation model (smm)
  • Provision of age resolution for IDE model
  • Provision of local feedback mechanism for ODE models
  • Allow graph model for ABMs
  • Make IDE model compatible with graph
  • Use DIVI data to scale initial values for LCT model
  • Allow agents to die in hospital and when not in ICU
  • Make set_initial_flows() of IDE model usable with and without age resolution
  • Integration of new documentation

General changes:

  • Change member functions in Model class from public to private in IDE model
  • Update dependencies
    • minimum required cmake 3.11 -> 3.13
    • spdlog 1.11.0 -> 1.15.0
    • Eigen 3.3.9 -> 3.4.0
    • JsonCpp 1.9.5 -> 1.9.6
  • Temporarily fix CI by downgrading OS image
  • Print date object per default in ISO format when using spdlog
  • Rename public members of IDE model
  • Updated ABM readme
  • Reduce unnecessary logs and prints when running the examples
  • Add citation file
  • Add log for MSVC example runs
  • Rework data structure and rename mobility and vaccination file

Corrections:

  • Initialization of ICU compartments after July 2024
  • Handle case when group size in LCT model is zero
  • Integrator was handled as adaptive if using small fixed step sizes
  • Use correct targets when setting compile options
  • Wrong index in ODE SEIR model
  • Ensure zero initialization for AD example
  • Add missing comment for pop in get_derivatives()
  • Bump minimum cmake versions in memilio-simulation and -generation

Minor changes:

  • Improvement of ABM software and unit tests
  • Bump download artifact version in CI
  • Update license headers

Merged pull requests

New Contributors

Full Changelog: v1.3.0...v1.4.0

v1.3.0

28 Nov 15:46
c6e9f15

Choose a tag to compare

Added features / functionality:

  • Allow output of mobility data for Graph-ODE model
  • Added age resolution for LCT model
  • Implementation of Generalized Linear Chain Trick model
  • Allow variable dynamic NPI delay implementation
  • Update of Damping now allows negative coefficients (i.e., contact increases)
  • Added serialization to ABM
  • Added functions for a person in the ABM to choose whether to comply to mask,test and isolation
  • Allow explicit stepper wrappers (i.e., fixed step size numerical integrators)
  • Bind different numerical integrators for python
  • Allow download of population data for different years
  • Plot functions for AST in generation package

General changes:

  • Redesign of python bindings structure to improve typing
  • Reduction of export_input_data_county_timeseries function
  • Reduce use of get_support_max method in IDE model to reduce run time
  • Handle Epidata FutureWarnings

Corrections:

  • Error when compiling on Mac with new boost
  • Missing includes in python bindings
  • Deleted incorrect todo in ABM code
  • divNj in ODE models creates NaN values if subpopulation is zero
  • Get_default of parameter HighViralLoadProtectionFactor did not work as expected

Merged pull requests

Full Changelog: v1.2.1...v1.3.0

v1.2.1

19 Aug 08:49
896a04e

Choose a tag to compare

Added features / functionality:

  • Implementation of stochastic two variant SEIR models
  • Added delay in testing and planned mobility in ABM
  • ScoreP performance profile of ABM
  • gperftools profiler
  • New initialization method from flows for LCT model
  • Stub generation for python bindings

General changes:

  • Refactored ABM code: Rename EPI to MIO, migration to mobility, and World to Model
  • Replaced pointers in ABM by new structure
  • Make the LCT secir model a derived class of CompartmentalModel
  • New parameters that describe the multiplicative factor used for the TestAndTraceCapacity
  • Extended test for equilibrium of IDE model
  • Change return type of check_constraints function in the populations class to bool
  • Adapt parameters_io of IDE SECIR model
  • Small refacturing of epidata package
  • Remove necessity for credentials of population data download
  • Download boost libs with URL instead of git repo
  • Upgrade manylinux image used for python in CI
  • Workaround for github action checkout@v3

Corrections:

  • Add warning for end_date later than 2024-07-21 in intensive care data
  • OdeIntegrator could run indefinitely
  • Removed bug in getting test parameters in specific test derived from generic test

Merged pull requests

  • 1042 stub generation for python bindings by @MaxBetzDLR in #1044
  • 992 download boost libs with URL instead of git repo by @dabele in #1048
  • 848 scorep profile of abm by @charlie0614 in #942
  • 1038 OdeIntegrator can run indefinitely v2 by @reneSchm in #1049
  • Add gperftools profiler by @dabele in #1054
  • 914 make the lct secir model a derived class of flowmodel by @lenaploetzke in #1055
  • 882 Parameters that describe the multiplicative factor used for the TestAndTraceCapacity by @HenrZu in #1059
  • Fix a "use after free" warning with gcc 12.3.0 and above by @reneSchm in #1060
  • workaround for github action checkout@v3 by @dabele in #1063
  • Upgrade manylinux image used for python in CI by @dabele in #1064
  • 897 new add initialization method from flows for lct model 1 by @lenaploetzke in #1005
  • Remove call to print_table from TestSeir.FlowSimulation by @reneSchm in #1066
  • Extend Test for equilibrium of IDE Model #1037 by @hatrit in #1050
  • 757 dont store pointers in the abm by @reneSchm in #863
  • 1012 bug in getting testparameters in specific test derived from generictest by @khoanguyen-dev in #1013
  • 1061 change return type of check_constraints function in the populations class to bool by @lenaploetzke in #1062
  • 916-refactor-epidata-to-support-ingestion-into-the-LOKI-database by @sudiphzi in #1024
  • 1079 Handle Chunked-Encoding Downloads by @patricklnz in #1080
  • Refactor ABM code: Rename EPI to MIO and migration to mobility and World to Model by @xsaschako in #879
  • Increase accuracy of code coverage by @reneSchm in #1076
  • 466 add delay in testing and planned migration by @khoanguyen-dev in #866
  • 1032 implementation of stochastic two variant seir model by @nijawa in #1047
  • 1087 adapt parameters_io of ide model by @annawendler in #1095
  • 1092 add warning for end_date later than 2024-07-21 in divi data by @lenaploetzke in #1094
  • 1073 Remove credentials from Population Data Download by @patricklnz in #1074

Full Changelog: v1.2.0...v1.2.1

v1.2.0

07 Jun 15:08
2994f76

Choose a tag to compare

Added features / functionality:

  • Stochastic differential equation based SIR and SEIR models
  • Linear Chain Trick ODE-based model with initialization methods for real world data
  • Automatic differentiation for ODE-based models and dynamic optimization examples
  • Allow contact increase for simulation of larger events
  • Allow flexible start day in IDE SECIR model
  • Added seasonality for IDE SECIR model
  • Alternative computation of compartments in IDE SECIR
  • Implement initialization scheme for flows in IDE SECIR model
  • Add Gamma distribution and other parameters to state age function for IDE models
  • Python support for ODE SECIRVVS model
  • Python support for 2021 metapopulation/Graph-ODE SECIRVVS simulation
  • Age group resolution for ODE SIR and SEIR models
  • Use ccache in CI for linux builds

General changes:

  • Use times for exposed and infected, no symptoms state in particular ODE models instead of SerialInterval and IncubationTime
  • Updated CI actions
  • Updated epidata readme
  • Improve IDE SECIR model readme
  • Handle pandas read excel engines
  • Bundle the boost git repo instead of providing a targz archive
  • Streamline ODE SECIR python code

Corrections:

  • Corrected handling of minimal step size in numerical integration
  • Corrected functionality of IDE SECIR model example
  • Prevent NaNs in newly added SDE models
  • Resolve size_t underflow in dynamic NPIs
  • Fix failing RKI urls
  • Make python serialization working again
  • Corrected IDE SECIR model simulation for certain conditions
  • Corrected gcc compiler version in CI

Merged pull requests

Full Changelog: v1.1.0...v1.2.0

v1.1.0

08 Mar 08:48
afd4982

Choose a tag to compare

Added features / functionality:

  • Graph simulation with metapopulation model for Munich
  • Computation of reproduction number for ODE SECIR model
  • Machine learnt surrogate model for ODE SECIR model with multiple age groups and contact change points
  • Linear Chain Trick SECIR model
  • New initialization for IDE model
  • Unit Tests with OpenMP

Corrections:

  • Correct selection of specialized simulation and advance functions in python bindings
  • Corrections for new MSVC

Other:

  • Expanded tests for python bindings simulations
  • Small changes and fixes (logo, pull request template, ...)

Merged pull requests

Full Changelog: v1.0.0...v1.1.0