-
Notifications
You must be signed in to change notification settings - Fork 460
Correct VAV maximum air flow fraction during reheat for heating dominated use cases #10763
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
Correct VAV maximum air flow fraction during reheat for heating dominated use cases #10763
Conversation
|
The defect file results are now: |
| Real64 heatingMaxFlow = (this->DamperHeatingAction == Action::ReverseWithLimits) | ||
| ? state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesHeatVolFlowMax | ||
| : state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesHeatVolFlow; | ||
| MaxAirVolFlowRateDes = max(state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesCoolVolFlow, heatingMaxFlow); |
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.
If ReverseWithLimits uses a different heating air flow rate from the zone design heating air flow rate then that flow rate should be used as the value for the VAV box heating air flow rate.
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.
Well, I was expecting DesHeatVolFlowMax to always be less than DesHeatVolFlow. For 5ZoneBoilerOutsideAirReset that's not the case. The diffs show that Zone 5 TU max air flow rate increased, I was only expecting decreases in max air flow rate for heating dominated zones. Zone cooling design air flow is greater than zone heating design air flow, but DesHeatVolFlowMax is larger than both of these.
// set the zone maximum heating supply air flow rate. This will be used for autosizing VAV terminal unit
// max heating flow rates
zsFinalSizing.DesHeatVolFlowMax = max(zsFinalSizing.DesHeatMaxAirFlow,
zsFinalSizing.DesHeatMaxAirFlow2,
max(zsFinalSizing.DesCoolVolFlow, zsFinalSizing.DesHeatVolFlow) * zsFinalSizing.DesHeatMaxAirFlowFrac);
zsFinalSizing.DesHeatMaxAirFlow2 = zsFinalSizing.DesHeatMaxAirFlowPerArea * floorArea * zoneMult;
= 0.002032 * 182.49 * 1 = 0.37082
N8 , \field Maximum Flow Fraction During Reheat
\type real
\autosizable
\default autosize
\note Used only when Reheat Coil Object Type = Coil:Heating:Water and Damper Heating Action = ReverseWithLimits
\note When autocalculating, the maximum flow fraction is set to the ratio of
\note 0.002032 m3/s-m2 (0.4 cfm/sqft) multiplied by the zone floor area and the
\note Maximum Air Flow Rate.
\note This optional field limits the maximum flow allowed in reheat mode.
\note At no time will the maximum flow rate calculated here exceed the value of
\note Maximum Air Flow Rate.
So is DesHeatVolFlowMax just an upper limit? or is it the expected heating air flow rate?
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.
So, since DesHeatVolFlowMax looks like a limit and not a flow rate, maybe I should change this line and line 3224 to?:
Real64 heatingMaxFlow = (DesHeatVolFlowMax > DesHeatVolFlow) ? state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesHeatVolFlow :
state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesHeatVolFlowMax);
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.
Based on this discussion I changed to treat DesHeatVolFlowMax as an upper limit. This should still correct the issue and result in fewer diffs.
| MaxHeatAirVolFlowRateDes = state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesHeatVolFlowMax; | ||
| } else { | ||
| MaxHeatAirVolFlowRateDes = state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesHeatVolFlow; | ||
| } |
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.
Below at line 3224, ReverseWithLimits uses DesHeatVolFlowMax. That value should also be used here.
3224: MaxAirVolFlowRateDuringReheatDes = state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesHeatVolFlowMax;
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.
As discussed above, these 2 areas of code, above (2937) and below (3231), were changed to use DesHeatVolFlowMax as a limit.
|
|
|
It turns out this does correct a reporting issue (5ZoneAutoDXVAV). ReverseWithLimits will operate up to the zone design heating air flow unless that flow exceeds the maximum limit. In the past the maximum limit was used to calculate the maximum reheat fraction. This change only uses the maximum reheat flow rate if it actually limits the design heating air flow rate. In this case the maximum reheat fraction is 0.10362 m3/s / 0.46734 m3/s = 0.2217229 <- correct answer and 0.10362 m3/s / 99.16 m2 = 0.001049778 m3/s/m2 <- correct answer |
|
|
Defect file results after latest change to use DesHeatVolFlowMax as a limit, not a flow rate: |
| expectedMaxAirVolFractionDuringReheat = state->dataSize->TermUnitFinalZoneSizing(1).DesHeatVolFlowMax / thisSys.MaxAirVolFlowRate; | ||
| EXPECT_EQ(expectedZoneMinAirFracDes, thisSys.ZoneMinAirFracDes); | ||
| EXPECT_EQ(1.0, thisSys.MaxAirVolFractionDuringReheat); | ||
| EXPECT_EQ(expectedMaxAirVolFractionDuringReheat, thisSys.MaxAirVolFractionDuringReheat); |
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.
Added 3 new tests for maximum air flow fraction during reheat to this unit test.
|
I changed the defect file to use Damper Heating Action = Reverse and get expected results regarding the Maximum Flow Fraction during Reheat and the air flow rate used to size the heating coil. |
|
I'll run that file. The reheat coil air flow should be the same as the maximum heating air flow. I don't see that in your results for 5ZoneAirCooled-ReverseWithLimits. |
|
I see that Space1-1 TU does seem like it sized correctly. It's heating dominated and was limited so came out to 0.20149 m3/s with a max reheat flow fraction of 1.0. TermUnitFinalZoneSizing(1).DesHeatVolFlowMax = 0.20149. That looks correct. I'll check why the reheat coil used the zone heating flow rate for sizing. OK, the TU was using the wrong data for sizing the reheat coil. The IDD says the max fraction during reheat should only be used for water coils. But if a different heating coil is used and the reverse with limits does limit max heating flow rate then it should apply to all coil types? Should I correct the IDD note or is there something I'm missing with this input field? The coil now uses the correct reheat air flow rate: And the reheat coil has changed size accordingly to meet the load. Before this fix: After this fix: |
…62-VAV-Reheat-shows-reheat-fraction-less-than-1
|
|
Checking defect file with other Damper Heating Action control types. Reverse: Normal: So here I also see that the reheat coil uses what I think is the wrong air flow rate for sizing. TU heating flow rate should not exceed the minimum flow so why is the reheat coil sizing to the max flow? |
|
@mjwitte there are a few unit tests to clean up with this last change. If you could comment on the remaining items I could finish this up. I checked the code and do not see any issue with max heating air flow rate when water heating coils are used.
I found this in the IO Ref: For heating coil types other than the hot-water coil, e.g.~electric, steam, and gas, the reverse action works the same as the normal action -- always keeping the air flow at the minimum during heating. |
Not sure. Will the code really increase flow for other coil types? The original idea was that a hot water coil is constrained by the water temperature, so once the water valve is fully open, the only way to get more heat is to increase airflow. Other coil types have higher supply temp limits, but I suppose they could operate the same way. Do they in a real system?
It should size to the max flow rate that it will actually see. But if the limit is < the zone design heating flow rate, there should be a warning that the heating capacity won't be sufficient to meet the load. The whole with limits thing is intended for systems where the cooling design flow rate is > heating design flow rate, so there's a limit on the reverse action flow for heating. When the heating supply flow rate is > cooling, imposing limits doesn't make sense. Maybe there's some discussion of this in the original NFP when limits were added? (If there is one.) It's also possible (likely) that the real system will have baseboard to reduce the amount of heating load required from the reheat coil.
|
|
From what I can tell, the water coil does the top figure and non-water coils operate at the max reheat air flow as in the bottom figure. I think because the other coils can't increase heating output with additional air flow. It would be nice for all coils to act the same, air flow-wise, but for now I think I'll just try to understand this better (i.e., verify this), figure out what text is needed in the doc/IDD, and maybe add a new figure to the IO Ref (e.g., Dual Max for non-water coils). |
|
The non-water coils do operate at the minimum air flow rate. But the heating coil sizes to the design heating air flow rate. Where the heating coil in this branch is using 0.20149 m3/s for sizing (it was using 0.26058 before I changed it yesterday. In this figure it looks like the heating coil is sized just about right but it doesn't make sense to operate at the minimum air flow rate when Reverse or ReverseWithLimits is selected. |
| TermUnitSizing(state.dataSize->CurTermUnitSizingNum).AirVolFlow = | ||
| max(state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).NonAirSysDesHeatVolFlow, | ||
| this->MaxAirVolFlowRate * this->ZoneMinAirFracDes * this->ZoneTurndownMinAirFrac); | ||
| if (this->SysType_Num == SysType::SingleDuctVAVReheat && this->DamperHeatingAction == Action::ReverseWithLimits) { | ||
| TermUnitSizing(state.dataSize->CurTermUnitSizingNum).AirVolFlow = | ||
| max(this->MaxAirVolFlowRateDuringReheat, this->MaxAirVolFlowRate * this->ZoneTurndownMinAirFrac); | ||
| } else { |
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.
So, what if MaxAirVolFlowRateDuringReheat > NonAirSysDesHeatVolFlow as it is for Space4-1 in 5ZoneAirCooled-ReverseWithLimits? Will this reheat coil be oversized?
And why is NonAirSysDesHeatVolFlow being used here instead of DesHeatVolFlow?
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.
I think I'm landing on falling back on the choices. Normal should size to the minimum flow rate. If that doesn't meet the load then the Reverse or ReverseWithLimits should be used instead. That's what the docs say. And then Reverse and ReverseWithLmits use the corresponding max reheat air flow rate. But that is historically different so I'm stuck with what to do.
Regarding the size choice your right. The coil could be over or undersized. I'm not sure the developer should make that sizing choice (i.e., there's plenty of inputs to get it right). One or more of these choices should meet the load. I've also been thinking about heating coil sizing. Zone heating flow rate is SAT - Tzone. TU heating coil sizing is Tout - Tzone. So at the zone heating flow rate you meet the load and that's why NonAirSysDesHeatVolFlow is used. When using actual air flow Reverse should always meet the load, ReverseWithLimits may not. Normal may not meet the load but that's understood with a typical 0.3 minimum stop selection and depends on heating to cooling flow rate ratio. Where's the choice for the user to oversize the heating coil when it operates at a lower flow rate? There is a disconnect between TU heating air flow and heating capacity. Using NonAirSysDesHeatVolFlow to size the coil should always size the coil to meet the load but it seems odd to use a flow rate that differs from the TU and you create a coil outlet temperature that does not match the design criteria. That's when the coil sizing details don't line up with the TU flow rate for maximum flow rate during reheat but you get the right SAT. Some users notice that and question why. There was a lot of testing of these choices and things weren't lining up which created this issue. I'll look at the coil sizing details to see if the issue of TU heating flow rate versus heating coil sizing air flow shows itself. What do you think about a new input to use either the zone or TU heating flow rate? It could default to zone and not change coil capacity (Use Zone Heating Flow Rate to Size Heating Coil, Yes/No).
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.
Regarding the reheat coil sizing, there have been many adjustments in the past to make sure that the coil is not way oversized. The airflow is one thing, but I think it uses the zone heating load in the sizing calcs (plus an offset for entering air temp). But that's just my recollection without looking at the code. So, maybe what you have a this point is ok, for ReverseWithLimits, anyway.
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.
@mjwitte the last comment on sizing of reheat coil for Space2-1 at 0.177 max TU flow rate versus 0.107 is happening right here at line 3434. Here:
MaxAirVolFlowRateDuringReheat = 0.10735
MaxAirVolFlowRate = 0.17747
ZoneTurndownMinAirFrac = 1.0
I thought the damper was allowed to open all the way up when ReverseWithLimits is used? Yes this would create a larger heating coil, but the user specified to allow the damper to open that far. Another thought is, if Normal is used then the reheat coil is some size, if ReverseWithLimits is used then the reheat coil would need to be larger. Thoughts?
Zone Sizing Information, SPACE2-1, Cooling, 2110.05356, 2110.05356, 0.17747, 0.17747
Zone Sizing Information, SPACE2-1, Heating, 1635.59910, 1635.59910, 0.10735, 0.10735
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.
I thought the damper was allowed to open all the way up when ReverseWithLimits is used?
From the I/O Ref:
For ReverseWithLimitss the damper can only partially open to a maximum flow rate given by the following two fields. These options are used if the minimum air flow rate is not adequate to serve the peak heating load.
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.
New results for 5ZoneAirCooled-ReverseWithLimits
Zone Sizing Information, SPACE1-1, Cooling, 1991.75827, 1991.75827, 0.16753, 0.16753
Zone Sizing Information, SPACE1-1, Heating, 3970.36898, 3970.36898, 0.26058, 0.26058
Zone Sizing Information, SPACE2-1, Cooling, 2110.05356, 2110.05356, 0.17747, 0.17747
Zone Sizing Information, SPACE2-1, Heating, 1635.59910, 1635.59910, 0.10735, 0.10735
Zone Sizing Information, SPACE3-1, Cooling, 1822.43896, 1822.43896, 0.15328, 0.15328
Zone Sizing Information, SPACE3-1, Heating, 3862.85865, 3862.85865, 0.25352, 0.25352
Zone Sizing Information, SPACE4-1, Cooling, 2411.91565, 2411.91565, 0.20286, 0.20286
Zone Sizing Information, SPACE4-1, Heating, 1630.01391, 1630.01391, 0.10698, 0.10698
Zone Sizing Information, SPACE5-1, Cooling, 1144.55309, 1144.55309, 9.62850E-002, 0.13906
Zone Sizing Information, SPACE5-1, Heating, 3259.03012, 3259.03012, 0.21389, 0.21389
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE1-1 VAV REHEAT, Design Size Maximum Air Flow Rate [m3/s], 0.20149
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE1-1 VAV REHEAT, Design Size Maximum Flow Fraction during Reheat [], 1.00000
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE1-1 VAV REHEAT, Design Size Reheat Coil Sizing Air Volume Flow Rate [m3/s], 0.20149
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE2-1 VAV REHEAT, Design Size Maximum Air Flow Rate [m3/s], 0.17747
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE2-1 VAV REHEAT, Design Size Maximum Flow Fraction during Reheat [], 0.60486
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE2-1 VAV REHEAT, Design Size Reheat Coil Sizing Air Volume Flow Rate [m3/s], 0.10735
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE3-1 VAV REHEAT, Design Size Maximum Air Flow Rate [m3/s], 0.19605
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE3-1 VAV REHEAT, Design Size Maximum Flow Fraction during Reheat [], 1.00000
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE3-1 VAV REHEAT, Design Size Reheat Coil Sizing Air Volume Flow Rate [m3/s], 0.19605
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE4-1 VAV REHEAT, Design Size Maximum Air Flow Rate [m3/s], 0.20286
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE4-1 VAV REHEAT, Design Size Maximum Flow Fraction during Reheat [], 0.52735
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE4-1 VAV REHEAT, Design Size Reheat Coil Sizing Air Volume Flow Rate [m3/s], 0.10698
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE5-1 VAV REHEAT, Design Size Maximum Air Flow Rate [m3/s], 0.21389
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE5-1 VAV REHEAT, Design Size Maximum Flow Fraction during Reheat [], 1.00000
Component Sizing Information, AirTerminal:SingleDuct:VAV:Reheat, SPACE5-1 VAV REHEAT, Design Size Reheat Coil Sizing Air Volume Flow Rate [m3/s], 0.21389
1 similar comment
3 similar comments
|
@rraustad This is getting close. Here are the diffs for 5ZoneAirCooled-ReverseWithLimits for Space2-1 which is cooling dominant (develop is on the left): Here are the zone sizing results: The diffs in the first two lines are expected, the reheat fraction is smaller (using the 0.10735 design heating flow rate). |
|
@mjwitte thanks for more review. I'll look into those discrepancies. |
…62-VAV-Reheat-shows-reheat-fraction-less-than-1
|
|
Looking at an arbitrary diff for 5ZoneEndUses shows the Maximum Flow Fraction During Reheat for Space1-1 and Space 5-1 dropped to 0.3 and that seemed odd. Looking at the design flow rates this does appear to be the correct result since design heating flow rates are all less than 30% of design cooling flow rate, and there is a constant minimum flow fraction of 0.3?. The 5 TUs are set up the same as: develop: this branch: It's interesting that the heating coil did not change size. There is a remaining issue of whether to post a warning when the heating flow rate is less than the zone design. |
|
Thanks for your thoughts on this @rraustad. Let me know if we should discuss this on a call or anything. |
|
@Myoldmopar I think this is getting pretty close to complete. It's actually a good thing that the results are being critiqued since there are a lot of inputs that affect TU sizing. The last change corrected an issue with maximum flow fraction during reheat for ReverseWithLimits and the result seems correct now. If there are any other results that stand out it would be good to address those here. |
mjwitte
left a comment
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.
Confirmed that all files that show eio diffs are using damper action ReverseWithLimits (either explicitly or by default). Same for files with big eso diffs. So this is impacting only the expected files.
Thanks @rraustad
| if (state.dataSize->CurTermUnitSizingNum > 0) { | ||
| // if zone sizing run done, set the design max reheat air flow to the value from the design calcs | ||
| MaxAirVolFlowRateDuringReheatDes = state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesHeatVolFlowMax; | ||
| if (state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesHeatVolFlow > |
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.
Not sure why we need this same (or very similar logic) in multiple places, but not holding up this PR for that. It works as-is.
Due to changes in EnergyPlus (NREL/EnergyPlus#10763), some models fail during system sizing for reheat coils, particularly in cold climate zones (ASHRAE CZ 8). This sets the flow fraction to 1.0 instead of relying on the lower default in OpenStudio.
* Address comments. * update the model_apply_standard_constructions function in standards.model file and remove the function in 90.1 prm model file. Move the model_apply_standard_infiltration function from 90.1 2013 model file to standard model file * refactor the space condition type for models without simulation results * update formats * Change the error log level to warn to avoid testing failures. * Address comments. * force to perform sizing run for bldg_11 and bldg_17 * address comments * Address test (some) failures #2. * use OS defined options * Update DOE ref chiller efficiencies * add version check for VRF cooling COP `setRatedCoolingCOP` was deprecated in OS v2.9.0 and replaced with `setGrossRatedCoolingCOP` * Update hvac_systems.rb * Fix typo. * Missing default assignement. * Update test_apply_hvac_efficiency_standard.rb * shorten exterior_lighting_zone_number replace 'exterior_lighting_zone_number' with 'lighting_zone' * merge data schema and edit tests The 90.1-2004 and later vintages of 90.1 now have a different data schema from other standard templates. Update the code to account for the different data schema. Update to the tests to account for object renaming. * Revert name. * Re-export database. * add search for legacy energy codes (2016 or earlier) * update the function call by adding a surface to avoid gc construction to be created as a regular construction * Use W/ft2 by default for building facade. * reactiviate test, it passed locally. * Handle large motors. * Handle fractional HP motors. * Adjust lookups. * Add schema and update user data processing. * Fix broken lookup. * adjust format to trigger CI * update the test assertion to use actual false type instead of string as the algorithm has updated. * update the parameter in the test * duplicate construction for repeated types. * modify format to trigger CI again * make duplicate constructions. * Remove excessive function * Updates * Bunch of formatting but the critical changes are: 1. adding has space conditioning category in the apply standard constructions 2. Realign the boundary condition if else. 3. Readjust the logic to recreate existing construction per boundary_con, surf_type, const_type for each unique combination. 4. Fix a bug in bldg_18.osm * correct the incorrect user data electric equipment * 1. fix the issue in the testing for pe PRM 2. use if instead of unless to re-organize the logic that bypasses surfaces. 3. include more general construction types in the deep copy function. * add refrigerated case method * add create_walkin method * correct argument description * Update test_create_walkin.rb * add create_compressor method * fix airboundary construction deep copy issue * allow climate zone 0 in nist infiltration use coefficients for climate zone 1 if the model climate zone is 0. * Update regression and performance test results. * add exception check in the construction_set_surface_slab_f_factor function * add typical supermarket space type ratios * add deer Gro test * Address review comments and fix headers. * template create typical refrigeration untested * Address surprise test failures. * Update Prototype.refrigeration.rb * add tests for create refrigeration system * add create typical refrigeration tests * undo changes to size category * Update regression/performance tests. * Address final (?) test failure. * add support for self-contained units - add create_compressor_rack - use indoor compressor rack (to model a self-contained unit) for small buildings. Require thermal zones to do so. - replace model_typical_display_case_zone with refrigeration_case_zone - replace model_typical_walkin_zone with refrigeration_walkin_zone * remove latent case credit method already included in refrigeration case data * add ref equip list method example method to get refrigeration equipment list from building properties * adjust Gro space type ratios remove Gro RefWalkInCool and RefWalkInFreeze space types and place walkins in RefFoodPrep instead. ensure space type ratios sum to 1.0. * add typical refrigeration equipment list add list of typical refrigeration equipment by building type and space type. Typical case lengths and walkin area is linked to a reference size of the space type, and then model cases and walkins are scaled accordingly. Walkins have a minimum size of 80 ft2 and maximum size of 480 ft2. * Deactivating or deleting lines or files that do not belong in master right now. * Include updated test results reflecting changings from using OS 3.9.0. * Include updated test results reflecting changings from using OS 3.9.0. * update cases data - copy some existing cases to fill out all case types for all templates - change names to avoid commas in name for E+ * Update typical_refrigerated_cases.csv * remove all refrigeration objects in create typical * data_update (crac_only) e89e6c4 * Modify lookups. * deprecate model_add_typical_refrigeration replace model_add_typical_refrigeration with create_typical_refrigeration * remove comstock and deer refrigeration data * Updating regression tests to reflect changes in OS 3.9.0. Updating autozone.rb to reflect changes to space_type_apply_internal_load_schedules arguments. * Updating regression tests to reflect changes in OS 3.9.0. Updating autozone.rb to reflect changes to space_type_apply_internal_load_schedules arguments. * update typical refrigeration logic - fix typo in typical walkin csv - don't add a refrigeration system if there are no cases or walkins - add more tests * revert changes revert some breaking changes and file additions * temp disable necb tests * Add reference curves and fix some lookups. * update doe regressions to OS v3.9 Disable large offices until the update to OS v3.10, which will include the E+ bug fix in E+ PR #10859 for cooling tower indexing * Update compare_models_helper.rb ERV table independent variable name lists are not deterministic * disable large offices tests revert once tests use OS v3.10, which will include the E+ bug fix in E+ PR #10859 for cooling tower indexing * Address test failures. * update typical refrigeration assumptions base on case and walkin amounts from an average of two case study buildings * rubocop fixes * add todo comment * Update space_type_ratios.rb * disable large office tests * Update necb_helper.rb Parse json files and compare directly rather than a text comparison. * make separate system size limit an option argument * use clamp instead of .min.max * Revert "Update space_type_ratios.rb" This reverts commit 69a7e77. * Reapply "Update space_type_ratios.rb" This reverts commit c0aa8c7. * require thermal zone for refrigeration equipment * replace string lookup with typical refrigeration .csvs * remove excess compares in necb expected results * set case zone in create refrigeration system test * 8.0.rc1 * refrigeration data fixes - fix missing case - fix case defrost curve name - fix typo in compressor curve data * add 'Gro' to infiltration lookup * add exterior lighting supermarket test * Merge branch 'master' into LandanT/Issue129_CA_WAREH_OFFICE_Change * add ext lighting properties method * Update space_type_ratios.rb * Update Prototype.CentralAirSourceHeatPump.rb * Update .yardopts - add exterior lighting and refrigeration modules to documentation * Update simulation.rb Don't run simulation for sizing periods during sizing run. It will still run zone, system, and plant sizing, but not simulate the design days. * Update version.rb * set sizing flow fraction during heating to 1 Due to changes in EnergyPlus (NREL/EnergyPlus#10763), some models fail during system sizing for reheat coils, particularly in cold climate zones (ASHRAE CZ 8). This sets the flow fraction to 1.0 instead of relying on the lower default in OpenStudio. * update regression models only minor change to set 'Heating Maximum Air Flow Fraction' in the 'SizingZone' object rather than using default. * 0.8.0.rc3 * fix log message variables * Update version.rb * change case schedule name * add more DEER bldg types to NIST infiltration * change exhaust fan log msg to debug * Update Lighting, Occupancy, and Equipment Schedules for 90.1 Models * Update lighting, occupancy, and equipment schedules for DEER Grocery Models * disable self-contained units Disable self-contained refrigeration units until we have efficiency data and cases and walkins can connect to those systems and simulate correctly. * Attempt to fix NECB test failures. * Add a failing test for#1946 This is the official E+ Kona file: https://energyplus.net/weather-location/north_and_central_america_wmo_region_4/USA/HI/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3 https://energyplus-weather.s3.amazonaws.com/north_and_central_america_wmo_region_4/USA/HI/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.zip * `iconv -f WINDOWS-1252 -t UTF-8 USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.stat -o new && mv new USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.stat` * Fix #1946 - Don't throw when parsing a stat file that has no discernible dry period * Add a test for #1948 using https://climate.onebuilding.org/WMO_Region_4_North_and_Central_America/USA_United_States_of_America/CO_Colorado/USA_CO_Denver.Intl.AP.725650_TMYx.2009-2023.zip * Fix #1948 - allow parsing TMYx stat files * add default design conditions for ERV properties resolve multiple data return message in the erv properties lookup only impacts 90.1-2013 and 90.1-2016 * switch data from .csv to .json - .csv files don't get built in the embedded gem in ruby in OpenStudio. Convert the data to .jsons and use the .jsons instead. - adjust logging message location for infiltration * Add .gitignore for temp measure testing add a .gitignore for a directory to test measure for openstudio-standards integration testing * full case statement for design conditions * error message if no climate zone * Update version.rb * use File.dirname(__FILE__) instead of __dir__ * rubocop fixes * fix yard doc errors * Change StatFIle design size info to warning * use save navigation operator in json converter use safe navigation operator to get null instead of 0 for fields to avoid divide by zero or inappropriate zero values * revert changes to 90.1-2016 ervs * parking data safe navigation * use File.dirname(__FILE__) instead of __dir__ * update version * use helper function file? to check if file exists in the cli embeeded file system * formatting csv fiels as UTF-8 without the BOM marker * Add parallel option in the measure to parallelize the baseline sizing run based on orientation. disable parallel in CI testing * Attempt to fix NECB test failures, bis. * Address add HVAC systems and regression test failures. * Exclude PTHPs from specific search criteria and fix typo. * Missing objects. * Rubocop * Update Standards.CoilCoolingDXMultiSpeed.rb update data properties comment * add run design day sim option to model_run_sizing_run Add sizing_run_simulation argument to model_run_sizing_run defaulted to false. For NECB tests, set to true for the few NECB tests using CGSHP that require full design day runs for sizing. * Update create_case.rb * change default design day sim to true Setting to false causes some issues with SingleSpeed DX coils in the set COP and capacity lookups; possibly related to how the get capacity methods are implemented. * Updating NECB regression and unit test expected results. * Inculding references to space module * Reverting btap_cli test run_options.yml files. * make supermarket schedules constant Set constant values for heating and cooling schedules. The original values were from end use data, which was an average. It appears some stores had setbacks and most didn't, and the results is slight (1C) setbacks overnight. That causes issues in parametric schedules and sawtooth schedules. This commit changes the values to a constant average temperature. * simplify schedule * Resize any DX heating coils with a very small capacity to a capacity of 1 kW if sizing run foils and rerun sizing run. * Logging resizing of DX heating coil capacity * Update necb_2011.rb * Create separate sizing run method that handles DX coil failures. Use in NECB2011 and BTAPPRE1980 classes. * Adding try_sizing_run method to sizing run 2. Inculding sizing run subdirectory as try_sizing_run method argument. * Changing autozone.rb so methods use try_sizing_run method. Updating try_sizing_run method to include additional argument from master. * add defrost and dripdown schedule variation add defrost and dripdown schedule variation to refrigerated cases and walkins. Iterate the start hour over the cases and walkins added to the model. Add fields for defrosts per day and duration to the typical cases and walkins data. Assumptions for these values are placeholder values for now, based on prior values and a quick internet search. The purpose for adding variation is so that all the schedules aren't synced and cause a spiky profile in demand. * including space_multiplier_map in model_create_thermal_zones in apply_auto_zoning method. * Add modal validation back to try_sizing_run method. * Removing test line * Inculde HighriseApartment model that uses TZ multipliers instead of modelling each floor explicitly. * Update regression test files. * Update btap_datapoint.rb to enable missing require statements * Intentionally breaking GSHP costing to test AWS. * update defrost and dripdown schedules - for cases, default to one 45 minute defrost cycle per day followed by a 5 minute dripdown - for walkins, default to two 45 minute defrost cycles per day followed by a 5 minute dripdown - add logic to avoid adding defrost and dripdown schedules if offcycle - add logic to handle dripdowns exceeding the hour after a defrost - update cases and walkins defrost and dripdown values from the ORNL database * Removing intentional error * Updating regression test results even though all tests had passed --------- Co-authored-by: Lerond <jeremy.lerond@pnnl.gov> Co-authored-by: Xu, Weili <weili.xu@pnnl.gov> Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Jeremy L. <5149279+lymereJ@users.noreply.github.com> Co-authored-by: Xuechen (Jerry) Lei <xuechen.lei@pnnl.gov> Co-authored-by: Taylor <landan.taylor@nrel.gov> Co-authored-by: Landan Taylor <128543626+LandanT@users.noreply.github.com> Co-authored-by: lymereJ <jeremy.lerond@gmail.com> Co-authored-by: Julien Marrec <julien.marrec@gmail.com> Co-authored-by: Eric Ringold <ericringold@gmail.com> Co-authored-by: tijcolem <tjc.coleman@gmail.com>
* refactor the space condition type for models without simulation results * update formats * Change the error log level to warn to avoid testing failures. * Address comments. * force to perform sizing run for bldg_11 and bldg_17 * address comments * Address test (some) failures #2. * use OS defined options * Update DOE ref chiller efficiencies * add version check for VRF cooling COP `setRatedCoolingCOP` was deprecated in OS v2.9.0 and replaced with `setGrossRatedCoolingCOP` * Update hvac_systems.rb * Fix typo. * Missing default assignement. * Update test_apply_hvac_efficiency_standard.rb * shorten exterior_lighting_zone_number replace 'exterior_lighting_zone_number' with 'lighting_zone' * merge data schema and edit tests The 90.1-2004 and later vintages of 90.1 now have a different data schema from other standard templates. Update the code to account for the different data schema. Update to the tests to account for object renaming. * Revert name. * Re-export database. * add search for legacy energy codes (2016 or earlier) * update the function call by adding a surface to avoid gc construction to be created as a regular construction * Use W/ft2 by default for building facade. * reactiviate test, it passed locally. * Handle large motors. * Handle fractional HP motors. * Adjust lookups. * Add schema and update user data processing. * Fix broken lookup. * adjust format to trigger CI * update the test assertion to use actual false type instead of string as the algorithm has updated. * update the parameter in the test * duplicate construction for repeated types. * modify format to trigger CI again * make duplicate constructions. * Remove excessive function * Updates * Bunch of formatting but the critical changes are: 1. adding has space conditioning category in the apply standard constructions 2. Realign the boundary condition if else. 3. Readjust the logic to recreate existing construction per boundary_con, surf_type, const_type for each unique combination. 4. Fix a bug in bldg_18.osm * correct the incorrect user data electric equipment * 1. fix the issue in the testing for pe PRM 2. use if instead of unless to re-organize the logic that bypasses surfaces. 3. include more general construction types in the deep copy function. * add refrigerated case method * add create_walkin method * correct argument description * Update test_create_walkin.rb * add create_compressor method * fix airboundary construction deep copy issue * allow climate zone 0 in nist infiltration use coefficients for climate zone 1 if the model climate zone is 0. * Update regression and performance test results. * add exception check in the construction_set_surface_slab_f_factor function * add typical supermarket space type ratios * add deer Gro test * Address review comments and fix headers. * template create typical refrigeration untested * Address surprise test failures. * Update Prototype.refrigeration.rb * add tests for create refrigeration system * add create typical refrigeration tests * undo changes to size category * Update regression/performance tests. * Address final (?) test failure. * add support for self-contained units - add create_compressor_rack - use indoor compressor rack (to model a self-contained unit) for small buildings. Require thermal zones to do so. - replace model_typical_display_case_zone with refrigeration_case_zone - replace model_typical_walkin_zone with refrigeration_walkin_zone * remove latent case credit method already included in refrigeration case data * add ref equip list method example method to get refrigeration equipment list from building properties * adjust Gro space type ratios remove Gro RefWalkInCool and RefWalkInFreeze space types and place walkins in RefFoodPrep instead. ensure space type ratios sum to 1.0. * add typical refrigeration equipment list add list of typical refrigeration equipment by building type and space type. Typical case lengths and walkin area is linked to a reference size of the space type, and then model cases and walkins are scaled accordingly. Walkins have a minimum size of 80 ft2 and maximum size of 480 ft2. * Deactivating or deleting lines or files that do not belong in master right now. * Include updated test results reflecting changings from using OS 3.9.0. * Include updated test results reflecting changings from using OS 3.9.0. * update cases data - copy some existing cases to fill out all case types for all templates - change names to avoid commas in name for E+ * Update typical_refrigerated_cases.csv * remove all refrigeration objects in create typical * data_update (crac_only) e89e6c4 * Modify lookups. * deprecate model_add_typical_refrigeration replace model_add_typical_refrigeration with create_typical_refrigeration * remove comstock and deer refrigeration data * Updating regression tests to reflect changes in OS 3.9.0. Updating autozone.rb to reflect changes to space_type_apply_internal_load_schedules arguments. * Updating regression tests to reflect changes in OS 3.9.0. Updating autozone.rb to reflect changes to space_type_apply_internal_load_schedules arguments. * update typical refrigeration logic - fix typo in typical walkin csv - don't add a refrigeration system if there are no cases or walkins - add more tests * revert changes revert some breaking changes and file additions * temp disable necb tests * Add reference curves and fix some lookups. * update doe regressions to OS v3.9 Disable large offices until the update to OS v3.10, which will include the E+ bug fix in E+ PR #10859 for cooling tower indexing * Update compare_models_helper.rb ERV table independent variable name lists are not deterministic * disable large offices tests revert once tests use OS v3.10, which will include the E+ bug fix in E+ PR #10859 for cooling tower indexing * Address test failures. * update typical refrigeration assumptions base on case and walkin amounts from an average of two case study buildings * rubocop fixes * add todo comment * Update space_type_ratios.rb * disable large office tests * Update necb_helper.rb Parse json files and compare directly rather than a text comparison. * make separate system size limit an option argument * use clamp instead of .min.max * Revert "Update space_type_ratios.rb" This reverts commit 69a7e77. * Reapply "Update space_type_ratios.rb" This reverts commit c0aa8c7. * require thermal zone for refrigeration equipment * replace string lookup with typical refrigeration .csvs * remove excess compares in necb expected results * set case zone in create refrigeration system test * 8.0.rc1 * refrigeration data fixes - fix missing case - fix case defrost curve name - fix typo in compressor curve data * add 'Gro' to infiltration lookup * add exterior lighting supermarket test * Merge branch 'master' into LandanT/Issue129_CA_WAREH_OFFICE_Change * add ext lighting properties method * Update space_type_ratios.rb * Update Prototype.CentralAirSourceHeatPump.rb * Update .yardopts - add exterior lighting and refrigeration modules to documentation * Update simulation.rb Don't run simulation for sizing periods during sizing run. It will still run zone, system, and plant sizing, but not simulate the design days. * Update version.rb * set sizing flow fraction during heating to 1 Due to changes in EnergyPlus (NREL/EnergyPlus#10763), some models fail during system sizing for reheat coils, particularly in cold climate zones (ASHRAE CZ 8). This sets the flow fraction to 1.0 instead of relying on the lower default in OpenStudio. * update regression models only minor change to set 'Heating Maximum Air Flow Fraction' in the 'SizingZone' object rather than using default. * 0.8.0.rc3 * fix log message variables * Update version.rb * change case schedule name * add more DEER bldg types to NIST infiltration * change exhaust fan log msg to debug * Update Lighting, Occupancy, and Equipment Schedules for 90.1 Models * Update lighting, occupancy, and equipment schedules for DEER Grocery Models * disable self-contained units Disable self-contained refrigeration units until we have efficiency data and cases and walkins can connect to those systems and simulate correctly. * Attempt to fix NECB test failures. * Add a failing test for#1946 This is the official E+ Kona file: https://energyplus.net/weather-location/north_and_central_america_wmo_region_4/USA/HI/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3 https://energyplus-weather.s3.amazonaws.com/north_and_central_america_wmo_region_4/USA/HI/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.zip * `iconv -f WINDOWS-1252 -t UTF-8 USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.stat -o new && mv new USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.stat` * Fix #1946 - Don't throw when parsing a stat file that has no discernible dry period * Add a test for #1948 using https://climate.onebuilding.org/WMO_Region_4_North_and_Central_America/USA_United_States_of_America/CO_Colorado/USA_CO_Denver.Intl.AP.725650_TMYx.2009-2023.zip * Fix #1948 - allow parsing TMYx stat files * add default design conditions for ERV properties resolve multiple data return message in the erv properties lookup only impacts 90.1-2013 and 90.1-2016 * switch data from .csv to .json - .csv files don't get built in the embedded gem in ruby in OpenStudio. Convert the data to .jsons and use the .jsons instead. - adjust logging message location for infiltration * Add .gitignore for temp measure testing add a .gitignore for a directory to test measure for openstudio-standards integration testing * full case statement for design conditions * error message if no climate zone * Update version.rb * use File.dirname(__FILE__) instead of __dir__ * rubocop fixes * fix yard doc errors * Change StatFIle design size info to warning * use save navigation operator in json converter use safe navigation operator to get null instead of 0 for fields to avoid divide by zero or inappropriate zero values * revert changes to 90.1-2016 ervs * parking data safe navigation * use File.dirname(__FILE__) instead of __dir__ * update version * use helper function file? to check if file exists in the cli embeeded file system * formatting csv fiels as UTF-8 without the BOM marker * Add parallel option in the measure to parallelize the baseline sizing run based on orientation. disable parallel in CI testing * Attempt to fix NECB test failures, bis. * Address add HVAC systems and regression test failures. * Exclude PTHPs from specific search criteria and fix typo. * Missing objects. * Rubocop * Update Standards.CoilCoolingDXMultiSpeed.rb update data properties comment * add run design day sim option to model_run_sizing_run Add sizing_run_simulation argument to model_run_sizing_run defaulted to false. For NECB tests, set to true for the few NECB tests using CGSHP that require full design day runs for sizing. * Update create_case.rb * change default design day sim to true Setting to false causes some issues with SingleSpeed DX coils in the set COP and capacity lookups; possibly related to how the get capacity methods are implemented. * Updating NECB regression and unit test expected results. * Inculding references to space module * Reverting btap_cli test run_options.yml files. * make supermarket schedules constant Set constant values for heating and cooling schedules. The original values were from end use data, which was an average. It appears some stores had setbacks and most didn't, and the results is slight (1C) setbacks overnight. That causes issues in parametric schedules and sawtooth schedules. This commit changes the values to a constant average temperature. * simplify schedule * Resize any DX heating coils with a very small capacity to a capacity of 1 kW if sizing run foils and rerun sizing run. * Logging resizing of DX heating coil capacity * Update necb_2011.rb * Create separate sizing run method that handles DX coil failures. Use in NECB2011 and BTAPPRE1980 classes. * Adding try_sizing_run method to sizing run 2. Inculding sizing run subdirectory as try_sizing_run method argument. * Changing autozone.rb so methods use try_sizing_run method. Updating try_sizing_run method to include additional argument from master. * add defrost and dripdown schedule variation add defrost and dripdown schedule variation to refrigerated cases and walkins. Iterate the start hour over the cases and walkins added to the model. Add fields for defrosts per day and duration to the typical cases and walkins data. Assumptions for these values are placeholder values for now, based on prior values and a quick internet search. The purpose for adding variation is so that all the schedules aren't synced and cause a spiky profile in demand. * including space_multiplier_map in model_create_thermal_zones in apply_auto_zoning method. * Add modal validation back to try_sizing_run method. * Removing test line * Inculde HighriseApartment model that uses TZ multipliers instead of modelling each floor explicitly. * Update regression test files. * Update btap_datapoint.rb to enable missing require statements * Intentionally breaking GSHP costing to test AWS. * update defrost and dripdown schedules - for cases, default to one 45 minute defrost cycle per day followed by a 5 minute dripdown - for walkins, default to two 45 minute defrost cycles per day followed by a 5 minute dripdown - add logic to avoid adding defrost and dripdown schedules if offcycle - add logic to handle dripdowns exceeding the hour after a defrost - update cases and walkins defrost and dripdown values from the ORNL database * Removing intentional error * Updating regression test results even though all tests had passed * Update costing file paths * Making costing file path absolute --------- Co-authored-by: Xu, Weili <weili.xu@pnnl.gov> Co-authored-by: Lerond <jeremy.lerond@pnnl.gov> Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Jeremy L. <5149279+lymereJ@users.noreply.github.com> Co-authored-by: Xuechen (Jerry) Lei <xuechen.lei@pnnl.gov> Co-authored-by: Taylor <landan.taylor@nrel.gov> Co-authored-by: Landan Taylor <128543626+LandanT@users.noreply.github.com> Co-authored-by: lymereJ <jeremy.lerond@gmail.com> Co-authored-by: Julien Marrec <julien.marrec@gmail.com> Co-authored-by: Eric Ringold <ericringold@gmail.com> Co-authored-by: tijcolem <tjc.coleman@gmail.com>
* Change the error log level to warn to avoid testing failures. * Address comments. * force to perform sizing run for bldg_11 and bldg_17 * address comments * Address test (some) failures #2. * use OS defined options * Update DOE ref chiller efficiencies * add version check for VRF cooling COP `setRatedCoolingCOP` was deprecated in OS v2.9.0 and replaced with `setGrossRatedCoolingCOP` * Update hvac_systems.rb * Fix typo. * Missing default assignement. * Update test_apply_hvac_efficiency_standard.rb * shorten exterior_lighting_zone_number replace 'exterior_lighting_zone_number' with 'lighting_zone' * merge data schema and edit tests The 90.1-2004 and later vintages of 90.1 now have a different data schema from other standard templates. Update the code to account for the different data schema. Update to the tests to account for object renaming. * Revert name. * Re-export database. * add search for legacy energy codes (2016 or earlier) * update the function call by adding a surface to avoid gc construction to be created as a regular construction * Use W/ft2 by default for building facade. * reactiviate test, it passed locally. * Handle large motors. * Handle fractional HP motors. * Adjust lookups. * Add schema and update user data processing. * Fix broken lookup. * adjust format to trigger CI * update the test assertion to use actual false type instead of string as the algorithm has updated. * update the parameter in the test * duplicate construction for repeated types. * modify format to trigger CI again * make duplicate constructions. * Remove excessive function * Updates * Bunch of formatting but the critical changes are: 1. adding has space conditioning category in the apply standard constructions 2. Realign the boundary condition if else. 3. Readjust the logic to recreate existing construction per boundary_con, surf_type, const_type for each unique combination. 4. Fix a bug in bldg_18.osm * correct the incorrect user data electric equipment * 1. fix the issue in the testing for pe PRM 2. use if instead of unless to re-organize the logic that bypasses surfaces. 3. include more general construction types in the deep copy function. * add refrigerated case method * add create_walkin method * correct argument description * Update test_create_walkin.rb * add create_compressor method * fix airboundary construction deep copy issue * allow climate zone 0 in nist infiltration use coefficients for climate zone 1 if the model climate zone is 0. * Update regression and performance test results. * add exception check in the construction_set_surface_slab_f_factor function * add typical supermarket space type ratios * add deer Gro test * Address review comments and fix headers. * template create typical refrigeration untested * Address surprise test failures. * Update Prototype.refrigeration.rb * add tests for create refrigeration system * add create typical refrigeration tests * undo changes to size category * Update regression/performance tests. * Address final (?) test failure. * add support for self-contained units - add create_compressor_rack - use indoor compressor rack (to model a self-contained unit) for small buildings. Require thermal zones to do so. - replace model_typical_display_case_zone with refrigeration_case_zone - replace model_typical_walkin_zone with refrigeration_walkin_zone * remove latent case credit method already included in refrigeration case data * add ref equip list method example method to get refrigeration equipment list from building properties * adjust Gro space type ratios remove Gro RefWalkInCool and RefWalkInFreeze space types and place walkins in RefFoodPrep instead. ensure space type ratios sum to 1.0. * add typical refrigeration equipment list add list of typical refrigeration equipment by building type and space type. Typical case lengths and walkin area is linked to a reference size of the space type, and then model cases and walkins are scaled accordingly. Walkins have a minimum size of 80 ft2 and maximum size of 480 ft2. * Deactivating or deleting lines or files that do not belong in master right now. * Include updated test results reflecting changings from using OS 3.9.0. * Include updated test results reflecting changings from using OS 3.9.0. * update cases data - copy some existing cases to fill out all case types for all templates - change names to avoid commas in name for E+ * Update typical_refrigerated_cases.csv * remove all refrigeration objects in create typical * data_update (crac_only) e89e6c4 * Modify lookups. * deprecate model_add_typical_refrigeration replace model_add_typical_refrigeration with create_typical_refrigeration * remove comstock and deer refrigeration data * Updating regression tests to reflect changes in OS 3.9.0. Updating autozone.rb to reflect changes to space_type_apply_internal_load_schedules arguments. * Updating regression tests to reflect changes in OS 3.9.0. Updating autozone.rb to reflect changes to space_type_apply_internal_load_schedules arguments. * update typical refrigeration logic - fix typo in typical walkin csv - don't add a refrigeration system if there are no cases or walkins - add more tests * revert changes revert some breaking changes and file additions * temp disable necb tests * Add reference curves and fix some lookups. * update doe regressions to OS v3.9 Disable large offices until the update to OS v3.10, which will include the E+ bug fix in E+ PR #10859 for cooling tower indexing * Update compare_models_helper.rb ERV table independent variable name lists are not deterministic * disable large offices tests revert once tests use OS v3.10, which will include the E+ bug fix in E+ PR #10859 for cooling tower indexing * Address test failures. * update typical refrigeration assumptions base on case and walkin amounts from an average of two case study buildings * rubocop fixes * add todo comment * Update space_type_ratios.rb * disable large office tests * Update necb_helper.rb Parse json files and compare directly rather than a text comparison. * make separate system size limit an option argument * use clamp instead of .min.max * Revert "Update space_type_ratios.rb" This reverts commit 69a7e77. * Reapply "Update space_type_ratios.rb" This reverts commit c0aa8c7. * require thermal zone for refrigeration equipment * replace string lookup with typical refrigeration .csvs * remove excess compares in necb expected results * set case zone in create refrigeration system test * 8.0.rc1 * refrigeration data fixes - fix missing case - fix case defrost curve name - fix typo in compressor curve data * add 'Gro' to infiltration lookup * add exterior lighting supermarket test * Merge branch 'master' into LandanT/Issue129_CA_WAREH_OFFICE_Change * add ext lighting properties method * Update space_type_ratios.rb * Update Prototype.CentralAirSourceHeatPump.rb * Update .yardopts - add exterior lighting and refrigeration modules to documentation * Update simulation.rb Don't run simulation for sizing periods during sizing run. It will still run zone, system, and plant sizing, but not simulate the design days. * Update version.rb * set sizing flow fraction during heating to 1 Due to changes in EnergyPlus (NREL/EnergyPlus#10763), some models fail during system sizing for reheat coils, particularly in cold climate zones (ASHRAE CZ 8). This sets the flow fraction to 1.0 instead of relying on the lower default in OpenStudio. * update regression models only minor change to set 'Heating Maximum Air Flow Fraction' in the 'SizingZone' object rather than using default. * 0.8.0.rc3 * fix log message variables * Update version.rb * change case schedule name * add more DEER bldg types to NIST infiltration * change exhaust fan log msg to debug * Update Lighting, Occupancy, and Equipment Schedules for 90.1 Models * Update lighting, occupancy, and equipment schedules for DEER Grocery Models * disable self-contained units Disable self-contained refrigeration units until we have efficiency data and cases and walkins can connect to those systems and simulate correctly. * Attempt to fix NECB test failures. * Add a failing test for#1946 This is the official E+ Kona file: https://energyplus.net/weather-location/north_and_central_america_wmo_region_4/USA/HI/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3 https://energyplus-weather.s3.amazonaws.com/north_and_central_america_wmo_region_4/USA/HI/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.zip * `iconv -f WINDOWS-1252 -t UTF-8 USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.stat -o new && mv new USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.stat` * Fix #1946 - Don't throw when parsing a stat file that has no discernible dry period * Add a test for #1948 using https://climate.onebuilding.org/WMO_Region_4_North_and_Central_America/USA_United_States_of_America/CO_Colorado/USA_CO_Denver.Intl.AP.725650_TMYx.2009-2023.zip * Fix #1948 - allow parsing TMYx stat files * add default design conditions for ERV properties resolve multiple data return message in the erv properties lookup only impacts 90.1-2013 and 90.1-2016 * switch data from .csv to .json - .csv files don't get built in the embedded gem in ruby in OpenStudio. Convert the data to .jsons and use the .jsons instead. - adjust logging message location for infiltration * Add .gitignore for temp measure testing add a .gitignore for a directory to test measure for openstudio-standards integration testing * full case statement for design conditions * error message if no climate zone * Update version.rb * use File.dirname(__FILE__) instead of __dir__ * rubocop fixes * fix yard doc errors * Change StatFIle design size info to warning * use save navigation operator in json converter use safe navigation operator to get null instead of 0 for fields to avoid divide by zero or inappropriate zero values * revert changes to 90.1-2016 ervs * parking data safe navigation * use File.dirname(__FILE__) instead of __dir__ * update version * use helper function file? to check if file exists in the cli embeeded file system * formatting csv fiels as UTF-8 without the BOM marker * Add parallel option in the measure to parallelize the baseline sizing run based on orientation. disable parallel in CI testing * Attempt to fix NECB test failures, bis. * Address add HVAC systems and regression test failures. * Exclude PTHPs from specific search criteria and fix typo. * Missing objects. * Rubocop * Update Standards.CoilCoolingDXMultiSpeed.rb update data properties comment * add run design day sim option to model_run_sizing_run Add sizing_run_simulation argument to model_run_sizing_run defaulted to false. For NECB tests, set to true for the few NECB tests using CGSHP that require full design day runs for sizing. * Update create_case.rb * change default design day sim to true Setting to false causes some issues with SingleSpeed DX coils in the set COP and capacity lookups; possibly related to how the get capacity methods are implemented. * Updating NECB regression and unit test expected results. * Inculding references to space module * Reverting btap_cli test run_options.yml files. * make supermarket schedules constant Set constant values for heating and cooling schedules. The original values were from end use data, which was an average. It appears some stores had setbacks and most didn't, and the results is slight (1C) setbacks overnight. That causes issues in parametric schedules and sawtooth schedules. This commit changes the values to a constant average temperature. * simplify schedule * Resize any DX heating coils with a very small capacity to a capacity of 1 kW if sizing run foils and rerun sizing run. * Logging resizing of DX heating coil capacity * Update necb_2011.rb * Create separate sizing run method that handles DX coil failures. Use in NECB2011 and BTAPPRE1980 classes. * Adding try_sizing_run method to sizing run 2. Inculding sizing run subdirectory as try_sizing_run method argument. * Changing autozone.rb so methods use try_sizing_run method. Updating try_sizing_run method to include additional argument from master. * add defrost and dripdown schedule variation add defrost and dripdown schedule variation to refrigerated cases and walkins. Iterate the start hour over the cases and walkins added to the model. Add fields for defrosts per day and duration to the typical cases and walkins data. Assumptions for these values are placeholder values for now, based on prior values and a quick internet search. The purpose for adding variation is so that all the schedules aren't synced and cause a spiky profile in demand. * including space_multiplier_map in model_create_thermal_zones in apply_auto_zoning method. * Add modal validation back to try_sizing_run method. * Removing test line * Inculde HighriseApartment model that uses TZ multipliers instead of modelling each floor explicitly. * Update regression test files. * Update btap_datapoint.rb to enable missing require statements * Intentionally breaking GSHP costing to test AWS. * update defrost and dripdown schedules - for cases, default to one 45 minute defrost cycle per day followed by a 5 minute dripdown - for walkins, default to two 45 minute defrost cycles per day followed by a 5 minute dripdown - add logic to avoid adding defrost and dripdown schedules if offcycle - add logic to handle dripdowns exceeding the hour after a defrost - update cases and walkins defrost and dripdown values from the ORNL database * Removing intentional error * Updating regression test results even though all tests had passed * Update costing file paths * Making costing file path absolute * Update which applies the local costing .csv files, fixing the costing issue (#1981) * Removed costing_database.json, changed update_costing to validate_costing, changed how the database is loaded. * Changed all occurences of .exists? to .exist? --------- Co-authored-by: Nicholas Pneumaticos <nicholaspneu@gmail.com> --------- Co-authored-by: Xu, Weili <weili.xu@pnnl.gov> Co-authored-by: Lerond <jeremy.lerond@pnnl.gov> Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Jeremy L. <5149279+lymereJ@users.noreply.github.com> Co-authored-by: Xuechen (Jerry) Lei <xuechen.lei@pnnl.gov> Co-authored-by: Taylor <landan.taylor@nrel.gov> Co-authored-by: Landan Taylor <128543626+LandanT@users.noreply.github.com> Co-authored-by: lymereJ <jeremy.lerond@gmail.com> Co-authored-by: Julien Marrec <julien.marrec@gmail.com> Co-authored-by: Eric Ringold <ericringold@gmail.com> Co-authored-by: tijcolem <tjc.coleman@gmail.com> Co-authored-by: Nicholas Pneumaticos <nicholaspneu@gmail.com>
* Including reference to costing csv files (#1983) * Change the error log level to warn to avoid testing failures. * Address comments. * force to perform sizing run for bldg_11 and bldg_17 * address comments * Address test (some) failures #2. * use OS defined options * Update DOE ref chiller efficiencies * add version check for VRF cooling COP `setRatedCoolingCOP` was deprecated in OS v2.9.0 and replaced with `setGrossRatedCoolingCOP` * Update hvac_systems.rb * Fix typo. * Missing default assignement. * Update test_apply_hvac_efficiency_standard.rb * shorten exterior_lighting_zone_number replace 'exterior_lighting_zone_number' with 'lighting_zone' * merge data schema and edit tests The 90.1-2004 and later vintages of 90.1 now have a different data schema from other standard templates. Update the code to account for the different data schema. Update to the tests to account for object renaming. * Revert name. * Re-export database. * add search for legacy energy codes (2016 or earlier) * update the function call by adding a surface to avoid gc construction to be created as a regular construction * Use W/ft2 by default for building facade. * reactiviate test, it passed locally. * Handle large motors. * Handle fractional HP motors. * Adjust lookups. * Add schema and update user data processing. * Fix broken lookup. * adjust format to trigger CI * update the test assertion to use actual false type instead of string as the algorithm has updated. * update the parameter in the test * duplicate construction for repeated types. * modify format to trigger CI again * make duplicate constructions. * Remove excessive function * Updates * Bunch of formatting but the critical changes are: 1. adding has space conditioning category in the apply standard constructions 2. Realign the boundary condition if else. 3. Readjust the logic to recreate existing construction per boundary_con, surf_type, const_type for each unique combination. 4. Fix a bug in bldg_18.osm * correct the incorrect user data electric equipment * 1. fix the issue in the testing for pe PRM 2. use if instead of unless to re-organize the logic that bypasses surfaces. 3. include more general construction types in the deep copy function. * add refrigerated case method * add create_walkin method * correct argument description * Update test_create_walkin.rb * add create_compressor method * fix airboundary construction deep copy issue * allow climate zone 0 in nist infiltration use coefficients for climate zone 1 if the model climate zone is 0. * Update regression and performance test results. * add exception check in the construction_set_surface_slab_f_factor function * add typical supermarket space type ratios * add deer Gro test * Address review comments and fix headers. * template create typical refrigeration untested * Address surprise test failures. * Update Prototype.refrigeration.rb * add tests for create refrigeration system * add create typical refrigeration tests * undo changes to size category * Update regression/performance tests. * Address final (?) test failure. * add support for self-contained units - add create_compressor_rack - use indoor compressor rack (to model a self-contained unit) for small buildings. Require thermal zones to do so. - replace model_typical_display_case_zone with refrigeration_case_zone - replace model_typical_walkin_zone with refrigeration_walkin_zone * remove latent case credit method already included in refrigeration case data * add ref equip list method example method to get refrigeration equipment list from building properties * adjust Gro space type ratios remove Gro RefWalkInCool and RefWalkInFreeze space types and place walkins in RefFoodPrep instead. ensure space type ratios sum to 1.0. * add typical refrigeration equipment list add list of typical refrigeration equipment by building type and space type. Typical case lengths and walkin area is linked to a reference size of the space type, and then model cases and walkins are scaled accordingly. Walkins have a minimum size of 80 ft2 and maximum size of 480 ft2. * Deactivating or deleting lines or files that do not belong in master right now. * Include updated test results reflecting changings from using OS 3.9.0. * Include updated test results reflecting changings from using OS 3.9.0. * update cases data - copy some existing cases to fill out all case types for all templates - change names to avoid commas in name for E+ * Update typical_refrigerated_cases.csv * remove all refrigeration objects in create typical * data_update (crac_only) e89e6c4 * Modify lookups. * deprecate model_add_typical_refrigeration replace model_add_typical_refrigeration with create_typical_refrigeration * remove comstock and deer refrigeration data * Updating regression tests to reflect changes in OS 3.9.0. Updating autozone.rb to reflect changes to space_type_apply_internal_load_schedules arguments. * Updating regression tests to reflect changes in OS 3.9.0. Updating autozone.rb to reflect changes to space_type_apply_internal_load_schedules arguments. * update typical refrigeration logic - fix typo in typical walkin csv - don't add a refrigeration system if there are no cases or walkins - add more tests * revert changes revert some breaking changes and file additions * temp disable necb tests * Add reference curves and fix some lookups. * update doe regressions to OS v3.9 Disable large offices until the update to OS v3.10, which will include the E+ bug fix in E+ PR #10859 for cooling tower indexing * Update compare_models_helper.rb ERV table independent variable name lists are not deterministic * disable large offices tests revert once tests use OS v3.10, which will include the E+ bug fix in E+ PR #10859 for cooling tower indexing * Address test failures. * update typical refrigeration assumptions base on case and walkin amounts from an average of two case study buildings * rubocop fixes * add todo comment * Update space_type_ratios.rb * disable large office tests * Update necb_helper.rb Parse json files and compare directly rather than a text comparison. * make separate system size limit an option argument * use clamp instead of .min.max * Revert "Update space_type_ratios.rb" This reverts commit 69a7e77. * Reapply "Update space_type_ratios.rb" This reverts commit c0aa8c7. * require thermal zone for refrigeration equipment * replace string lookup with typical refrigeration .csvs * remove excess compares in necb expected results * set case zone in create refrigeration system test * 8.0.rc1 * refrigeration data fixes - fix missing case - fix case defrost curve name - fix typo in compressor curve data * add 'Gro' to infiltration lookup * add exterior lighting supermarket test * Merge branch 'master' into LandanT/Issue129_CA_WAREH_OFFICE_Change * add ext lighting properties method * Update space_type_ratios.rb * Update Prototype.CentralAirSourceHeatPump.rb * Update .yardopts - add exterior lighting and refrigeration modules to documentation * Update simulation.rb Don't run simulation for sizing periods during sizing run. It will still run zone, system, and plant sizing, but not simulate the design days. * Update version.rb * set sizing flow fraction during heating to 1 Due to changes in EnergyPlus (NREL/EnergyPlus#10763), some models fail during system sizing for reheat coils, particularly in cold climate zones (ASHRAE CZ 8). This sets the flow fraction to 1.0 instead of relying on the lower default in OpenStudio. * update regression models only minor change to set 'Heating Maximum Air Flow Fraction' in the 'SizingZone' object rather than using default. * 0.8.0.rc3 * fix log message variables * Update version.rb * change case schedule name * add more DEER bldg types to NIST infiltration * change exhaust fan log msg to debug * Update Lighting, Occupancy, and Equipment Schedules for 90.1 Models * Update lighting, occupancy, and equipment schedules for DEER Grocery Models * disable self-contained units Disable self-contained refrigeration units until we have efficiency data and cases and walkins can connect to those systems and simulate correctly. * Attempt to fix NECB test failures. * Add a failing test for#1946 This is the official E+ Kona file: https://energyplus.net/weather-location/north_and_central_america_wmo_region_4/USA/HI/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3 https://energyplus-weather.s3.amazonaws.com/north_and_central_america_wmo_region_4/USA/HI/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.zip * `iconv -f WINDOWS-1252 -t UTF-8 USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.stat -o new && mv new USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.stat` * Fix #1946 - Don't throw when parsing a stat file that has no discernible dry period * Add a test for #1948 using https://climate.onebuilding.org/WMO_Region_4_North_and_Central_America/USA_United_States_of_America/CO_Colorado/USA_CO_Denver.Intl.AP.725650_TMYx.2009-2023.zip * Fix #1948 - allow parsing TMYx stat files * add default design conditions for ERV properties resolve multiple data return message in the erv properties lookup only impacts 90.1-2013 and 90.1-2016 * switch data from .csv to .json - .csv files don't get built in the embedded gem in ruby in OpenStudio. Convert the data to .jsons and use the .jsons instead. - adjust logging message location for infiltration * Add .gitignore for temp measure testing add a .gitignore for a directory to test measure for openstudio-standards integration testing * full case statement for design conditions * error message if no climate zone * Update version.rb * use File.dirname(__FILE__) instead of __dir__ * rubocop fixes * fix yard doc errors * Change StatFIle design size info to warning * use save navigation operator in json converter use safe navigation operator to get null instead of 0 for fields to avoid divide by zero or inappropriate zero values * revert changes to 90.1-2016 ervs * parking data safe navigation * use File.dirname(__FILE__) instead of __dir__ * update version * use helper function file? to check if file exists in the cli embeeded file system * formatting csv fiels as UTF-8 without the BOM marker * Add parallel option in the measure to parallelize the baseline sizing run based on orientation. disable parallel in CI testing * Attempt to fix NECB test failures, bis. * Address add HVAC systems and regression test failures. * Exclude PTHPs from specific search criteria and fix typo. * Missing objects. * Rubocop * Update Standards.CoilCoolingDXMultiSpeed.rb update data properties comment * add run design day sim option to model_run_sizing_run Add sizing_run_simulation argument to model_run_sizing_run defaulted to false. For NECB tests, set to true for the few NECB tests using CGSHP that require full design day runs for sizing. * Update create_case.rb * change default design day sim to true Setting to false causes some issues with SingleSpeed DX coils in the set COP and capacity lookups; possibly related to how the get capacity methods are implemented. * Updating NECB regression and unit test expected results. * Inculding references to space module * Reverting btap_cli test run_options.yml files. * make supermarket schedules constant Set constant values for heating and cooling schedules. The original values were from end use data, which was an average. It appears some stores had setbacks and most didn't, and the results is slight (1C) setbacks overnight. That causes issues in parametric schedules and sawtooth schedules. This commit changes the values to a constant average temperature. * simplify schedule * Resize any DX heating coils with a very small capacity to a capacity of 1 kW if sizing run foils and rerun sizing run. * Logging resizing of DX heating coil capacity * Update necb_2011.rb * Create separate sizing run method that handles DX coil failures. Use in NECB2011 and BTAPPRE1980 classes. * Adding try_sizing_run method to sizing run 2. Inculding sizing run subdirectory as try_sizing_run method argument. * Changing autozone.rb so methods use try_sizing_run method. Updating try_sizing_run method to include additional argument from master. * add defrost and dripdown schedule variation add defrost and dripdown schedule variation to refrigerated cases and walkins. Iterate the start hour over the cases and walkins added to the model. Add fields for defrosts per day and duration to the typical cases and walkins data. Assumptions for these values are placeholder values for now, based on prior values and a quick internet search. The purpose for adding variation is so that all the schedules aren't synced and cause a spiky profile in demand. * including space_multiplier_map in model_create_thermal_zones in apply_auto_zoning method. * Add modal validation back to try_sizing_run method. * Removing test line * Inculde HighriseApartment model that uses TZ multipliers instead of modelling each floor explicitly. * Update regression test files. * Update btap_datapoint.rb to enable missing require statements * Intentionally breaking GSHP costing to test AWS. * update defrost and dripdown schedules - for cases, default to one 45 minute defrost cycle per day followed by a 5 minute dripdown - for walkins, default to two 45 minute defrost cycles per day followed by a 5 minute dripdown - add logic to avoid adding defrost and dripdown schedules if offcycle - add logic to handle dripdowns exceeding the hour after a defrost - update cases and walkins defrost and dripdown values from the ORNL database * Removing intentional error * Updating regression test results even though all tests had passed * Update costing file paths * Making costing file path absolute * Update which applies the local costing .csv files, fixing the costing issue (#1981) * Removed costing_database.json, changed update_costing to validate_costing, changed how the database is loaded. * Changed all occurences of .exists? to .exist? --------- Co-authored-by: Nicholas Pneumaticos <nicholaspneu@gmail.com> --------- Co-authored-by: Xu, Weili <weili.xu@pnnl.gov> Co-authored-by: Lerond <jeremy.lerond@pnnl.gov> Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Jeremy L. <5149279+lymereJ@users.noreply.github.com> Co-authored-by: Xuechen (Jerry) Lei <xuechen.lei@pnnl.gov> Co-authored-by: Taylor <landan.taylor@nrel.gov> Co-authored-by: Landan Taylor <128543626+LandanT@users.noreply.github.com> Co-authored-by: lymereJ <jeremy.lerond@gmail.com> Co-authored-by: Julien Marrec <julien.marrec@gmail.com> Co-authored-by: Eric Ringold <ericringold@gmail.com> Co-authored-by: tijcolem <tjc.coleman@gmail.com> Co-authored-by: Nicholas Pneumaticos <nicholaspneu@gmail.com> * Refactor devcontainer setup: move post-create commands to setup.sh for better organization * Refactor timing data structure in ParallelTests - Changed the key for storing total test duration from 'total' to 'time' for clarity. - Sorted the timings JSON by test duration before saving. - Removed 'start' and 'end' keys from the saved timings data to streamline the output. --------- Co-authored-by: Xu, Weili <weili.xu@pnnl.gov> Co-authored-by: Lerond <jeremy.lerond@pnnl.gov> Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Jeremy L. <5149279+lymereJ@users.noreply.github.com> Co-authored-by: Xuechen (Jerry) Lei <xuechen.lei@pnnl.gov> Co-authored-by: Taylor <landan.taylor@nrel.gov> Co-authored-by: Landan Taylor <128543626+LandanT@users.noreply.github.com> Co-authored-by: lymereJ <jeremy.lerond@gmail.com> Co-authored-by: Julien Marrec <julien.marrec@gmail.com> Co-authored-by: Eric Ringold <ericringold@gmail.com> Co-authored-by: tijcolem <tjc.coleman@gmail.com> Co-authored-by: Nicholas Pneumaticos <nicholaspneu@gmail.com> Co-authored-by: plopez <phylroy.lopez@nrcan-rncan.gc.ca>
Due to changes in EnergyPlus (NREL/EnergyPlus#10763), some models fail during system sizing for reheat coils, particularly in cold climate zones (ASHRAE CZ 8). This sets the flow fraction to 1.0 instead of relying on the lower default in OpenStudio.
* Including reference to costing csv files (#1983) * Change the error log level to warn to avoid testing failures. * Address comments. * force to perform sizing run for bldg_11 and bldg_17 * address comments * Address test (some) failures #2. * use OS defined options * Update DOE ref chiller efficiencies * add version check for VRF cooling COP `setRatedCoolingCOP` was deprecated in OS v2.9.0 and replaced with `setGrossRatedCoolingCOP` * Update hvac_systems.rb * Fix typo. * Missing default assignement. * Update test_apply_hvac_efficiency_standard.rb * shorten exterior_lighting_zone_number replace 'exterior_lighting_zone_number' with 'lighting_zone' * merge data schema and edit tests The 90.1-2004 and later vintages of 90.1 now have a different data schema from other standard templates. Update the code to account for the different data schema. Update to the tests to account for object renaming. * Revert name. * Re-export database. * add search for legacy energy codes (2016 or earlier) * update the function call by adding a surface to avoid gc construction to be created as a regular construction * Use W/ft2 by default for building facade. * reactiviate test, it passed locally. * Handle large motors. * Handle fractional HP motors. * Adjust lookups. * Add schema and update user data processing. * Fix broken lookup. * adjust format to trigger CI * update the test assertion to use actual false type instead of string as the algorithm has updated. * update the parameter in the test * duplicate construction for repeated types. * modify format to trigger CI again * make duplicate constructions. * Remove excessive function * Updates * Bunch of formatting but the critical changes are: 1. adding has space conditioning category in the apply standard constructions 2. Realign the boundary condition if else. 3. Readjust the logic to recreate existing construction per boundary_con, surf_type, const_type for each unique combination. 4. Fix a bug in bldg_18.osm * correct the incorrect user data electric equipment * 1. fix the issue in the testing for pe PRM 2. use if instead of unless to re-organize the logic that bypasses surfaces. 3. include more general construction types in the deep copy function. * add refrigerated case method * add create_walkin method * correct argument description * Update test_create_walkin.rb * add create_compressor method * fix airboundary construction deep copy issue * allow climate zone 0 in nist infiltration use coefficients for climate zone 1 if the model climate zone is 0. * Update regression and performance test results. * add exception check in the construction_set_surface_slab_f_factor function * add typical supermarket space type ratios * add deer Gro test * Address review comments and fix headers. * template create typical refrigeration untested * Address surprise test failures. * Update Prototype.refrigeration.rb * add tests for create refrigeration system * add create typical refrigeration tests * undo changes to size category * Update regression/performance tests. * Address final (?) test failure. * add support for self-contained units - add create_compressor_rack - use indoor compressor rack (to model a self-contained unit) for small buildings. Require thermal zones to do so. - replace model_typical_display_case_zone with refrigeration_case_zone - replace model_typical_walkin_zone with refrigeration_walkin_zone * remove latent case credit method already included in refrigeration case data * add ref equip list method example method to get refrigeration equipment list from building properties * adjust Gro space type ratios remove Gro RefWalkInCool and RefWalkInFreeze space types and place walkins in RefFoodPrep instead. ensure space type ratios sum to 1.0. * add typical refrigeration equipment list add list of typical refrigeration equipment by building type and space type. Typical case lengths and walkin area is linked to a reference size of the space type, and then model cases and walkins are scaled accordingly. Walkins have a minimum size of 80 ft2 and maximum size of 480 ft2. * Deactivating or deleting lines or files that do not belong in master right now. * Include updated test results reflecting changings from using OS 3.9.0. * Include updated test results reflecting changings from using OS 3.9.0. * update cases data - copy some existing cases to fill out all case types for all templates - change names to avoid commas in name for E+ * Update typical_refrigerated_cases.csv * remove all refrigeration objects in create typical * data_update (crac_only) e89e6c4 * Modify lookups. * deprecate model_add_typical_refrigeration replace model_add_typical_refrigeration with create_typical_refrigeration * remove comstock and deer refrigeration data * Updating regression tests to reflect changes in OS 3.9.0. Updating autozone.rb to reflect changes to space_type_apply_internal_load_schedules arguments. * Updating regression tests to reflect changes in OS 3.9.0. Updating autozone.rb to reflect changes to space_type_apply_internal_load_schedules arguments. * update typical refrigeration logic - fix typo in typical walkin csv - don't add a refrigeration system if there are no cases or walkins - add more tests * revert changes revert some breaking changes and file additions * temp disable necb tests * Add reference curves and fix some lookups. * update doe regressions to OS v3.9 Disable large offices until the update to OS v3.10, which will include the E+ bug fix in E+ PR #10859 for cooling tower indexing * Update compare_models_helper.rb ERV table independent variable name lists are not deterministic * disable large offices tests revert once tests use OS v3.10, which will include the E+ bug fix in E+ PR #10859 for cooling tower indexing * Address test failures. * update typical refrigeration assumptions base on case and walkin amounts from an average of two case study buildings * rubocop fixes * add todo comment * Update space_type_ratios.rb * disable large office tests * Update necb_helper.rb Parse json files and compare directly rather than a text comparison. * make separate system size limit an option argument * use clamp instead of .min.max * Revert "Update space_type_ratios.rb" This reverts commit 5724cf8. * Reapply "Update space_type_ratios.rb" This reverts commit 793a14a. * require thermal zone for refrigeration equipment * replace string lookup with typical refrigeration .csvs * remove excess compares in necb expected results * set case zone in create refrigeration system test * 8.0.rc1 * refrigeration data fixes - fix missing case - fix case defrost curve name - fix typo in compressor curve data * add 'Gro' to infiltration lookup * add exterior lighting supermarket test * Merge branch 'master' into LandanT/Issue129_CA_WAREH_OFFICE_Change * add ext lighting properties method * Update space_type_ratios.rb * Update Prototype.CentralAirSourceHeatPump.rb * Update .yardopts - add exterior lighting and refrigeration modules to documentation * Update simulation.rb Don't run simulation for sizing periods during sizing run. It will still run zone, system, and plant sizing, but not simulate the design days. * Update version.rb * set sizing flow fraction during heating to 1 Due to changes in EnergyPlus (NREL/EnergyPlus#10763), some models fail during system sizing for reheat coils, particularly in cold climate zones (ASHRAE CZ 8). This sets the flow fraction to 1.0 instead of relying on the lower default in OpenStudio. * update regression models only minor change to set 'Heating Maximum Air Flow Fraction' in the 'SizingZone' object rather than using default. * 0.8.0.rc3 * fix log message variables * Update version.rb * change case schedule name * add more DEER bldg types to NIST infiltration * change exhaust fan log msg to debug * Update Lighting, Occupancy, and Equipment Schedules for 90.1 Models * Update lighting, occupancy, and equipment schedules for DEER Grocery Models * disable self-contained units Disable self-contained refrigeration units until we have efficiency data and cases and walkins can connect to those systems and simulate correctly. * Attempt to fix NECB test failures. * Add a failing test for#1946 This is the official E+ Kona file: https://energyplus.net/weather-location/north_and_central_america_wmo_region_4/USA/HI/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3 https://energyplus-weather.s3.amazonaws.com/north_and_central_america_wmo_region_4/USA/HI/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3/USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.zip * `iconv -f WINDOWS-1252 -t UTF-8 USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.stat -o new && mv new USA_HI_Keahole-Kona.Intl.AP.911975_TMY3.stat` * Fix #1946 - Don't throw when parsing a stat file that has no discernible dry period * Add a test for #1948 using https://climate.onebuilding.org/WMO_Region_4_North_and_Central_America/USA_United_States_of_America/CO_Colorado/USA_CO_Denver.Intl.AP.725650_TMYx.2009-2023.zip * Fix #1948 - allow parsing TMYx stat files * add default design conditions for ERV properties resolve multiple data return message in the erv properties lookup only impacts 90.1-2013 and 90.1-2016 * switch data from .csv to .json - .csv files don't get built in the embedded gem in ruby in OpenStudio. Convert the data to .jsons and use the .jsons instead. - adjust logging message location for infiltration * Add .gitignore for temp measure testing add a .gitignore for a directory to test measure for openstudio-standards integration testing * full case statement for design conditions * error message if no climate zone * Update version.rb * use File.dirname(__FILE__) instead of __dir__ * rubocop fixes * fix yard doc errors * Change StatFIle design size info to warning * use save navigation operator in json converter use safe navigation operator to get null instead of 0 for fields to avoid divide by zero or inappropriate zero values * revert changes to 90.1-2016 ervs * parking data safe navigation * use File.dirname(__FILE__) instead of __dir__ * update version * use helper function file? to check if file exists in the cli embeeded file system * formatting csv fiels as UTF-8 without the BOM marker * Add parallel option in the measure to parallelize the baseline sizing run based on orientation. disable parallel in CI testing * Attempt to fix NECB test failures, bis. * Address add HVAC systems and regression test failures. * Exclude PTHPs from specific search criteria and fix typo. * Missing objects. * Rubocop * Update Standards.CoilCoolingDXMultiSpeed.rb update data properties comment * add run design day sim option to model_run_sizing_run Add sizing_run_simulation argument to model_run_sizing_run defaulted to false. For NECB tests, set to true for the few NECB tests using CGSHP that require full design day runs for sizing. * Update create_case.rb * change default design day sim to true Setting to false causes some issues with SingleSpeed DX coils in the set COP and capacity lookups; possibly related to how the get capacity methods are implemented. * Updating NECB regression and unit test expected results. * Inculding references to space module * Reverting btap_cli test run_options.yml files. * make supermarket schedules constant Set constant values for heating and cooling schedules. The original values were from end use data, which was an average. It appears some stores had setbacks and most didn't, and the results is slight (1C) setbacks overnight. That causes issues in parametric schedules and sawtooth schedules. This commit changes the values to a constant average temperature. * simplify schedule * Resize any DX heating coils with a very small capacity to a capacity of 1 kW if sizing run foils and rerun sizing run. * Logging resizing of DX heating coil capacity * Update necb_2011.rb * Create separate sizing run method that handles DX coil failures. Use in NECB2011 and BTAPPRE1980 classes. * Adding try_sizing_run method to sizing run 2. Inculding sizing run subdirectory as try_sizing_run method argument. * Changing autozone.rb so methods use try_sizing_run method. Updating try_sizing_run method to include additional argument from master. * add defrost and dripdown schedule variation add defrost and dripdown schedule variation to refrigerated cases and walkins. Iterate the start hour over the cases and walkins added to the model. Add fields for defrosts per day and duration to the typical cases and walkins data. Assumptions for these values are placeholder values for now, based on prior values and a quick internet search. The purpose for adding variation is so that all the schedules aren't synced and cause a spiky profile in demand. * including space_multiplier_map in model_create_thermal_zones in apply_auto_zoning method. * Add modal validation back to try_sizing_run method. * Removing test line * Inculde HighriseApartment model that uses TZ multipliers instead of modelling each floor explicitly. * Update regression test files. * Update btap_datapoint.rb to enable missing require statements * Intentionally breaking GSHP costing to test AWS. * update defrost and dripdown schedules - for cases, default to one 45 minute defrost cycle per day followed by a 5 minute dripdown - for walkins, default to two 45 minute defrost cycles per day followed by a 5 minute dripdown - add logic to avoid adding defrost and dripdown schedules if offcycle - add logic to handle dripdowns exceeding the hour after a defrost - update cases and walkins defrost and dripdown values from the ORNL database * Removing intentional error * Updating regression test results even though all tests had passed * Update costing file paths * Making costing file path absolute * Update which applies the local costing .csv files, fixing the costing issue (#1981) * Removed costing_database.json, changed update_costing to validate_costing, changed how the database is loaded. * Changed all occurences of .exists? to .exist? --------- Co-authored-by: Nicholas Pneumaticos <nicholaspneu@gmail.com> --------- Co-authored-by: Xu, Weili <weili.xu@pnnl.gov> Co-authored-by: Lerond <jeremy.lerond@pnnl.gov> Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Jeremy L. <5149279+lymereJ@users.noreply.github.com> Co-authored-by: Xuechen (Jerry) Lei <xuechen.lei@pnnl.gov> Co-authored-by: Taylor <landan.taylor@nrel.gov> Co-authored-by: Landan Taylor <128543626+LandanT@users.noreply.github.com> Co-authored-by: lymereJ <jeremy.lerond@gmail.com> Co-authored-by: Julien Marrec <julien.marrec@gmail.com> Co-authored-by: Eric Ringold <ericringold@gmail.com> Co-authored-by: tijcolem <tjc.coleman@gmail.com> Co-authored-by: Nicholas Pneumaticos <nicholaspneu@gmail.com> * Refactor devcontainer setup: move post-create commands to setup.sh for better organization * Refactor timing data structure in ParallelTests - Changed the key for storing total test duration from 'total' to 'time' for clarity. - Sorted the timings JSON by test duration before saving. - Removed 'start' and 'end' keys from the saved timings data to streamline the output. --------- Co-authored-by: Xu, Weili <weili.xu@pnnl.gov> Co-authored-by: Lerond <jeremy.lerond@pnnl.gov> Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Jeremy L. <5149279+lymereJ@users.noreply.github.com> Co-authored-by: Xuechen (Jerry) Lei <xuechen.lei@pnnl.gov> Co-authored-by: Taylor <landan.taylor@nrel.gov> Co-authored-by: Landan Taylor <128543626+LandanT@users.noreply.github.com> Co-authored-by: lymereJ <jeremy.lerond@gmail.com> Co-authored-by: Julien Marrec <julien.marrec@gmail.com> Co-authored-by: Eric Ringold <ericringold@gmail.com> Co-authored-by: tijcolem <tjc.coleman@gmail.com> Co-authored-by: Nicholas Pneumaticos <nicholaspneu@gmail.com> Co-authored-by: plopez <phylroy.lopez@nrcan-rncan.gc.ca>







Pull request overview
NOTE: ENHANCEMENTS MUST FOLLOW A SUBMISSION PROCESS INCLUDING A FEATURE PROPOSAL AND DESIGN DOCUMENT PRIOR TO SUBMITTING CODE
Pull Request Author
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Reviewer
This will not be exhaustively relevant to every PR.