Skip to content
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

Version 0.10.0 #59

Merged
merged 24 commits into from
Jul 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
e0dda10
initial commit for testing with OpenStudio 3.8.0
DavidGoldwasser Apr 25, 2024
3d42a6b
download gem from github
wenyikuang Apr 25, 2024
125aa65
initial commit for testing with OpenStudio 3.8.0
DavidGoldwasser Apr 25, 2024
f021829
Install all custom gems from github
wenyikuang Apr 30, 2024
e0f9fdc
Points the bcl to wenyi repo
wenyikuang May 1, 2024
d387c24
update nze_hvac thermal zone methods
mdahlhausen May 7, 2024
ae7f111
Merge pull request #55 from NREL/os3_8_fixes
DavidGoldwasser May 8, 2024
7e94f81
nze_hvac group methods update to modules
mdahlhausen May 9, 2024
49ff43b
update module methods in nze_hvac tests
mdahlhausen May 9, 2024
48d8d30
Merge pull request #56 from NREL/os3_8_fixes
DavidGoldwasser May 9, 2024
74002f4
change nze hvac group methods to optional arg
mdahlhausen May 9, 2024
3b0bf61
Merge pull request #57 from NREL/os3_8_fixes
DavidGoldwasser May 9, 2024
e062050
fix typo in optional argument
mdahlhausen May 9, 2024
5d40e3b
Merge pull request #58 from NREL/os3_8_fixes
DavidGoldwasser May 9, 2024
665510e
Updated jenkins file for CI
DavidGoldwasser May 17, 2024
30b1872
Merge branch '0.10.0-rc1' of https://github.com/NREL/openstudio-ee-ge…
DavidGoldwasser May 17, 2024
6e0694b
updating gem file and gemspec
DavidGoldwasser Jun 7, 2024
2320441
revert gemfile change but not gemspec changes
DavidGoldwasser Jun 7, 2024
3790979
copy parts of gemspec from another repo
DavidGoldwasser Jun 7, 2024
4a751f9
update nze_hvac min compatible
kflemin Jun 13, 2024
78adfe2
remove measure tester gem...it os included in extension gem
kflemin Jun 14, 2024
42952a8
remove BCL gem...part of extension gems
kflemin Jun 14, 2024
1458576
cleanup gemspec
kflemin Jul 11, 2024
b706ef8
Merge pull request #52 from NREL/0.10.0-rc1
kflemin Jul 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# OpenStudio(R) EE Gem

## Version 0.10.0
* Support for OpenStudio 3.8 (upgrade to standards gem 0.6.0, extension gem 0.8.0)
* Support Ruby 3.2.2

## Version 0.9.0
* Support for OpenStudio 3.7 (upgrade to standards gem 0.5.0, extension gem 0.7.0)
* Fix fuel type for GLHEProExportLoadsforGroundHeatExchangerSizing
Expand Down
7 changes: 5 additions & 2 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@ gemspec
allow_local = ENV['FAVOR_LOCAL_GEMS']

# Delete when these branchesa are merged and released
#gem 'openstudio-extension', github: 'NREL/OpenStudio-extension-gem', branch: 'v0.6.0-rc1'
#gem 'openstudio-standards', '= 0.2.17.rc1', :github => 'NREL/openstudio-standards', :ref => '3.5.0_changes'
#gem 'openstudio-extension', github: 'NREL/OpenStudio-extension-gem', branch: 'wenyi-fix-build-temp', ref: "34a39a24aee2259de"
#gem 'openstudio-standards', github: 'NREL/openstudio-standards', tag: 'v0.6.0.rc2', ref: "1c42110"
#gem 'openstudio_measure_tester', :git => 'https://github.com/NREL/OpenStudio-measure-tester-gem.git', :branch => 'wenyi-dependencies-update'
#gem 'openstudio-workflow', :git => 'https://github.com/NREL/OpenStudio-workflow-gem.git', :branch => 'develop', ref: "32126e9b9f6"
#gem 'bcl', :git => 'https://github.com/wenyikuang/bcl-gem.git', :branch => 'develop'


# uncomment when you want CI to use develop branch of extension gem
Expand Down
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//Jenkins pipelines are stored in shared libraries. Please see: https://github.com/NREL/cbci_jenkins_libs

@Library('cbci_shared_libs') _
@Library('cbci_shared_libs@developExtension') _

