Uh oh!
There was an error while loading. Please reload this page.
- 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
Uh oh!
There was an error while loading. Please reload this page.
Feature/v3/update #352
Changes from all commits
1f9ef075d88fde1e94de3e5828ad870efeee97ec5ff15113e284072eebbb5dda501e051825089126b07f94d841dc19edc836cf47d8f1261d89d69f076f51a80ff4d2984c850b8b9dabb7e72ab517632f33c355c9f473ce57869a72bb29ef28d96a498240da18ac266443a64ea7b67f8db3fe443483ba12dee1de44ec39142554d8ad0627276dc23f5e6100d646f20356baeb8eaeaaa8315fd124d0b231d4ebe6a56b56daca7ec9942a75ed3dae9f01ba195ff605f034656000678132efa53c1162cb551bd7be766e60dd07bd2f1b8a7da9d2b8f0e227123b6bfa5475d80cb16181ad3ba691a45e3931ac575a45e1288214750491ff4f3a798314aef9030294740c437a8d2d2089c0c95fd568ad6ffc196a6142f44cec7367eba1ec45f97bf3935108399e6b194981a9c516f45bef0acfc706c1eca4cdb43148a85261755f966f6a86a757e7f941d93f745e885c9bae2ad1b5509c7568ddfc62634e320b9f33a22aa904211f3c6c08b22a1cef44dbefcf82556a33460a0ff70674fa5e30aa3511f9404dc031ad74ced1408a4ab000ca2afc24eb248f58d34445cbde07b45861b287809ee42bbdb442a01abe1f1ebb7c7b351f5d9b5915c56b639d242b609978431d6ef97972cb9029bec8c370ac940f89ff04781cff333ab83970230391bd46194314c350cc2cbe52f80092812569001c6a286a8b7ae1752b18223842aa9d4b5ca97077e043994f95ebcf73fe992d9c9205fd05e320a19649b05f8f4d7fd29362651750fbb679368985e4ec41066283cba84dfadd2182aa75c05ee66a6ff1e2e1f1362b18b65f0b50315a08e997de53c25f726e1716607b4a9236b7734f8e06692bcf0186c5510297b694dbe262e8b42a469f1159bcb3e764a1320f74f32c1c75070979fbc9c4ddf85ec95618146c2015aa1de6da5adaafe95b9316d8a5ecb3c9b1c9b713c985535688c8f84c8f15566bcdfc33451598216e27b45a19b919c0a8e21165c2ce72802c1f315f85887815b8bf1ffe27f36329659d78314ca6fb06abbe5346f550ddb6185784ff3e3198b6072fa4c107f29dcded7574d81e61937da3f29f331ed0616c7481e9e5e041474af6d81a1503f03d22299f629b9cf44142e4f59e1dcfb8948f19cdabe87f7d50c11c90fac9586f55c638d531ea795dc9b3e24aaf45788c151f3d70476a80c3f98561515fa9f1a182a2985e3725476c31e8e73ff4614795fa7c2a9d8debFile filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
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 | ||||||||||
Uh oh!
There was an error while loading. Please reload this page.
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