SynthPop is a reimplementation of PopGen using the modern scientific Python stack, with a focus on performance and code reusability.
The SynthPop code is a completely new implementation of the algorithms described in this reference, and the paper as well as this repository should be cited if you use SynthPop:
Ye, Xin, Karthik Konduri, Ram Pendyala, Bhargava Sana and Paul Waddell. A Methodology to Match Distributions of Both Households and Person Attributes in the Generation of Synthetic Populations. Transportation Research Board 88th Annual Meeting Compendium of Papers DVD. January 11-15, 2009
The paper is available here: http://www.scag.ca.gov/Documents/PopulationSynthesizerPaper_TRB.pdf
- You need to have installed Python >= 3.6
- You have forked repo
- Open terminal
- If it is first time, install all dependencies via running
python3 setup.py install
- You need to have Census API key in order to query the date. Sign up using the following link: https://api.census.gov/data/key_signup.html
- Run
CENSUS=#API_KEY# python3 demos/synthesize.py TX "Travis County"
to start generating population for the state Texas (TX) and county Travis County. If you want to generate the data on census tract level, you can pass extra parameteres, an example:python3 demos/synthesize.py "TX" "Travis County" 48 453 001804 1
, where 48 - FIPS code of Texas, 453 - FIPS code of Travis county, 001804 - tract code, 1 - block group
- You have forked repo
- You have installed docker
- Open terminal
- Build docker image by running
docker build .
- Run SynthPop as docker container by running:
docker run -it #IMAGE_ID# "TX" "Travis County" 2
to start generating population for the state Texas (TX) and county Travis County using 2 processes.