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

Incorporating nrcan branch changes, udpating NRCan regression test expected results #1520

Merged
merged 57 commits into from
Jun 7, 2023
Merged
Show file tree
Hide file tree
Changes from 56 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
1675086
Modified model_add_daylighting_controls method in a way to set minimu…
srgilani Mar 8, 2023
a41ca39
Modification of model_add_daylighting_controls method and unit test f…
srgilani Mar 9, 2023
d4769b9
removed redundant tests.. now always rely on circle_ci.txt for what t…
phylroy Mar 9, 2023
e6cb6d8
Modification of daylighting sensor control ECM and its unit test in p…
srgilani Mar 9, 2023
1091913
Added min illuminance level to space_types.json of NECB2011; and NECB…
srgilani Mar 10, 2023
34a0ba5
Modified unit test for daylighting sensor control ecm
srgilani Mar 10, 2023
996f683
Commented in unit test for daylighting sensor control ecm
srgilani Mar 10, 2023
30ae6af
Activating gems only used by nrcan for the btap_cli.
ckirney Mar 20, 2023
0dbef25
Merge remote-tracking branch 'origin/nrcan' into nrcan_375
srgilani Mar 20, 2023
c80a3e1
Updated bundler version in openstudio-standards.gemspec
srgilani Mar 20, 2023
8d61245
Added min illuminance level to space_types.json of NECB2015
srgilani Mar 21, 2023
24cbdf1
Adding min illuminance level to space_types.json of NECB2017, in prog…
srgilani Mar 21, 2023
d24f49d
Adding min illuminance level to space_types.json of NECB2017
srgilani Mar 22, 2023
66fafc3
Added min illuminance level to space_types.json of NECB2020
srgilani Mar 22, 2023
6c6c3bc
Orienting interior walls properly.
ckirney Mar 23, 2023
6038645
Ensuring the volume of all spaces are auto-calculated. Updating test…
ckirney Mar 23, 2023
3983d5a
Merge pull request #1463 from NREL/nrcan_warehouse
ckirney Mar 23, 2023
c64ac22
Merge pull request #1468 from NREL/nrcan_merge_os351
ckirney Mar 24, 2023
b6b4217
Added min illuminance level to space_types.json of BTAPPRE1980 and BT…
srgilani Mar 27, 2023
21c1b1b
Set daylighting_type in model_apply_standard method of necb_2011.rb; …
srgilani Mar 27, 2023
cf24c7e
Merge remote-tracking branch 'origin/nrcan' into nrcan_375
srgilani Mar 27, 2023
4b7fff5
Updated expected results files of regression tests for warehouse, ret…
srgilani Mar 28, 2023
3a0d518
Updated expected results files of regression tests for primary and se…
srgilani Mar 29, 2023
3df5aee
Merge pull request #1479 from NREL/nrcan_375: modify daylighting sens…
srgilani Apr 3, 2023
c16ec80
Nrcan 380 (#1489)
phylroy Apr 3, 2023
4d147c5
Variable for zone heating equipment in ECN HS12 was not properly set …
khaddad Apr 4, 2023
49266ba
Adding a 1W minimum boiler capacity. Fixing a spelling mistake in a …
ckirney Apr 4, 2023
873be55
Merge pull request #1491 from NREL/nrcan
ckirney Apr 4, 2023
4a1c3c0
Merge pull request #1492 from NREL/nrcan
ckirney Apr 5, 2023
f35a65c
Merge pull request #1494 from NREL/nrcan_378
ckirney Apr 6, 2023
ff8d091
Modify capacities of boiler and air cooled chiller so that the total …
khaddad Apr 24, 2023
14358ea
Set COP of air cooled chiller for HS14 ECM based on NECB 2020
khaddad Apr 24, 2023
b1f6bae
Add chiller_type key to the json file for chillers in ECM class.
khaddad Apr 24, 2023
ad4ac73
Apply sort method to object arrays before updating model
khaddad Apr 25, 2023
9b654e8
Added Northern osm files developed by RDH/Evoke
phylroy Apr 27, 2023
73645aa
Add json file for compressor type of air cooled chiller for ECM HS14
khaddad May 2, 2023
39212b3
Add water cooled chiller type json for NECB and update name of chille…
khaddad May 2, 2023
a09acea
Nrcan 372 (#1505)
phylroy May 4, 2023
1977c32
Update initial name of water-cooled chiller in ECM HS14
khaddad May 5, 2023
078fda7
Merge branch 'nrcan' into nrcan_280
khaddad May 5, 2023
d833976
Including changes from 'master' into 'nrcan' branch to test with Open…
ckirney May 15, 2023
951d452
Update openstudio-standards.gemspec
ckirney May 16, 2023
db1cb66
Update btap_datapoint.rb
ckirney May 16, 2023
ffd4d2d
Enabling gems required for NRCan development.
ckirney May 16, 2023
40f4544
Inculding ability to not apply daylighting by setting "daylighting_ty…
ckirney May 18, 2023
1512971
Merge pull request #1511 from NREL/nrcan
ckirney May 19, 2023
1b42257
Merge pull request #1512 from NREL/nrcan
ckirney May 19, 2023
86a2ef1
Merge branch 'nrcan' into nrcan_280
khaddad May 23, 2023
a2ede67
Add NECB performance curves for air-cooled chillers
khaddad May 26, 2023
48cbee5
Incorporating updates from nrcan branch (#1515)
ckirney May 29, 2023
06f4d8a
Updating regression tests from OS 3.5.1 to reflect merge of nrcan bra…
ckirney May 30, 2023
f9a6300
Updating nrcan_os360_dev with changes to nrcan branch.
ckirney May 30, 2023
1b77d1c
Updating nrcan_os360_dev with changes to nrcan branch and updating wi…
ckirney May 30, 2023
587c8f5
Incorporating recent changes to nrcan branch (#1518)
ckirney May 30, 2023
7f8d611
Updating regression test expected results to those used with OS 3.6.0…
ckirney May 31, 2023
e27dbcd
Updating regression test expected results to those used with OS 3.6.0…
ckirney May 31, 2023
1b96578
Update openstudio-standards.gemspec
ckirney Jun 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
90 changes: 90 additions & 0 deletions data/inventory/thermal_bridging.csv

Large diffs are not rendered by default.

1,301 changes: 660 additions & 641 deletions lib/openstudio-standards/btap/bridging.rb

Large diffs are not rendered by default.

Large diffs are not rendered by default.

670 changes: 447 additions & 223 deletions lib/openstudio-standards/standards/necb/BTAPPRE1980/data/space_types.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -201,12 +201,15 @@ def replace_compressor_name(chiller:, comp_type:, chillers:)
new_name = chiller_name
# Go through each chiller compressor type from the chiller table and see if it is in the chiller name. If it is,
# then replace the old compressor type in the name with the new one.
chlr_name_updated = false
chiller_types.each do |chill_type|
if chiller_name.include? chill_type['compressor_type']
new_name = chiller_name.sub(chill_type['compressor_type'], comp_type)
chlr_name_updated = true
break
end
end
new_name = chiller_name + ' ' + comp_type if !chlr_name_updated
chiller.setName(new_name)
return chiller
end
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"tables": {
"chiller_types_ecm": {
"refs": [
"assumption"
],
"table": [
{
"cooling_type": "AirCooled",
"compressor_type": "Scroll",
"minimum_capacity": 0.0,
"maximum_capacity": 150.0,
"notes": "Chiller type set based on survey of major chiller manufacturers data"
},
{
"cooling_type": "AirCooled",
"compressor_type": "Rotary Screw",
"minimum_capacity": 150.0,
"maximum_capacity": 9999.0,
"notes": "Chiller type set based on survey of major chiller manufacturers data"
}
]
}
}
}
44 changes: 44 additions & 0 deletions lib/openstudio-standards/standards/necb/ECMS/data/chillers.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"tables": {
"chillers_ecm": {
"refs": [
"assumption"
],
"table": [
{
"name": "NECB2020_AirCooledChiller",
"compressor_type": "Scroll",
"minimum_capacity": 0.0,
"maximum_capacity": 9999.0,
"minimum_coefficient_of_performance_cooling": 2.866,
"capft": "AirCooled_Scroll_CAPFT_NECB2011",
"eirft": "AirCooled_Scroll_EIRFT_NECB2011",
"eirfplr": "AirCooled_Scroll_EIRFPLR_NECB2011",
"notes": "NECB 2020 Table 5.2.12.1.-K Air Cooled Chiller COP. Capacity in ton."
},
{
"name": "NECB2020_AirCooledChiller",
"compressor_type": "Reciprocating",
"minimum_capacity": 0.0,
"maximum_capacity": 9999.0,
"minimum_coefficient_of_performance_cooling": 2.866,
"capft": "AirCooled_Reciprocating_CAPFT_NECB2011",
"eirft": "AirCooled_Reciprocating_EIRFT_NECB2011",
"eirfplr": "AirCooled_Reciprocating_EIRFPLR_NECB2011",
"notes": "NECB 2020 Table 5.2.12.1.-K Air Cooled Chiller COP. Capacity in ton."
},
{
"name": "NECB2020_AirCooledChiller",
"compressor_type": "Screw",
"minimum_capacity": 0.0,
"maximum_capacity": 9999.0,
"minimum_coefficient_of_performance_cooling": 2.866,
"capft": "AirCooled_Screw_CAPFT_NECB2011",
"eirft": "AirCooled_Screw_EIRFT_NECB2011",
"eirfplr": "AirCooled_Screw_EIRFPLR_NECB2011",
"notes": "NECB 2020 Table 5.2.12.1.-K Air Cooled Chiller COP. Capacity in ton."
}
]
}
}
}
225 changes: 225 additions & 0 deletions lib/openstudio-standards/standards/necb/ECMS/data/curves.json
Original file line number Diff line number Diff line change
Expand Up @@ -2314,6 +2314,231 @@
"minimum_dependent_variable_output": 0.0,
"maximum_dependent_variable_output": 38.0,
"notes": "EnergyPlus sample heating power curve for water to water heat pumps"
},
{
"name": "AirCooled_Scroll_CAPFT_NECB2011",
"category": "Electric Chiller",
"form": "BiQuadratic",
"dependent_variable": "EIRRatio",
"independent_variable_1": "Tchws",
"independent_variable_2": "Toadb",
"coeff_1": 1.02165E+00,
"coeff_2": 3.70440E-02,
"coeff_3": 2.33248E-04,
"coeff_4": -3.89398E-03,
"coeff_5": -6.52536E-05,
"coeff_6": -2.68045E-04,
"coeff_7": null,
"coeff_8": null,
"coeff_9": null,
"coeff_10": null,
"minimum_independent_variable_1": 5.0,
"maximum_independent_variable_1": 10.0,
"minimum_independent_variable_2": 24.0,
"maximum_independent_variable_2": 35.0,
"minimum_dependent_variable_output": null,
"maximum_dependent_variable_output": null,
"notes": "From NECB 2011 Table 8.4.4.21.-C (6) for air cooled scroll chiller. Converted coefficients for deg. F to deg. C."
},
{
"name": "AirCooled_Scroll_EIRFT_NECB2011",
"category": "Electric Chiller",
"form": "BiQuadratic",
"dependent_variable": "EIRRatio",
"independent_variable_1": "Tchws",
"independent_variable_2": "Toadb",
"coeff_1": 7.01818E-01,
"coeff_2": -4.52340E-03,
"coeff_3": 5.32980E-04,
"coeff_4": -5.49468E-03,
"coeff_5": 5.44644E-04,
"coeff_6": -7.29E-04,
"coeff_7": null,
"coeff_8": null,
"coeff_9": null,
"coeff_10": null,
"minimum_independent_variable_1": 5.0,
"maximum_independent_variable_1": 10.0,
"minimum_independent_variable_2": 24.0,
"maximum_independent_variable_2": 35.0,
"minimum_dependent_variable_output": null,
"maximum_dependent_variable_output": null,
"notes": "From NECB 2011 Table 8.4.4.21.-C (6) for air cooled scroll chiller. Converted coefficients for deg. F to deg. C."
},
{
"name": "AirCooled_Scroll_EIRFPLR_NECB2011",
"category": "Electric Chiller",
"form": "Quadratic",
"dependent_variable": "EIRRatio",
"independent_variable_1": "QRatio",
"independent_variable_2": null,
"coeff_1": 0.06369119,
"coeff_2": 0.58488832,
"coeff_3": 0.35280274,
"coeff_4": null,
"coeff_5": null,
"coeff_6": null,
"coeff_7": null,
"coeff_8": null,
"coeff_9": null,
"coeff_10": null,
"minimum_independent_variable_1": 0.0,
"maximum_independent_variable_1": 1.0,
"minimum_independent_variable_2": null,
"maximum_independent_variable_2": null,
"minimum_dependent_variable_output": null,
"maximum_dependent_variable_output": null,
"notes": "From NECB 2011 Table 8.4.4.21.-C (4) for air cooled scroll chiller."
},
{
"name": "AirCooled_Reciprocating_CAPFT_NECB2011",
"category": "Electric Chiller",
"form": "BiQuadratic",
"dependent_variable": "EIRRatio",
"independent_variable_1": "Tchws",
"independent_variable_2": "Toadb",
"coeff_1": 1.12619E+00,
"coeff_2": 4.15536E-02,
"coeff_3": 2.51716E-04,
"coeff_4": -1.04924E-02,
"coeff_5": 1.01088E-05,
"coeff_6": -2.55E-04,
"coeff_7": null,
"coeff_8": null,
"coeff_9": null,
"coeff_10": null,
"minimum_independent_variable_1": 5.0,
"maximum_independent_variable_1": 10.0,
"minimum_independent_variable_2": 24.0,
"maximum_independent_variable_2": 35.0,
"minimum_dependent_variable_output": null,
"maximum_dependent_variable_output": null,
"notes": "From NECB 2011 Table 8.4.4.21.-C (6) for air cooled reciprocating chiller. Converted coefficients for deg. F to deg. C."
},
{
"name": "AirCooled_Reciprocating_EIRFT_NECB2011",
"category": "Electric Chiller",
"form": "BiQuadratic",
"dependent_variable": "EIRRatio",
"independent_variable_1": "Tchws",
"independent_variable_2": "Toadb",
"coeff_1": 5.42481E-01,
"coeff_2": -1.38816E-02,
"coeff_3": 4.77576E-04,
"coeff_4": 1.21461E-02,
"coeff_5": 1.48100E-04,
"coeff_6": -3.35E-04,
"coeff_7": null,
"coeff_8": null,
"coeff_9": null,
"coeff_10": null,
"minimum_independent_variable_1": 5.0,
"maximum_independent_variable_1": 10.0,
"minimum_independent_variable_2": 24.0,
"maximum_independent_variable_2": 35.0,
"minimum_dependent_variable_output": null,
"maximum_dependent_variable_output": null,
"notes": "From NECB 2011 Table 8.4.4.21.-C (6) for water cooled reciprocating chiller. Converted coefficients for deg. F to deg. C."
},
{
"name": "AirCooled_Reciprocating_EIRFPLR_NECB2011",
"category": "Electric Chiller",
"form": "Quadratic",
"dependent_variable": "EIRRatio",
"independent_variable_1": "QRatio",
"independent_variable_2": null,
"coeff_1": 0.1143742,
"coeff_2": 0.5459334,
"coeff_3": 0.34229861,
"coeff_4": null,
"coeff_5": null,
"coeff_6": null,
"coeff_7": null,
"coeff_8": null,
"coeff_9": null,
"coeff_10": null,
"minimum_independent_variable_1": 0.0,
"maximum_independent_variable_1": 1.0,
"minimum_independent_variable_2": null,
"maximum_independent_variable_2": null,
"minimum_dependent_variable_output": null,
"maximum_dependent_variable_output": null,
"notes": "From NECB 2011 Table 8.4.4.21.-C (4) for air cooled reciprocating chiller."
},
{
"name": "AirCooled_Screw_CAPFT_NECB2011",
"category": "Electric Chiller",
"form": "BiQuadratic",
"dependent_variable": "EIRRatio",
"independent_variable_1": "Tchws",
"independent_variable_2": "Toadb",
"coeff_1": 9.86540E-01,
"coeff_2": 4.95029E-02,
"coeff_3": -2.98242E-04,
"coeff_4": -3.68496E-03,
"coeff_5": -4.45500E-05,
"coeff_6": -5.01E-04,
"coeff_7": null,
"coeff_8": null,
"coeff_9": null,
"coeff_10": null,
"minimum_independent_variable_1": 5.0,
"maximum_independent_variable_1": 10.0,
"minimum_independent_variable_2": 24.0,
"maximum_independent_variable_2": 35.0,
"minimum_dependent_variable_output": null,
"maximum_dependent_variable_output": null,
"notes": "From NECB 2011 Table 8.4.4.21.-C (6) for air cooled scroll chiller. Converted coefficients for deg. F to deg. C."
},
{
"name": "AirCooled_Screw_EIRFT_NECB2011",
"category": "Electric Chiller",
"form": "BiQuadratic",
"dependent_variable": "EIRRatio",
"independent_variable_1": "Tchws",
"independent_variable_2": "Toadb",
"coeff_1": 4.49672E-01,
"coeff_2": 1.20074E-02,
"coeff_3": -5.21964E-04,
"coeff_4": 1.94400E-05,
"coeff_5": 4.20876E-04,
"coeff_6": -6.02E-04,
"coeff_7": null,
"coeff_8": null,
"coeff_9": null,
"coeff_10": null,
"minimum_independent_variable_1": 5.0,
"maximum_independent_variable_1": 10.0,
"minimum_independent_variable_2": 24.0,
"maximum_independent_variable_2": 35.0,
"minimum_dependent_variable_output": null,
"maximum_dependent_variable_output": null,
"notes": "From NECB 2011 Table 8.4.4.21.-C (6) for air cooled screw chiller. Converted coefficients for deg. F to deg. C."
},
{
"name": "AirCooled_Screw_EIRFPLR_NECB2011",
"category": "Electric Chiller",
"form": "Quadratic",
"dependent_variable": "EIRRatio",
"independent_variable_1": "QRatio",
"independent_variable_2": null,
"coeff_1": 0.03648722,
"coeff_2": 0.73474298,
"coeff_3": 0.21994748,
"coeff_4": null,
"coeff_5": null,
"coeff_6": null,
"coeff_7": null,
"coeff_8": null,
"coeff_9": null,
"coeff_10": null,
"minimum_independent_variable_1": 0.0,
"maximum_independent_variable_1": 1.0,
"minimum_independent_variable_2": null,
"maximum_independent_variable_2": null,
"minimum_dependent_variable_output": null,
"maximum_dependent_variable_output": null,
"notes": "From NECB 2011 Table 8.4.4.21.-C (4) for air cooled screw chiller."
}
]
}
Expand Down
4 changes: 2 additions & 2 deletions lib/openstudio-standards/standards/necb/ECMS/ecms.rb
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ def apply_system_ecm(model:,
heating_fuel: primary_heating_fuel)
end

def apply_system_efficiencies_ecm(model:, ecm_system_name: nil)
def apply_system_efficiencies_ecm(model:, ecm_system_name: nil, template_standard:)
# Do nothing if nil.
return if ecm_system_name.nil? || ecm_system_name == 'none' || ecm_system_name == 'NECB_Default' || ecm_system_name.to_s.downcase == 'remove_airloops_add_zone_baseboards'

Expand All @@ -83,6 +83,6 @@ def apply_system_efficiencies_ecm(model:, ecm_system_name: nil)
raise("the method #{ecm_apply_eff_method_name} does not exist in the ECM class. Please verify that this should be called.") unless ecm_std.respond_to?(ecm_apply_eff_method_name)

# apply system eff method.
ecm_std.send(ecm_apply_eff_method_name, model)
ecm_std.send(ecm_apply_eff_method_name, model, template_standard)
end
end
Loading