Releases: TulipaEnergy/TulipaEnergyModel.jl
Releases · TulipaEnergy/TulipaEnergyModel.jl
v0.10.2
TulipaEnergyModel v0.10.2
Merged pull requests:
- Specify the domain of decommission variables (#846) (@gnawin)
- Apply BestieTemplate v0.12.0 (#848) (@abelsiqueira)
- Bump peter-evans/create-or-update-comment from 3 to 4 (#850) (@dependabot[bot])
- Bump peter-evans/find-comment from 2 to 3 (#851) (@dependabot[bot])
- Bump actions/stale from 4.1.1 to 9.0.0 (#852) (@dependabot[bot])
- Bump lycheeverse/lychee-action from 1 to 2 (#853) (@dependabot[bot])
- Bump julia-actions/cache from 1 to 2 (#854) (@dependabot[bot])
- Update the authors list in various files (#856) (@abelsiqueira)
- Fix links to contributing & developer (#857) (@clizbe)
- 858 fix kbd error in docs (#859) (@clizbe)
- Fix all-contributors (#860) (@abelsiqueira)
- docs: add abelsiqueira as a contributor for code, and review (#861) (@allcontributors[bot])
- docs: add datejada as a contributor for code, review, and 2 more (#862) (@allcontributors[bot])
- docs: add suvayu as a contributor for code, review, and ideas (#863) (@allcontributors[bot])
- docs: add gnawin as a contributor for code, review, and 2 more (#864) (@allcontributors[bot])
- docs: add clizbe as a contributor for code, review, and 2 more (#865) (@allcontributors[bot])
- docs: add g-moralesespana as a contributor for research, ideas, and 2 more (#866) (@allcontributors[bot])
- docs: add jkiviluo as a contributor for ideas, and research (#867) (@allcontributors[bot])
- docs: add mdeweerdt as a contributor for fundingFinding, and projectManagement (#868) (@allcontributors[bot])
- docs: add greg-neustroev as a contributor for ideas, research, and code (#869) (@allcontributors[bot])
- docs: add gzclarence as a contributor for ideas, and research (#870) (@allcontributors[bot])
- docs: add lsoucasse as a contributor for ideas (#871) (@allcontributors[bot])
- Fix italics in schema list (#872) (@clizbe)
- docs: add sjvrijn as a contributor for ideas (#873) (@allcontributors[bot])
- Correct Maaike's name (#874) (@abelsiqueira)
- Change lower bound and test value (#876) (@gnawin)
- Fix links to contributing and developer documentation (#877) (@datejada)
- [AUTO] pre-commit update (#878) (@github-actions[bot])
- docs: add maaikeelgersma as a contributor for ideas, and research (#879) (@allcontributors[bot])
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
TulipaEnergyModel v0.10.1
Merged pull requests:
- Limit DuckDB version to 1.0 until duckdb/duckdb#13911 is fixed (#842) (@abelsiqueira)
- DuckDB_jll needs explicit compat bounds (#843) (@abelsiqueira)
Closed issues:
v0.10.0
TulipaEnergyModel v0.10.0
Merged pull requests:
- Make docs friendlier and FIX broken links (#698) (@clizbe)
- Add run_scenario(connection) (#699) (@clizbe)
- Replace from_csv functions with TulipaIO (#704) (@clizbe)
- Use DuckDB to create the RepresentativePeriod structure (#708) (@datejada)
- Update benchmarks.jl (#709) (@datejada)
- Change Symbols to Strings for input data (#711) (@datejada)
- Refactor timeframes, assets, and flows to use DuckDB for input data (#712) (@datejada)
- Edit concepts and how-to-use (#719) (@clizbe)
- Create profiling folder with instructions (#721) (@abelsiqueira)
- Add ramping and unit commitment basic constraints (#726) (@clizbe)
- Add missing BenchmarkTools in the profiling script (#728) (@abelsiqueira)
- Remove table tree structure (#733) (@datejada)
- Update schema to be used by TulipaIO and change name to schema_per_table (#737) (@abelsiqueira)
- New group feature in the model for investments (#742) (@datejada)
- Update documentation with groups information (#744) (@datejada)
- Add basic multi-year support (#745) (@abelsiqueira)
- Update CFF file (#746) (@datejada)
- Create utils/csv-modifications.jl to help making changes in CSVs (#751) (@abelsiqueira)
- Remove empty column in assets-data.csv files (#755) (@abelsiqueira)
- Add year information to the data (#757) (@abelsiqueira)
- Add units_on_cost to the objective function (#760) (@datejada)
- Add new test case for UC and ramping (#761) (@datejada)
- Create Multi-year Investments test data (#762) (@abelsiqueira)
- Update UC and ramping dataframe (#764) (@datejada)
- Fix unit commitment conditions in the constraints (#767) (@datejada)
- Split static graph data and add is_milestone to years' data (#768) (@abelsiqueira)
- Update docs with UC and Ramps (#769) (@datejada)
- Add more meaningful data for multi-year (#771) (@gnawin)
- Include duration in the ramping constraints (#773) (@datejada)
- Add two columns to assets-data (#780) (@gnawin)
- Change to initial units in input data (#781) (@datejada)
- Add common dicts and an expression for multi-year (#782) (@gnawin)
- Add compact method for multi-year (#784) (@gnawin)
- Update EU case study (#785) (@datejada)
- Add investment method to the graph structure (#788) (@datejada)
- Add simple method for multi year investment on assets (#793) (@datejada)
- Avoid missing value investment method (#795) (@datejada)
- Update input file for vintage information (#799) (@abelsiqueira)
- Add an expression that covers both simple and compact methods (#800) (@gnawin)
- Add UC and ramps concepts to the docs (#801) (@datejada)
- Update UC and ramping constraints with accumulated units (#804) (@datejada)
- Refactor group constraints to improve performance (#807) (@datejada)
- Update Benchmark.yml (#808) (@datejada)
- Update docs (#811) (@clizbe)
- Implement ModelParameters (#813) (@abelsiqueira)
- Update storage binary charging constraints (#814) (@datejada)
- Add investment weights to objective function (#815) (@gnawin)
- Add operation weights (#817) (@gnawin)
- Change to account for initial storage units and capacity energy storage in the multi-year feature (#820) (@datejada)
- Add necessary data to prepare multi-year transport (#821) (@gnawin)
- Update files for storage investment method with multi-year investment (#822) (@datejada)
- Update energy storage constraints with multi-year investment (#823) (@datejada)
- Update storage binary constraints with multi-year investment (#824) (@datejada)
- Add simple method transport investment (#829) (@gnawin)
- Add new economic parameters functions (#830) (@datejada)
- Change flow data to make multi-year case feasible (#832) (@gnawin)
- Remove unneccessarily duplicated data (#834) (@gnawin)
- Put weights in the objective function (#836) (@gnawin)
- Add accumulated investment limit to binary storage constraints (#837) (@datejada)
- Add objective value to multi-year test (#839) (@gnawin)
- Release 0.10.0 (#840) (@gnawin)
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
toschema_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 ofinitial_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
TulipaEnergyModel v0.9.2
Merged pull requests:
- Update formulation and how-to-use with the max/min outgoing energy limit (#691) (@datejada)
- Refactor energy constraints to use sum instead of mean (#693) (@datejada)
- FIX README.dev.md (#694) (@clizbe)
- Release v0.9.2 (#697) (@datejada)
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
TulipaEnergyModel v0.9.1
Merged pull requests:
- Update TulipaIO compat and release v0.9.1 (#682) (@abelsiqueira)
v0.9.0
TulipaEnergyModel v0.9.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
butstorage_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
torep_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
TulipaEnergyModel v0.8.0
Merged pull requests:
- Replace many instance of B by time_block (#531) (@abelsiqueira)
- Refactor add_expression_terms_intra_rp_constraints (#532) (@abelsiqueira)
- Don't use unqualified using and update README.dev.md with guidelines (#533) (@abelsiqueira)
- Make the number of samples explicit in the benchmark (#535) (@abelsiqueira)
- Remove base partitions and profiles of flows (#542) (@abelsiqueira)
- Use is_seasonal to define base partitions instead of only the file (#543) (@abelsiqueira)
- Use Symbols instead of Strings for many cases (#545) (@abelsiqueira)
- Completely replace the schema structure (#546) (@abelsiqueira)
- Fix repeated value calculation in save_solution_to_file function for storage level (#550) (@datejada)
- Update energy_problem.solution documentation (#551) (@clizbe)
- Use Prettier for markdown formatting (#552) (@gnawin)
- Fix README.dev (#555) (@gnawin)
- Rename base periods to appropriate names (#556) (@abelsiqueira)
- Refactor create_model into functions (#557) (@clizbe)
- Add registration procedure to README.dev (#558) (@clizbe)
- Move images to folder (#560) (@clizbe)
- Rename dfs for consistency (#561) (@clizbe)
- Add infeasible section to docs (#562) (@clizbe)
- Add more JuliaFormatter options (#563) (@clizbe)
- Interpolate storage levels (#564) (@gnawin)
- Update of documentation for M1 release (#565) (@datejada)
- Update documentation for M1 release (#568) (@datejada)
- Add test for Storage assets case study (#570) (@datejada)
- Review docs (#572) (@clizbe)
- Update mathematical fomulation (#573) (@datejada)
- Fix readmes (#578) (@clizbe)
- Release 0.8.0 (#579) (@clizbe)
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
TulipaEnergyModel v0.7.0
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 thestorage_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
TulipaEnergyModel v0.6.2
Merged pull requests:
- Implement all different resolutions (#469) (@abelsiqueira)
- Update logo (#476) (@greg-neustroev)
- Remove plotting part and link them to new repo (#479) (@gnawin)
- Display timer for energy problem (#482) (@gnawin)
- Improve docs for
EnergyProblem
(#483) (@gnawin) - Update CITATION.cff (#485) (@abelsiqueira)
- CompatHelper: add new compat entry for Statistics at version 1, (keep existing compat) (#487) (@github-actions[bot])
- CompatHelper: add new compat entry for OrderedCollections at version 1, (keep existing compat) (#488) (@github-actions[bot])
- Save the complete solution to CSV (#491) (@abelsiqueira)
- Replace Cbc by GLPK in the tutorial (#493) (@abelsiqueira)
- Implement Solution structure and add to EnergyProblem (#494) (@abelsiqueira)
- Remove nightly from tests (#496) (@abelsiqueira)
- Update codecov action to v4 (#497) (@abelsiqueira)
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
TulipaEnergyModel v0.6.1
Merged pull requests:
- Spellcheck & grammarcheck for how-to-use (#433) (@clizbe)
- Added inline backticks to avoid italics from underscores (#439) (@clizbe)
- Update the CSV files for the test case studies (#441) (@datejada)
- Always attach efficiencies to flows (#442) (@gnawin)
- Add input data for seasonal storage (i.e., long-term storage) (#446) (@datejada)
- Don't test using Cbc to prevent error on Mac M1 (#448) (@abelsiqueira)
- Export EnergyProblem in structures.jl (#464) (@datejada)
- Release 0.6.1 (#465) (@datejada)
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)