The datasets and and population calibration code (as part of the population_gravity module written in Python 3.6) are used to estimate pairs of urban and rural parameters for each U.S. state, describing its historical spatial population change patterns. The data for replicating the analysis is available at this link: https://zenodo.org/record/3756179#.X439GdBKiUn Each U.S. state directory contains the following input data: * ___1km.tif:  Urban and Rural population GeoTIF rasters at a 1km resolution o value per grid cell: number of humans (float) o crs: EPSG:102003 - USA_Contiguous_Albers_Equal_Area_Conic - Projected o nodata value:  -3.40282e+38 * _mask_short_term.tif:  Mask GeoTIF rasters at a 1km resolution that contain values from 0.0 to 1.0 for each 1 km grid cell to help calculate suitability depending on topographic and land use and land cover characteristics o value per grid cell: values from 0.0 to 1.0 (float) that are generated from topographic and land use and land cover characteristics to inform suitability as outlined in the publication. o crs: EPSG:102003 - USA_Contiguous_Albers_Equal_Area_Conic - Projected o nodata value:  -3.40282e+38 * __popproj.csv:  Population projection CSV files for urban, rural, and total population (number of humans; float) for SSPs 2, 3, and 5 for years 2010-2100 * _coordinates.csv:  CSV file containing the coordinates for each 1 km grid cell within the target state and its 100 km surroundings. File includes a header with the fields XCoord, YCoord, FID, where data types and field descriptions are as follows: (XCoord, float, X coordinate in meters),(YCoord, float, Y coordinate in meters),(FID, int, Unique feature id) * _within_indices.txt:  text file containing a file structured as a Python list (e.g. [0, 1]) that contains the index of each grid cell within the target state boundary when flattened from a 2D array to a 1D array. This input data is necessary to run the model. The population_gravity python module available at this github repository (https://github.com/IMMM-SFA/population_gravity) contains functions and classes to finalize the calibration part, which leads to estimating rural and urban parameters for each state based on their corresponding population grids in 2000 and 2010. The configuration.yml file that the user prepares serves as the input to the model. Example 4 from the repository shows how the calibration is implemented. Upon downloading and installing the package, the test data for Vermont is provided. This information should be prepared for the calibration code, whose paths should be included in the configuration yaml file: * grid_coordinates_file: full path with file name and extension to the CSV file containing the coordinates for each 1 km grid cell within the target state and its 100 km neighborhood. File includes a header with the fields XCoord, YCoord, FID., where data types and field descriptions are as follows: (XCoord, float, X coordinate in meters),(YCoord, float, Y coordinate in meters), (FID, int, Unique feature id). * historical_suitability_raster: full path with file name and extension to the suitability raster containing values from 0.0 to 1.0 for each 1 km grid cell representing suitability depending on topographic and land use and land cover characteristics within the target state. * projected_population_file: Full path with file name and extension to a CSV file containing population projections per year separated into urban and rural categories. Field descriptions for require fields are as follows: (Year, integer, four digit year), (UrbanPop, float, population count for urban), (RuralPop, float, population count for rural), (Scenario, string, scenario as set in the scenario variable). For calibration, the year is 2010 and scenario is SSP2. * one_dimension_indices_file: Full path with file name and extension to the text file containing a file structured as a Python list (e.g. [0, 1]) that contains the index of each grid cell when flattened from a 2D array to a 1D array for the target state. * output_directory: Full path with file name and extension to the output directory where outputs and the log file will be written. * Scenario: String representing the scenario with no spaces. Must match what is in the projected_population_file if passing population projections in using a file. For calibration, the scenario is SSP2. * state_name: Target state name with no spaces separated by an underscore. * calibration_urban_year_one_raster: Only used for running calibration. Full path with file name and extension to a raster containing urban population counts for each 1 km grid cell for year one of the calibration (2000). * calibration_urban_year_two_raster: Only used for running calibration. Full path with file name and extension to a raster containing urban population counts for each 1 km grid cell for year two of the calibration (2010). * calibration_rural_year_one_raster: Only used for running calibration. Full path with file name and extension to a raster containing rural population counts for each 1 km grid cell for year one of the calibration. * calibration_rural_year_two_raster: Only used for running calibration. Full path with file name and extension to a raster containing rural population counts for each 1 km grid cell for year two of the calibration.