Skip to content

Empty AirLoopHVAC:ControllerList created for AirLoopHVAC:DedicatedOutdoorAirSystem at forward translation #4265

@eringold

Description

@eringold

Issue overview

Creating an AirLoopHVAC:DedicatedOutdoorAirSystem requires an AirLoopHVAC:OutdoorAirSystem, which itself requires a ControllerOutdoorAir. When the OA system is forward translated, it will skip the Controller:OutdoorAir but it will create an AirLoopHVAC:ControllerList. For AirLoopHVAC:DedicatedOutdoorAirSystems that don't have any components that require a controller on the OutdoorAirSystem, the ControllerList object will be empty and throw severe errors:

   ** Severe  ** <root>[AirLoopHVAC:ControllerList][DOAS OA System 1 Controller List] - Missing required property 'controller_1_name'.
   ** Severe  ** <root>[AirLoopHVAC:ControllerList][DOAS OA System 1 Controller List] - Missing required property 'controller_1_object_type'.

ping @jmarrec

Current Behavior

Expected Behavior

If equipment on the OutdoorAirSystem doesn't require controllers (e.g. water coils), don't set a 'Controller List Name' in the AirLoopHVAC:OutdoorAirSystem.

from the AirLoopHVAC:OutdoorAirSystem IDD:

   A2, \field Controller List Name
       \note Enter the name of an AirLoopHVAC:ControllerList object or blank if this object is used in
       \note AirLoopHVAC:DedicatedOutdoorAirSystem.
       \type object-list

Steps to Reproduce

require 'openstudio'
include OpenStudio::Model

m = Model.new
# need a Controller:OutdoorAir for constructor
oas = AirLoopHVACOutdoorAirSystem.new(m, ControllerOutdoorAir.new(m))
doas = AirLoopHVACDedicatedOutdoorAirSystem.new(oas)

ft = OpenStudio::EnergyPlus::ForwardTranslator.new()
ws = ft.translateModel(m)

puts ws.getObjectsByType("AirLoopHVAC_ControllerList".to_IddObjectType)

=> AirLoopHVAC:ControllerList, Air Loop HVAC Outdoor Air System 1 Controller List; !- Name

Possible Solution

Could Controller:OutdoorAir be optional for an AirLoopHVAC:OutdoorAirSystem (since it's not used or translated for an AirLoopHVAC:DOAS)? Otherwise check if a controllerlist is needed by components on the OA System before making one.

Details

Environment

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

Context

Trying to make an AirLoopHVAC:DOAS with a VRF TU on the OA system.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions