NREL/buildstockbatch

Create a top-level `options` in YAML to facilitate option re-use

shorowit opened this issue · 1 comments

It's common to want to use the same option across multiple upgrades -- e.g., an insulation option that is part of three different upgrade packages. Currently you can only avoid duplication of code by using YAML anchors, but this creates complexity and has a learning curve.

The schema can allow for option re-use, without needing anchors, by moving options to the top-level (instead of nested within each upgrade), and then have each upgrade just refer 1 or more option_names. Simple to understand and use.

(For more complicated cases where you want to re-use definitions -- e.g., a "seal_ducts_cost" that applies to 10 different options, or a "North_for_ACs" that defines the list of states that have "northern" federal requirements for ACs that applies to 10 different options -- anchors would still be needed.)

Partially addressed #366