Skip to content
conorhenley edited this page Jan 7, 2019 · 9 revisions

Moving Additional Things into the Scenario Framework

We want to add the ability to use scenario-specific control totals and model coefficients.

Control Totals

Want it to default to the files as they are named now. But if scenario-specific file is named in yaml want to sub it in. s1_household_controls_input_file = ‘household_controls1.cav’

Need ability to rename all three control files for each scenario (households, employment, and regional. Name of file in ‘ ‘ is arbitrary (can be anything even without a scenario number in it. It is the var before the = that defines how to use the file.

Implemented as follows. In settings.yaml, control_tables followed by the type of control total table should implemented exactly as below. The generic and scenario specific table identifiers must be as below with the {s_} signifying the scenario number. The filenames after the colon can point to any file with the correct format found in the data directory.

control_tables: 
  household: 
    household_controls_input_file: household_controls.csv 
    s4_household_controls_input_file: s4_household_controls.csv 
  employment: 
    employment_controls_input_file: employment_controls.csv 
    s4_employment_controls_input_file: s4_employment_controls.csv 
  regional: 
    regional_controls_input_file: regional_controls.csv 
    s4_regional_controls_input_file: s4_regional_controls.csv 

Model Coefficients

The same way as the Control Totals. Defaults to standard but any mention in the yaml subs in a replacement file for just that model in just that scenario.

The configurable model specification settings closely resemble the control totals setting above. The model_configs header, general model type (hlcm, elcm, etc.), and specific model type w/scenario marker should follow the exact pattern shown below. The yaml filenames after the colons need not follow a pattern but must point to a file found in the configs directory.

model_configs: 
  hlcm: 
    hlcm_owner_config: hlcm_owner.yaml 
    s4_hlcm_owner_config: s4_hlcm_owner.yaml 
    hlcm_owner_lowincome_config: hlcm_owner_lowincome.yaml 
    s4_hlcm_owner_lowincome_config: s4_hlcm_owner_lowincome.yaml 
    hlcm_owner_no_unplaced_config: hlcm_owner_no_unplaced.yaml 
    hlcm_renter_config: hlcm_renter.yaml 
    hlcm_renter_lowincome_config: hlcm_renter_lowincome.yaml 
    hlcm_renter_no_unplaced_config: hlcm_renter_no_unplaced.yaml 
  elcm: 
    elcm_config: elcm.yaml 
    s4_elcm_config: s4_elcm.yaml 
  rsh: 
    rsh_config: rsh.yaml 
  rrh: 
    rrh_config: rrh.yaml 
  nrh: 
    nrh_config: nrh.yaml 
Clone this wiki locally