-
Notifications
You must be signed in to change notification settings - Fork 9
Feature/v3/update #352
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
Feature/v3/update #352
Changes from all commits
1f9ef07
5d88fde
1e94de3
e5828ad
870efee
e97ec5f
f15113e
284072e
ebbb5dd
a501e05
1825089
126b07f
94d841d
c19edc8
36cf47d
8f1261d
89d69f0
76f51a8
0ff4d29
84c850b
8b9dabb
7e72ab5
17632f3
3c355c9
f473ce5
7869a72
bb29ef2
8d96a49
8240da1
8ac2664
43a64ea
7b67f8d
b3fe443
483ba12
dee1de4
4ec3914
2554d8a
d062727
6dc23f5
e6100d6
46f2035
6baeb8e
aeaaa83
15fd124
d0b231d
4ebe6a5
6b56dac
a7ec994
2a75ed3
dae9f01
ba195ff
605f034
6560006
78132ef
a53c116
2cb551b
d7be766
e60dd07
bd2f1b8
a7da9d2
b8f0e22
7123b6b
fa5475d
80cb161
81ad3ba
691a45e
3931ac5
75a45e1
2882147
50491ff
4f3a798
314aef9
0302947
40c437a
8d2d208
9c0c95f
d568ad6
ffc196a
6142f44
cec7367
eba1ec4
5f97bf3
9351083
99e6b19
4981a9c
516f45b
ef0acfc
706c1ec
a4cdb43
148a852
61755f9
66f6a86
a757e7f
941d93f
745e885
c9bae2a
d1b5509
c7568dd
fc62634
e320b9f
33a22aa
904211f
3c6c08b
22a1cef
44dbefc
f82556a
33460a0
ff70674
fa5e30a
a3511f9
404dc03
1ad74ce
d1408a4
ab000ca
2afc24e
b248f58
d34445c
bde07b4
5861b28
7809ee4
2bbdb44
2a01abe
1f1ebb7
c7b351f
5d9b591
5c56b63
9d242b6
0997843
1d6ef97
972cb90
29bec8c
370ac94
0f89ff0
4781cff
333ab83
9702303
91bd461
94314c3
50cc2cb
e52f800
9281256
9001c6a
286a8b7
ae1752b
1822384
2aa9d4b
5ca9707
7e04399
4f95ebc
f73fe99
2d9c920
5fd05e3
20a1964
9b05f8f
4d7fd29
3626517
50fbb67
9368985
e4ec410
66283cb
a84dfad
d2182aa
75c05ee
66a6ff1
e2e1f13
62b18b6
5f0b503
15a08e9
97de53c
25f726e
1716607
b4a9236
b7734f8
e06692b
cf0186c
5510297
b694dbe
262e8b4
2a469f1
159bcb3
e764a13
20f74f3
2c1c750
70979fb
c9c4ddf
85ec956
18146c2
015aa1d
e6da5ad
aafe95b
9316d8a
5ecb3c9
b1c9b71
3c98553
5688c8f
84c8f15
566bcdf
c334515
98216e2
7b45a19
b919c0a
8e21165
c2ce728
02c1f31
5f85887
815b8bf
1ffe27f
3632965
9d78314
ca6fb06
abbe534
6f550dd
b618578
4ff3e31
98b6072
fa4c107
f29dcde
d7574d8
1e61937
da3f29f
331ed06
16c7481
e9e5e04
1474af6
d81a150
3f03d22
299f629
b9cf441
42e4f59
e1dcfb8
948f19c
dabe87f
7d50c11
c90fac9
586f55c
638d531
ea795dc
9b3e24a
af45788
c151f3d
70476a8
0c3f985
61515fa
9f1a182
a2985e3
725476c
31e8e73
ff46147
95fa7c2
a9d8deb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -30,12 +30,14 @@ Please remove all irrelevant sections before releasing. | |||||||||
| Until here --> | ||||||||||
|
|
||||||||||
| ## [Unreleased] - ????-??-?? | ||||||||||
| Multi-Period and stochastic modeling is coming to flixopt in this release. | ||||||||||
| This Release brings Multi-year-investments and stochastic modeling to flixopt. | ||||||||||
| Further, IO methods were improved and resampling and selection of parts of the FlowSystem is now possible. | ||||||||||
| Several internal improvements were made to the codebase. | ||||||||||
|
|
||||||||||
| In this release, we introduce the following new features: | ||||||||||
| #### Multi-period-support | ||||||||||
|
|
||||||||||
| #### Multi-year-investments | ||||||||||
| A flixopt model might be modeled with a "year" dimension. | ||||||||||
| This enables to model transformation pathways over multiple years. | ||||||||||
| This enables to model transformation pathways over multiple years with several investment decisions | ||||||||||
|
|
||||||||||
| #### Stochastic modeling | ||||||||||
| A flixopt model can be modeled with a scenario dimension. | ||||||||||
|
|
@@ -67,17 +69,17 @@ The weighted sum of the total objective effect of each scenario is used as the o | |||||||||
|
|
||||||||||
|
|
||||||||||
| ### Added | ||||||||||
| * FlowSystem Restoring: The used FlowSystem will now get restired from the results (lazily). ALll Parameters can be safely acessed anytime after the solve. | ||||||||||
| * FLowResults added as a new class to store the results of Flows. They can now be accessed directly. | ||||||||||
| * FlowSystem Restoring: The used FlowSystem is now accessible directly form the results without manual restoring (lazily). All Parameters can be safely accessed anytime after the solve. | ||||||||||
| * FlowResults added as a new class to store the results of Flows. They can now be accessed directly. | ||||||||||
|
Comment on lines
+72
to
+73
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick Typo: “form” → “from”. “…accessible directly form the results…” should be “…from the results…”. Apply this diff: -* FlowSystem Restoring: The used FlowSystem is now accessible directly form the results without manual restoring (lazily). All Parameters can be safely accessed anytime after the solve.
+* FlowSystem Restoring: The used FlowSystem is now accessible directly from the results without manual restoring (lazily). All Parameters can be safely accessed anytime after the solve.📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||
| * Added precomputed DataArrays for `size`s, `flow_rate`s and `flow_hour`s. | ||||||||||
| * Added `effects_per_component()`-Dataset to Results that stores the direct (and indirect) effects of each component. This greatly improves the evaluation of the impact of individual Components, even with many and complex effects. | ||||||||||
| * Improved filter methods for Results | ||||||||||
| * Balanced storage - Storage charging and discharging sizes can now be forced to be equal in when optimizing their size. | ||||||||||
| * Improved filter methods in `results.py` | ||||||||||
| * Balanced storage - Storage charging and discharging sizes can now be forced to be equal when optimizing their size by the `balanced` parameter. | ||||||||||
| * Added Example for 2-stage Investment decisions leveraging the resampling of a FlowSystem | ||||||||||
| * New Storage Parameter: `relative_minimum_final_charge_state` and `relative_maximum_final_charge_state` parameter for final state control | ||||||||||
| * New Storage Parameter: `relative_minimum_final_charge_state` and `relative_maximum_final_charge_state` parameter for final state control. Default to last value of `relative_minimum_charge_state` and `relative_maximum_charge_state`, which will prevent change of behaviour for most users. | ||||||||||
|
|
||||||||||
| ### Changed | ||||||||||
| * **BREAKING**: `relative_minimum_charge_state` and `relative_maximum_charge_state` don't have an extra timestep anymore. The final charge state can now be constrained by parameters `relative_minimum_final_charge_state` and `relative_maximum_final_charge_state` instead | ||||||||||
| * **BREAKING**: `relative_minimum_charge_state` and `relative_maximum_charge_state` don't have an extra timestep anymore. | ||||||||||
| * **BREAKING**: Renamed class `SystemModel` to `FlowSystemModel` | ||||||||||
| * **BREAKING**: Renamed class `Model` to `Submodel` | ||||||||||
| * **BREAKING**: Renamed `mode` parameter in plotting methods to `style` | ||||||||||
|
|
@@ -87,7 +89,7 @@ The weighted sum of the total objective effect of each scenario is used as the o | |||||||||
| * Enhanced FlowSystem interface with improved `__repr__()` and `__str__()` methods | ||||||||||
| * Improved Model Structure - Views and organisation is now divided into: | ||||||||||
| * Model: The main Model (linopy.Model) that is used to create and store the variables and constraints for the flow_system. | ||||||||||
| * Submodel: The base class for all submodels. Each is a subset of the Model, for simpler acess and clearer code. | ||||||||||
| * Submodel: The base class for all submodels. Each is a subset of the Model, for simpler access and clearer code. | ||||||||||
|
|
||||||||||
| ### Deprecated | ||||||||||
| * The `agg_group` and `agg_weight` parameters of `TimeSeriesData` are deprecated and will be removed in a future version. Use `aggregation_group` and `aggregation_weight` instead. | ||||||||||
|
|
@@ -103,7 +105,7 @@ The weighted sum of the total objective effect of each scenario is used as the o | |||||||||
| * Better type consistency across all framework components | ||||||||||
|
|
||||||||||
| ### Known issues | ||||||||||
| * IO for single Interfaces/Elemenets to Datasets might not work properly if the Interface/Element is not part of a fully transformed and connected FlowSystem. This arrises from Numeric Data not being stored as xr.DataArray by the user. To avoid this, always use the `to_dataset()` on Elements inside a FlowSystem thats connected and transformed. | ||||||||||
| * IO for single Interfaces/Elements to Datasets might not work properly if the Interface/Element is not part of a fully transformed and connected FlowSystem. This arises from Numeric Data not being stored as xr.DataArray by the user. To avoid this, always use the `to_dataset()` on Elements inside a FlowSystem that's connected and transformed. | ||||||||||
|
|
||||||||||
| ### *Development* | ||||||||||
| * **BREAKING**: Calculation.do_modeling() now returns the Calculation object instead of its linopy.Model | ||||||||||
|
|
||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick
Fix heading levels (MD001): use h3 under h2.
Change the three h4 section headers to h3 to avoid heading‑increment violations.
Apply this diff:
Also applies to: 42-42, 55-55
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
38-38: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
🤖 Prompt for AI Agents