Skip to content

Releases: TulipaEnergy/TulipaEnergyModel.jl

v0.10.2

15 Oct 08:04
0488653
Compare
Choose a tag to compare

TulipaEnergyModel v0.10.2

Diff since v0.10.1

Merged pull requests:

Closed issues:

  • Apply BestieTemplate.jl (#676)
  • Add checks to the domain of decommission variables and make sure they only exist when there are existing capacities or investments - compact method. (#828)
  • The model can be unbounded under certain set-ups (#844)
  • [BUG] - Italics in docs (#847)
  • Update online codecov requirement to 98% (#849)
  • [Bug] Fix link to CONTRIBUTING and README.dev.md (#855)
  • [Bug] Replace <kbd>stuff</kbd> by backticks (#858)

v0.10.1

08 Oct 16:45
8bf0a92
Compare
Choose a tag to compare

TulipaEnergyModel v0.10.1

Diff since v0.10.0

Merged pull requests:

Closed issues:

  • Update structures with year information and update the tests to use the multi-year test data (#759)
  • Update EU case study (#827)

v0.10.0

30 Sep 14:23
1b93615
Compare
Choose a tag to compare

TulipaEnergyModel v0.10.0

Diff since v0.9.2

Merged pull requests:

Closed issues:

  • Build the input workflow (#289)
  • Add Dependabot to check actions (#444)
  • Use dataframes instead of dict for RP weight matrix (#495)
  • Refactor architecture to use Tables (DuckDB) (#547)
  • Add basic version of unit commitment and ramping constraints (#581)
  • Make Docs landing page more friendly (#592)
  • Update citation.cff file (#619)
  • Change Symbol to String (#632)
  • Use the input schema again (#636)
  • run_scenario for connection or other convenience functions (#665)
  • Write down and review the formulation including different levels of detail (#690)
  • Add remote url fix to readme.dev (#695)
  • Fix readme.dev to our fork workflow (#696)
  • Remove all csv related reading functions and use TulipaIO instead. (#702)
  • Use strings instead of Symbols in the create_input_dataframes function (#705)
  • Refactor the inputs to use DuckDB as much as possible (#706)
  • Refactor to create RepresentativePeriod from DuckDB (#707)
  • Refactor timeframe and assets data inputs to read from DuckDB (#710)
  • How to get a column from DuckDB directly? (#714)
  • Add basic investment model (obj, upper bounds, conversion, cost efficiency), and create the needed parameters (#722)
  • Add optional ramping constraints (#724)
  • Remove table_tree (the end) (#729)
  • [BUG] Italics in docstring (#730)
  • Create new "entity" called "group" to have a set of common constraints (#732)
  • Change the name schema_per_file to schema_per_table_name (#734)
  • Add the most complicated method (#740)
  • Update documentation with the group feature (#743)
  • Multi-year data and timeframe relation (#748)
  • Update the documentation with ramping and unit commitment constraints (#750)
  • Add new case study to test UC and ramping constraints (#752)
  • Add information for diff of CSV files (#753)
  • Files assets-data.csv have an extra hidden empty column (#754)
  • Add operational cost of units_on in the objective function (#756)
  • Create multi-year test data (#758)
  • Update dataframe for UC and ramping constraints (#763)
  • Create a test dataset for multi-year that makes more sense, considering existing capacities with different profiles. (#765)
  • Prepare more data for multi-year simple and compact formulation (#766)
  • Include a new section for ramping and unit commitment constraints in the concepts (#770)
  • Include durations on the ramping constraints (#772)
  • Update EU case study for benchmark (#776)
  • Add additional data to multi-year that will be used for both simple and compact methods (#777)
  • Add to model the common lists/subsets for years for both simple and compact methods (#778)
  • Use initial_units instead of initial_capacity as input data (#779)
  • Add the compact method (#783)
  • Add the simplest method for multi-year investment (#786)
  • Add investment_method data to the graph structure (#787)
  • Update group constraints according to the investment methods (#789)
  • Update ramping constraints to consider multi-year investment methods (#790)
  • Update binary to avoid simultaneously charging/discharging constraints to consider multi-year investment methods (#791)
  • Add the simple method for investments in transport assets (#792)
  • Avoid having missing value in the investment_method (#794)
  • Update input file for vintage information (#797)
  • Change accumulated capacity expression to account for both investment methods (#798)
  • Create economic parameters (#802)
  • Add the simple method for storage assets (#806)
  • Add investment weights (#810)
  • Add operation weights (#816)
  • Review duplicated data in assets-data and vintage-assets-data (same for flows) (#825)
  • Create functions for the economic parameters calculations (#826)
  • Make multi-year test feasible (#831)
  • Use weights for investments and operation in the objective function. (#835)
  • Update the test for multi-year investment, including ramps, binary charging, investments in storage (and in energy storage) to be sure the constraints are correct when using multi-year investment (#838)

v0.9.2

18 Jul 17:10
7574009
Compare
Choose a tag to compare

TulipaEnergyModel v0.9.2

Diff since v0.9.1

Merged pull requests:

Closed issues:

  • Create new variables and constraints to have a max/min energy outgoing flow for assets, using the base periods (#526)
  • Update citation.cff file (#619)
  • Update documentation with max/min energy outgoing flow for assets (#662)
  • [BUG] - Change aggregation function for the max/min energy outgoing flow for assets (#692)

v0.9.1

28 Jun 15:46
ac1f899
Compare
Choose a tag to compare

TulipaEnergyModel v0.9.1

Diff since v0.9.0

Merged pull requests:

v0.9.0

28 Jun 08:31
82446a2
Compare
Choose a tag to compare

TulipaEnergyModel v0.9.0

Diff since v0.8.0

Merged pull requests:

  • Modify investment limit to integer when necessary (#582) (@gnawin)
  • Update EU benchmark files (#583) (@datejada)
  • Update formulation in the documentation (#587) (@datejada)
  • Change Inf to 86400 in the benchmarks.jl script and benchmark on the HEAD script (#590) (@abelsiqueira)
  • Add balance sense option to the consumer assets (#591) (@datejada)
  • Update Norse case test to use JuMP.is_solved_and_feasible (#594) (@datejada)
  • Update storage assets documentation (#597) (@datejada)
  • Fix typos (#602) (@gnawin)
  • Create new parameters for storage methods (#603) (@gnawin)
  • Refactor io into reading and processing and create table tree structure (#607) (@abelsiqueira)
  • Remove duplicate "Code format & guidelines" section (#608) (@clizbe)
  • Change core model for storage methods (#616) (@gnawin)
  • Update filter usage to be more efficient (#618) (@abelsiqueira)
  • Fix command typo in README.dev.md (#621) (@suvayu)
  • Output energy storage investment to the solution (#627) (@datejada)
  • Update documentation with new energy storage investment option (#633) (@datejada)
  • Read CSV using TulipaIO and DuckDB and create table_tree from DB (#634) (@abelsiqueira)
  • New parameter to use tighter storage formulation (#641) (@datejada)
  • Update documentation with formulation to avoid storage charging and discharging simultaneously (#644) (@datejada)
  • Create new variable and constraints for the use_binary_storage_method (#645) (@datejada)
  • CompatHelper: add new compat entry for TulipaIO at version 0.1, (keep existing compat) (#646) (@github-actions[bot])
  • CompatHelper: bump compat for DuckDB to 1, (keep existing compat) (#648) (@github-actions[bot])
  • Fix bug (#651) (@gnawin)
  • Update documentación of limits constraints for producer assets (#653) (@mauro-gs)
  • Add more timers to the log (#654) (@datejada)
  • New parameters and data for the min/max energy in base periods (#656) (@datejada)
  • Add min/max outgoing energy for base periods (inter-temporal) constraints (#658) (@datejada)
  • Standardize the names of representative periods to rep_period (#666) (@datejada)
  • Rename profile files for assets and flows (#669) (@datejada)
  • Move timing from run scenario (#670) (@datejada)
  • Refactor code to use a function to create the inter-rp dataframes (#671) (@datejada)
  • Join profiles files into a single file per period type (#672) (@abelsiqueira)
  • Allow timeframe and partitions tables to be missing (#675) (@abelsiqueira)
  • Release v0.9.0 (#677) (@abelsiqueira)
  • Fix allowing timeframe and partitions tables to be missing (#674) (#678) (@abelsiqueira)
  • Create timing dict for EnergyProblem and time constructor (#681) (@abelsiqueira)

Closed issues:

  • JuMP Model to Output (#97)
  • Create a simple European case study for testing (#112)
  • Update western EU case to use 123 resolution (#426)
  • Add TulipaIO package (#450)
  • Explore how to merge hub and consumer (#477)
  • Separate the reading and processing in the IO (#544)
  • Improve data of Norse case tutorial (#574)
  • Add investment methods for energy storage assets (#575)
  • Use tighter formulation for energy storage assets (#576)
  • Improve investment limit constraint (#577)
  • Improve the log description (#584)
  • Add an input parameter for consumer assets to choose the balance sense (#585)
  • Include comments from UU to the mathematical formulation in the docs (#586)
  • [BUG] Benchmarks are failing with Inf not supported by JSON (#588)
  • Change test for the Norse case study (#593)
  • Update documentation for seasonal and non-seasonal storage (#595)
  • Create the new parameters and update the input files with the new data (#600)
  • Create the new variables and constraints. Modify existing ones, including the objective function (#604)
  • Update the outputs with storage investment on energy variable (v^{inv_energy}_{a}) (#626)
  • Update the documentation with investment methods for energy storage assets (#628)
  • Use TulipaIO instead of reading CSV (#629)
  • Create the new parameter and update the input files for the use of a tighter formulation for storage assets (#638)
  • Create the new variables and constraints for the use of a tighter formulation for storage assets (#639)
  • Update the documentation (formulation and tutorial/how-to) with the use of a tighter formulation for storage assets (#640)
  • [BUG] - Model errors when a storage asset is investable==false but storage_method_energy==true (#650)
  • Update the mathematical formulation in the documentation for producers (issue #526) (#652)
  • Create the new parameters to have a max/min energy outgoing flow for assets (#655)
  • Add dataframes, variables, and constraints to include max/min energy outgoing flow for assets, using the base periods (#657)
  • Improve/refactor dataframe creation for inter-period constraints (#659)
  • Rename rep_periods_data.id to rep_periods_data.rep_period for consistency (#661)
  • Use the original assets and flows profiles table (#663)
  • Move timing from run_scenario to EnergyProblem function (#667)
  • Merge all profiles-* files into one (#668)
  • Accept default of missing timeframe and partition tables (#674)
  • Time creating dataframes et al. separately from reading CSV (#680)

v0.8.0

29 Mar 17:07
ace372f
Compare
Choose a tag to compare

TulipaEnergyModel v0.8.0

Diff since v0.7.0

Merged pull requests:

Closed issues:

  • Check if Lazy Loading is possible (#28)
  • Add linked-representative days formulation for seasonal (long-term) storage (#255)
  • Add references to docstrings & documentation (#397)
  • Apply specific "using" syntax (#431)
  • Add to the README.dev.md the Julia Register procedure (#435)
  • Validate the efficiency for inflows and outflows for conversion assets (#437)
  • Refactor model creation using functions (#452)
  • Add more JuliaFormatter options (#454)
  • Update documentation with the linked-representative days (#458)
  • Review documentation for Q1 release (#467)
  • Consider using time_block instead of B internally (#470)
  • Add a How-To for dealing with infeasible solutions of the model (#472)
  • Improve comments of create-model.jl (#489)
  • Add a pre-commit hook to include additional formatting for Markdown (#501)
  • Documentation for Solution in how-to-use is out-of-date (#506)
  • Rename Dataframes in the create_graph_and_representative_periods_from_csv_folder function (#508)
  • Refactor add_expression_terms_intra_rp_constraints (#529)
  • Add How-To for different level of investment detail (#530)
  • Update benchmark options (#534)
  • flows-data needs a is_seasonal column (or remove base partitions of flows) (#537)
  • Use is_seasonal to define the base partitions (#538)
  • Use Prettier for Markdown formatting (#539)
  • Consider using Symbol instead of String for columns and other identifier (#540)
  • Replace the schema structures by Dict or similar (#541)
  • [BUG] - Fix the storage output to CSV so it is not divided by the duration (#548)
  • Define a new name for the base periods (#549)
  • Export the storage level solution as an interpolation (#553)
  • Move pngs to new folder (#559)
  • Add the new Storage example to the tests (#569)
  • Update README & README.dev (#571)

v0.7.0

11 Mar 11:48
59df3e0
Compare
Choose a tag to compare

TulipaEnergyModel v0.7.0

Diff since v0.6.2

Merged pull requests:

  • Add long and short storage asset constraints (#498) (@datejada)
  • Update feature.md (#500) (@gnawin)
  • Add memory table to the benchmark report (#504) (@abelsiqueira)
  • Add storage level between (intra) representative periods to the outputs (#511) (@datejada)
  • Change storage type definition to use boolean instead of strings (#515) (@datejada)
  • Add optimization problem size info to the display of EnergyProblem (#519) (@gnawin)
  • Use multiple profile types (#521) (@abelsiqueira)
  • Add partitions for base_periods and create separate partitions and profiles files (#524) (@abelsiqueira)
  • Add minimum and maximum storage level limits (#527) (@datejada)
  • Rename flow columns in the constraints dataframes to ignore the suffix _lowest and _highest (#528) (@abelsiqueira)

Closed issues:

  • Add the constraints for short- and long-storage in the model (#456)
  • Consider refactoring the names of the incoming and outgoing flows (#468)
  • Update the features explanation in the documentation (#480)
  • Update the GitHub actions for testing in the main branch (#481)
  • Update benchmark to show memory (#502)
  • Change the temporal structure of the inter period constraints to be more similar to the partitions in the intra period constraints (#507)
  • Add the new storage_level_intra_rp results to the outputs (#509)
  • Show more solver info in run_scenario (#510)
  • Add a new spillage variable for the storage_inter_rp_balance (#512)
  • Change the storage type to boolean (e.g., is_long) instead of a string (#514)
  • Create new files to store the different kinds of profiles (#516)
  • Improve the pre-filled contents of the csv files (#520)
  • Refactor the base periods to have partitions and add base period profiles (#522)
  • Add constraints for the limits for storage in the base periods (#523)

v0.6.2

26 Feb 16:20
f2c3da5
Compare
Choose a tag to compare

TulipaEnergyModel v0.6.2

Diff since v0.6.1

Merged pull requests:

Closed issues:

  • Create a function to export the whole solution to file (e.g., CSV, parquet, JSON, etc.) (#295)
  • Check if JuMP is threaded (#338)
  • Change the compute_rp_partition function strategies (#344)
  • Update CodeCov action to v4 (#445)
  • Move TulipaPlots to separate repo (#451)
  • Update the logo (#460)
  • Improve the EnergyProblem documentation (#471)
  • Add to the EnergyProblem structure the time to create the problem and the time to solve (#474)
  • [BUG] - Can't build documentation locally (#478)
  • [BUG] Remove Cbc from documentation (#490)
  • Create Solution structure and add to energy model (#492)

v0.6.1

12 Feb 16:28
a84c853
Compare
Choose a tag to compare

TulipaEnergyModel v0.6.1

Diff since v0.6.0

Merged pull requests:

Closed issues:

  • Make plots dependencies optional (#424)
  • [BUG] - Parsing underscores in documentation (#434)
  • Always attach efficiencies to inflows and outflows (#436)
  • Update the columns in the CSV input files of the case studies (#440)
  • Tests fail on Mac with M1 chip (#447)
  • Update the input data and read it into the model for the linked-representative days (#455)
  • [BUG] - The EnergyProblem is not exported in the model (#463)