Skip to content

Conversation

@yujiex
Copy link
Collaborator

@yujiex yujiex commented Oct 15, 2025

Pull request overview

Fixes comments in #11251

  • remove 2 unused output variables in PlantLoopHeatPump_EIR_AirSource_and_AWHP_heating_only.idf
  • html output Plant Loop Component Arrangement table, "Component Type" column, change from HeatPumpAirToWaterHeating to HeatPumpAirToWater
image
  • eio component sizing info, html component sizing summary table, remove suffix of HeatPump:AirToWater,
image image
  • change equipment summary
image

Description of the purpose of this PR

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 self-assigned this Oct 15, 2025
@yujiex yujiex added Defect Includes code to repair a defect in EnergyPlus OutputChange Code changes output in such a way that it cannot be merged after IO freeze labels Oct 15, 2025
@yujiex yujiex requested a review from mjwitte October 15, 2025 22:06
@github-actions
Copy link

⚠️ Regressions detected on ubuntu-24.04 for commit d1ea883

Regression Summary
  • EIO: 9
  • Table Big Diffs: 5
  • Table String Diffs: 4
  • Audit: 1
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit d1ea883

Regression Summary
  • EIO: 9
  • Table Big Diffs: 5
  • Table String Diffs: 4
  • Audit: 1
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on ubuntu-24.04 for commit 97c54b7

Regression Summary
  • EIO: 9
  • Table Big Diffs: 5
  • Table String Diffs: 4
  • Audit: 1
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit 97c54b7

Regression Summary
  • EIO: 9
  • Table Big Diffs: 5
  • Table String Diffs: 4
  • Audit: 1
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on ubuntu-24.04 for commit db6b1f2

Regression Summary
  • EIO: 3
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • Audit: 1
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit db6b1f2

Regression Summary
  • EIO: 3
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • Audit: 1
  • ERR: 1

state, PlantEquipmentType::HeatPumpAirToWaterHeating, CompNames(CompNum));
this_comp.Type = PlantEquipmentType::HeatPumpAirToWaterHeating;
this_comp.TypeOf = "HeatPumpAirToWaterHeating";
this_comp.TypeOf = "HeatPumpAirToWater";
Copy link
Contributor

Choose a reason for hiding this comment

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

Just delete this line. this_comp.TypeOf is set above (line 892) to the string used in the branch input, which is "HeatPump:AirToWater".

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

indeed. I just removed this.

state, PlantEquipmentType::HeatPumpAirToWaterCooling, CompNames(CompNum));
this_comp.Type = PlantEquipmentType::HeatPumpAirToWaterCooling;
this_comp.TypeOf = "HeatPumpAirToWaterCooling";
this_comp.TypeOf = "HeatPumpAirToWater";
Copy link
Contributor

Choose a reason for hiding this comment

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

Delete.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

removed here too

break;
}
case PlantEquipmentType::HeatPumpAirToWater: {
if (state.dataPlnt->PlantLoop(LoopNum).TypeOfWaterLoop == DataPlant::WaterLoopType::HotWater) {
Copy link
Contributor

Choose a reason for hiding this comment

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

This check for TypeOfWaterLoop will fail is the user does not specify the "Water Loop Type" in the PlantLoop object. Given it's the last field, it's likely most users/interfaces will let it default to "None". Is there a check somewhere to throw a severe error and inform the user?

PlantLoop,

  A19;  \field Water Loop Type
        \type choice
        \key HotWater
        \key ChilledWater
        \key None
        \default None

I tested one of the AHWP files with the Water Loop Type field removed, this happens:
** Fatal ** Plant component "HEATPUMP:AIRTOWATER" was not assigned a pointer.

It should be possible to check the TypeOfWaterLoop in HeatPumpAirToWater::oneTimeInit after PlantUtilities::ScanPlantLoopsForObject returns this->loadSidePlantLoc. But I don't see ScanPlantLoopsForObject there, like the other oneTimeInit functions in PlantLoopHeatPumpEIR.

Oh, I see, HeatPumpAirToWater::oneTimeInit calls EIRPlantLoopHeatPump::oneTimeInit. So you should be able to check the loop types there and throw error messages. Ideally you shouldn't need that to be set on the PlantLoop, but I don't see a way around it with the current object structure.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

make sense, I added the error check in the EIRPlantLoopHeatPump::oneTimeInit function

Copy link
Contributor

Choose a reason for hiding this comment

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

@mjwitte @yujiex
Is this new AWHP intended to be able to provide both heating and cooling on a condenser loop? If so, shouldn't the new "Water Loop Type" field have a "CondenserWater" or "HeatingAndCooling" option? That would align with the Sizing:Plant object type offering a "Condenser" option for its Loop Type input field.

Copy link
Collaborator Author

@yujiex yujiex Oct 24, 2025

Choose a reason for hiding this comment

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

For now it only allows either heating or cooling on the plantloop, as it need to use this field to identify if the internal component is the heating one or the cooling one. Note that the object internally still has a heating component and a cooling component, using the same type of data structure as the plantloop heat pumps.
If later on the object is refactored into separate heating/cooling component, it should be able to allow this. But currently not yet. @aaron-boranian

I can try to see if there's a way to alter the internal logic to tell the internal ones apart (will create a separate PR for this) when they're on the same loop, but I don't think we can add another option like "HeatingAndCooling" as idd can't change right now. We might need to use the "None" option for now.

modeKeyWord = "Cooling";
}
objectName = format("{}:{}", this->name, modeKeyWord);
objectName = format("{}\n{} Component", this->name, modeKeyWord);
Copy link
Contributor

Choose a reason for hiding this comment

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

What's this?

Copy link
Contributor

Choose a reason for hiding this comment

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

Oh, I see, for this table:
image

This will have to be ok for now, but take out the \n. It's fine for humans but may trip up software that's reading the tables.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

is replacing "\n" with a space be okay? If I don't put anything there, the AWHPHeating will stick together.

@github-actions
Copy link

⚠️ Regressions detected on ubuntu-24.04 for commit d9500a8

Regression Summary
  • EIO: 3
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • Audit: 1
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit d9500a8

Regression Summary
  • EIO: 3
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • Audit: 1
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on ubuntu-24.04 for commit 515815e

Regression Summary
  • EIO: 3
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • Audit: 1
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit 515815e

Regression Summary
  • EIO: 3
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • Audit: 1
  • ERR: 1

@mitchute
Copy link
Collaborator

It looks like everyone is pretty much done here. Are we expecting anything else?

@dareumnam dareumnam self-requested a review October 22, 2025 21:04
@github-actions
Copy link

⚠️ Regressions detected on ubuntu-24.04 for commit 50d3820

Regression Summary
  • EIO: 3
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • Audit: 1
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit 50d3820

Regression Summary
  • EIO: 3
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • Audit: 1
  • ERR: 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 OutputChange Code changes output in such a way that it cannot be merged after IO freeze

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants