Skip to content

nataliejschultz/forked-synthpop

 
 

Repository files navigation

SynthPop

Build Status Test Coverage

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

How to run it in host machine

  1. You need to have installed Python >= 3.6
  2. You have forked repo
  3. Open terminal
  4. If it is first time, install all dependencies via running python3 setup.py install
  5. 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
  6. 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

How to run it in docker container

  1. You have forked repo
  2. You have installed docker
  3. Open terminal
  4. Build docker image by running docker build .
  5. 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.

About

Synthetic populations from census data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 97.9%
  • Shell 1.9%
  • Dockerfile 0.2%