You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove system-level outputs from storage and replace with demand component (follow-on to 631) (#666)
* removed system level calcs from storage and updated most tests
* updated examples with storage but dont use storage as a commodity_stream in finances
* updated examples with storage defined as a commodity_stream for a finance subgroup
* added time_step_bounds to demand components
* added test for example 23
* added example for different demand between storage and demand component
* added demo for the demand components using example 13
* made it so demand is only input to battery performance model if using feedback control
* added standard_capacity_factor as output from storage
* added doc page for storage performance models
---------
Co-authored-by: kbrunik <102193481+kbrunik@users.noreply.github.com>
Co-authored-by: John Jasa <johnjasa11@gmail.com>
Co-authored-by: kbrunik <kbrunik@gmail.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,6 +52,7 @@
52
52
- The `DemandOpenLoopConverterController` has been renamed to `GenericDemandComponent`
53
53
- Modified CI setup so Windows is temporarily disabled and also so unit, regression, and integration tests are run in separate jobs to speed up testing and provide more information on test failures. [PR 668](https://github.com/NatLabRockies/H2Integrate/pull/668)
54
54
- Added infrastructure for running models with non-hourly time steps via a class attribute `_time_step_bounds` and sets new time step bounds of 5-minutes to 1-hour for the grid components. [PR 653](https://github.com/NatLabRockies/H2Integrate/pull/653) and [PR 671](https://github.com/NatLabRockies/H2Integrate/pull/671)
55
+
- Remove demand-related outputs from storage performance models and replace usage with demand components [PR 666](https://github.com/NatLabRockies/H2Integrate/pull/666)
We also include a demand technology to calculate how much demand is met, how much commodity is unused to meet the demand, and how much demand is remaining:
Demand components define rule-based logic for meeting commodity demand profiles without using dynamic system feedback. These components operate independently at each timestep.
7
4
8
5
This page documents two core demand types:
9
-
1. Generic Demand Component — meets a fixed demand profile.
10
-
2. Flexible Demand Component — adjusts demand up or down within flexible bounds.
6
+
1.[`GenericDemandComponent`](#generic-demand-component) — meets a fixed demand profile.
7
+
2.[`FlexibleDemandComponent`](#flexible-demand-component) — adjusts demand up or down within flexible bounds.
8
+
9
+
10
+
(demand-component-inputs-and-outputs)=
11
+
## Demand component inputs and outputs
12
+
The inputs to the demand components are the `{commodity}_demand` profile and the `{commodity}_in` profile. The `{commodity}_in` profile is the initial commodity used to satisfy the demand. Suppose the `{commodity}_in` (pink) and `{commodity}_demand` (green) profiles look like whats shown below:
13
+
14
+

15
+
16
+
The demand components then compute the following output profiles:
17
+
-`unmet_{commodity}_demand_out`: Unmet demand (non-zero when supply < demand, otherwise 0.)
18
+
-`unused_{commodity}_out`: Unused commodity (non-zero when supply > demand, otherwise 0.)
19
+
20
+

21
+
22
+
-`commodity_out`: Delivered output (commodity supplied to demand sink)
23
+
24
+

25
+
26
+
The demand components also compute the following outputs:
27
+
-`capacity_factor`: the ratio of the demand that's been met to the full demand
28
+
-`rated_commodity_production`: the maximum value of the demand profile
0 commit comments