-
Notifications
You must be signed in to change notification settings - Fork 425
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Coil Sizing Reports #6454
New Coil Sizing Reports #6454
Conversation
Contribution from TRANE for comprehensive coil information table.
add description of table columns to Output Details and Examples documentation, Trane Contribution
…Report # Conflicts: # tst/EnergyPlus/unit/Fixtures/EnergyPlusFixture.cc
Custom check is reporting that the license year is bad in the ReportCoilSelection.* files. The signed integer warning is because vector.size() returns an "unsigned" integer value, but you declared your loop variable as an integer. Although this won't cause any problems for this particular case, the compiler still warns about comparing a signed versus unsigned integer. You can either make your loop variable a size_t, instead of a plain integer, or you can cast the result of the size() call to a regular int. Let me know if that is super muddy. The reorder warning is because coilCapFTIdealPeak( 1.0 ) is defined before coilRatedTotCap in the class definition, but initialized after it in the list of constructor initializations. This won't cause a problem for a simple data type like this, but the compiler still warns. Just make sure the order in the constructor initialization list matches the order in the class and this will be good to go. I'm building locally to find the problem with the integration tests. |
@Myoldmopar Thanks. I think I've addressed all of those. I'll wait to push until I hear if you've found anything on the watercoil test failures. |
As you expected,
|
Tested two more of the failures, same divide by zero on that line. |
@mjwitte OK, with commit 41ab0aa, I believe I have all the unit test segfaults fixed and the integration failures addressed. But you'll want to look close at that commit to make sure my changes make sense.
Maybe that's all that's needed here. CI will tell us. And you can tell me if my changes make sense to you as well. |
OK, this is looking way better. @mjwitte please confirm my changes as per the comment above, and make any changes needed on there. Once you then push up your changes to clean up the build warnings, this should be ready to go in. |
Thanks for pushing that @EnergyArchmage. I was hesitant to do it because @mjwitte mentioned he had addressed them locally but just hadn't pushed yet, so I didn't want to stomp on his work. But he ran out of time didn't he! 😆 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @Myoldmopar and @EnergyArchmage for the cleanups. This still needs the IDD changes for the two new report names. Plus it needs the code to produce the smaller version of this report. Soon.
@@ -216,6 +217,7 @@ TEST_F( WaterCoilsTest, WaterCoolingCoilSizing ) | |||
DataWaterLoopNum = 1; | |||
NumOfGlycols = 1; | |||
|
|||
createCoilSelectionReportObj(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Myoldmopar Thanks. I had added this to energyplusfixture but I forgot that these tests use their own fixture.
if ( AirMassFlow <= 0.00001 ) { | ||
TotCap = 0.0; | ||
SHR = 0.0; | ||
return; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Myoldmopar Thanks. This looks ok. Wondering why we're getting here with zero airflow, but that can be a followup investigation.
It could be that the cooling capacity changes are causing diffs in three files are because of some subtle bug fixes that got in here. The calls to RequestSizing need to set the temporary working variable to AutoSize prior to the call -- but this isn't always being done properly. If the value passed in is not autosize value then the central sizing methods don't execute as expected. This set of code changes includes this subtle fix in WaterCoils.cc in the following locations. https://github.com/NREL/EnergyPlus/blob/CoilSizingReport/src/EnergyPlus/WaterCoils.cc#L1928 @rraustad might be able to confirm, but I would guess that the diffs in 3 regression files are because of real changes in cooling coil capacity that are caused by this correction. (not otherwise document in a CR I think) |
coil sizing report store design vol flow build warngin.
@EnergyArchmage We should pull those changes out of here and make that a separate PR. I can do that along with the other changes I need to do. |
Currently this code adds the full detailed coil selection data as a "Coil Sizing Summary Report" subtable in "Report: HVAC Sizing Summary" (HVACSizingSummary). I think this is a good spot for an abbreviated coil sizing table with about a dozen columns. Then I propose adding a new "CoilSizingDetails" report that produces the full coil selection table as a separate report. The detailed report would be included as part of "AllSummary" reports. @EnergyArchmage @rraustad @Myoldmopar Sound OK? An example of the current full report inside HVAC Sizing Summary is in the attached zip file. |
@mjwitte yes that sounds good. I originally intended to do as a separate report request but the extra effort seemed considerable compared to adding under HVACSizingSummary. |
@EnergyArchmage For standard format reports it's not too bad. |
Forgot to revert the water coil diff-causers. There now. |
@@ -619,7 +623,11 @@ namespace HVACDXSystem { | |||
// considered as as 100% DOAS DX cooling coil | |||
if ( DXCoolingSystem( DXCoolSysNum ).ISHundredPercentDOASDXCoil ) { | |||
// set the system DX Coil application type to the child DX coil | |||
SetDXCoilTypeData( DXCoolingSystem( DXCoolSysNum ).CoolingCoilName ); | |||
if ( ! ( DXCoolingSystem( DXCoolSysNum ).CoolingCoilType_Num == Coil_CoolingAirToAirVariableSpeed ) ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interesting syntax
@@ -1783,6 +1878,8 @@ namespace WaterCoils { | |||
SizingString = WaterCoilNumericFields( CoilNum ).FieldNames( FieldNum ) + " [C]"; | |||
DataFlowUsedForSizing = DataAirFlowUsedForSizing; // used by air loop coils | |||
TempSize = WaterCoil( CoilNum ).DesInletAirTemp; | |||
TempSize = AutoSize; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This erases the user input for design inlet air temp. 2 files shows diff's in eio because of this.
5ZoneAirCooled_ZoneAirMassFlowBalance:
Component Sizing Information, Coil:Cooling:Water, MAIN COOLING COIL 1, Design Size Design Inlet Air Temperature [C], 21.00753
- Component Sizing Information, Coil:Cooling:Water, MAIN COOLING COIL 1, User-Specified Design Inlet Air Temperature [C], 21.60000
Component Sizing Information, Coil:Cooling:Water, MAIN COOLING COIL 1, Design Size Design Inlet Water Temperature [C], 7.00000
- Component Sizing Information, Coil:Cooling:Water, MAIN COOLING COIL 1, User-Specified Design Inlet Water Temperature [C], 7.00000
Coil:Cooling:Water,
Main Cooling Coil 1, !- Name
CoolingCoilAvailSched, !- Availability Schedule Name
autosize, !- Design Water Flow Rate {m3/s}
autosize, !- Design Air Flow Rate {m3/s}
7.0, !- Design Inlet Water Temperature {C}
21.6, !- Design Inlet Air Temperature {C}
I suggest a followup issue to correct any last minute findings.
Wow! Lot's of new information now. There are some things we could probably improve, like identifying zone name for TU heating coils or finding the sensible capacity and UA for water cooling coils that don't currently have that available (Coil Sizing Details). This should merge and we can iron out the issues. |
@rraustad There's 3 files with big eso diffs - maybe you can track those down? |
I think I just did. Sizing is ignoring the user inputs for the cooling water coil and resulting in a different size. All 3 have different cooling coil size. At least that is where I would start looking. How do you guys want to handle these last IDD change PR's. Split them up and work towards finalizing? Or just merge ones that are likely and follow up issue those that need some correcting after IDD freeze? |
@rraustad If you have a fix for this, please point me to it, and I'll include that along with a section in output rules and a merge up to current develop. Trying to minimize pushes. |
WaterCoils.cc line 1881. bPRINT = true here if coil type is water simple. So using TempSize = AutoSize will neglect the user input for design inlet water temp. Why was this line added? I assume to be able to report sizing at actual vs design conditions. |
and line 1897. I see where you reverted these out but must have missed these. Why do this anyway? |
I had added several of those TempSize = AutoSize statements to get more of the code to execute inside the sizing routine. I don't recall the details. |
…Report Conflicts: src/EnergyPlus/DataSizing.hh src/EnergyPlus/HVACUnitarySystem.cc
@Myoldmopar This is ready for merge (with followups noted in #6481) once CI reports back, if you agree. |
@Myoldmopar Note that we expect a few diffs, similar to a few days ago. regression Test Summary Passed: 616 The err warnings are in a lot of files - sorry. |
The units warnings should be gone now. Sorry to kick off another cycle. |
@mjwitte this is going in. We have to get the JSON finalized, and this needs to go first. If you still see a problem with these results, please add it to the follow-up. |
Pull request overview
Add two new table output reports:
Coil Sizing Details Report - Detailed coil sizing data table contributed by Trane. Report key is "CoilSizingDetails"
Coil Sizing Summary subtable in the HVAC Sizing SummaryReport. This is a subset of the Coil Sizing Details Report.
For complete code and documentation changes, see also #6500,
Work Checklist
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Review Checklist
This will not be exhaustively relevant to every PR.