-
Notifications
You must be signed in to change notification settings - Fork 3
SoundCast to BKRCast
The folder psrc_to_bkrcast_scripts provides Python scripts that are used to convert SoundCast data to the BKRCast model's format. These scripts are not run part of a model run; instead, these scripts are used to convert data in the SoundCast model's format to the BKRCast model's zone system. if required.
A script is run by opening a command window in the scripts folder (psrc_to_bkrcast_scripts) and running the following:
[python_executable] [script_name]
where;
python_executable=Anaconda python executable path. Ex. C:\Progra~1\Anaconda2\python.exe; script_name=one of the scripts in the list below
Here is a list of the scripts available in the folder:
| Name | Description |
|---|---|
| psrc2bkr_trucks.py | Updates zones in truck inputs |
| psrc2bkr_parcel.py | Updates zones in primary parcel file |
| psrc2bkr_calibration.py | Updates zones in calibration summary input files |
| psrc2bkr_hhs.py | Updates household zone in synthetic population |
| psrc2bkr_auto.py | Updates origin and destination zones in truck model input |
| psrc2bkr_daysimtrips.py | Updates origin and destination zones in DaySim seed trips |
| psrc2bkr_intrazonal.py | Updates from/to zones for intrazonal inputs |
| psrc2bkr_skims.py | Updates zones in seed skims |
| psrc2bkr_tazdistricts.py | Updates district correspondence in the TAZ index file |
| psrc2bkr_trips.py | Updates zones in supplemental trips |
| psrc2bkr_skims_tod.py | Updates group name in skim files |
| psrc2bkr_zonedata.py | Updates zones in supplemental model zone data |
| psrc2bkr_zonegroups.py | Updates PUMA zone groups and transit zones |
| daysiminputcheck.py | Checks consistency between DaySim parcel file and network skims |
| batchRepackH5.py | Repackages HDF5 files into smaller size |
| run_bkr_sampling_tests.py | Runs sampling test runs |
Objective: This script updates truck inputs located under inputs/trucks: trucks.in, special_gen_light_trucks.in, special_gen_medium_trucks.in, medium_trucks_ei.in, medium_trucks_ie.in, medium_trucks_ee.in, heavy_trucks_ei.in, heavy_trucks_ie.in, heavy_trucks_ee.in, special_gen_heavy_trucks.in, agshar.in,minshar.in, prodshar.in, equipshar.in, tcushar.in, whlsshar.in, and hhemp,const.in.
Settings: Update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| wd | r"E:\Projects\Clients\bkr\ model\soundcast\inputs\ trucks" | Working directory containing truck input files; this should be directory with SoundCast data files |
| runSpclGen | True |
True to convert truck special generator inputs in files_spclgen
|
| runExt | True |
True convert external truck input files in files_ext
|
| runTruck | True |
True to convert truck input file in files_truck
|
| runShares | True |
True to convert truck share files in files_manu_shares and file_wtcu_shares
|
| runEmp | True |
True to convert employment related input files in files_emp
|
| files_truck | ["trucks.in"] | Truck file |
| files_spclgen | ["special_gen_light_trucks.in", "special_gen_medium_trucks.in", "special_gen_heavy_trucks.in"] | Special generator truck input files |
| files_ext | [ "medium_trucks_ei.in", "medium_trucks_ie.in", "medium_trucks_ee.in", "heavy_trucks_ei.in", "heavy_trucks_ie.in", "heavy_trucks_ee.in"] | External truck input files |
| files_manu_shares | ["agshar.in", "minshar.in", "prodshar.in", "equipshar.in"] | Manufacturing truck share files |
| file_wtcu_shares | ["tcushar.in", "whlsshar.in"] | Wholesale and TCU truck share files |
| files_emp | ["hhemp", "const.in"] | Employment-related truck files |
| tazSharesFileName | "psrc_to_bkr.txt" | SoundCast to BKRCast zones correspondence in the same folder as the script; format: psrc_zone_id,bkr_zone_id,percent. Percent represents percent of SoundCast zone area within the corresponding BKRCast zone area |
Outputs: The converted data files are produced in the working directory (wd) with "_bkr" appended to input file names.
Objective: This script updates zones in primary parcel file: inputs/accessibility/parcels_urbansim.txt
Settings: The user needs to update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| wd | r"E:\Projects\Clients\bkr\ model\bkrcast_tod\inputs\ accessibility" | Working directory containing the primary parcel file; this should be directory with SoundCast data file |
| parcel_file | 'parcels_urbansim_psrc.txt' | Primary parcel file name |
| parcel_bkr_taz_file | "parcel_updated_bkrtaz.csv" | Parcels to BKRCast zone system correspondence; this file should be in the same directory as the script |
Outputs: The converted data file is produced in the working directory (wd) with "_bkr" appended to file name.
Objective: This script updates zones in inputs files used in calibration summary. The input files are located under scripts/summarize/inputs/calibration: survey.h5, TAZ_TAD_County.csv, and FAZ_TAZ.xlsx
Settings: The user needs to update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| calibration_dir | r'E:\Projects\Clients\bkr\ model\soundcast\scripts\ summarize\inputs\calibration' | Calibration directory that contains files to be converted |
| zonefiles | ["TAZ_TAD_County.csv", "FAZ_TAZ.xlsx"] | Zone correspondence input files |
| survey_file | "survey_psrc.h5" | Survey file |
| inputs_dir | r'E:\Projects\Clients\bkr\ model\bkrcast_tod\inputs' | Input directory that contains BKRCast buffered parcel file |
| parcel_file | "buffered_parcels.dat" | BKRCast buffered parcel file name |
| survey_file_new | "survey.h5" | The converted survey file name when runDaySimFormat is run independently |
| tazSharesFileName | "psrc_to_bkr.txt" | SoundCast to BKR zones correspondence in the same folder as the script; format: psrc_zone_id,bkr_zone_id,percent; percent represents percent of SoundCast zone area within the corresponding BKRCast zone area |
| zone_file | "TAZ_TAD_County.csv" | Zone-to-district and county correspondence file |
| faz_file | "FAZ_TAZ.xlsx" | Zone-to-FAZ correspondence file |
| district_lookup_file | "district_lookup.csv" | Zone-to-district lookup file |
| zoneLatLongFileName | 'bkr_zone_lat_long.csv' | Zone latitude and longitude file in the same directory as the script |
| runSurveyFile | True |
True if survey file needs to be converted |
| runDaySimFormat | True |
True if the converted file needs to be converted to DaySim text format (*.dat) |
Outputs: The converted data files are produced in the inputs directory (calibration_dir) with "_bkr" appended to file names.
Objective: This script updates household zone in synthetic population: inputs/hh_and_person.h5.
Settings: Update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| wd | "E:/Projects/Clients/bkr/ model/soundcast/inputs/" | Working directory that contains PopSyn input files |
| popsynFileName | "hh_and_persons.h5" | Synthetic population file name |
| parcel_dir | "E:/Projects/Clients/bkr/ model/soundcast/inputs/" | Directory containing the BKRCast buffered parcel file |
| parcelFileName | "buffered_parcels.dat" | BKRCast buffered parcel file name |
Outputs: The converted data file is produced in the working directory (wd) with "_bkr" appended to file name.
Objective: This script updates origin and destination zones in truck model input: inputs/4k/auto.h5.
Settings: The user needs to update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| wd | "E:/Projects/Clients/bkr/ model/soundcast/inputs/4k/" | Working directory that contains input file |
| auto_file | "auto.h5" | Auto file name |
| tazSharesFileName | "psrc_to_bkr.txt" | SoundCast to BKR zones correspondence in the same folder as the script; format: psrc_zone_id,bkr_zone_id,percent; percent represents percent of SoundCast zone area within the corresponding BKRCast zone area |
| num_bkr_zones | 1530 | Total BKRCast zones |
Outputs: The converted data file is produced in the working directory (wd) with "_bkr" appended to file name.
Objective: This script updates origin and destination zones in seed DaySim trips: inputs/daysim_outputs_seed_trips.h5.
Settings: Update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| wd | "E:/Projects/Clients/bkr/ model/bkrcast_tod/inputs/" | Working directory that contains seed DaySim trips file |
| seedTripsFileName | "daysim_outputs_seed_trips.h5" | Seed DaySim trips file |
| tazSharesFileName | "psrc_to_bkr.txt" | SoundCast to BKR zones correspondence in the same folder as the script; format: psrc_zone_id,bkr_zone_id,percent; percent represents percent of SoundCast zone area within the corresponding BKRCast zone area |
Outputs: The converted data file is produced in the working directory (wd) with "_bkr" appended to file name.
Objective: This script updates from/to zones for intrazonal inputs located under inputs/IntraZonals: origin_tt.in, destination_tt.in.
Settings: Update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| wd | r"E:\Projects\Clients\bkr\ model\bkrcast_tod_new\ inputs\IntraZonals" | Working directory that contains intrazonal files |
| files_list | ["origin_tt.in", "destination_tt.in"] | Intrazonal time files |
| file_termtime | r'E:\Projects\Clients\bkr\ data\frombkr\Network\ network updates\ bkrcast_autoterminaltime.csv' | File path containing terminal time for every zone in BKRCast |
Outputs: The converted data files are produced in the working directory (wd) with "_bkr" appended to file names. The destination_tt_bkr.in file may write quotes around values in the first column. To correct this, open the file in a text editor and replace " all" with all (space should be present before the text).
Objective: This script crops SoundCast model zones in seed skims to the length of the BKRCast model zones: inputs/[tod].h5. This script is used for processing skims for 12 time periods. (BKRCast is now four time periods; this script is no longer needed.)
Settings: Update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| wd | r"E:/Projects/Clients/bkr/ model/soundcast/inputs/" | Working directory that contains skim files |
| tods | ['5to6', '6to7', '7to8', '8to9', '9to10', '10to14', '14to15', '15to16', '16to17', '17to18', '18to20', '20to5' ] | Time-of-day categories |
| num_bkr_zones | 1530 | Number of BKRCast zones |
Outputs: The converted data files are produced in the working directory (wd) with "_bkr" appended to file names.
Objective: This script updates district correspondence in the TAZ index file: inputs/TAZIndex.txt.
Settings: The user needs to update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| wd | r"E:/Projects/Clients/bkr/ model/soundcast/inputs" | Working directory that contains TAZ index file |
| zoneFileName | "TAZIndex.txt" | Zone index file name |
| tazSharesFileName | "psrc_to_bkr.txt" | SoundCast to BKR zones correspondence in the same folder as the script; format: psrc_zone_id,bkr_zone_id,percent; percent represents percent of SoundCast zone area within the corresponding BKRCast zone area |
Outputs: The converted data file is produced in the working directory (wd) with "_bkr" appended to file name.
Objective: This script updates zones in supplemental trips: inputs/supplemental/trips/[tod].h5. This script is used for processing skims for 12 time periods. (BKRCast is now four time periods; this script is no longer needed.)
Settings: Update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| wd | r"E:/Projects/Clients/bkr/ model/soundcast/inputs/ supplemental/trips/" | Working directory that contains supplemental trip files |
| tods | ['5to6', '6to7', '7to8', '8to9', '9to10', '10to14', '14to15', '15to16', '16to17', '17to18', '18to20', '20to5' ] | Time of day categories |
| tazSharesFileName | "psrc_to_bkr.txt" | SoundCast to BKR zones correspondence in the same folder as the script; format: psrc_zone_id,bkr_zone_id,percent; percent represents percentage of SoundCast zone area within the corresponding BKRCast zone area |
Outputs: The converted data files are produced in the working directory (wd) with "_bkr" appended to file name.
Objective: This script updates group names in skim files: inputs/[tod].h5.
Settings: Update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| wd | r"E:\Projects\Clients\bkr\ model\bkrcast_tod_new\inputs" | Working directory that contains skim files |
| tods | ['6to9', '9to1530', '1530to1830', '1830to6'] | Time-of-day categories |
Outputs: The converted data files are produced in the working directory (wd) with the same file names.
Objective: This script updates zones in supplemental model zone data: inputs/supplemental/generation/landuse/tazdata.in.
Settings: Update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| wd | r"E:\Projects\Clients\bkr\ model\soundcast\inputs\ supplemental\generation\ landuse" | Working directory that contains skim files |
| files_zone | ["tazdata.in"] | Zone data file |
| tazSharesFileName | "psrc_to_bkr.txt" | SoundCast to BKR zones correspondence in the same folder as the script; format: psrc_zone_id,bkr_zone_id,percent; percent represents percent of SoundCast zone area within the corresponding BKRCast zone area |
Outputs: The converted data file is output in the working directory (wd) with "_bkr" appended to file name.
Objective: This script updates PUMA zone groups and transit zones: inputs/fares/transit_fare_zones.grt, inputs/supplemental/generation/ensembles/puma00.ens.
Settings: Update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| transit_dir | r'E:\Projects\Clients\bkr\model\soundcast\inputs\Fares' | Directory containing the transit fare zones (transitFileName) |
| puma_dir | r'E:\Projects\Clients\bkr\model\soundcast\inputs\supplemental\generation\ensembles' | Directory containing the PUMA zone groups file (PUMAFileName) |
| transitFileName | "transit_fare_zones.grt" | File containing transit fare by zones |
| pumaFileName | "puma00.ens" | File containing PUMA zone groups |
| tazSharesFileName | "psrc_to_bkr.txt" | SoundCast to BKR zones correspondence in the same folder as the script; format: psrc_zone_id,bkr_zone_id,percent; percent represents percent of SoundCast zone area within the corresponding BKRCast zone area |
Outputs: The converted data file is output in the working directory (wd) with "_bkr" appended to file names.
Objective: This script checks consistency between DaySim parcel file and network skims.
Settings: Update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| wd | r"E:/Projects/Clients/ bkr/model/bkrcast_tod/ inputs/" | Working directory that contains input files |
| parcelFileName | "buffered_parcels.dat" | Buffered parcel file name |
| popsynFileName | 'hh_and_persons.h5' | Synthetic population file name |
| zone_district_file | 'TAZ_District_CrossWalk.csv' | Zone-to-districts correspondence |
| tod | '9to1530' | Time of day |
| num_bkr_zones | 1530 | Number of BKRCast zones |
Outputs: Zones with inconsistencies are printed on the screen.
Objective: This script repacks HDF5 files into smaller sizes.
Settings: Update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| ext | "*.H5" | Extension of the files that needs to be repacked |
| h5repack | '"C:\Program Files\ HDF_Group\HDF5\ 1.8.17\bin\ h5repack.exe"' | Repack executable file full path |
Outputs: The repacked data files are produced in the same folder as the input files with "_bkr" appended to file names.
Objective: This script runs sampling test runs.
Settings: Update the following settings before running the script:
| Setting | Value | Description |
|---|---|---|
| model_directory | r'E:\Projects\ Clients\bkr\ model\bkrcast_tod_new' | BKRCast model directory |
| working_directory | r'E:\Projects\ Clients\bkr\ tasks\sensitivity_tests' | Working directory |
| taz_districts | r'E:\Projects\ Clients\bkr\ model\bkrcast_tod_new\ inputs\trucks\districts19_ga.ens' | Zone-to-districts correspondence file full path |
| config_template_path | "daysim_configuration_template.properties" | DaySim configuration template file |
| popsyn_file | 'hh_and_persons.h5' | Synthetic population file |
| shadow_prices_file | 'shadow_prices.txt' | Shadow price file |
| shadow_prices_pnr_file | 'park_and_ride_shadow_prices.txt' | Park-and-ride shadow price file |
| daysim_output | 'daysim_outputs.h5' | DaySim output file |
| zone_district_file | 'TAZ_District_CrossWalk.csv' | Zone-to-district (regions) correspondence to generate taz_sample_rate_file below |
| taz_sample_rate_file | 'taz_sample_rate.txt' | Sample rate by zone; this is an intermediate output, which is an input to popsampler script |
| columns | ['hhtaz', 'cars_per_hh', 'trips_per_hh', 'work_trips_per_hh', 'avg_commute_dist', 'trips_per_tour', 'transit_share', 'at_share', 'avg_trip_dist', 'avg_trip_time', 'am_share', 'pm_share', 'op_share'] | Columns in the summary file |
| periods | {'am': [560, 960], 'pm': [1560, 1860]} | AM and PM period duration |
| random_seeds | [1,2,3,4,5,6,7,8,9,10] | Ten random seeds |
Outputs: The outputs for each run are saved in saved_outputs under the working directory (working_directory).
-
Model System
-
Model Setup
-
Model Network
-
Land Use
-
Model Components
-
Model Directory
-
Calibration