Feature Request / Discussion — ZoneList Support as Key Value in Output:Variable and Meter:Custom
Feature Request / Discussion — ZoneList Support as Key Value in Output:Variable and Meter:Custom
Background
When working with multi-zone models that have logical groupings (e.g. residential floors, apartment units, thermal zones by occupancy type), it is currently necessary to either:
- Use a wildcard
*inOutput:Variable, which captures all zones indiscriminately, or - List every zone explicitly in
Meter:Customas individual Key Name / Output Variable pairs
Both approaches have drawbacks. The wildcard produces too much data and doesn't reflect intentional groupings. Explicit listing in Meter:Custom is verbose, error-prone, and doesn't scale well for large models.
The Problem
EnergyPlus already supports ZoneList as a named grouping object, accepted as a key in many internal objects such as Lights, People, and ElectricEquipment. However, ZoneList names are not recognised as valid key values in Output:Variable. When used, the following warning appears in the error file:
Key=RESIDENTIAL_ZONES, VarName=ZONE LIGHTS ELECTRICITY ENERGY, Frequency=Hourly
EnergyPlus treats it as a literal (unmatched) zone name rather than expanding the list.
Proposed Enhancement
The proposal has two connected parts:
Part 1 — Allow Output:Variable to accept a ZoneList name as its Key Value, expanding it to report the variable for each zone in the list:
```
ZoneList,
RESIDENTIAL_ZONES, !- Name
Residential1:R1, !- Zone 1 Name
Residential2:R2, !- Zone 2 Name
Residential3:R3, !- Zone 3 Name
Residential4:R4; !- Zone 4 Name
Output:Variable, RESIDENTIAL_ZONES, !- Key Value (ZoneList name) Zone Lights Electricity Energy, !- Variable Name Hourly; !- Reporting Frequency ```
This single object would behave as if four separate Output:Variable objects had been written — one per zone in the list.
Part 2 — Allow Meter:Custom to reference a ZoneList-expanded Output:Variable directly, enabling a single aggregated meter without listing every zone explicitly:
Meter:Custom,
Residential Lighting, !- Name
Electricity, !- Fuel Type
RESIDENTIAL_ZONES, !- Key Name 1
Zone Lights Electricity Energy; !- Output Variable or Meter Name 1
Together, these two changes would allow a clean, maintainable workflow where zone groupings are defined once in a ZoneList and reused consistently across both output reporting and custom meter aggregation.
Why This Would Be Valuable
- Consistency —
ZoneListis already used as a key in load definition objects; output reporting should follow the same pattern - Define once, reuse everywhere — a
ZoneListdefined once can be referenced with any number of different variable names inOutput:VariableandMeter:Custom. The sameRESIDENTIAL_ZONESlist could serve lighting, equipment, and temperature reporting independently - Better model organisation — zone groupings defined once in a
ZoneListbecome a single source of truth for both simulation inputs and output reporting
Question
Has anyone found a clean workaround for grouped zone output reporting beyond explicit listing, wildcard *, python postprocessing scripts, DBERL, etc.?



You might want to post this to the EnergyPlus GitHub Issues and tag it with "NewFeatureRequest"
@JasonGlazer thanks, reported at https://github.com/NatLabRockies/Ener...