{"id":27004426,"url":"https://github.com/tacc/pandemicexercisesimulator","last_synced_at":"2025-12-11T23:12:43.811Z","repository":{"id":246396042,"uuid":"802213093","full_name":"TACC/PandemicExerciseSimulator","owner":"TACC","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-16T00:20:35.000Z","size":425,"stargazers_count":3,"open_issues_count":10,"forks_count":1,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-08-16T02:38:56.156Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TACC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-05-17T18:36:40.000Z","updated_at":"2025-01-23T21:31:28.000Z","dependencies_parsed_at":"2024-06-27T19:46:34.877Z","dependency_job_id":"400d54e5-4eb1-4b64-86ed-f60a76adbfac","html_url":"https://github.com/TACC/PandemicExerciseSimulator","commit_stats":null,"previous_names":["tacc/pandemicexercisesimulator"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/TACC/PandemicExerciseSimulator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TACC%2FPandemicExerciseSimulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TACC%2FPandemicExerciseSimulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TACC%2FPandemicExerciseSimulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TACC%2FPandemicExerciseSimulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TACC","download_url":"https://codeload.github.com/TACC/PandemicExerciseSimulator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TACC%2FPandemicExerciseSimulator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271469227,"owners_count":24765124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-04T06:16:46.218Z","updated_at":"2025-12-11T23:12:43.748Z","avatar_url":"https://github.com/TACC.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## PandemicExerciseSimulator\n\nThis is a stand-alone Python command line implementation of an outbreak\nsimulator using a SEATIRD compartment model and binomial travel model.\n\n### Install Using Poetry:\n\nDepends on [Poetry](https://python-poetry.org/docs/#installation) for native install.\nAfter installing Poetry, do:\n\n```\n$ git clone https://github.com/TACC/PandemicExerciseSimulator\n$ cd PandemicExerciseSimulator/\n$ poetry install --no-root\n```\n\nThe above will create a virtual environment. You can automatically access the virtual\nenvironment by prefacing your commands with 'poetry run'. For example:\n\n```\n$ poetry run python3 src/simulator.py --help\n$ poetry run python3 src/simulator.py -l INFO -d 10 -i data/texas/INPUT.json\n```\n\n### Test:\n\n```\n$ poetry run pytest\n```\n\n### Run Using Docker (Preferred):\n\nAs an alternative to Poetry, you can instead run a containerized version of the\nsimulator with [Docker](https://docs.docker.com/engine/install/).\n\n```\n$ docker build -t pes:0.1.0 .\n$ docker run --rm pes:0.1.0 python3 src/simulator.py --help\n$ docker run --rm pes:0.1.0 python3 src/simulator.py -l INFO -d 10 -i data/texas/INPUT.json\n```\n\n### Input Data Required:\n\nThe simulator requires the data from the following folder:\n```\n.\n└── data\n    └── texas\n        ├── INPUT.json\n        ├── contact_matrix.csv\n        ├── county_age_matrix.csv\n        ├── flow_reduction.csv\n        ├── high_risk_ratios.csv\n        ├── relative_susceptibility.csv\n        └── work_matrix_rel.csv\n```\n\n* **INPUT.json:** Simulation properties file (see schema)\n* **contact_matrix.csv:** 5x5 matrix of contact ratios between age groups\n* **county_age_matrix.csv:** Populations for each county divided into age groups\n* **flow_reduction.csv:** Factor for reducing travel frequency by age group\n* **high_risk_ratios.csv:** List of risk ratio for each age group\n* **relative_susceptibility.csv** List of relative susceptibility for each age group\n* **work_matrix_rel.csv:** NxN matrix (N=num of counties) for travel flow\n\n\n### Parameters Required:\n\nAt a minimum, the following parameters are expected to be defined in the \nINPUT.json file:\n\n* **R0:** (ex: 1.2) Reproduction number\n* **beta_scale:** (ex: 65) R0 correction factor - R0 is divided by this value and stored as beta\n* **tau:** (ex: 1.2) latency period in days (exposed to asymptomatic)\n* **kappa:** (ex: 1.9) asymptomatic infectious period in days (asymptomatic to treatable)\n* **gamma:** (ex: 4.1) total infectious period in days (transmitting (A/T/I) to recovered)\n* **chi:** (ex: 1.0) treatable to infectious period in days\n* **rho:** (ex: 0.39) multiplier to reduce age-specific mixing rate pattern to account for reduced\n  rate of contact when traveling\n* **nu**: ([\"0.01\", \"0.01\", ..., \"0.01\"]) list of mortality rates per age group (units of 1/days)\n\n\nThere also must be at least one county with initial infected population. Provide the\ncounty ID (as listed in the population file), number of initial infected, and the age\ngroup index of the infected, e.g.:\n```\n\"initial_infected\": [\n    {\n      \"county\": \"1\",\n      \"infected\": \"10000\",\n      \"age_group\": \"1\"\n    }\n]\n```\n\n### Optional Parameters\n\nAny number of non-pharmaceutical interventions can be added. Following the example in\nINPUT.json, interventions are assigned a name, a start day, a duration (number of days the\nintervention should be applied), a location (comma separated list of county IDs, or \"0\" for\nall counties), and a list of effectivenesses per age group. The effectiveness models the\nreduction in transmission in that age group for the duration of the intervention:\n\n```\n\"non_pharma_interventions\": [\n  {\n    \"name\": \"School Closure\",\n    \"day\": \"20\",\n    \"duration\": \"10\",\n    \"location\": \"113,141,201,375,453\",\n    \"effectiveness\": [\n      \"0.9\",\n      \"0.9\",\n      \"0.0\",\n      \"0.0\",\n      \"0.0\"\n    ]\n  }\n]\n```\n\n### Development Notes\n\nThis simulator can run stand-alone, or as the backend to a related project which provides a\nfront end GUI: https://github.com/TACC/PandemicExerciseTool\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftacc%2Fpandemicexercisesimulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftacc%2Fpandemicexercisesimulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftacc%2Fpandemicexercisesimulator/lists"}