// Build for PR to develop branch only.
if ((env.CHANGE_ID) && (env.CHANGE_TARGET) ) { // check if set
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Or install it yourself as:

|OpenStudio EE Gem|OpenStudio|Ruby|
|:--------------:|:----------:|:--------:|
| 0.10.0 | 3.8 | 3.2.2 |
| 0.9.0 | 3.7 | 2.7 |
| 0.8.0 | 3.6 | 2.7 |
| 0.7.0 | 3.5 | 2.7 |
Expand Down
10 changes: 5 additions & 5 deletions lib/measures/nze_hvac/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -345,8 +345,8 @@ def run(model, runner, user_arguments)
# exclude plenum zones, zones without thermostats, and zones with no floor area
conditioned_zones = []
model.getThermalZones.each do |zone|
next if std.thermal_zone_plenum?(zone)
next if !std.thermal_zone_heated?(zone) && !std.thermal_zone_cooled?(zone)
next if OpenstudioStandards::ThermalZone.thermal_zone_plenum?(zone)
next if !OpenstudioStandards::ThermalZone.thermal_zone_heated?(zone) && !OpenstudioStandards::ThermalZone.thermal_zone_cooled?(zone)
conditioned_zones << zone
end

Expand All @@ -356,7 +356,7 @@ def run(model, runner, user_arguments)
when 'Automatic Partition'
# group zones by occupancy type (residential/nonresidential)
# split non-dominant groups if their total area exceeds 20,000 ft2.
sys_groups = std.model_group_zones_by_type(model, OpenStudio.convert(20000, 'ft^2', 'm^2').get)
sys_groups = OpenstudioStandards::Geometry.model_group_thermal_zones_by_occupancy_type(model, min_area_m2: OpenStudio.convert(20000, 'ft^2', 'm^2').get)

# assume secondary system type is PSZ-AC for VAV Reheat otherwise assume same hvac system type
sec_sys_type = hvac_system_type # same as primary system type
Expand All @@ -381,13 +381,13 @@ def run(model, runner, user_arguments)
add_system_to_zones(model, runner, hvac_system_type, conditioned_zones, std, doas_dcv: doas_dcv)

when 'One System Per Building Story'
story_groups = std.model_group_zones_by_story(model, conditioned_zones)
story_groups = OpenstudioStandards::Geometry.model_group_thermal_zones_by_building_story(model, conditioned_zones)
story_groups.each do |story_zones|
add_system_to_zones(model, runner, hvac_system_type, story_zones, std, doas_dcv: doas_dcv)
end

when 'One System Per Building Type'
system_groups = std.model_group_zones_by_building_type(model, 0.0)
system_groups = OpenstudioStandards::Geometry.model_group_thermal_zones_by_building_type(model, min_area_m2: 0.0)
system_groups.each do |system_group|
add_system_to_zones(model, runner, hvac_system_type, system_group['zones'], std, doas_dcv: doas_dcv)
end
Expand Down
12 changes: 6 additions & 6 deletions lib/measures/nze_hvac/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.1</schema_version>
<name>nze_hvac</name>
<uid>f060dff2-b28d-4194-a6af-e66d88ddb33c</uid>
<version_id>30f88170-8790-4a5b-a7a2-75840782b1f7</version_id>
<version_modified>2023-11-30T22:42:51Z</version_modified>
<version_id>b44fd444-f022-4409-af31-2b29e9603e31</version_id>
<version_modified>2024-05-09T20:11:49Z</version_modified>
<xml_checksum>0E5E4776</xml_checksum>
<class_name>NzeHvac</class_name>
<display_name>NZEHVAC</display_name>
Expand Down Expand Up @@ -252,19 +252,19 @@
<file>
<version>
<software_program>OpenStudio</software_program>
<identifier>2.9.0</identifier>
<min_compatible>3.3.0</min_compatible>
<identifier>3.8.0</identifier>
<min_compatible>3.8.0</min_compatible>
</version>
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>1711274D</checksum>
<checksum>7EAD5ED0</checksum>
</file>
<file>
<filename>NZEHVAC_Test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>B2D92497</checksum>
<checksum>90B2A846</checksum>
</file>
<file>
<filename>USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw</filename>
Expand Down
32 changes: 16 additions & 16 deletions lib/measures/nze_hvac/tests/NZEHVAC_Test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,9 @@ def run_nze_hvac_measure_test(test_name, osm_path, epw_path,

# test for unmet hours
errs = []
unmet_heating_hrs = std.model_annual_occupied_unmet_heating_hours(model)
unmet_cooling_hrs = std.model_annual_occupied_unmet_cooling_hours(model)
unmet_hrs = std.model_annual_occupied_unmet_hours(model)
unmet_heating_hrs = OpenstudioStandards::SqlFile.model_get_annual_occupied_unmet_heating_hours(model)
unmet_cooling_hrs = OpenstudioStandards::SqlFile.model_get_annual_occupied_unmet_cooling_hours(model)
unmet_hrs = OpenstudioStandards::SqlFile.model_get_annual_occupied_unmet_hours(model)
if unmet_hrs
if unmet_hrs > max_unmet_hrs
errs << "For #{test_name} there were #{unmet_heating_hrs.round(1)} unmet occupied heating hours and #{unmet_cooling_hrs.round(1)} unmet occupied cooling hours (total: #{unmet_hrs.round(1)}), more than the limit of #{max_unmet_hrs}." if unmet_hrs > max_unmet_hrs
Expand All @@ -160,21 +160,21 @@ def run_nze_hvac_measure_test(test_name, osm_path, epw_path,
end

# calculate EUIs to determine if HVAC EUI is appropriate
annual_eui = std.model_annual_eui_kbtu_per_ft2(model)
int_lighting_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Interior Lighting').round(1)
ext_lighting_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Exterior Lighting').round(1)
int_equipment_elec_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Interior Equipment').round(1)
int_equipment_gas_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Natural Gas', 'Interior Equipment').round(1)
annual_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2(model)
int_lighting_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Interior Lighting').round(1)
ext_lighting_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Exterior Lighting').round(1)
int_equipment_elec_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Interior Equipment').round(1)
int_equipment_gas_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Natural Gas', 'Interior Equipment').round(1)
int_equipment_eui = (int_equipment_elec_eui + int_equipment_gas_eui).round(1)
refrigeration_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Refrigeration').round(1)
shw_elec_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Water Systems').round(1)
shw_gas_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Natural Gas', 'Water Systems').round(1)
refrigeration_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Refrigeration').round(1)
shw_elec_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Water Systems').round(1)
shw_gas_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Natural Gas', 'Water Systems').round(1)
shw_eui = (shw_elec_eui + shw_gas_eui).round(1)
fan_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Fans').round(1)
pump_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Pumps').round(1)
cooling_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Cooling').round(1)
heating_elec_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Heating').round(1)
heating_gas_eui = std.model_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Natural Gas', 'Heating').round(1)
fan_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Fans').round(1)
pump_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Pumps').round(1)
cooling_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Cooling').round(1)
heating_elec_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Electricity', 'Heating').round(1)
heating_gas_eui = OpenstudioStandards::SqlFile.model_get_annual_eui_kbtu_per_ft2_by_fuel_and_enduse(model, 'Natural Gas', 'Heating').round(1)
heating_eui = (heating_elec_eui + heating_gas_eui).round(1)
hvac_eui = (fan_eui + pump_eui + cooling_eui + heating_eui).round(1)
puts "Annual EUI (kBtu/ft^2): #{annual_eui.round(1)}, split:"
Expand Down
2 changes: 1 addition & 1 deletion lib/openstudio/ee_measures/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@

module OpenStudio
module EeMeasures
VERSION = '0.9.0'
VERSION = '0.10.0'
end
end
16 changes: 10 additions & 6 deletions openstudio-ee.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,20 @@ Gem::Specification.new do |spec|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
f.match(%r{^(test|lib.measures.*tests|spec|features)/})
end
spec.bindir = 'exe'
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.bindir = 'exe'
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ['lib']

spec.required_ruby_version = '~> 2.7.0'
spec.required_ruby_version = '~> 3.2.2'

spec.add_dependency 'bundler', '~> 2.1'
spec.add_dependency 'openstudio-extension', '~> 0.7.0'
spec.add_dependency 'openstudio-standards', '~> 0.5.0'
spec.add_dependency 'bundler', '~> 2.4.10'
spec.add_dependency 'openstudio-extension', '~> 0.8.0'
spec.add_dependency 'openstudio-standards', '0.6.1'
spec.add_dependency 'multipart-post', '2.4.0'
spec.add_dependency 'regexp_parser', '2.9.0'
spec.add_dependency 'addressable', '2.8.1'

spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rspec', '~> 3.9'
spec.add_development_dependency 'octokit', '4.18.0' # for change logs
end