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
Sync PySAM Battery and Generic Storage Pyomo Performance models with open-loop controllers (#613)
* refactored pysam battery and storage performance models to be compatible with updated open-loop controllers
* updated generic storage pyo to use pass through controller
* renamed PassThroughOpenLoopController to SimpleStorageOpenLoopController
* removed simple_generic_storage
* renamed xx_charge_fraction to xx_soc_fraction
---------
Co-authored-by: Genevieve Starke <genevieve.starke@nrel.gov>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,13 @@
14
14
- Add tidal resource model
15
15
- Add pysam tidal performance model
16
16
- Add pysam marine hydrokinetic cost model
17
+
- Updated the `StoragePerformanceModel` and `PySAMBatteryPerformanceModel` to be compatible with the open-loop storage control strategies [PR 613](https://github.com/NatLabRockies/H2Integrate/pull/613)
18
+
- Removed `SimpleGenericStorage` and replaced usage with `StoragePerformanceModel`
19
+
- Renamed `PassThroughOpenLoopController` to `SimpleStorageOpenLoopController`
20
+
- Bugfix in pyomo control rules so that units such as `kg/h` can be used
21
+
- Bugfix in tests of pyomo control strategies with `StoragePerformanceModel` so that the pathname attribute is correct
22
+
- Added `demand_profile` as an input to `StoragePerformanceModel` and `PySAMBatteryPerformanceModel`
23
+
- Renamed `xx_charge_fraction` to `xx_soc_fraction`
Copy file name to clipboardExpand all lines: docs/control/control_overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ There are two different systematic approaches, or frameworks, in H2Integrate for
7
7
The first approach, [open-loop control](#open-loop-control), assumes no feedback of any kind to the controller. The open-loop framework does not require a detailed technology performance model and can essentially act as the performance model. The open-loop framework establishes a control component that runs the control and passes out information about `<commodity>_unmet_demand`, `unused_<commodity>`, `<commodity>_out`, and `total_<commodity>_unmet_demand`.
Copy file name to clipboardExpand all lines: docs/control/open-loop_controllers.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,10 +7,10 @@ The open-loop storage controllers can be attached as the control strategy in the
7
7
2. Demand Open-Loop Storage Controller - uses simple logic to attempt to meet demand using the storage technology.
8
8
9
9
(pass-through-controller)=
10
-
### Pass-Through Controller
11
-
The `PassThroughOpenLoopController` simply directly passes the input commodity flow to the output without any modifications. It is useful for testing, as a placeholder for more complex controllers, and for maintaining consistency between controlled and uncontrolled frameworks as this 'controller' does not alter the system output in any way.
10
+
### Simple Open-Loop Storage Controller
11
+
The `SimpleStorageOpenLoopController`passes the input commodity flow to the output, possibly with minor adjustments to meet demand. It is useful for testing and as a placeholder for more complex controllers.
12
12
13
-
For examples of how to use the `PassThroughOpenLoopController` open-loop control framework, see the following:
13
+
For examples of how to use the `SimpleStorageOpenLoopController` open-loop control framework, see the following:
Copy file name to clipboardExpand all lines: docs/technology_models/simple_generic_storage.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ The Simple Generic Storage model provides a flexible framework for modeling vari
6
6
7
7
The Simple Generic Storage model consists of two main components:
8
8
9
-
1.**SimpleGenericStorage**: A minimal component that defines the input interface for the storage system
9
+
1.**StoragePerformanceModel**: A minimal component that defines the input interface for the storage system
10
10
2.**DemandOpenLoopStorageController**: The core logic component that handles storage operations, state of charge calculations, and resource management
11
11
12
12
This architecture allows the storage system to work with any resource type by simply configuring the resource name and units, making it quite versatile.
0 commit comments