Filtering Logic

There are several places where logic is applied to filter simulations by the option values. This is done by specifying the parameter|option criteria you want to include or exclude along with the appropriate logical operator. This is done in the YAML syntax as follows:

And

To include certain parameter option combinations, specify them in a list or by using the and key.

- Vintage|1950s
- Location Region|CR02
and:
  - Vintage|1950s
  - Location Region|CR02

The above example would include buildings in climate region 2 built in the 1950s. A list, except for that inside an or block is always interpreted as and block.

Or

or:
  - Vintage|<1950
  - Vintage|1950s
  - Vintage|1960s

This example would include buildings built before 1970.

Not

not: Heating Fuel|Propane

This will select buildings that does not have Propane Fuel type.

not:
  - Vintage|1950s
  - Location Region|CR02

This will select buildings that are not both Vintage 1950s and in location region CR02. It should be noted that this will select buildings of 1950s vintage provided they aren’t in region CR02. It will also select buildings in location CR02 provided they aren’t of vintage 1950s. If only those buildings that are neither of Vintage 1950s nor in region CR02 needs to be selected, the following logic should be used:

- not: Vintage|1950s
- not: Location Region|CR02

or,

and:
  - not: Vintage|1950s
  - not: Location Region|CR02

or,

not:
  or:
    - Vintage|1950s
    - Location Region|CR02

Combining Logic

These constructs can be combined to declare arbitrarily complex logic. Here is an example:

- or:
  - Vintage|<1950
  - Vintage|1950s
  - Vintage|1960s
- not: Geometry Garage|3 Car
- not: Geometry House Size|3500+
- Geometry Stories|1

This will select homes that were built before 1970, don’t have three car garages, are less than 3500 sq.ft., and have only one storey.