NatLabRockies / NatLabRockies/OpenStudio

Daylighting Controls translator should default to space name not zone name

Open
#4,841 6 comments 0 reactions 1 assignee View on GitHub

@jmarrec is already working on this.

Since Mar 28, 2023.

component - Model severity - Normal Bug
Dominant language
C++
Stars
646
Forks
237
Avg merge
3d 11h
Merged PRs (30d)
10

Description

Issue overview

This issue was uncovered in openstudio-standards testing, specifically this test.
The model fails in EnergyPlus, because space daylighting objects are binned together into a zone daylighting control. But the daylighting controls in the thermal zone don't share the same enclosure, which throws an error in EnergyPlus.

Current Behavior

The test errors applying daylighting controls to a multi-story multifamily building. This user model has 4 levels of corridor spaces, all stacked on top of each other, that share a thermal zone.
The baseline daylighting control method adds daylight sensors to the space, which looks like this in the .osm:

OS:Daylighting:Control,
  {02c2d90d-4494-4271-b85f-0cd2a9d80e00}, !- Handle
  L1-N_corr Daylt Sensor 1,               !- Name
  {51e9fe26-905f-4282-b172-07bd4e347c4e}, !- Space Name
  -65.1304982249999,                      !- Position X-Coordinate {m}
  -2.667,                                 !- Position Y-Coordinate {m}
  0.762,                                  !- Position Z-Coordinate {m}
  ,                                       !- Psi Rotation Around X-Axis {deg}
  ,                                       !- Theta Rotation Around Y-Axis {deg}
  ,                                       !- Phi Rotation Around Z-Axis {deg}
  375,                                    !- Illuminance Setpoint {lux}
  Stepped,                                !- Lighting Control Type
  0.3,                                    !- Minimum Input Power Fraction for Continuous Dimming Control
  0.2,                                    !- Minimum Light Output Fraction for Continuous Dimming Control
  3,                                      !- Number of Stepped Control Steps
  1,                                      !- Probability Lighting will be Reset When Needed in Manual Stepped Control
  ,                                       !- Number of Daylighting Views
  22;                                     !- Maximum Allowable Discomfort Glare Index

OS:Daylighting:Control,
  {0627b45e-c5cf-4e5f-9382-2a95c4aad47e}, !- Handle
  L1-N_corr Daylt Sensor 2,               !- Name
  {51e9fe26-905f-4282-b172-07bd4e347c4e}, !- Space Name
  -63.7946585443181,                      !- Position X-Coordinate {m}
  -2.667,                                 !- Position Y-Coordinate {m}
  0.762,                                  !- Position Z-Coordinate {m}
  ,                                       !- Psi Rotation Around X-Axis {deg}
  ,                                       !- Theta Rotation Around Y-Axis {deg}
  ,                                       !- Phi Rotation Around Z-Axis {deg}
  375,                                    !- Illuminance Setpoint {lux}
  Stepped,                                !- Lighting Control Type
  0.3,                                    !- Minimum Input Power Fraction for Continuous Dimming Control
  0.2,                                    !- Minimum Light Output Fraction for Continuous Dimming Control
  3,                                      !- Number of Stepped Control Steps
  1,                                      !- Probability Lighting will be Reset When Needed in Manual Stepped Control
  ,                                       !- Number of Daylighting Views
  22;                                     !- Maximum Allowable Discomfort Glare Index

This gets translated to this object in EnergyPlus:

Daylighting:Controls,
  Thermal Zone: L1-N_corr DaylightingControls, !- Name
  Thermal Zone: L1-N_corr,                !- Zone or Space Name
  ,                                       !- Daylighting Method
  ,                                       !- Availability Schedule Name
  Stepped,                                !- Lighting Control Type
  0.3,                                    !- Minimum Input Power Fraction for Continuous or ContinuousOff Dimming Control
  0.2,                                    !- Minimum Light Output Fraction for Continuous or ContinuousOff Dimming Control
  3,                                      !- Number of Stepped Control Steps
  1,                                      !- Probability Lighting will be Reset When Needed in Manual Stepped Control
  L1-N_corr Daylt Sensor 1,               !- Glare Calculation Daylighting Reference Point Name
  -0,                                     !- Glare Calculation Azimuth Angle of View Direction Clockwise from Zone y-Axis {deg}
  22,                                     !- Maximum Allowable Discomfort Glare Index
  ,                                       !- DElight Gridding Resolution {m2}
  L1-N_corr Daylt Sensor 1,               !- Daylighting Reference Point Name 1
  0.135,                                  !- Fraction of Lights Controlled by Reference Point 1
  375,                                    !- Illuminance Setpoint at Reference Point 1 {lux}
  L1-N_corr Daylt Sensor 2,               !- Daylighting Reference Point Name 2
  0.106,                                  !- Fraction of Lights Controlled by Reference Point 2
  375;                                    !- Illuminance Setpoint at Reference Point 2 {lux}

When this run, it hits this error in EnergyPlus:
Daylighting:Controls: invalid Zone or Space Name="THERMAL ZONE: L1-N_CORR" All spaces in the zone must be in the same enclosure for daylighting.

This issue appears similar to #4786

Expected Behavior

Daylight control object should retain its space assignment in EnergyPlus, not its parent thermal zone. Daylight depends on space geometry, and lots of spaces could be part of the same thermal zone.

Steps to Reproduce

  1. Run the above openstudio-standards test in OSv3.5.1 or above.

Possible Solution

I suggest having the default translate each OS:Daylighting:Control object to its own space-level Daylighting:Controls in EnergyPlus.

Details

Environment

Some additional details about your environment for this issue (if relevant):

  • Platform (Operating system, version): Windows
  • Version of OpenStudio (if using an intermediate build, include SHA): OSv3.5.1
Context

This is causing testing errors in App G baseline methods in openstudio-standards.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.