Skip to content

How to Produce Benefit Cost Summaries

Suzanne Childress edited this page Jul 18, 2017 · 16 revisions

Run the model twice

  • Run a baseline and alternative scenario. Save all outputs on the same same server.They should be on the same server so that you can run access the EMME projects for network calculations locally and the paths are not messed up.

Setup the server and configuration file

  • Clear out about 60 GB of space on the server where you will run the benefit-cost calculations. Currently the code writes out the necessary matrix outputs as an intermediary step (unfortunately).

  • Edit the top 20 lines of configuration file in your baseline run folder (the json file is found in every run) located at \scripts\summarize\benefit_cost\benefit_configuration.json to point to your baseline and configuration runs.

  • outputpath is the location where you want to write the consumer surplus zonal skim based outputs (like travel time and cost) of the benefit-cost script

  • baseline and alternative filepath is where you will write the skims as an intermediary step.

  • baseline and alternative inputpath is the main directory of your baseline and alternative model runs.

  • aqoutputpath is the location where you will write the air quality and crash outputs

Here's an example for reference:

{
  "description": "example soundcast use",
  "year": 2040,
  "outputpath": "d:/bca_outputs/soundcast_bc_test.csv",
  "constantdollars": 2014,
  "max_zone_id": 3700,

  "baseline": {
    "description": "2040_no_build",
    "filepath": "d:/bca_outputs/2040_no_build.h5",
    "inputpath": "d:/soundcast_no_build_no_tolls/new",
    "aqoutputpath": "d:/bca_outputs/aq_crash_base.xlsx"
  },

  "alternative": {
    "description": "2025_20_5",
    "filepath": "d:/bca_outputs/2025_20_5.h5",
    "inputpath": "d:/brice/sc_2025_20_5",
    "aqoutputpath": "d:/bca_outputs/aq_crash_alt.xlsx"
  }

Run the benefit-cost scripts

  • To run the benefit-cost scripts on your baseline and scenario runs, navigate to the main folder of your baseline run in an anaconda prompt and type:

python scripts\summarize\benefit_cost\benefit_controller.py

This will scripts will do the following:

  1. Write out the necessary skims and trips from the baseline and alternative run to each filepath.
  2. Run the consumer surplus calculations on these skims and trips and write them to the file called outputpath.
  3. Run the air quality and crash calculations on the two networks and write the files to each aqoutputpath.

Process the outputs.

Three output files will be created by the process: an air-quality/crash output from the baseline and alternative, and the consumer surplus zonal skim outputs.

The results can be seen in a more legible manner by looking at them in excel and Tableau.

  1. In the baseline model run directory, output_templates, you will enter data into the file benefit_cost_template.xlsx.
  2. Open the file containing zonal skim outputs, the first column is zone id -1 and the second column is Auto Operating Cost. Copy the contents of this file into A1 of the benefit_cost_template sheet raw zonal.
  3. Next open the air-quality and crash outputs from the baseline. Copy the contents into B3 of the sheet links ben raw.
  4. Then pen the air-quality and crash outputs from the alternative. Copy the contents into O3 of the sheet links ben raw.
  5. You can see the total benefits in the sheet called "Totals".

Put results into Tableau.

To visualize the outputs, you can put them in Tableau using the file called benefit_cost_template.xlsx.

  1. Open the file on Tableau public at Benefit Cost template
  2. On the page called "Benefit Map", click on the formatted zonal Data container picture and "Refresh Data Source".
  3. On the page called "Benefit Map, click on the Totals Data container picture and "Refresh Data Source."
  4. Save your file.
Clone this wiki locally