Skip to content

Releases: TulipaEnergy/TulipaEnergyModel.jl

v0.16.0

26 May 15:20
Compare
Choose a tag to compare

TulipaEnergyModel v0.16.0

Diff since v0.15.1

Breaking changes

  • DC-OPF requires new columns
  • Flows relationships requires new tables
  • Column consumer_balance_sense does not accept missing
  • populate_with_defaults! enforce schema and will replace types and fill NULLs

Merged pull requests:

  • Add new table to define flows relationships (#1176) (@datejada)
  • Add low bound to the sum of flows for transport flows (#1178) (@gnawin)
  • Add parameters for dc-opf feature (#1179) (@gnawin)
  • [AUTO] pre-commit update (#1180) (@github-actions[bot])
  • Add new tables to calculate the lowest resolution for flows that have a flows relationship (#1183) (@datejada)
  • Add electricity angle variables (#1185) (@gnawin)
  • Minor edits multi year docs (#1186) (@gnawin)
  • Fix CompareMPS when files differ in length (#1190) (@abelsiqueira)
  • Always run find-comment in CompareMPS, whether it fails or not (#1191) (@abelsiqueira)
  • Fix bug with mixing compact and simple/none investment methods (#1195) (@urosgluscevic)
  • Update EU benchmark case study (#1196) (@datejada)
  • Improve the hotfix for the alignment of units_on and compact method (#1197) (@gnawin)
  • Create highest resolution table for flows and their connecting assets (#1198) (@gnawin)
  • Add flows relationship constraints (#1202) (@datejada)
  • Run the case studies twice to ensure it doesn't raise an error (#1207) (@abelsiqueira)
  • Add test to make sure that populate_with_defaults doesn't drop extra columns (#1208) (@abelsiqueira)
  • Fix consumer_balance_sense check and fix data validation (#1211) (@abelsiqueira)
  • Create Tinier test case study simplifying Tiny (#1212) (@abelsiqueira)
  • Make populate_with_defaults enforce schema (correct types and fill NULLs) (#1213) (@abelsiqueira)

Closed issues:

  • Check (or apply schema) after adding the defaults (#1156)
  • Lower bound for the capacity constraints (#1159)
  • Create a new table to define the fix ratio relationships between two flows (#1166)
  • Enforce transport flows have free signs (#1168)
  • Define new parameters (#1177)
  • Add variables for dc-opf (#1181)
  • Create a table with the lowest resolution of both flows in the flows relationship table (#1182)
  • Simplify the test case studies input data by using the defaults function (#1184)
  • Add highest resolution table between flows and its connecting assets (#1187)
  • [Bug] MPS workflow false positive result (#1188)
  • Add table for constraints with flows relationship (#1189)
  • Update EU case study for the benchmarks (#1193)
  • [Bug] Misalignment of variables when using the compact method with unit commitment constraints (#1194)
  • Make sure that running run_scenario twice works (#1205)
  • Make sure that populate_with_defaults keeps extra columns (#1206)
  • [Bug] consumer_balance_sense is being incorrectly checked (and data-validation is wrong) (#1210)

v0.15.1

25 Apr 16:02
cb2afe7
Compare
Choose a tag to compare

TulipaEnergyModel v0.15.1

Diff since v0.15.0

Merged pull requests:

Closed issues:

  • Add explanation of model output to documentation (#352)
  • Replace all intra_rp by rep_period and inter_rp by over_clustered_year in the docs (#984)
  • Add "don't clone to cloud" to dev docs (#1095)
  • Fix linebreak rendering in docs (#1134)
  • Conversion assets with multiple inputs and outputs (#1154)
  • Udpate paper references in the docs (#1155)
  • Fix Info and other boxes in Math Formulation (#1157)
  • [Bug] Running Multi-Year throws an error (#1171)

v0.15.0

10 Apr 16:09
8f8e6eb
Compare
Choose a tag to compare

TulipaEnergyModel v0.15.0

Diff since v0.14.1

Breaking changes

  • New feature to consider self-loss for storage assets
  • New simple method for the multi-year investment feature

Merged pull requests:

Closed issues:

  • Add option to use direct model in the JuMP model creation (#1031)
  • Update formulation in the docs with power flow constraints (#1056)
  • Add simple method for multi-year investments (#1064)
  • Discounting operation costs for non-modeled years between milestone years (#1094)
  • Add self-discharge parameter for the storage balance constraint (#1097)
  • Validate consistency between use_binary_storage_method and investment_limit (#1110)
  • Create a function that populates tables in a connection with defaults from the schema (#1129)
  • Use or lose save_solution argument in solve_model (#1133)
  • Fix linebreak rendering in docs (#1134)
  • Improve timeframe-data.csv to include resolution (#1138)
  • Update documentation of multi-year investments (#1146)

v0.14.1

02 Apr 10:07
f5de515
Compare
Choose a tag to compare

TulipaEnergyModel v0.14.1

Diff since v0.14.0

Merged pull requests:

Closed issues:

  • [Bug] Tests fail due to permission error on Windows when running from released package (#990)
  • Improve docs for new users (#1036)
  • Fix docstring of create_merged_tables! (#1106)
  • Review whether we need asset_commission and asset_both in data-preparation and uc (#1117)
  • Validate that investment_limit cannot be missing when use storage_binary_method
    ... (#1123)
  • [Bug] CompareMPS fails for forks (#1126)

v0.14.0

24 Mar 14:34
13e5e2a
Compare
Choose a tag to compare

TulipaEnergyModel v0.14.0

Diff since v0.13.0

Breaking changes

  • Changes in the model schema due to the new parameter flow_coefficient_in_capacity_constraint in the flow_commission table.

Merged pull requests:

Closed issues:

  • Add argument descriptions to all "add constraints" functions (#723)
  • Add pre-processing step to calculate the flow (#1072)
  • Verify in the CI that the MPS files have not changed (#1076)
  • No duplicate rows in input data (#1091)
  • Add option to determine which flows are included in the capacity constraints (#1096)
  • Check that all assets have a type associated (i.e., consumer, producer, conversion, storage, hub) (#1098)
  • Check that the flows that are defined as investable are also defined as transport (#1101)
  • Validate consistency between group field in asset and group table (#1105)

v0.13.0

11 Mar 15:07
c3096d4
Compare
Choose a tag to compare

TulipaEnergyModel v0.13.0

Diff since v0.12.0

Breaking changes

  • Update DuckDB version that fixes the windows build.

Merged pull requests:

Closed issues:

  • Store schema in a JSON file (#992)
  • Put the defaults in a JSON file (#1039)
  • Fix multi-year data and fix objective function (#1046)
  • [Bug] Error building the max_output_flows_limit constraint (#1071)
  • Update DuckDB to a version that works on Windows (#1074)
  • Make test output cleaner (#1077)

v0.12.0

18 Feb 16:55
91619f7
Compare
Choose a tag to compare

TulipaEnergyModel v0.12.0

Diff since v0.11.0

Breaking changes

  • Remove graph, representative_periods, years, and timeframe structures in favour of tables.
  • Change various names of tables and IO functions.

Merged pull requests:

  • Refactor many files related to multi-year expressions remove graph and completely removes the sets structure (#1004) (@abelsiqueira)
  • Fix sort in the query to keep linear index per asset in the storage constraint (#1010) (@datejada)
  • Add explicit asset timeframe partitions (#1012) (@datejada)
  • Improve performance to create constraints over clustered year (#1017) (@abelsiqueira)
  • Change sum(coef * var) to JuMP.add_to_expression (#1018) (@abelsiqueira)
  • Remove graph and other internal structures and general cleaning (#1023) (@abelsiqueira)
  • Refactor names in the ramping constraints (#1025) (@datejada)
  • Remove active parameter (#1027) (@datejada)
  • Improve documentation multi-year (#1028) (@gnawin)
  • Create src/data-preparation.jl and move creation of partition-related tables there (#1029) (@abelsiqueira)
  • Remove variable lookup that was created only for the strangle pattern (#1030) (@abelsiqueira)

Closed issues:

  • Make sure that inactive assets (and their flows) are removed from the model (#266)
  • Multi-year investment (#462)
  • Change representative_periods to use DuckDB (#713)
  • Refactor the groupby inside create_internal_structure to use DuckDB/TulipaIO in the for loops of profiles (#738)
  • Change graph data access and constraint creation to use the indices tables (#942)
  • Remove active parameter from flows and assets (#960)
  • [Bug] The storage balance constraints are not correctly created (#1007)
  • Add default values for assets_timeframe_partitions table (#1009)
  • Improve performance v0.11.0 (#1014)
  • Fix data for simple investment method (#1016)
  • Update names on ramping constraints creation (#1024)
  • Formulation of multi-year investment needs a correction on the fixed costs (#1026)

v0.11.0

29 Jan 09:16
19dd03f
Compare
Choose a tag to compare

TulipaEnergyModel v0.11.0

Diff since v0.10.4

Breaking changes

  • Major internal refactoring of the code to speed up the model creation using DuckDB
  • Input schema has changed. Therefore, CSV files from version 0.10.x V must be upgraded to the new format in version 0.11.0

Merged pull requests:

Closed issues:

  • Return tables (a.k.a. DuckDB) or dataframes as the output format (#115)
  • Consider storing the profile aggregation in the constraints data frames (or somewhere else) (#473)
  • Use functions for saving flow solutions (#566)
  • Change from_asset/to_asset or from/to for consistency (#624)
  • Add the dual solutions to energy_problem.dataframes[:highest_in_out] (#637)
  • EU benchmark files are too big, store somewhere else (#673)
  • Split profile_name in the profiles_table (#683)
  • Create a site/notebook/template/repo for the whole pipeline documentation (#685)
  • Explore uses of DuckDB to create a single column to iterate (#716)
  • Create outputs for the new results of the variables (#818)
  • Implement automatic flow resolutions (#880)
  • Update documentation with feedback from Maaike (#935)
  • Remove first row from the input files (#991)
  • Update benchmark case study (#1001)
  • Find all cases where the flow resolution can/must be inferred (#453)
  • Improve _parse_rp_partitions to reflect more general usage (#610)
  • Change construct_dataframes to use tables (a.k.a. DuckDB) or input data frames (#611)
  • Add a repo checklist to README.DEV (#630)
  • Rename the variables and constraints dataframes in the model (#642)
  • Test TimeStruct.jl package to handle the flexible time resolution in the model (#689)
  • Add policy questions to answer with the model to the docs (#775)
  • Add formatter option to have explicit returns (#796)
  • Remove test using Tiny/bad-assets-data.csv (and file) (#812)
  • Update documentation - formulation (note that formulation needs updates not only in the investments, but also in ramping, groups, and binary charging) (#819)
  • Modify the documentation on the lower bound of flows (#882)
  • Define variable tables (#884)
  • Create all data and tables necessary for the model before the function (#885)
  • Update documentation - how-to (#891)
  • Change functions that receive explicit sets to receive the variable sets (#892)
  • Define partition tables (#895)
  • Create flow variables using the indices in the variable structure (#898)
  • Create units on variables using the indices in the variable structure (#901)
  • Update storage variables using the indices in the variable structure (#903)
  • Instead of DF, use a TulipaIO table (#909)
  • units_on (#911)
  • Create constraints indices for highest_in (#912)
  • Create constraints indices for highest_out (#914)
  • Create constraints indices for units_on and units_on_and_outflows (#918)
  • Refactor variables (#923)
  • Define (balance) constraints tables (#927)
  • Try using @timeit to on function calls, not on begin ... end blocks (#934)
  • Change the default of the enable_names option to false in the create_model function (#937)
  • Update JuliaFormater options (#940)
  • Don't get data from graph object in src/constraints/consumer.jl (#943)
  • Don't get data from graph object in src/constraints/investment.jl (#945)
  • Don't get data from graph object in src/constraints/capacity.jl (#947)
  • Update compute_assets_partitions! to use DuckDB more efficiently (#948)
  • Don't get data from graph object in src/constraints/storage.jl (#955)
  • Update TulipaConstraint to store the dual variables and the list of constraints that use the same set of indices (#957)
  • Rename constraint names to names in Miro that don't have to split or that are simple to split (#958)
  • Rename, split, create new constraints for capacity.jl (#961)
  • Rename, split, create new constraints for ramping-and-unit-commitment.jl (#964)
  • Rename, split, create new constraints for storage.jl (#966)
  • Rename, split, create new constraints for group.jl (#969)
  • Don't get data from graph object in src/constraints/group.jl (#977)
  • Apply specific 'using' syntax to the tests (#994)

v0.10.4

15 Jan 12:23
b204e0a
Compare
Choose a tag to compare

TulipaEnergyModel v0.10.4

Diff since v0.10.3

Merged pull requests:

v0.10.3

14 Jan 09:07
Compare
Choose a tag to compare

TulipaEnergyModel v0.10.3

Diff since v0.10.2

Merged pull requests:

  • Fix to improve inter-rp expression creation time (#998) (@datejada)