-
Notifications
You must be signed in to change notification settings - Fork 58
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
space_type.apply_internal_loads returns nil in some cases #238
Comments
The data center in the DOE Large Office prototype is a space in the basement and it has very high electric equipment load density. There should not be any infiltration and heating load. |
@asparke2 can confirm this, but this shouldn't affect the prototype building, it's in the "Infiltration per Exterior Area (ft^3/min*ft^2 ext)" column of the space types tab in Google Doc spreadsheet that is only used when users apply internal loads through If I user happens to apply this to a space type that doesn't have any interior exposure, then it won't have any infiltration. As a related note there is also the option of a "Infiltration per Exterior Wall Area (ft^3/min*ft^2 ext)" input for infiltration, but that isn't used very much. |
Fixes #238 If there is no infiltration data, then space_type_apply_internal_loads would return nil instead of true. This makes sure that even if there is no infiltration, the method will return true if it ran successfully.
…with OS 3.5.1 (#1517) * fix test lpd unit test issue. * Add version reference for initialization summary * Update regression and performance test results * improve logging for missing standards space type * add return true to end of apply internal loads Fixes #238 If there is no infiltration data, then space_type_apply_internal_loads would return nil instead of true. This makes sure that even if there is no infiltration, the method will return true if it ran successfully. * check hard-sized values before autosized values Fixes #109, checking hard-sized values before autosized values anywhere size checking appears in the code. * handle window to wall ratio error * Update bldg_10.osm The building had mismatched surfaces. Divided the surface geometry and re-applied surface matching. * rename prm test files * rubocop edits * rearrange and remove duplicate prm tests * sort regression and performance tests * prm model adjustments * check that adjacent surface exists for plenums the tall building methods delete some stories dynamically depending on the ratio of floor types (e.g. one floor might be retail). Deleting a space will not chance the surface adjacencies in adjacent spaces, which will still show surface adjacencies. This causes an error in the add constructions methods, which try to set plenum constructions for the ceiling if the adjacent space is a plenum. As there was no adjacent space, the get method errored out. * fix surface matching errors for prm bldg7 * correct skylight frame setter skylight frame setter was fixed; add version toggle and use new method * comment out parking lpd check parking garage is not a supported space type * update regression models for schools fix skylight assignment * Update expected result This test is still wrong - the tank is 200 gallons, which is above the threshold specified in DOE 10 CFR Part 430. Electric water heater efficiencies need an update as described in issue #1487. * update bldg7_electric geometry intersect and surface match * update prm bldg16 test check still fails in secondary lighting type - possibly related to the polygon join issue. * update 2013 regression models for skylights * handle floating point zeros in necb regressions * some prm tests timing out - comment out for now * Update version.rb for 0.3.1.rc2 * test updates * update regression models to OSv3.6.0 * prm test fixes * 0.3.1 release * update gem dependencies fixes a bug with the tbd gem dependency for developers using 0.3.1 * breaking version update * check PTHP cop coefficients 90.1-2016 and 90.1-2019 PTHP systems don't use the pthp_cop_coefficient_1, pthp_cop_coefficient_2 coefficients as earlier versions. Add a check that they are present for earlier standards. * typo in nil check * fix for #1502 * Update openstudio-standards.gemspec Commenting out NRCan development gems. * Update btap_datapoint.rb Commenting out NRCan only development Gem require statements. * Enabling gems required for NRCan development. * Incorporating updates from nrcan branch (#1515) * Add json file for compressor type of air cooled chiller for ECM HS14 * Add water cooled chiller type json for NECB and update name of chiller based on compressor type * Update initial name of water-cooled chiller in ECM HS14 Set name of 'Screw' chillers to 'Rotary Screw' Set default 'chiller_type' in file 'fuel_type_sets.json' to empty. In this case chiller type is set based on information in new file 'chiller_types.json'. Update standard method for setting efficiency and curves of water cooled electric chillers to deal with the situation when the chiller name doesn't have information on the chiller type. If the name doesn't have information on the chiller type then this will be set based on information from the new file 'chiller_types.json'. Modify method in class 'BTAPPRE1980' to modify name of chiller when the original name doesn't include a compressor type Update building regression tests osm files --------- Co-authored-by: khaddad <khaddad.energy.eng@gmail.com> * Updating regression tests from OS 3.5.1 to reflect merge of nrcan branch and master. * Updating nrcan_os360_dev with changes to nrcan branch and updating with regression test results using OS 3.5.1. --------- Co-authored-by: Weili Xu <weili.xu@pnnl.gov> Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Lerond, Jeremy <jeremy.lerond@pnnl.gov> Co-authored-by: Eric Ringold <ericringold@gmail.com> Co-authored-by: khaddad <khaddad.energy.eng@gmail.com>
* Add DEER DCV to ThermalZone.rb and AirLoopHVAC.rb * fix test lpd unit test issue. * Add version reference for initialization summary * Update regression and performance test results * improve logging for missing standards space type * add return true to end of apply internal loads Fixes #238 If there is no infiltration data, then space_type_apply_internal_loads would return nil instead of true. This makes sure that even if there is no infiltration, the method will return true if it ran successfully. * check hard-sized values before autosized values Fixes #109, checking hard-sized values before autosized values anywhere size checking appears in the code. * handle window to wall ratio error * Update bldg_10.osm The building had mismatched surfaces. Divided the surface geometry and re-applied surface matching. * rename prm test files * rubocop edits * rearrange and remove duplicate prm tests * sort regression and performance tests * prm model adjustments * check that adjacent surface exists for plenums the tall building methods delete some stories dynamically depending on the ratio of floor types (e.g. one floor might be retail). Deleting a space will not chance the surface adjacencies in adjacent spaces, which will still show surface adjacencies. This causes an error in the add constructions methods, which try to set plenum constructions for the ceiling if the adjacent space is a plenum. As there was no adjacent space, the get method errored out. * fix surface matching errors for prm bldg7 * correct skylight frame setter skylight frame setter was fixed; add version toggle and use new method * comment out parking lpd check parking garage is not a supported space type * update regression models for schools fix skylight assignment * Update expected result This test is still wrong - the tank is 200 gallons, which is above the threshold specified in DOE 10 CFR Part 430. Electric water heater efficiencies need an update as described in issue #1487. * update bldg7_electric geometry intersect and surface match * update prm bldg16 test check still fails in secondary lighting type - possibly related to the polygon join issue. * update 2013 regression models for skylights * handle floating point zeros in necb regressions * some prm tests timing out - comment out for now * Update version.rb for 0.3.1.rc2 * test updates * update regression models to OSv3.6.0 * prm test fixes * 0.3.1 release * update gem dependencies fixes a bug with the tbd gem dependency for developers using 0.3.1 * breaking version update * check PTHP cop coefficients 90.1-2016 and 90.1-2019 PTHP systems don't use the pthp_cop_coefficient_1, pthp_cop_coefficient_2 coefficients as earlier versions. Add a check that they are present for earlier standards. * typo in nil check * fix for #1502 * Update openstudio-standards.gemspec Commenting out NRCan development gems. * Update btap_datapoint.rb Commenting out NRCan only development Gem require statements. * Enabling gems required for NRCan development. * Incorporating updates from nrcan branch (#1515) * Add json file for compressor type of air cooled chiller for ECM HS14 * Add water cooled chiller type json for NECB and update name of chiller based on compressor type * Update initial name of water-cooled chiller in ECM HS14 Set name of 'Screw' chillers to 'Rotary Screw' Set default 'chiller_type' in file 'fuel_type_sets.json' to empty. In this case chiller type is set based on information in new file 'chiller_types.json'. Update standard method for setting efficiency and curves of water cooled electric chillers to deal with the situation when the chiller name doesn't have information on the chiller type. If the name doesn't have information on the chiller type then this will be set based on information from the new file 'chiller_types.json'. Modify method in class 'BTAPPRE1980' to modify name of chiller when the original name doesn't include a compressor type Update building regression tests osm files --------- Co-authored-by: khaddad <khaddad.energy.eng@gmail.com> * Updating regression tests from OS 3.5.1 to reflect merge of nrcan branch and master. * Updating nrcan_os360_dev with changes to nrcan branch and updating with regression test results using OS 3.5.1. * Incorporating recent changes to nrcan branch (#1518) * Add json file for compressor type of air cooled chiller for ECM HS14 * Add water cooled chiller type json for NECB and update name of chiller based on compressor type * Update initial name of water-cooled chiller in ECM HS14 Set name of 'Screw' chillers to 'Rotary Screw' Set default 'chiller_type' in file 'fuel_type_sets.json' to empty. In this case chiller type is set based on information in new file 'chiller_types.json'. Update standard method for setting efficiency and curves of water cooled electric chillers to deal with the situation when the chiller name doesn't have information on the chiller type. If the name doesn't have information on the chiller type then this will be set based on information from the new file 'chiller_types.json'. Modify method in class 'BTAPPRE1980' to modify name of chiller when the original name doesn't include a compressor type Update building regression tests osm files * Enabling gems required for NRCan development. * Add NECB performance curves for air-cooled chillers Add method for assigning performance curves and cop for chillers in ECM class * Incorporating updates from nrcan branch (#1515) * Add json file for compressor type of air cooled chiller for ECM HS14 * Add water cooled chiller type json for NECB and update name of chiller based on compressor type * Update initial name of water-cooled chiller in ECM HS14 Set name of 'Screw' chillers to 'Rotary Screw' Set default 'chiller_type' in file 'fuel_type_sets.json' to empty. In this case chiller type is set based on information in new file 'chiller_types.json'. Update standard method for setting efficiency and curves of water cooled electric chillers to deal with the situation when the chiller name doesn't have information on the chiller type. If the name doesn't have information on the chiller type then this will be set based on information from the new file 'chiller_types.json'. Modify method in class 'BTAPPRE1980' to modify name of chiller when the original name doesn't include a compressor type Update building regression tests osm files --------- Co-authored-by: khaddad <khaddad.energy.eng@gmail.com> * Updating regression tests from OS 3.5.1 to reflect merge of nrcan branch and master. * Updating nrcan_os360_dev with changes to nrcan branch and updating with regression test results using OS 3.5.1. --------- Co-authored-by: khaddad <khaddad.energy.eng@gmail.com> * Updating regression test expected results to those used with OS 3.6.0 in preparation for merge with master. * Updates default economizer type to FixedDryBulb and reverts exceptions for 90.1-2016, 2019, and NREL ZNE Ready 2017 * Adds possible fixed enthalpy limit to fixed drybulb economizer control * Updates DEER economizer logic based on MASControl3 * Moves DEER economizer limits from code to data files * Update openstudio-standards.gemspec Made TBD a runtime dependency not just a development dependency. * init refactor of CBE ctrl sequences * add dimensionless schedule limits type * removed code blocks not needed anymore * modified/added comments * set ems variables names to lowercase * modified radiant system methods' arguments * assign reversed radiant constructions to adjacent surfaces * Fix min OA requirements - Add "air_loop_hvac_demand_control_ventilation_limits" method to deer.AirLoopHVAC.rb - Add minimum floor area to applicable DEER templates in ThermalZone.rb * Update comments * add erv method to deer 2020 * add placeholder for radiant controls tests * add require_relative for new DEER files - added `require_relative` for DEER code year files, such as ThermalZone and AirLoopHVAC * safeguard for max_net_vert_distance equal to zero * comstock economizer type revert ashrae 90.1 changes and make them comstock specific * removing if for zero * remove .vscode artificats * Update performance and regression tests results. * Updating MiniTest inheritance to Minitest to accommodate change minitest-reporters v1.6.1. * Update btap_datapoint.rb to enable gems used in nrcan branch * Update hvac_systems.rb Returning minimum check back to the get_max_vrf_pipe_length method. --------- Co-authored-by: amylebar <41447070+amylebar@users.noreply.github.com> Co-authored-by: Weili Xu <weili.xu@pnnl.gov> Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Lerond, Jeremy <jeremy.lerond@pnnl.gov> Co-authored-by: Eric Ringold <ericringold@gmail.com> Co-authored-by: khaddad <khaddad.energy.eng@gmail.com> Co-authored-by: Andrew Parker <Andrew.Parker@nrel.gov> Co-authored-by: Carlos Duarte <cduarte@berkeley.edu> Co-authored-by: Janghyun(JK)Kim <janghyun.kim@nrel.gov> Co-authored-by: Jeremy L <5149279+lymereJ@users.noreply.github.com>
* Add DEER DCV to ThermalZone.rb and AirLoopHVAC.rb * fix test lpd unit test issue. * Add version reference for initialization summary * Update regression and performance test results * improve logging for missing standards space type * add return true to end of apply internal loads Fixes #238 If there is no infiltration data, then space_type_apply_internal_loads would return nil instead of true. This makes sure that even if there is no infiltration, the method will return true if it ran successfully. * check hard-sized values before autosized values Fixes #109, checking hard-sized values before autosized values anywhere size checking appears in the code. * handle window to wall ratio error * Update bldg_10.osm The building had mismatched surfaces. Divided the surface geometry and re-applied surface matching. * rename prm test files * rubocop edits * rearrange and remove duplicate prm tests * sort regression and performance tests * prm model adjustments * check that adjacent surface exists for plenums the tall building methods delete some stories dynamically depending on the ratio of floor types (e.g. one floor might be retail). Deleting a space will not chance the surface adjacencies in adjacent spaces, which will still show surface adjacencies. This causes an error in the add constructions methods, which try to set plenum constructions for the ceiling if the adjacent space is a plenum. As there was no adjacent space, the get method errored out. * fix surface matching errors for prm bldg7 * correct skylight frame setter skylight frame setter was fixed; add version toggle and use new method * comment out parking lpd check parking garage is not a supported space type * update regression models for schools fix skylight assignment * Update expected result This test is still wrong - the tank is 200 gallons, which is above the threshold specified in DOE 10 CFR Part 430. Electric water heater efficiencies need an update as described in issue #1487. * update bldg7_electric geometry intersect and surface match * update prm bldg16 test check still fails in secondary lighting type - possibly related to the polygon join issue. * update 2013 regression models for skylights * handle floating point zeros in necb regressions * some prm tests timing out - comment out for now * Update version.rb for 0.3.1.rc2 * test updates * update regression models to OSv3.6.0 * prm test fixes * 0.3.1 release * update gem dependencies fixes a bug with the tbd gem dependency for developers using 0.3.1 * breaking version update * check PTHP cop coefficients 90.1-2016 and 90.1-2019 PTHP systems don't use the pthp_cop_coefficient_1, pthp_cop_coefficient_2 coefficients as earlier versions. Add a check that they are present for earlier standards. * typo in nil check * fix for #1502 * Update openstudio-standards.gemspec Commenting out NRCan development gems. * Update btap_datapoint.rb Commenting out NRCan only development Gem require statements. * Enabling gems required for NRCan development. * Incorporating updates from nrcan branch (#1515) * Add json file for compressor type of air cooled chiller for ECM HS14 * Add water cooled chiller type json for NECB and update name of chiller based on compressor type * Update initial name of water-cooled chiller in ECM HS14 Set name of 'Screw' chillers to 'Rotary Screw' Set default 'chiller_type' in file 'fuel_type_sets.json' to empty. In this case chiller type is set based on information in new file 'chiller_types.json'. Update standard method for setting efficiency and curves of water cooled electric chillers to deal with the situation when the chiller name doesn't have information on the chiller type. If the name doesn't have information on the chiller type then this will be set based on information from the new file 'chiller_types.json'. Modify method in class 'BTAPPRE1980' to modify name of chiller when the original name doesn't include a compressor type Update building regression tests osm files --------- Co-authored-by: khaddad <khaddad.energy.eng@gmail.com> * Updating regression tests from OS 3.5.1 to reflect merge of nrcan branch and master. * Updating nrcan_os360_dev with changes to nrcan branch and updating with regression test results using OS 3.5.1. * Incorporating recent changes to nrcan branch (#1518) * Add json file for compressor type of air cooled chiller for ECM HS14 * Add water cooled chiller type json for NECB and update name of chiller based on compressor type * Update initial name of water-cooled chiller in ECM HS14 Set name of 'Screw' chillers to 'Rotary Screw' Set default 'chiller_type' in file 'fuel_type_sets.json' to empty. In this case chiller type is set based on information in new file 'chiller_types.json'. Update standard method for setting efficiency and curves of water cooled electric chillers to deal with the situation when the chiller name doesn't have information on the chiller type. If the name doesn't have information on the chiller type then this will be set based on information from the new file 'chiller_types.json'. Modify method in class 'BTAPPRE1980' to modify name of chiller when the original name doesn't include a compressor type Update building regression tests osm files * Enabling gems required for NRCan development. * Add NECB performance curves for air-cooled chillers Add method for assigning performance curves and cop for chillers in ECM class * Incorporating updates from nrcan branch (#1515) * Add json file for compressor type of air cooled chiller for ECM HS14 * Add water cooled chiller type json for NECB and update name of chiller based on compressor type * Update initial name of water-cooled chiller in ECM HS14 Set name of 'Screw' chillers to 'Rotary Screw' Set default 'chiller_type' in file 'fuel_type_sets.json' to empty. In this case chiller type is set based on information in new file 'chiller_types.json'. Update standard method for setting efficiency and curves of water cooled electric chillers to deal with the situation when the chiller name doesn't have information on the chiller type. If the name doesn't have information on the chiller type then this will be set based on information from the new file 'chiller_types.json'. Modify method in class 'BTAPPRE1980' to modify name of chiller when the original name doesn't include a compressor type Update building regression tests osm files --------- Co-authored-by: khaddad <khaddad.energy.eng@gmail.com> * Updating regression tests from OS 3.5.1 to reflect merge of nrcan branch and master. * Updating nrcan_os360_dev with changes to nrcan branch and updating with regression test results using OS 3.5.1. --------- Co-authored-by: khaddad <khaddad.energy.eng@gmail.com> * Updating regression test expected results to those used with OS 3.6.0 in preparation for merge with master. * Updates default economizer type to FixedDryBulb and reverts exceptions for 90.1-2016, 2019, and NREL ZNE Ready 2017 * Adds possible fixed enthalpy limit to fixed drybulb economizer control * Updates DEER economizer logic based on MASControl3 * Moves DEER economizer limits from code to data files * Update openstudio-standards.gemspec Made TBD a runtime dependency not just a development dependency. * init refactor of CBE ctrl sequences * add dimensionless schedule limits type * removed code blocks not needed anymore * modified/added comments * set ems variables names to lowercase * modified radiant system methods' arguments * assign reversed radiant constructions to adjacent surfaces * Fix min OA requirements - Add "air_loop_hvac_demand_control_ventilation_limits" method to deer.AirLoopHVAC.rb - Add minimum floor area to applicable DEER templates in ThermalZone.rb * Update comments * replace existing zone thermostat with constant thermostat to control radiant system * added radiant system availability presets * add erv method to deer 2020 * add placeholder for radiant controls tests * add require_relative for new DEER files - added `require_relative` for DEER code year files, such as ThermalZone and AirLoopHVAC * safeguard for max_net_vert_distance equal to zero * comstock economizer type revert ashrae 90.1 changes and make them comstock specific * removing if for zero * remove .vscode artificats * Update performance and regression tests results. * remove VRP default in VAV constructor Removes model_system_outdoor_air_sizing_vrp_method(air_loop) and air_loop_hvac_apply_vav_damper_action(air_loop) methods from the default constructor for VAV systems. Instead, default to ZoneSum for the controller mechanical ventilation, and single maximum for VAV reheat terminals. Still apply these methods before the sizing run in the create PRM baseline and create prototype methods. Also, harmonize the outdoor air system setup between the VAV and PVAV archetypes. * undo vent controller name change may change to ventilation eventually * Updating MiniTest inheritance to Minitest to accommodate change minitest-reporters v1.6.1. * remove maximum flow fraction setting we anticipated it was placed in the wrong place, but it's changing the performance results. * Update btap_datapoint.rb to enable gems used in nrcan branch * Update hvac_systems.rb Returning minimum check back to the get_max_vrf_pipe_length method. * Update openstudio-standards.gemspec Removing aws-sdk-s3 and git-revision gems not used in master * Update btap_datapoint.rb Deactivating require statements for gems not used in master branch. * Updating MiniTest inheritance to Minitest to accommodate change minitest-reporters v1.6.1. * Update openstudio-standards.gemspec Removing aws-sdk-s3 and git-revision gems not used in master * Removing statement that I shouldn't have added back in. * update regression models * added arg for using zone occupancy and rearrange existing arg * use zone occupancy objs use for radiant control * formatting edits to hvac_system_test_helper * update test model path lookup * fixed bugs with naming EMS programs * reference specific zone occupancy in EMS programs if selected for control * remove extra occupancy schedules/rulesets that are not needed * added errors to users for zone occupancy control * add test helper for radiant system controls * change default test name arguments * restore 0.5 maximum reheat flow fraction * add python script to create expected results * change capacity limits * update performance and regression tests * Update markdown documentation * add Carlos to gemspec author list * clarify how to edit data * explicitly pass x, y, and z values instead of array of values * add methods to testing helper also use ems_friend_name method * remove Siz.AirLoopHVAC.rb remove Siz.AirLoopHVAC.rb and associated methods. These methods are now available in OpenStudio as of OpenStudio version 3.6.0. * remove Siz.CoilCoolingWater.rb remove Siz.CoilCoolingWater.rb and associated methods. These methods are now available in OpenStudio as of OpenStudio version 3.6.0. * remove sizing methods in Siz.ThermalZone.rb * remove Siz.HVACComponent.rb remove Siz.HVACComponent.rb and associated methods. Only water heaters were using the feature. May consider generalizing if other components need it in the future. * remove Siz.HeatingCoolingFuels.rb and Siz.ThermalZone.rb remove Siz.HeatingCoolingFuels.rb and Siz.ThermalZone.rb and refactor associated methods. These methods are now available in OpenStudio as of OpenStudio version 3.6.0, under coolingFuelTypes, heatingFuelTypes, and appGHeatingFuelTypes * remove overloaded prm method plant_loop_total_cooling_capacity plant_loop_total_cooling_capacity is overloaded in the prm code and doesn't need to be * calculate fan power calculate fan power from existing field rather than relying on an sql file lookup * remove getAutosizedValueFromEquipmentSummary remove getAutosizedValueFromEquipmentSummary method from Siz.Model.rb * remove output_fan_report remove output fan report, which was only used for manually checking the older prm method * Delete Siz.Model.rb delete Siz.Model.rb and hvac_sizing directory * remove require to Siz.Model * remove prm air_loop_hvac_multizone_vav_optimization_required? identical to air_loop_hvac_multizone_vav_optimization_required? in Standards.AirLoopHVAC.rb * remove prm air_loop_hvac_set_vsd_curve_type identical to air_loop_hvac_set_vsd_curve_type in Standards.AirLoopHVAC.rb * remove 90.1-2019 prm model_baseline_system_vav_fan_type identical to model_baseline_system_vav_fan_type in ashrae_90_1_prm.Model.rb * remove model_prm_baseline_system_group_minimum_area method The return value is the same throughout the code base, except for an Xcel program override. We can break this out into a method again if other standards require it. * remove duplicated model_prm_baseline_system_change_fuel_type ashrae_90_1_prm_2019 duplicates the method in ashrae_90_1_prm also remove the Xcel and custom argument reference from the base method * grammar fix * remove prm boiler_hot_water_find_search_criteria returns the same values as boiler_hot_water_find_search_criteria in Standards.BoilerHotWater.rb * remove coil_heating_gas_find_capacity duplicate of coil_heating_gas_find_capacity in Standards.CoilHeatingGas.rb * remove boiler_hot_water_standard_minimum_thermal_efficiency duplicate of boiler_hot_water_standard_minimum_thermal_efficiency in Standards.BoilerHotWater.rb * remove duplicate model_prm_baseline_system_number remove duplicated method model_prm_baseline_system_number in ashrae_90_1_prm_2019 that is already in ashrae_90_1_prm * remove prm cooling_tower_apply_minimum_power_per_flow this is duplicate of cooling_tower_apply_minimum_power_per_flow in Standards.CoolingTower.rb Note the 'fan_type' is defined as 'Propeller or Axial' in Standards.CoolingTower.rb, and 'Axial' in the PRM version. The PRM data should switch to 'Propeller or Axial' to align with 90.1. * remove prm chiller_electric_eir_standard_minimum_full_load_efficiency duplicate of chiller_electric_eir_standard_minimum_full_load_efficiency in Standards.ChillerElectricEIR.rb. The returns were changed for setting the chiller name and logging. Add calls to get those variables. * remove prm chiller_electric_eir_find_search_criteria Remove duplicate prm method chiller_electric_eir_find_search_criteria which is already defined in Standards.ChillerElectricEIR.rb. The PRM method looks up the compressor type by an additional features property on the chiller object. Adjust the Standards method to check for compressor_type in chiller additional properties before inferring from the chiller name. * remove prm model_apply_constructions duplicate of model_apply_constructions in Standards.Model.rb Pass the wwr arguments in Standards.Model.rb instead of setting them to nil. If this causes issues, then this needs to be a separate method to set wwr building type. * fix OptionalDouble error * implmented a schedule with occupied hours to determine when to calculate extremes in indoor conditions * added occupancy arguments into method to create low temp radiant * remove prm CoolingTower file requires * get value of FuelType Enums * added method to convert plant into a 2-pipe system with availability schedules * refactor design load to be w not w_per_m2 The original heatingDesignLoad and coolingDesignLoad method sin openstudio-standards were poorly named. They returned load density in w_per_m2 instead of w. Adjust the code to account for the w return from the new OpenStudio methods. * added 2-pipe plant mode based on zone heating cooling demand * add radiant occupancy tests * Revert "remove prm model_apply_constructions" This reverts commit 81c4e59. * add method to get radiant thermal zones from plant loop * added tests for testing two pipe plant system * Adds details to sizing run start/end messages for runtime profiling * check for OptionalDouble * fix .get typo for double * Update Standards.ThermalZone.rb * Large Office cooling tower regression update * Revert "remove prm air_loop_hvac_set_vsd_curve_type" This reverts commit fa415a6. * update regression and performance results * update data file * remove extra argument * fix app g method call typos * Update test_performance_expected_dd_results.csv * check app G fuel type against array * update test failures * two pipe method edits * Including latest changes from master. (#1593) * added arg for using zone occupancy and rearrange existing arg * use zone occupancy objs use for radiant control * fixed bugs with naming EMS programs * reference specific zone occupancy in EMS programs if selected for control * remove extra occupancy schedules/rulesets that are not needed * added errors to users for zone occupancy control * add Carlos to gemspec author list * add methods to testing helper also use ems_friend_name method * remove Siz.AirLoopHVAC.rb remove Siz.AirLoopHVAC.rb and associated methods. These methods are now available in OpenStudio as of OpenStudio version 3.6.0. * remove Siz.CoilCoolingWater.rb remove Siz.CoilCoolingWater.rb and associated methods. These methods are now available in OpenStudio as of OpenStudio version 3.6.0. * remove sizing methods in Siz.ThermalZone.rb * remove Siz.HVACComponent.rb remove Siz.HVACComponent.rb and associated methods. Only water heaters were using the feature. May consider generalizing if other components need it in the future. * remove Siz.HeatingCoolingFuels.rb and Siz.ThermalZone.rb remove Siz.HeatingCoolingFuels.rb and Siz.ThermalZone.rb and refactor associated methods. These methods are now available in OpenStudio as of OpenStudio version 3.6.0, under coolingFuelTypes, heatingFuelTypes, and appGHeatingFuelTypes * remove overloaded prm method plant_loop_total_cooling_capacity plant_loop_total_cooling_capacity is overloaded in the prm code and doesn't need to be * calculate fan power calculate fan power from existing field rather than relying on an sql file lookup * remove getAutosizedValueFromEquipmentSummary remove getAutosizedValueFromEquipmentSummary method from Siz.Model.rb * remove output_fan_report remove output fan report, which was only used for manually checking the older prm method * Delete Siz.Model.rb delete Siz.Model.rb and hvac_sizing directory * remove require to Siz.Model * remove prm air_loop_hvac_multizone_vav_optimization_required? identical to air_loop_hvac_multizone_vav_optimization_required? in Standards.AirLoopHVAC.rb * remove prm air_loop_hvac_set_vsd_curve_type identical to air_loop_hvac_set_vsd_curve_type in Standards.AirLoopHVAC.rb * remove 90.1-2019 prm model_baseline_system_vav_fan_type identical to model_baseline_system_vav_fan_type in ashrae_90_1_prm.Model.rb * remove model_prm_baseline_system_group_minimum_area method The return value is the same throughout the code base, except for an Xcel program override. We can break this out into a method again if other standards require it. * remove duplicated model_prm_baseline_system_change_fuel_type ashrae_90_1_prm_2019 duplicates the method in ashrae_90_1_prm also remove the Xcel and custom argument reference from the base method * grammar fix * remove prm boiler_hot_water_find_search_criteria returns the same values as boiler_hot_water_find_search_criteria in Standards.BoilerHotWater.rb * remove coil_heating_gas_find_capacity duplicate of coil_heating_gas_find_capacity in Standards.CoilHeatingGas.rb * remove boiler_hot_water_standard_minimum_thermal_efficiency duplicate of boiler_hot_water_standard_minimum_thermal_efficiency in Standards.BoilerHotWater.rb * remove duplicate model_prm_baseline_system_number remove duplicated method model_prm_baseline_system_number in ashrae_90_1_prm_2019 that is already in ashrae_90_1_prm * remove prm cooling_tower_apply_minimum_power_per_flow this is duplicate of cooling_tower_apply_minimum_power_per_flow in Standards.CoolingTower.rb Note the 'fan_type' is defined as 'Propeller or Axial' in Standards.CoolingTower.rb, and 'Axial' in the PRM version. The PRM data should switch to 'Propeller or Axial' to align with 90.1. * remove prm chiller_electric_eir_standard_minimum_full_load_efficiency duplicate of chiller_electric_eir_standard_minimum_full_load_efficiency in Standards.ChillerElectricEIR.rb. The returns were changed for setting the chiller name and logging. Add calls to get those variables. * remove prm chiller_electric_eir_find_search_criteria Remove duplicate prm method chiller_electric_eir_find_search_criteria which is already defined in Standards.ChillerElectricEIR.rb. The PRM method looks up the compressor type by an additional features property on the chiller object. Adjust the Standards method to check for compressor_type in chiller additional properties before inferring from the chiller name. * remove prm model_apply_constructions duplicate of model_apply_constructions in Standards.Model.rb Pass the wwr arguments in Standards.Model.rb instead of setting them to nil. If this causes issues, then this needs to be a separate method to set wwr building type. * fix OptionalDouble error * implmented a schedule with occupied hours to determine when to calculate extremes in indoor conditions * added occupancy arguments into method to create low temp radiant * remove prm CoolingTower file requires * get value of FuelType Enums * refactor design load to be w not w_per_m2 The original heatingDesignLoad and coolingDesignLoad method sin openstudio-standards were poorly named. They returned load density in w_per_m2 instead of w. Adjust the code to account for the w return from the new OpenStudio methods. * add radiant occupancy tests * Revert "remove prm model_apply_constructions" This reverts commit 81c4e59. * check for OptionalDouble * fix .get typo for double * Update Standards.ThermalZone.rb * Large Office cooling tower regression update * Revert "remove prm air_loop_hvac_set_vsd_curve_type" This reverts commit fa415a6. * update regression and performance results * update data file * remove extra argument * fix app g method call typos * Update test_performance_expected_dd_results.csv * check app G fuel type against array * update test failures --------- Co-authored-by: Carlos Duarte <cduarte@berkeley.edu> Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Weili Xu <weili.xu@pnnl.gov> * Update openstudio-standards.gemspec Preparing the merge with nrcan branch. * Update btap_datapoint.rb Re-enabling require statements disabled for merge with master. * Incorporating changes from master into nrcan_master_merge branch (#1594) * added arg for using zone occupancy and rearrange existing arg * use zone occupancy objs use for radiant control * fixed bugs with naming EMS programs * reference specific zone occupancy in EMS programs if selected for control * remove extra occupancy schedules/rulesets that are not needed * added errors to users for zone occupancy control * add Carlos to gemspec author list * add methods to testing helper also use ems_friend_name method * remove Siz.AirLoopHVAC.rb remove Siz.AirLoopHVAC.rb and associated methods. These methods are now available in OpenStudio as of OpenStudio version 3.6.0. * remove Siz.CoilCoolingWater.rb remove Siz.CoilCoolingWater.rb and associated methods. These methods are now available in OpenStudio as of OpenStudio version 3.6.0. * remove sizing methods in Siz.ThermalZone.rb * remove Siz.HVACComponent.rb remove Siz.HVACComponent.rb and associated methods. Only water heaters were using the feature. May consider generalizing if other components need it in the future. * remove Siz.HeatingCoolingFuels.rb and Siz.ThermalZone.rb remove Siz.HeatingCoolingFuels.rb and Siz.ThermalZone.rb and refactor associated methods. These methods are now available in OpenStudio as of OpenStudio version 3.6.0, under coolingFuelTypes, heatingFuelTypes, and appGHeatingFuelTypes * remove overloaded prm method plant_loop_total_cooling_capacity plant_loop_total_cooling_capacity is overloaded in the prm code and doesn't need to be * calculate fan power calculate fan power from existing field rather than relying on an sql file lookup * remove getAutosizedValueFromEquipmentSummary remove getAutosizedValueFromEquipmentSummary method from Siz.Model.rb * remove output_fan_report remove output fan report, which was only used for manually checking the older prm method * Delete Siz.Model.rb delete Siz.Model.rb and hvac_sizing directory * remove require to Siz.Model * remove prm air_loop_hvac_multizone_vav_optimization_required? identical to air_loop_hvac_multizone_vav_optimization_required? in Standards.AirLoopHVAC.rb * remove prm air_loop_hvac_set_vsd_curve_type identical to air_loop_hvac_set_vsd_curve_type in Standards.AirLoopHVAC.rb * remove 90.1-2019 prm model_baseline_system_vav_fan_type identical to model_baseline_system_vav_fan_type in ashrae_90_1_prm.Model.rb * remove model_prm_baseline_system_group_minimum_area method The return value is the same throughout the code base, except for an Xcel program override. We can break this out into a method again if other standards require it. * remove duplicated model_prm_baseline_system_change_fuel_type ashrae_90_1_prm_2019 duplicates the method in ashrae_90_1_prm also remove the Xcel and custom argument reference from the base method * grammar fix * remove prm boiler_hot_water_find_search_criteria returns the same values as boiler_hot_water_find_search_criteria in Standards.BoilerHotWater.rb * remove coil_heating_gas_find_capacity duplicate of coil_heating_gas_find_capacity in Standards.CoilHeatingGas.rb * remove boiler_hot_water_standard_minimum_thermal_efficiency duplicate of boiler_hot_water_standard_minimum_thermal_efficiency in Standards.BoilerHotWater.rb * remove duplicate model_prm_baseline_system_number remove duplicated method model_prm_baseline_system_number in ashrae_90_1_prm_2019 that is already in ashrae_90_1_prm * remove prm cooling_tower_apply_minimum_power_per_flow this is duplicate of cooling_tower_apply_minimum_power_per_flow in Standards.CoolingTower.rb Note the 'fan_type' is defined as 'Propeller or Axial' in Standards.CoolingTower.rb, and 'Axial' in the PRM version. The PRM data should switch to 'Propeller or Axial' to align with 90.1. * remove prm chiller_electric_eir_standard_minimum_full_load_efficiency duplicate of chiller_electric_eir_standard_minimum_full_load_efficiency in Standards.ChillerElectricEIR.rb. The returns were changed for setting the chiller name and logging. Add calls to get those variables. * remove prm chiller_electric_eir_find_search_criteria Remove duplicate prm method chiller_electric_eir_find_search_criteria which is already defined in Standards.ChillerElectricEIR.rb. The PRM method looks up the compressor type by an additional features property on the chiller object. Adjust the Standards method to check for compressor_type in chiller additional properties before inferring from the chiller name. * remove prm model_apply_constructions duplicate of model_apply_constructions in Standards.Model.rb Pass the wwr arguments in Standards.Model.rb instead of setting them to nil. If this causes issues, then this needs to be a separate method to set wwr building type. * fix OptionalDouble error * implmented a schedule with occupied hours to determine when to calculate extremes in indoor conditions * added occupancy arguments into method to create low temp radiant * remove prm CoolingTower file requires * get value of FuelType Enums * refactor design load to be w not w_per_m2 The original heatingDesignLoad and coolingDesignLoad method sin openstudio-standards were poorly named. They returned load density in w_per_m2 instead of w. Adjust the code to account for the w return from the new OpenStudio methods. * add radiant occupancy tests * Revert "remove prm model_apply_constructions" This reverts commit 81c4e59. * check for OptionalDouble * fix .get typo for double * Update Standards.ThermalZone.rb * Large Office cooling tower regression update * Revert "remove prm air_loop_hvac_set_vsd_curve_type" This reverts commit fa415a6. * update regression and performance results * update data file * remove extra argument * fix app g method call typos * Update test_performance_expected_dd_results.csv * check app G fuel type against array * update test failures --------- Co-authored-by: Carlos Duarte <cduarte@berkeley.edu> Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Weili Xu <weili.xu@pnnl.gov> * Create pull_request_template.md (#1599) Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> * Merge changes from master branch (#1601) * Create pull_request_template.md * Apply Black formatting. --------- Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Lerond, Jeremy <jeremy.lerond@pnnl.gov> --------- Co-authored-by: amylebar <41447070+amylebar@users.noreply.github.com> Co-authored-by: Weili Xu <weili.xu@pnnl.gov> Co-authored-by: Matthew Dahlhausen <matthew.dahlhausen@gmail.com> Co-authored-by: Lerond, Jeremy <jeremy.lerond@pnnl.gov> Co-authored-by: Eric Ringold <ericringold@gmail.com> Co-authored-by: khaddad <khaddad.energy.eng@gmail.com> Co-authored-by: Andrew Parker <Andrew.Parker@nrel.gov> Co-authored-by: Carlos Duarte <cduarte@berkeley.edu> Co-authored-by: Janghyun(JK)Kim <janghyun.kim@nrel.gov> Co-authored-by: Jeremy L <5149279+lymereJ@users.noreply.github.com>
https://github.com/NREL/openstudio-standards/blob/master/openstudio-standards/lib/openstudio-standards/standards/Standards.SpaceType.rb#L80
Normal behavior is to return true or false, but found that for Large Office Data Center space types it returns nil instead. Maybe because they don't have space infiltration? But could be something else.
I fixed issue in measure by checking specifically for false, so no rush for this fix. I also plan to add space infiltration to the data center space types, but will hold off for a while, not in a hurry to do that.
The text was updated successfully, but these errors were encountered: