Welcome! GeoPopsHub is a central location for GeoPops source code and examples.
GeoPops is a Python package for generating geographically and demographically realistic synthetic populations for any US Census location using publically available data. Population generation includes three steps:
- Generate individuals and households using combinatorial optimization (CO)
- Assign individuals to school and workplace locations using enrollment data and commute flows
- Connect individuals within locations using graph algorithms
Resulting files include a list of agents with attributes (e.g., age, gender, race/ethnicity) and networks detailing their connections within home, school, workplace, and group quarters (e.g., correctional facilities, nursing homes) locations. GeoPops is meant to produce reasonable approximations of state and county population characteristics with granularity down to the Census Block Group (CBG). GeoPops builds on a previous repository, GREASYPOP-CO (One Health Trust), and incorporates the following changes:
- All code wrapped in convenient Python package that can be pip installed
- Compatibility with Census data beyond 2019
- Automated data downloading
- Users can adjust all config parameters from the front-end
- Class for exporting files compatible with the agent-based modeling software Starsim (Institute for Disease Modeling)
There are several published methods for generating agents and households from Census data, but GeoPops is the only one that is completely open source and generalizable that also spatially connects agents in school and workplace networks. In combination with agent-based modeling tools like Starsim, GeoPops can facilitate timely context-specific scenario modeling of respiratory infectious diseases.
GeoPops is in development and we welcome feedback! Get in touch if you've tried making a population of your own or want to become a member. You can upload your own example as a respository in the hub.
See the repo sc_spartanburg_measles for a detailed example of how to build a population, simulate a disease, test out interventions, and track outcomes by subgroup. 1_run_geopops.ipynb has instructions on how to build a GeoPops population.
GeoPops is a collaboration between the following institutions: