Skip to content

Conversation

yujiex
Copy link
Collaborator

@yujiex yujiex commented Oct 4, 2025

Pull request overview

Description of the purpose of this PR

This PR addresses comments from @jmarrec about the test files in #11001

  • need to replace the dummy curves with more realistic data
  • the description of the test idfs are not updated
  • unrelated EMS code in the cooling_only test file

Pull Request Author

  • Title of PR should be user-synopsis style (clearly understandable in a standalone changelog context)
  • Label the PR with at least one of: Defect, Refactoring, NewFeature, Performance, and/or DoNoPublish
  • Pull requests that impact EnergyPlus code must also include unit tests to cover enhancement or defect repair
  • Author should provide a "walkthrough" of relevant code changes using a GitHub code review comment process
  • If any diffs are expected, author must demonstrate they are justified using plots and descriptions
  • If changes fix a defect, the fix should be demonstrated in plots and descriptions
  • If any defect files are updated to a more recent version, upload new versions here or on DevSupport
  • If IDD requires transition, transition source, rules, ExpandObjects, and IDFs must be updated, and add IDDChange label
  • If structural output changes, add to output rules file and add OutputChange label
  • If adding/removing any LaTeX docs or figures, update that document's CMakeLists file dependencies

Reviewer

  • Perform a Code Review on GitHub
  • If branch is behind develop, merge develop and build locally to check for side effects of the merge
  • If defect, verify by running develop branch and reproducing defect, then running PR and reproducing fix
  • If feature, test running new feature, try creative ways to break it
  • CI status: all green or justified
  • Check that performance is not impacted (CI Linux results include performance check)
  • Run Unit Test(s) locally
  • Check any new function arguments for performance impacts
  • Verify IDF naming conventions and styles, memos and notes and defaults
  • If new idf included, locally check the err file and other outputs

@yujiex yujiex requested a review from jmarrec October 4, 2025 00:33
@yujiex yujiex self-assigned this Oct 4, 2025
Copy link

github-actions bot commented Oct 4, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit ea977ad

Regression Summary
  • Audit: 3
  • ERR: 2
  • MTD: 2
  • RDD: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • EDD: 1
  • ESO Big Diffs: 1

Copy link

github-actions bot commented Oct 4, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit 35bd15d

Regression Summary
  • Audit: 2
  • ERR: 1
  • MTD: 1
  • RDD: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • EDD: 1
  • ESO Big Diffs: 1

Copy link

github-actions bot commented Oct 4, 2025

⚠️ Regressions detected on macos-14 for commit 35bd15d

Regression Summary
  • Audit: 2
  • EDD: 1
  • ESO Big Diffs: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • ERR: 1
  • MTD: 1
  • RDD: 1

Copy link

github-actions bot commented Oct 4, 2025

⚠️ Regressions detected on macos-14 for commit ea977ad

Regression Summary
  • Audit: 3
  • EDD: 1
  • ESO Big Diffs: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • ERR: 2
  • MTD: 2
  • RDD: 1

Copy link

github-actions bot commented Oct 6, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit 45ca532

Regression Summary
  • Audit: 2
  • EDD: 1
  • ESO Big Diffs: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • ERR: 1
  • MTD: 1
  • RDD: 1

Copy link

github-actions bot commented Oct 6, 2025

⚠️ Regressions detected on macos-14 for commit 45ca532

Regression Summary
  • Audit: 2
  • EDD: 1
  • ESO Big Diffs: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • ERR: 1
  • MTD: 1
  • RDD: 1

A5, \field Operating Mode Control Option for Multiple Unit
\note this determines how the operation mode is assigned when the load
\note is too large to be met by multiple heat pump units
\type choice
Copy link
Contributor

@jmarrec jmarrec Oct 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added this missing type.

I'm currently trying to scope how I would wrap this object in the OpenStudio SDK.

I had already figured I would probably break the heating/cooling speeds into subobjects, but I might actually break the cooling and heating side into two subobjects too.

Have you considered this versus a large object (105 fields)? Just curious.

https://docs.google.com/spreadsheets/d/1uCcEdmM4p3M9L7HeihAwL9F9NawK1TR8j3ADBqS6jTs/edit?usp=sharing

Placement of field "Minimum Part Load Ratio" is strange to me, it's "stuck" between heating-related fields

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did you pick "min-fields 56"?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand the booster mode for cooling/heating. Didn't find an entry in the Engineering reference.

Copy link
Contributor

@jmarrec jmarrec Oct 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Essentially, this appears to just allow using 6 speeds instead of 5, but that sixth speed isn't used to determine the reference Capacity and COP (edit: this statement is apparently wrong)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there's a weirdness and potential error in the way the reference capacity is set.

I/O ref says

The maximum number of speeds allowed is 5. Speed level 1 is the lowest speed; and speed level 5 is the highest
speed.

Rated heating capacity at speed i, where i is the speed number from 1 to 5. For speed 1, the default value is autosize.

So, it seems that the reference Capacity is taken at speed 1, and the flag referenceCapacityWasAutoSized is set based on that

if (i == 0) {
thisAWHP.referenceCapacity = thisAWHP.ratedCapacity[0] = state.dataInputProcessing->inputProcessor->getRealFieldValue(
fields, schemaProps, format("rated_{}_capacity_at_speed_1", modeKeyWord));
if (thisAWHP.ratedCapacity[0] == DataSizing::AutoSize) {
thisAWHP.referenceCapacityWasAutoSized = true;
}

Then it's assigned to speed 5 here:

thisAWHP.referenceCapacityOneUnit = thisAWHP.ratedCapacity[thisAWHP.numSpeeds - 1];
thisAWHP.referenceCapacity = thisAWHP.referenceCapacityOneUnit * thisAWHP.heatPumpMultiplier;
thisAWHP.referenceCOP = thisAWHP.ratedCOP[thisAWHP.numSpeeds - 1];

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • If speed 5 is the nominal speed level, shouldn't it be the one carrying the "autosize"? And shouldn't the thisAWHP.ratedCapacity[thisAWHP.numSpeeds - 1] be reassigned the autosized capacity?

  • It seems that if you have a booster mode, the block on line 4270 to 4272 actually takes the booster mode as a the reference capacity. is that correct?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you considered this versus a large object (105 fields)? Just curious.

The intention was so that it resembles the real equipment, whose heating and cooling functionality is usually encapsulated in one piece of equipment. Although it would have been easier to implement with heating and cooling as separate component.

Placement of field "Minimum Part Load Ratio" is strange to me, it's "stuck" between heating-related fields

Indeed. I just moved it up to before the group of heating input.

Why did you pick "min-fields 56"?

It should be 77. To make sure the number of speeds for heating and cooling gets defaults if user didn't give inputs. I just changed it.

I don't understand the booster mode for cooling/heating. Didn't find an entry in the Engineering reference.

To my understanding, if the booster mode is enabled, the heat pump will have the ability to increase its capacity (increase compressor speed) further beyond the maximum, to meet a large demand. But this is usually at the cost of lower COP. If it's not enabled, the heat pump will operate at the maximum speed level and not meet the large demand.

I only have description of booster mode in IO reference as follows. I can add some more description of its intention to engineering reference.

Field: Booster Mode On Heating. This field is a flag that indicates
whether the heat pump has a booster mode enabled for heating operation. If the
flag is on, booster mode will be enabled and the heat pump will operate at a
higher capacity during heating operation. The default value is false, which
means booster mode is not enabled. When the booster mode is on, the following
performance fields are required.

Essentially, this appears to just allow using 6 speeds instead of 5, but that sixth speed isn't used to determine the reference Capacity and COP.

Yes, it will use another set of performance curves to represent the booster mode.
It is used to determine reference capacity and COP. Here when the booster mode is on, the curves, COP, capacity etc are added as another speed level. In the later calculation of reference COP and capacity, the booster mode data is considered as well.

                if (thisAWHP.boosterOn) {
                    thisAWHP.numSpeeds += 1;

I think there's a weirdness and potential error in the way the reference capacity is set.

Indeed, I will modify the code to have the highest speed level be autosizable (currently it's fixed at the lowest speed) and make the autosized capacity be reference capacity.

It seems that if you have a booster mode, the block on line 4270 to 4272 actually takes the booster mode as a the reference capacity. is that correct?

Yes, the booster mode is treated as a higher speed level and its capacity will be considered in the reference capacity

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess my followup question is why do you need a booster speed in that case?

Just have the potential for 6 speeds. And the Nth highest speed is hte booster one. each speed level includes the curves, COP and capacity, so I don't understand how it's different from regular speeds?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(and thanks for the taking the time to answer the questions! I'm not trying to be difficult, this is just a byproduct of having to wrap this object in the OpenStudio SDK).

Dunno if you saw my question lower here; #11251 (comment)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The intention was so that it resembles the real equipment, whose heating and cooling functionality is usually encapsulated in one piece of equipment. Although it would have been easier to implement with heating and cooling as separate component.

FWIW, one does not prevent the other. We have a bunch of equipment that has a top-level wrapper object and logical subojects. (CentralHeatPumpSystem and ChillerHeaterPerformance:Electric:EIR to name one)

Copy link

github-actions bot commented Oct 6, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit a11b53d

Regression Summary
  • Audit: 2
  • EDD: 1
  • ESO Big Diffs: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • ERR: 1
  • MTD: 1
  • RDD: 1

Copy link

github-actions bot commented Oct 6, 2025

⚠️ Regressions detected on macos-14 for commit a11b53d

Regression Summary
  • Audit: 2
  • ERR: 1
  • MTD: 1
  • RDD: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • EDD: 1
  • ESO Big Diffs: 1

@jmarrec
Copy link
Contributor

jmarrec commented Oct 6, 2025

I've got another question @yujiex . I'm seeing on the branch that this type...

  Branch,
    Heating Coil Load Loop Supply Branch,  !- Name
    ,                        !- Pressure Drop Curve Name
    Pump:VariableSpeed,      !- Component 1 Object Type
    Heating Coil Load Loop Pump,  !- Component 1 Name
    Heating Coil Load Loop Supply Inlet Node,  !- Component 1 Inlet Node Name
    Heating Coil Load Loop Intermediate Node,  !- Component 1 Outlet Node Name
-   HeatPump:AirToWater:Heating,  !- Component 2 Object Type
    test_AWHP,               !- Component 2 Name
    Heating Coil Load Loop Intermediate Node,  !- Component 2 Inlet Node Name
    Heating Coil Load Loop Supply Outlet Node;  !- Component 2 Outlet Node Name

Is this expected and documented?

Copy link

github-actions bot commented Oct 6, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit f4e2fae

Regression Summary
  • Audit: 1
  • ERR: 1
  • MTD: 1
  • RDD: 1
  • Table Big Diffs: 1
  • Table String Diffs: 1

Copy link

github-actions bot commented Oct 6, 2025

⚠️ Regressions detected on macos-14 for commit f4e2fae

Regression Summary
  • Audit: 1
  • ERR: 1
  • MTD: 1
  • RDD: 1
  • Table Big Diffs: 1
  • Table String Diffs: 1

@yujiex
Copy link
Collaborator Author

yujiex commented Oct 6, 2025

I've got another question @yujiex . I'm seeing on the branch that this type...

  Branch,
    Heating Coil Load Loop Supply Branch,  !- Name
    ,                        !- Pressure Drop Curve Name
    Pump:VariableSpeed,      !- Component 1 Object Type
    Heating Coil Load Loop Pump,  !- Component 1 Name
    Heating Coil Load Loop Supply Inlet Node,  !- Component 1 Inlet Node Name
    Heating Coil Load Loop Intermediate Node,  !- Component 1 Outlet Node Name
-   HeatPump:AirToWater:Heating,  !- Component 2 Object Type
    test_AWHP,               !- Component 2 Name
    Heating Coil Load Loop Intermediate Node,  !- Component 2 Inlet Node Name
    Heating Coil Load Loop Supply Outlet Node;  !- Component 2 Outlet Node Name

Is this expected and documented?

this is because when there are both heating and cooling component, if they have the same type, they'll have this error: "Same component name and type has differing Node Names"

Copy link

github-actions bot commented Oct 6, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit 4ebe3e9

Regression Summary
  • Audit: 2
  • EDD: 1
  • ESO Big Diffs: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • ERR: 1
  • MTD: 1
  • RDD: 1

Copy link

github-actions bot commented Oct 6, 2025

⚠️ Regressions detected on macos-14 for commit 4ebe3e9

Regression Summary
  • Audit: 2
  • ERR: 1
  • MTD: 1
  • RDD: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • EDD: 1
  • ESO Big Diffs: 1

Copy link

github-actions bot commented Oct 6, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit 6b17635

Regression Summary
  • Audit: 2
  • EDD: 1
  • ESO Big Diffs: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • ERR: 1
  • MTD: 1
  • RDD: 1

Copy link

github-actions bot commented Oct 6, 2025

⚠️ Regressions detected on macos-14 for commit 6b17635

Regression Summary
  • Audit: 2
  • EDD: 1
  • ESO Big Diffs: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • ERR: 1
  • MTD: 1
  • RDD: 1

Copy link

github-actions bot commented Oct 7, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit 27b056f

Regression Summary
  • Audit: 2
  • EDD: 1
  • ESO Big Diffs: 1
  • Table Big Diffs: 2
  • Table String Diffs: 2
  • ERR: 1
  • MTD: 1
  • RDD: 1

@yujiex
Copy link
Collaborator Author

yujiex commented Oct 7, 2025

this is because when there are both heating and cooling component, if they have the same type, they'll have this error: "Same component name and type has differing Node Names"

No, you can't have object types on the branch that differ from the actual object type in the IDD. That error means something is incorrect in the node or compset registrations. Lots of other equipment have the same object on different branches (e.g. chiller chilled water nodes and condenser nodes).

I see, I will investigate what is the issue and fix it.

@yujiex yujiex added Defect Includes code to repair a defect in EnergyPlus IDDChange Code changes impact the IDD file (cannot be merged after IO freeze) labels Oct 7, 2025
Copy link

github-actions bot commented Oct 7, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit 00d6770

Regression Summary
  • Audit: 3
  • EDD: 2
  • ESO Big Diffs: 2
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • ERR: 2
  • MTD: 2
  • RDD: 2

Copy link

github-actions bot commented Oct 7, 2025

⚠️ Regressions detected on macos-14 for commit 00d6770

Regression Summary
  • Audit: 3
  • ERR: 2
  • MTD: 2
  • RDD: 2
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • EDD: 2
  • ESO Big Diffs: 2

Copy link

github-actions bot commented Oct 7, 2025

⚠️ Regressions detected on macos-14 for commit 9de4fdf

Regression Summary
  • Audit: 3
  • BND: 3
  • EDD: 2
  • ESO Big Diffs: 2
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • ERR: 2
  • MTD: 2
  • RDD: 2

Copy link

github-actions bot commented Oct 7, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit 9de4fdf

Regression Summary
  • Audit: 3
  • BND: 3
  • EDD: 2
  • ESO Big Diffs: 2
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • ERR: 2
  • MTD: 2
  • RDD: 2

Copy link

github-actions bot commented Oct 7, 2025

⚠️ Regressions detected on macos-14 for commit 99208f0

Regression Summary
  • Audit: 3
  • BND: 3
  • EDD: 2
  • ESO Big Diffs: 2
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • ERR: 2
  • MTD: 2
  • RDD: 2
  • EIO: 1

Copy link

github-actions bot commented Oct 7, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit 99208f0

Regression Summary
  • Audit: 3
  • BND: 3
  • EDD: 2
  • ESO Big Diffs: 2
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • ERR: 2
  • MTD: 2
  • RDD: 2
  • EIO: 1

@yujiex
Copy link
Collaborator Author

yujiex commented Oct 7, 2025

@jmarrec I changed autosize to maximum speed capacity, instead of fixed it at speed 1
@mjwitte I fixed the TestCompSet and the idfs don't have :heating or :cooling in the branch object type.
Please see if they look okay. Thanks.

@dareumnam dareumnam added this to the EnergyPlus 25.2 IO Freeze milestone Oct 8, 2025
@mitchute mitchute requested a review from mjwitte October 8, 2025 18:11
OpenStudio enforces the references, that's why I found this on this object and realized more objects had the same issue.
Copy link

github-actions bot commented Oct 9, 2025

⚠️ Regressions detected on macos-14 for commit 7d5f0e2

Regression Summary
  • Audit: 3
  • BND: 3
  • ERR: 2
  • MTD: 2
  • RDD: 2
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • EDD: 2
  • ESO Big Diffs: 2
  • EIO: 1

Copy link

github-actions bot commented Oct 9, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit 7d5f0e2

Regression Summary
  • Audit: 3
  • BND: 3
  • EDD: 2
  • ESO Big Diffs: 2
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • ERR: 2
  • MTD: 2
  • RDD: 2
  • EIO: 1

@jmarrec
Copy link
Contributor

jmarrec commented Oct 9, 2025

@yujiex The IDD says that Resistive Defrost Heater Capacity is autosizable

   N18, \field Resistive Defrost Heater Capacity
        \type real
        \minimum 0.0
        \default 0.0
        \autosizable
        \units W
        \note only applicable if resistive defrost strategy is specified
        \ip-units W

But I'm not seeing it handled in C++

if (thisAWHP.EIRHPType == DataPlant::PlantEquipmentType::HeatPumpAirToWaterCooling) {
thisAWHP.defrostResistiveHeaterCap = 0.0;
} else {
auto resDefrostHeaterCapFound = fields.find("resistive_defrost_heater_capacity");
if (resDefrostHeaterCapFound != fields.end()) {
thisAWHP.defrostResistiveHeaterCap = resDefrostHeaterCapFound.value().get<Real64>();
} else {
Real64 defaultVal = 0.0;
if (!state.dataInputProcessing->inputProcessor->getDefaultValue(
state, cCurrentModuleObject, "resistive_defrost_heater_capacity", defaultVal)) {
ShowSevereError(state,
"HeatPump:AirToWater: Resistive Defrost Heater Capacity not entered and could not get default value.");
errorsFound = true;
} else {
thisAWHP.defrostResistiveHeaterCap = defaultVal;
}
}
}

@yujiex
Copy link
Collaborator Author

yujiex commented Oct 9, 2025

@yujiex The IDD says that Resistive Defrost Heater Capacity is autosizable

   N18, \field Resistive Defrost Heater Capacity
        \type real
        \minimum 0.0
        \default 0.0
        \autosizable
        \units W
        \note only applicable if resistive defrost strategy is specified
        \ip-units W

But I'm not seeing it handled in C++

if (thisAWHP.EIRHPType == DataPlant::PlantEquipmentType::HeatPumpAirToWaterCooling) {
thisAWHP.defrostResistiveHeaterCap = 0.0;
} else {
auto resDefrostHeaterCapFound = fields.find("resistive_defrost_heater_capacity");
if (resDefrostHeaterCapFound != fields.end()) {
thisAWHP.defrostResistiveHeaterCap = resDefrostHeaterCapFound.value().get<Real64>();
} else {
Real64 defaultVal = 0.0;
if (!state.dataInputProcessing->inputProcessor->getDefaultValue(
state, cCurrentModuleObject, "resistive_defrost_heater_capacity", defaultVal)) {
ShowSevereError(state,
"HeatPump:AirToWater: Resistive Defrost Heater Capacity not entered and could not get default value.");
errorsFound = true;
} else {
thisAWHP.defrostResistiveHeaterCap = defaultVal;
}
}
}

It should not say autosize, I just removed that in the idd.

Copy link

github-actions bot commented Oct 9, 2025

⚠️ Regressions detected on ubuntu-24.04 for commit f9f0ad6

Regression Summary
  • Audit: 3
  • BND: 3
  • EDD: 2
  • ESO Big Diffs: 2
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • ERR: 2
  • MTD: 2
  • RDD: 2
  • EIO: 1

Copy link

github-actions bot commented Oct 9, 2025

⚠️ Regressions detected on macos-14 for commit f9f0ad6

Regression Summary
  • Audit: 3
  • BND: 3
  • EDD: 2
  • ESO Big Diffs: 2
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • ERR: 2
  • MTD: 2
  • RDD: 2
  • EIO: 1

@jmarrec
Copy link
Contributor

jmarrec commented Oct 9, 2025

@yujiex

   \reference-class-name validPlantEquipmentTypes
   \reference validPlantEquipmentNames
   \reference-class-name validBranchEquipmentTypes
   \reference validBranchEquipmentNames

missing from the object.

jmarrec added a commit to NREL/OpenStudio that referenced this pull request Oct 9, 2025
@yujiex
Copy link
Collaborator Author

yujiex commented Oct 10, 2025

@yujiex

   \reference-class-name validPlantEquipmentTypes
   \reference validPlantEquipmentNames
   \reference-class-name validBranchEquipmentTypes
   \reference validBranchEquipmentNames

missing from the object.

Just added. Thanks for catching this.

Copy link

⚠️ Regressions detected on macos-14 for commit ae111b2

Regression Summary
  • Audit: 3
  • BND: 3
  • EDD: 2
  • ESO Big Diffs: 2
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • ERR: 2
  • MTD: 2
  • RDD: 2
  • EIO: 1

Copy link

⚠️ Regressions detected on ubuntu-24.04 for commit ae111b2

Regression Summary
  • Audit: 3
  • BND: 3
  • EDD: 2
  • ESO Big Diffs: 2
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • ERR: 2
  • MTD: 2
  • RDD: 2
  • EIO: 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Defect Includes code to repair a defect in EnergyPlus IDDChange Code changes impact the IDD file (cannot be merged after IO freeze)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants