Fixed opex cost attribute accepts yr time unit#168
Open
jarsarasty wants to merge 417 commits intoProject-OMOTES:masterfrom
Open
Fixed opex cost attribute accepts yr time unit#168jarsarasty wants to merge 417 commits intoProject-OMOTES:masterfrom
jarsarasty wants to merge 417 commits intoProject-OMOTES:masterfrom
Conversation
- database name now output esdl id - simulationRun now unique id of optimization run
- can now update pipe info if return pipe is not "_ret" - updated test case
…t case & input ESDL - Updated kpi names for yearly costs
…ror-fix spelling fix
* creating battery test case * fixed discharging efficiency calculation battery * created esdl, timeseries and problem setup to test battery
…ng-goal-programming'
…dl-when-supply-and-return-pipes-not-linked-with-_ret-in-name
…dl-when-supply-and-return-pipes-not-linked-with-_ret-in-name
Checks if timelimit reached in priority 1 for all stages and terminates the optimization if it is reached.
Clean up and speedup of test varying temperature test_hex_temperature_variation.
* Pipe costs are updated if an asset template with costs are provided Co-authored-by: gopalanjayashankarg <gopalan.gopalanjayashankar@tno.nl>
* Created an AssetStateEnum to have an option of IntEnum for asset states and changed all instaces of hard-coded occurence when checking to the IntEnums that were created --------- Co-authored-by: kobus.vanrooyen@tno.nl <kobus.vanrooyen@tno.nl>
…zation/mesido into include-potential-error-ASSET_COST_INFORMATION
…fix failing tests; update tests to include error type check
- Introduced `_error_type_check` attribute to manage cost validation behavior. - Updated `EndScenarioSizing` and related classes to utilize the error type check. - Enhanced validation logic to bypass checks when error checking is disabled. - Modified tests to include error type check parameter for consistency.
… and indicate how renable electrolyzer tests
Add tolerances in util test functions input.
Fix pipe parameter bug in test_end_scenario_sizing_head_loss
Update python version to minimum of 3.10, but preferably 3.11. Allowing for speed up and support of python versions that still receive security updates. Update to python 3.12 and further not yet possible due required rtctools and highs update
If the database profile name or field indicated in esdl are not available in the database, new type of possible error (MesidoAssetIssueType.ASSET_PROFILE_AVAILABILITY) will be called.
…d ates (#346) * Additional constraint for buffer tank, ates and geo to ensure the aggregation count is 0 (not placed) when usage = 0.0
* Additional functionality of heat sources (Geothermal and Residual heat source) to have profile constraints and some tests to go with
- Before we create the optimized esdl after optimization, we check the current input esdl if it already has profile with ProfileType attribute "OUTPUT". If the input esdl already has sOUTPUT profiles we do not add them to the new esdl that we create after optimization. -The new output profiles of the resulting optimization is added to the the esdl that we generate and we add ProfileType attribute as OUTPUT to those profiles
Emission coefficient from esdl based on an additional emission port and port relations when the emission is not related to the carrier.
Fix git pipeline hanging issue
…zation/mesido into include-potential-error-ASSET_COST_INFORMATION
… and perTimeUnit=YEAR
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixed OPEX represents annual fixed operation and maintenance costs that scale with asset capacity (independent of operation), and in MESIDO's TCO calculation, the coefficient is multiplied by number_of_years (line 162 in minimize_tco_goal.py).
The current implementation implicitly treats EURO/MW as an annual rate (EURO/MW/yr).
#307 requests accepting both formats (implicit and explicit yearly units). This implementation now allows fixed OPEX to accept both perTimeUnit=NONE (implicit annual, backward compatible) and perTimeUnit=YEAR (explicit annual).
Variable OPEX correctly remains unchanged, as it's energy-based (EURO/Wh) and gets summed over timesteps rather than multiplied by years, making the /yr suffix physically incorrect for that cost type.