CITAM vector

Free and open-source agent-based
simulation platform for indoor environments

CITAM (COVID-19 Indoor Transmission Agent-based Modeling) is a Python agent-based modeling platform for indoor environments. CITAM creates "virtual" analogs of real facilities to run simulations based on real floor plans. It was designed to simulate the movement of individuals in indoor environments for risk assessment and decision making related to infectious disease spread but is not limited to that use case.

KEY FEATURES

SUPPORT FOR CUSTOM FLOOR PLANS

Users can upload floorplans of their own facilities, including multi-floor facilities

INTELLIGENT INDOOR NAVIGATION

Agents move around the facility in an intelligent fashion, choosing the best path to go from location A to location B

EXTENSIBLE

CITAM can be used as a general Python library for a wide variety of use cases including facility management and smart manufacturing.

SCHEDULING

Each person has an itinerary generated automatically based on predefined scheduling rules with support for multiple shifts

CONTACT EVENT DETECTION & STATISTICS

A contact event is recorded when individuals come within a predefined distance (e.g., 6 feet) of one another

detailed contact statistics including locations and individuals involved are available at the end of a simulation

QUICKSTART GUIDE

Install CITAM

Download the python-wheel zip file under Assets from the latest release tag:



Extract the compressed file locally: unzip python-wheel.zip

Change directory to the extracted python-wheel folder. Do not rename this file: cd python-wheel

Install CITAM: pip install [citam_wheel] where citam_wheel is the extracted .whl file.

Ingest Floorplan

If you haven't downloaded the code yet, you can clone the repository as follows: git clone https://github.com/corning-incorporated/citam.git

Navigate to the citam folder: cd citam

Run the engine ingest command to ingest your first floorplan: citam engine ingest foo_facility foo_floor --csv examples/basic_example/TF1.csv --svg examples/basic_example/TF1.svg -v

Build the navigation network for this facility: citam engine build-navnet foo_facility foo_floor -v

You are now ready to run your first simulation!

Run Simulation

Let's start by making a directory to run your simulation: mkdir citam_simulation

Now copy an example input file: cp citam/examples/basic_example/example_sim_inputs.json citam_simulation/.

Change directory: cd citam_simulation

Start the simulation: citam engine run example_sim_inputs.json



COMMUNITY-DRIVEN

We welcome contributions to CITAM to help with bug fixes, new features, etc. We hope CITAM will help with indoor transmission mitigation efforts and help preserve the health of our communities. For more information, click on “How to Contribute” below.