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?