Skip to content

InstituteforDiseaseModeling/laser

Repository files navigation

LASER logo

Schedule

First 30 Days (EOY 2023)

  • firm up team/stakeholders/advisory committee
  • enumerate necessary features for reproducing/supporting previous and in-progress modeling efforts
    • measles (kmccarthy)
    • malaria (cbever/pselvaraj)
    • end-game/end-stage polio (¿kfrey?)
  • enumerate necessary features for outstanding questions and issues

First 60 Days (January 31, 2024)

  • "paper search" / investigate potential existing solutions
  • capture development requirements
    • tools for preparing data (demographics, networks, etc.)
    • file formats
    • select initial features
      • spatial connectivity
        • individual agent migration (genetics - vector and parasite)
        • NxN matrix connectivity, contagion transport
        • multi-level (meso-scale?) connectivity (communities of communities)
      • community transmission dynamics
        • agents
        • cohorts
        • *Sim
        • stochastic compartmental
        • ODEs
        • emulator
      • demographics
        • urban/rural
        • class/caste
      • multiple independent populations/community (people + mosquitoes, people + dogs, etc.)
      • ¿co-transmission? TB and HIV
      • non-disease vital dynamics
    • visualization choices

First 120 Days (February 29, 2024)

  • technical considerations
    • single laptop
    • single laptop w/Nvidia GPU
    • multicore
      • single machine
      • large machine (cloud)
      • beyond?
    • Numpy
    • NumPy + Numba
    • NumPy + Numba + CUDA

Problem Space

The problem is inherently an issue of heterogeneity. Spatial decomposition is the easiest consideration, but not sufficient - a model of N "independent" but identical communities is generally not useful.

Spatial connectivity and the associated latencies in transmission address one dimension of heterogeneity: how "close" is a given community to a potential source of imported contagion (exogenous to the model "world", locally endogenous, e.g., an adjacent community, endogenous but at a remove - rare transmission or multi-stop chain of transmission).

Community size in a spatial model is also a consideration - what is the configuration and connectivity of sub-CCS nodes to nodes at or above CCS for the given disease?

We need configurable characteristics of the individual communities which can vary, along with their interconnectedness, to capture additional heterogeneity.

What is the modeling of the individual communities? "Light-Agent" seems to limit us to an ABM, but we should consider cohorts of epidemiologically similar populations (polio >5, HIV <15, TB latents, etc.) as well as stochastic compartmental models.

Are the individual communities well-mixed or should we also provide for explicit networks at the local level?

Technology

  • Python
  • high performance computing:
  • native code
    • C++ (somewhat awkward interop with Python, but potentially accessible from other technologies, e.g., R)
    • Rust (PyO3 is quite nice, but requires getting up to speed on Rust 😳)
  • compute requirements:
    • laptop 2010+? (might inform SIMD capabilities)
    • GPU (CUDA) enabled machine laptop/desktop/cloud
    • single core/multi-core
    • largest scenarios?
  • visualization
    • cross-platform
    • real-time
  • existing file formats for input data
  • existing file formats for output data (GeoTIFF? - works with ArcGIS?)

Other

  • community builder tool for given total population and community size distribution
  • network builder given a set of communities (gravity, radiation, other algorithms in existing libraries/packages)
  • independent populations w/in a community, e.g., mosquitoes or dogs along with humans
  • independent or co-transmission, i.e. multiple "diseases"
  • models need to be connected with real-world scenarios, not [just] hypothetical explorations

Notes

  • "light" : How light is "light"?
  • "agent" : Cohorts? Stochastic compartmental?
  • "spatial" : How good are the individual community models? Good enough for non-spatial questions?
  • dynamic properties (e.g. GPU flu simulation)
  • ¿Ace/clorton-based state machines?

Superficial simplicity isn’t the goal of design. Some things are, by nature, complex. In such cases, you should aim for clarity rather than “simplicity.” Users will be better served if you strive to make complex systems more understandable and learnable than simply simple.

About

Light Agent Spatial modeling for ERadication

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages