Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Changing the idd file for energyplus measures

I tried modifying the Energy+.idd files in two locations to customize the field values of an object created in an energyplus measure. The two idd files I modified are
C:\openstudio-2.6.0\EnergyPlus\Energy+.idd
and
C:\EnergyPlusV8-9-0\Energy+.idd

As an example, I choose to modify the "Outdoor Air Equipment List Name" of the AirLoopHVAC:OutdoorAirSystem object.

AirLoopHVAC:OutdoorAirSystem,
  DOAS OA System,                         !- Name
  DOAS OA System Controllers,             !- Controller List Name
  DOAS OA System Equipment,               !- Outdoor Air Equipment List Name
  DOAS Availability Managers;             !- Availability Manager List Name

I attempted to write this object to the idf file using

  string_object = "
AirLoopHVAC:OutdoorAirSystem,
  DOAS OA System,                         !- Name
  DOAS OA System Controllers,             !- Controller List Name
  ,                                       !- Outdoor Air Equipment List Name
  DOAS Availability Managers;             !- Availability Manager List Name
      "
  idfObject = OpenStudio::IdfObject::load(string_object)
  object = idfObject.get
  wsObject = workspace.addObject(object)

but the "DOAS OA System Equipment" object hadn't been defined yet, meaning assigning "DOAS OA System Equipment" to the "Outdoor Air Equipment List Name" would be invalid since the referenced object doesn't exist yet. So the idf file contained this instead

AirLoopHVAC:OutdoorAirSystem,
  DOAS OA System,                         !- Name
  DOAS OA System Controllers,             !- Controller List Name
  ,                                       !- Outdoor Air Equipment List Name
  DOAS Availability Managers;             !- Availability Manager List Name

So I modified the AirLoopHVAC:OutdoorAirSystem portion of the Energy+.idd file in both locations.

AirLoopHVAC:OutdoorAirSystem,
       \memo Outdoor air subsystem for an AirLoopHVAC. Includes an outdoor air mixing box and
       \memo optional outdoor air conditioning equipment such as heat recovery, preheat, and precool
       \memo coils. From the perspective of the primary air loop the outdoor air system is treated
       \memo as a single component.
       \min-fields 3
   A1, \field Name
       \required-field
       \type alpha
       \reference-class-name validBranchEquipmentTypes
       \reference validBranchEquipmentNames
   A2, \field Controller List Name
       \note Enter the name of an AirLoopHVAC:ControllerList object.
       \required-field
       \type object-list
       \object-list ControllerLists
   A3, \field Outdoor Air Equipment List Name
       \note Enter the name of an AirLoopHVAC:OutdoorAirSystem:EquipmentList object.
       \required-field
       \type object-list
       \object-list AirLoopOAEquipmentLists
   A4; \field Availability Manager List Name
       \note Enter the name of an AvailabilityManagerAssignmentList object.
       \type object-list
       \object-list SystemAvailabilityManagerLists

changing the A3 field to

   A3, \field Outdoor Air Equipment List Name
       \note Enter the name of an AirLoopHVAC:OutdoorAirSystem:EquipmentList object.
       \required-field
       \type alpha

The change showed up in the IDFEditor as the required orange color when the field is blank was gone, but the measure still failed to put "DOAS OA System Equipment" in the A3 field since the "DOAS OA System Equipment" object hadn't been defined yet.

So if the idd file for openstudio and the different idd file energyplus don't control the behavior for energyplus measures modifying objects, what does?

Changing the idd file for energyplus measures

I tried modifying the Energy+.idd files in two locations to customize the field values of an object created in an energyplus measure. The two idd files I modified are
C:\openstudio-2.6.0\EnergyPlus\Energy+.idd
and
C:\EnergyPlusV8-9-0\Energy+.idd

As an example, I choose to modify the "Outdoor Air Equipment List Name" of the AirLoopHVAC:OutdoorAirSystem object.

AirLoopHVAC:OutdoorAirSystem,
  DOAS OA System,                         !- Name
  DOAS OA System Controllers,             !- Controller List Name
  DOAS OA System Equipment,               !- Outdoor Air Equipment List Name
  DOAS Availability Managers;             !- Availability Manager List Name

I attempted to write this object to the idf file using

  string_object = "
AirLoopHVAC:OutdoorAirSystem,
  DOAS OA System,                         !- Name
  DOAS OA System Controllers,             !- Controller List Name
  ,                                       !- Outdoor Air Equipment List Name
  DOAS Availability Managers;             !- Availability Manager List Name
      "
  idfObject = OpenStudio::IdfObject::load(string_object)
  object = idfObject.get
  wsObject = workspace.addObject(object)

but the "DOAS OA System Equipment" object hadn't been defined yet, meaning assigning "DOAS OA System Equipment" to the "Outdoor Air Equipment List Name" would be invalid since the referenced object doesn't exist yet. So the idf file contained this instead

AirLoopHVAC:OutdoorAirSystem,
  DOAS OA System,                         !- Name
  DOAS OA System Controllers,             !- Controller List Name
  ,                                       !- Outdoor Air Equipment List Name
  DOAS Availability Managers;             !- Availability Manager List Name

So I modified the AirLoopHVAC:OutdoorAirSystem portion of the Energy+.idd file in both locations.

AirLoopHVAC:OutdoorAirSystem,
       \memo Outdoor air subsystem for an AirLoopHVAC. Includes an outdoor air mixing box and
       \memo optional outdoor air conditioning equipment such as heat recovery, preheat, and precool
       \memo coils. From the perspective of the primary air loop the outdoor air system is treated
       \memo as a single component.
       \min-fields 3
   A1, \field Name
       \required-field
       \type alpha
       \reference-class-name validBranchEquipmentTypes
       \reference validBranchEquipmentNames
   A2, \field Controller List Name
       \note Enter the name of an AirLoopHVAC:ControllerList object.
       \required-field
       \type object-list
       \object-list ControllerLists
   A3, \field Outdoor Air Equipment List Name
       \note Enter the name of an AirLoopHVAC:OutdoorAirSystem:EquipmentList object.
       \required-field
       \type object-list
       \object-list AirLoopOAEquipmentLists
   A4; \field Availability Manager List Name
       \note Enter the name of an AvailabilityManagerAssignmentList object.
       \type object-list
       \object-list SystemAvailabilityManagerLists

changing the A3 field to

   A3, \field Outdoor Air Equipment List Name
       \note Enter the name of an AirLoopHVAC:OutdoorAirSystem:EquipmentList object.
       \required-field
       \type alpha

The change showed up in the IDFEditor as the required orange color when the field is blank was gone, but the measure still failed to put "DOAS OA System Equipment" in the A3 field since the "DOAS OA System Equipment" object hadn't been defined yet.

So if the idd file for openstudio and the different idd file energyplus don't control the behavior for energyplus measures modifying objects, what does?