Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 5 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## OpenStudio-ERI v1.12.0

__New Features__
- The `NominalCapacity` input for batteries is no longer used.

## OpenStudio-ERI v1.11.1

__New Features__
Expand Down
3 changes: 1 addition & 2 deletions docs/source/workflow_inputs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2483,8 +2483,7 @@ A single battery can be entered as a ``/HPXML/Building/BuildingDetails/Systems/B
``IsSharedSystem`` boolean Yes Whether it serves multiple dwelling units
``Location`` string See [#]_ No See [#]_ Location
``BatteryType`` string See [#]_ Yes Battery type
``NominalCapacity[Units="kWh"]/Value`` double kWh >= 0 Yes Nominal (total) capacity
``UsableCapacity[Units="kWh"]/Value`` double kWh >= 0, < NominalCapacity Yes Usable capacity
``UsableCapacity[Units="kWh"]/Value`` double kWh >= 0 Yes Usable capacity
``RatedPowerOutput`` double W >= 0 Yes Power output under non-peak conditions
``RoundTripEfficiency`` double frac > 0, <= 1 Yes Round trip efficiency
``extension/NumberofBedroomsServed`` integer > NumberofBedrooms See [#]_ Number of bedrooms served
Expand Down
1 change: 0 additions & 1 deletion rulesets/resources/301ruleset.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1947,7 +1947,6 @@ def self.set_systems_batteries_rated(orig_bldg, new_bldg)
is_shared_system: orig_battery.is_shared_system,
type: orig_battery.type,
location: orig_battery.location,
nominal_capacity_kwh: orig_battery.nominal_capacity_kwh,
usable_capacity_kwh: orig_battery.usable_capacity_kwh,
rated_power_output: orig_battery.rated_power_output,
round_trip_efficiency: orig_battery.round_trip_efficiency,
Expand Down
2 changes: 0 additions & 2 deletions rulesets/resources/301validator.sch
Original file line number Diff line number Diff line change
Expand Up @@ -1562,9 +1562,7 @@
<sch:assert role='ERROR' test='count(h:BatteryType[text()="Li-ion"]) = 1'>Expected 1 element(s) for xpath: BatteryType[text()="Li-ion"]</sch:assert>
<sch:assert role='ERROR' test='count(h:Location) &lt;= 1'>Expected 0 or 1 element(s) for xpath: Location</sch:assert>
<sch:assert role='ERROR' test='h:Location[text()="conditioned space" or text()="basement - conditioned" or text()="basement - unconditioned" or text()="crawlspace - vented" or text()="crawlspace - unvented" or text()="attic - vented" or text()="attic - unvented" or text()="garage" or text()="outside"] or not(h:Location)'>Expected Location to be 'conditioned space' or 'basement - conditioned' or 'basement - unconditioned' or 'crawlspace - vented' or 'crawlspace - unvented' or 'attic - vented' or 'attic - unvented' or 'garage' or 'outside'</sch:assert>
<sch:assert role='ERROR' test='count(h:NominalCapacity[h:Units="kWh"]/h:Value) = 1'>Expected 1 element(s) for xpath: NominalCapacity[Units="kWh"]/Value</sch:assert>
<sch:assert role='ERROR' test='count(h:UsableCapacity[h:Units="kWh"]/h:Value) = 1'>Expected 1 element(s) for xpath: UsableCapacity[Units="kWh"]/Value</sch:assert>
<sch:assert role='ERROR' test='number(h:UsableCapacity[h:Units="kWh"]/h:Value) &lt; number(h:NominalCapacity[h:Units="kWh"]/h:Value) or not(h:UsableCapacity[h:Units="kWh"]/h:Value) or not(h:NominalCapacity[h:Units="kWh"]/h:Value)'>Expected UsableCapacity to be less than NominalCapacity</sch:assert>
<sch:assert role='ERROR' test='count(h:RatedPowerOutput) = 1'>Expected 1 element(s) for xpath: RatedPowerOutput</sch:assert>
<sch:assert role='ERROR' test='count(h:RoundTripEfficiency) = 1'>Expected 1 element(s) for xpath: RoundTripEfficiency</sch:assert>
<!-- Warnings -->
Expand Down
5 changes: 2 additions & 3 deletions rulesets/tests/test_pv_batteries.rb
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def test_pv_batteries

_test_ruleset(hpxml_name).each do |(_run_type, calc_type), hpxml_bldg|
if [CalcType::RatedHome].include? calc_type
_check_battery(hpxml_bldg, [{ type: HPXML::BatteryTypeLithiumIon, location: HPXML::LocationOutside, nominal_capacity_kwh: 20.0, usable_capacity_kwh: 18.0, rated_power_output: 6000, round_trip_efficiency: 0.925, is_shared: false }])
_check_battery(hpxml_bldg, [{ type: HPXML::BatteryTypeLithiumIon, location: HPXML::LocationOutside, usable_capacity_kwh: 18.0, rated_power_output: 6000, round_trip_efficiency: 0.925, is_shared: false }])
else
_check_battery(hpxml_bldg)
end
Expand All @@ -70,7 +70,7 @@ def test_pv_batteries_shared
_test_ruleset(hpxml_name).each do |(_run_type, calc_type), hpxml_bldg|
if [CalcType::RatedHome].include? calc_type
_check_pv(hpxml_bldg, [{ location: HPXML::LocationGround, moduletype: HPXML::PVModuleTypeStandard, tracking: HPXML::PVTrackingTypeFixed, azimuth: 225, tilt: 30, power: 30000, inv_eff: 0.96, losses: 0.14, is_shared: true, nbeds_served: 18 }])
_check_battery(hpxml_bldg, [{ type: HPXML::BatteryTypeLithiumIon, location: HPXML::LocationOutside, nominal_capacity_kwh: 120.0, usable_capacity_kwh: 108.0, rated_power_output: 36000, round_trip_efficiency: 0.925, is_shared: true, nbeds_served: 18 }])
_check_battery(hpxml_bldg, [{ type: HPXML::BatteryTypeLithiumIon, location: HPXML::LocationOutside, usable_capacity_kwh: 108.0, rated_power_output: 36000, round_trip_efficiency: 0.925, is_shared: true, nbeds_served: 18 }])
else
_check_pv(hpxml_bldg)
_check_battery(hpxml_bldg)
Expand Down Expand Up @@ -138,7 +138,6 @@ def _check_battery(hpxml_bldg, all_expected_values = [])
assert_equal(expected_values[:is_shared], battery.is_shared_system)
assert_equal(expected_values[:type], battery.type)
assert_equal(expected_values[:location], battery.location)
assert_equal(expected_values[:nominal_capacity_kwh], battery.nominal_capacity_kwh)
assert_equal(expected_values[:usable_capacity_kwh], battery.usable_capacity_kwh)
assert_equal(expected_values[:rated_power_output], battery.rated_power_output)
assert_equal(expected_values[:round_trip_efficiency], battery.round_trip_efficiency)
Expand Down
1 change: 1 addition & 0 deletions tasks.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2773,6 +2773,7 @@ def create_sample_hpxmls
battery.is_shared_system = false if battery.is_shared_system.nil?
battery.location = nil
battery.round_trip_efficiency = 0.925
battery.nominal_capacity_kwh = nil
end
n_htg_systems = (hpxml_bldg.heating_systems + hpxml_bldg.heat_pumps).select { |h| h.fraction_heat_load_served.to_f > 0 }.size
n_clg_systems = (hpxml_bldg.cooling_systems + hpxml_bldg.heat_pumps).select { |h| h.fraction_cool_load_served.to_f > 0 }.size
Expand Down
4 changes: 0 additions & 4 deletions workflow/sample_files/base-battery.xml
Original file line number Diff line number Diff line change
Expand Up @@ -415,10 +415,6 @@
<SystemIdentifier id='Battery1'/>
<IsSharedSystem>false</IsSharedSystem>
<BatteryType>Li-ion</BatteryType>
<NominalCapacity>
<Units>kWh</Units>
<Value>20.0</Value>
</NominalCapacity>
<UsableCapacity>
<Units>kWh</Units>
<Value>18.0</Value>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -335,10 +335,6 @@
<SystemIdentifier id='Battery1'/>
<IsSharedSystem>true</IsSharedSystem>
<BatteryType>Li-ion</BatteryType>
<NominalCapacity>
<Units>kWh</Units>
<Value>120.0</Value>
</NominalCapacity>
<UsableCapacity>
<Units>kWh</Units>
<Value>108.0</Value>
Expand Down
4 changes: 0 additions & 4 deletions workflow/sample_files/base-pv-battery.xml
Original file line number Diff line number Diff line change
Expand Up @@ -445,10 +445,6 @@
<SystemIdentifier id='Battery1'/>
<IsSharedSystem>false</IsSharedSystem>
<BatteryType>Li-ion</BatteryType>
<NominalCapacity>
<Units>kWh</Units>
<Value>20.0</Value>
</NominalCapacity>
<UsableCapacity>
<Units>kWh</Units>
<Value>18.0</Value>
Expand Down