A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Recent Releases of TulipaEnergyModel.jl

TulipaEnergyModel.jl - v0.15.0

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:

  • [AUTO] pre-commit update (#897) (@github-actions[bot])
  • Add simple method multi-year (#1122) (@gnawin)
  • Add option to use JuMP direct model (#1124) (@clizbe)
  • Create function to populate defaults (#1130) (@abelsiqueira)
  • Remove broken HTML syntax tags (#1136) (@clizbe)
  • Add feature self loss storage (#1137) (@gnawin)
  • docs: add IsaiMaganTNO as a contributor for review (#1139) (@allcontributors[bot])
  • docs: add nope82 as a contributor for review (#1140) (@allcontributors[bot])
  • Modify operation discounting for multi-year investments (#1141) (@gnawin)
  • Remove save_solution from solve_model arguments (#1142) (@clizbe)
  • Add validation between use_binary_storage_method and investment_limit (#1144) (@gnawin)
  • Update developer's instructions (#1147) (@IsaiMaganTNO)
  • Update docs for multi-year (#1148) (@gnawin)

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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] 17 days ago

TulipaEnergyModel.jl - v0.14.1

TulipaEnergyModel v0.14.1

Diff since v0.14.0

Merged pull requests:

  • 1036 friendly docs (#1045) (@clizbe)
  • Remove asset_both and asset_milestone from unnecessary places in data-preparation.jl (#1118) (@abelsiqueira)
  • Update CompareMPS to not make multiple comments and link to docs (#1119) (@abelsiqueira)
  • Fix typo in create_model docstring (#1121) (@clizbe)
  • [WIP] Fix CompareMPS for forks (#1127) (@abelsiqueira)
  • Add docstring to create_merged_tables! (#1128) (@clizbe)
  • Update error message when saving solution (#1132) (@datejada)
  • Release 0.14.1 (#1135) (@clizbe)

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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] 26 days ago

TulipaEnergyModel.jl - v0.14.0

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:

  • Test changes to MPS on CI (#1080) (@abelsiqueira)
  • Implement data validation step with basic check for duplicate rows (#1088) (@abelsiqueira)
  • Create connection inside benchmark run because tables exist (#1089) (@abelsiqueira)
  • Fix docstrings of add_group_constraints (#1090) (@abelsiqueira)
  • Add setup steps to benchmark to properly run from scratch (#1092) (@abelsiqueira)
  • Add instructions to run comparative benchmarks locally (#1093) (@abelsiqueira)
  • Validate schema's oneOf constraints (#1099) (@abelsiqueira)
  • Validate that only transport flows can be investable (#1102) (@abelsiqueira)
  • Validate group consistency in asset and group_asset tables (#1107) (@abelsiqueira)
  • Add a coefficient parameter to multiply the flow variables in the capacity constraints (#1116) (@datejada)

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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] about 1 month ago

TulipaEnergyModel.jl - v0.13.0

TulipaEnergyModel v0.13.0

Diff since v0.12.0

Breaking changes

  • Update DuckDB version that fixes the windows build.

Merged pull requests:

  • Always saving the solution when using run scenario (#1032) (@datejada)
  • Improvements to creating expressions attached to constraints (#1033) (@abelsiqueira)
  • Delete Cbc from the tests (#1034) (@datejada)
  • Remove DataFrames completely (#1035) (@abelsiqueira)
  • Change multi-year fixed and investment costs to help differentiate and fix objective fixed costs (#1048) (@abelsiqueira)
  • Create model schema from a JSON file (#1054) (@datejada)
  • Add type assertions in add_expression and attach_expression functions (#1055) (@abelsiqueira)
  • docs(formulation): Update formatting of tip admonition blocks by indenting the content in the raw markdown (#1060) (@kdheepak)
  • Rename index to id to prevent using sql keyword (#1061) (@abelsiqueira)
  • Rename "from" and "to" to "from_asset" and "to_asset" uniformly. (#1062) (@abelsiqueira)
  • Start moving sql queries to SQL files (#1063) (@abelsiqueira)
  • Update DuckDB version to 1.2.1 (#1075) (@abelsiqueira)
  • Update mathematical formulation with DC power flow constraints (#1078) (@datejada)
  • Clean test printing (#1079) (@abelsiqueira)
  • Fix Windows failure due to tests introduced in #1079 (#1083) (@abelsiqueira)
  • Use absolute path to include json file (#1085) (@abelsiqueira)

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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] about 2 months ago

TulipaEnergyModel.jl - v0.12.0

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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] 2 months ago

TulipaEnergyModel.jl - v0.11.0

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:

  • Remove first row of input files (#993) (@datejada)
  • Implement solution saving and exporting for refactored code (#1000) (@abelsiqueira)
  • [docs]: prepare documentation for release 0.11.0 (#1002) (@abelsiqueira)
  • Update EU benchmark case study (#1003) (@datejada)
  • Update .all-contributorsrc and run generate changing some links (#1005) (@abelsiqueira)
  • Bump actions/stale from 9.0.0 to 9.1.0 (#1006) (@dependabot[bot])
  • Modify docs flow lower bound (#883) (@gnawin)
  • Refactor some of the code related to model creation (#886) (@abelsiqueira)
  • Create TulipaVariable struct and define variable tables (#887) (@datejada)
  • Refactor content of create model into separate files (#888) (@abelsiqueira)
  • Multi year docs (#889) (@gnawin)
  • Various small fixes (#890) (@abelsiqueira)
  • Unpack sets inside add_*_constraints! functions (#893) (@suvayu)
  • Fix index (#894) (@gnawin)
  • Start transition from DataFrames to DuckDB (#896) (@abelsiqueira)
  • Add how-to for multi-year investments (#899) (@gnawin)
  • Create flow variables using the indices table (#900) (@datejada)
  • Create units_on variables using the indices table (#902) (@datejada)
  • Update storage variable creation using indices table (#904) (@datejada)
  • [docs] Modify the description of the parameter discounting factor operation cost (#905) (@gnawin)
  • Add uses of Tulipa to docs (#907) (@clizbe)
  • Add new package section to dev docs (#910) (@clizbe)
  • Add highest_in to create_constraints_indices (#913) (@gnawin)
  • Move units_on from DF to DuckDB (#915) (@clizbe)
  • Add highest_out to create_constraints_indices (#917) (@gnawin)
  • Fix case where the there are no time blocks to determine in a constraint (#920) (@abelsiqueira)
  • Fix: remove duplicate tmp_create_constraints_indices (#921) (@abelsiqueira)
  • Fix 91-developer.md (#922) (@clizbe)
  • Refactor variables to use TulipaVariable (#925) (@abelsiqueira)
  • Create all variables directly from connection and independent of dataframes (#926) (@abelsiqueira)
  • Create constraints with new TulipaConstraint object (#928) (@abelsiqueira)
  • Bump codecov/codecov-action from 4 to 5 (#929) (@dependabot[bot])
  • Split assets data to better reflect year dependency (#932) (@abelsiqueira)
  • Option to disable name creation (#936) (@joaquimg)
  • Remove *_partitions from graph object (#939) (@abelsiqueira)
  • Remove graph dependency from src/constraints/consumer.jl (#944) (@abelsiqueira)
  • Remove old code for compute_assets_partitions (#949) (@abelsiqueira)
  • Store a table name inside TulipaVariable and TulipaConstraint (#950) (@abelsiqueira)
  • Rename and split some constraints to reflect Miro (#951) (@abelsiqueira)
  • Remove bad asset test (#952) (@clizbe)
  • Add explicit return to JuliaFormatter and docs (#953) (@clizbe)
  • Create investment bound from the variable definition (#954) (@datejada)
  • Use @timeit on function calls (#956) (@gnawin)
  • Update TulipaConstraint to allow attaching more constraints to the same indices table (#959) (@abelsiqueira)
  • Move some of the active checks earlier in the workflow (#962) (@abelsiqueira)
  • Update capacity.jl to use the new attach functions and update tables (#963) (@abelsiqueira)
  • Update ramping file with new attach_constraint and create new tables (#965) (@abelsiqueira)
  • Use attach_constraint for src/constraints/storage.jl (#967) (@abelsiqueira)
  • Use let block in capacity constraints (#968) (@abelsiqueira)
  • Create transport table and update transport.jl (#970) (@abelsiqueira)
  • Update constraint files hub.jl, conversion.jl and energy.jl to use attach_constraints (#971) (@abelsiqueira)
  • Rename, split, create new constraints for group.jl (#972) (@datejada)
  • Add docs for enables_names = false (#973) (@clizbe)
  • Remove unnecessary expression and move lower bound of flow variable from src/constraints/capacity.jl (#976) (@abelsiqueira)
  • Remove most of graph from src/constraints/capacity.jl (#978) (@abelsiqueira)
  • Remove graph from src/constraints/energy.jl and transport.jl (#979) (@abelsiqueira)
  • Remove graph from src/constraints/ramping-and-unit-commitment.jl (#980) (@abelsiqueira)
  • Remove graph from src/constraints/storage.jl (#981) (@abelsiqueira)
  • Replace all intra_rp by rep_period and inter_rp by over_clustered_year (#982) (@abelsiqueira)
  • Remove data from graph object in src/constraints/group.jl (#985) (@datejada)
  • Remove need for representative_periods and graph in add_expression_terms_rep_period_constraints (#987) (@abelsiqueira)
  • Add explicit 'using' to tests (#995) (@clizbe)

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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] 3 months ago

TulipaEnergyModel.jl - v0.10.4

TulipaEnergyModel v0.10.4

Diff since v0.10.3

Merged pull requests:

  • Performance improvements (#999) (@datejada)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] 3 months ago

TulipaEnergyModel.jl - v0.10.3

TulipaEnergyModel v0.10.3

Diff since v0.10.2

Merged pull requests:

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

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] 3 months ago

TulipaEnergyModel.jl - v0.10.2

TulipaEnergyModel v0.10.2

Diff since v0.10.1

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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] 6 months ago

TulipaEnergyModel.jl - v0.10.1

TulipaEnergyModel v0.10.1

Diff since v0.10.0

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:

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

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] 7 months ago

TulipaEnergyModel.jl - v0.10.0

TulipaEnergyModel v0.10.0

Diff since v0.9.2

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 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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] 7 months ago

TulipaEnergyModel.jl - v0.9.2

TulipaEnergyModel v0.9.2

Diff since v0.9.1

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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] 9 months ago

TulipaEnergyModel.jl - v0.9.1

TulipaEnergyModel v0.9.1

Diff since v0.9.0

Merged pull requests:

  • Update TulipaIO compat and release v0.9.1 (#682) (@abelsiqueira)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] 10 months ago

TulipaEnergyModel.jl - v0.9.0

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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] 10 months ago

TulipaEnergyModel.jl - v0.8.0

TulipaEnergyModel v0.8.0

Diff since v0.7.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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] about 1 year ago

TulipaEnergyModel.jl - v0.7.0

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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] about 1 year ago

TulipaEnergyModel.jl - v0.6.2

TulipaEnergyModel v0.6.2

Diff since v0.6.1

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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] about 1 year ago

TulipaEnergyModel.jl - v0.6.1

TulipaEnergyModel v0.6.1

Diff since v0.6.0

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)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] about 1 year ago

TulipaEnergyModel.jl - v0.6.0

TulipaEnergyModel v0.6.0

Diff since v0.5.2

Merged pull requests:

  • Comment out direct_usage from benchmarks.jl to allow comparison in the EU case (#401) (@abelsiqueira)
  • Only run Benchmark if not in a fork and document (#405) (@abelsiqueira)
  • Use DataFrames to linearize indices (#407) (@abelsiqueira)
  • Split CONTRIBUTING out of README.dev (#410) (@clizbe)
  • Change display of EnergyProblem variable (#413) (@gnawin)
  • Add an extra condition to only include files ending with .jl (#416) (@datejada)
  • Update EU data with West Europe (#418) (@abelsiqueira)
  • Minor edits in dev.md (#420) (@gnawin)
  • Fix running codecov only on ubuntu-latest for Julia 1 (#423) (@abelsiqueira)
  • Added CONTRIBUTING ref to README (#425) (@clizbe)
  • Add function to compute duals (#427) (@datejada)

Closed issues:

  • Map ESDL to a Julia data structure (assets data, flows data, and graph) (#89)
  • Add tests for convergence and correctness (#114)
  • Produce feedback for failed benchmark runs (#234)
  • Profile the problem solving (#294)
  • Implement show for the EnergyProblem type (#321)
  • Add prices to the solution of the model (#328)
  • [BUG] Benchmark action is still not working or broken again (#403)
  • Split README.dev into 2 docs (#406)
  • On runtests.jl, only include files ending with .jl (#409)
  • Consider using a dummy variable for the initial energy storage level (#412)
  • Rearrange some instructions in dev.md (#417)
  • The western EU case results in an infeasible optimization problem (#419)
  • Add CONTRIBUTING to Contributing section of Readme (#421)
  • [BUG] - The codecov badge in the README.md status is unknown (#422)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] about 1 year ago

TulipaEnergyModel.jl - v0.5.2

TulipaEnergyModel v0.5.2

Diff since v0.5.1

Merged pull requests:

  • 191 plot functions (#360) (@clizbe)
  • Add verbose option to run_scenario (#361) (@clizbe)
  • Updates on the feature section (#363) (@datejada)
  • Update EU data with rep-periods-data.csv (#365) (@abelsiqueira)
  • Update features.md (#367) (@g-moralesespana)
  • Allow passing a different optimizer and attributes (#368) (@abelsiqueira)
  • Refactor model.jl into create-model.jl and solve-model.jl (#370) (@abelsiqueira)
  • CompatHelper: add new compat entry for MathOptInterface at version 1, (keep existing compat) (#375) (@github-actions[bot])
  • Test the Norse case with solvers HiGHS and SCIP (#377) (@abelsiqueira)
  • default_parameters now dispatches on Val types (#379) (@abelsiqueira)
  • Test Norse with Cbc and GLPK and conditionally with SCIP (#380) (@abelsiqueira)
  • Added pkg install & minor edits (#382) (@clizbe)
  • Create function to read parameters from file (#384) (@abelsiqueira)
  • Add stable doc badge (#386) (@abelsiqueira)
  • Add logo to the documentation (#387) (@datejada)
  • Add option to have both integer and continuous investments (#388) (@datejada)
  • CompatHelper: add new compat entry for TOML at version 1, (keep existing compat) (#389) (@github-actions[bot])
  • CompatHelper: add new compat entry for GraphMakie at version 0.5, (keep existing compat) (#390) (@github-actions[bot])
  • CompatHelper: add new compat entry for Colors at version 0.12, (keep existing compat) (#391) (@github-actions[bot])
  • CompatHelper: add new compat entry for Plots at version 1, (keep existing compat) (#392) (@github-actions[bot])
  • CompatHelper: add new compat entry for CairoMakie at version 0.11, (keep existing compat) (#393) (@github-actions[bot])
  • Add option to have the initial storage level as free value (#394) (@datejada)
  • Update benchmark action (#395) (@abelsiqueira)
  • Updated plot tutorial and minor docs fixes (#398) (@clizbe)
  • Added strict flag to check all assets have partition data (#399) (@clizbe)
  • Add log file (#400) (@gnawin)
  • CompatHelper: add new compat entry for TimerOutputs at version 0.5, (keep existing compat) (#402) (@github-actions[bot])

Closed issues:

  • Compare output to expected output (#35)
  • Add tests using multiple solvers (#113)
  • Create function to plot (#191)
  • Add an input column for assets and investments to select MIP or LP investments (#214)
  • Improve comment of run-benchmark (#235)
  • Include solver & options in call to optimize (#246)
  • Add a strict flag to reading partition data that disallows missing assets (#290)
  • Add option to set the initial stored energy free (#296)
  • Test @expression vs Dict for the calculation of flow_max_capacity (#305)
  • Create a log file recording the time spent for every step of the workflow (#308)
  • Add verbose option to the run_scenario function (#309)
  • Add to the documentation how to use commercial solvers (i.e., Gurobi, Xpress, Cplex) (#312)
  • Add a new section in the features in the documentation for the graph representation (#346)
  • Give option to rerun model with fixed integer variables to produce duals (#353)
  • [BUG] The EU data is not up-to-date (#364)
  • Refactor model.jl into create-model.jl and solve-model.jl (#369)
  • Update How to Use: Install section (#372)
  • Allow reading solver options from a file (#373)
  • Explain how to use different solvers and set different options in the documentation (#374)
  • Change how the default solver parameter function works (#376)
  • [BUG] SCIP doesn't work on Windows so testing fails (#378)
  • Update Plotting section of tutorial to include new plot functions (#381)
  • Add Tulipa logo to docs (#383)
  • Add stable doc badge (#385)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] over 1 year ago

TulipaEnergyModel.jl - v0.5.1

TulipaEnergyModel v0.5.1

Diff since v0.5.0

Merged pull requests:

  • CompatHelper: bump compat for MetaGraphsNext to 0.7, (keep existing compat) (#347) (@github-actions[bot])
  • Update the explanation of the features (variable time resolution) (#348) (@datejada)
  • Reduced run_scenario from 2 functions to 1 with same functionality (#349) (@clizbe)
  • Remove obsolete function resolution_matrix (#354) (@gnawin)
  • Change the RP input structure (#356) (@greg-neustroev)
  • Refactor transport capacity (#357) (@gnawin)
  • Release 0.5.1 (#362) (@gnawin)

Closed issues:

  • Change the Tulipa logo (#99)
  • Update text across repos (#251)
  • Update formulation in the documentation with the ranges/matrices (#256)
  • Document structures with examples (#298)
  • Change the rep-periods-data.csv structure to allow time-linking constraints (#336)
  • Merge two run_scenario functions into one (#343)
  • Transport assets export/import capacity refactor (#345)
  • Obsolete function resolution_matrix (#351)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] over 1 year ago

TulipaEnergyModel.jl - v0.5.0

TulipaEnergyModel v0.5.0

Diff since v0.4.0

Merged pull requests:

  • Update readme dev (#248) (@greg-neustroev)
  • Add Greg to citation (#249) (@greg-neustroev)
  • Added coverage to gitignore (#250) (@clizbe)
  • Manually filter the partitions that intersect (#252) (@abelsiqueira)
  • Implement graph structure (#254) (@abelsiqueira)
  • Deleted redundant row from Norse flow data (#259) (@clizbe)
  • Increase .JuliaFormatter margin to 100 (#260) (@abelsiqueira)
  • Fix summation of flow profile over time block (#265) (@abelsiqueira)
  • Add profiles to graph structure (#267) (@abelsiqueira)
  • Remove id from CSV files and use the asset name explicitly (#270) (@abelsiqueira)
  • Move partitions to inside the graph structure (#272) (@abelsiqueira)
  • Create a structure for representative periods (#273) (@abelsiqueira)
  • Create EnergyModel structure (#274) (@abelsiqueira)
  • Added Lauren's ORCID to CFF (#276) (@clizbe)
  • Store the solution inside the graph structure and the objective value inside the problem struct (#277) (@abelsiqueira)
  • Rename ...energy_model... to ...energy_problem... (#283) (@abelsiqueira)
  • Return all variables in the solution and pass the solution to save output (#284) (@abelsiqueira)
  • Move the constraints partitions to EnergyProblem (#285) (@abelsiqueira)
  • Move model to inside the EnergyProblem structure (#286) (@abelsiqueira)
  • CompatHelper: add new compat entry for MetaGraphsNext at version 0.6, (keep existing compat) (#287) (@github-actions[bot])
  • Include the investment potential (#297) (@datejada)
  • Allow user to decide whether to use EnergyModel or not (#299) (@abelsiqueira)
  • Fix objective function calculation of the variable cost (#301) (@datejada)
  • Add Tiny case study with variable resolution (#302) (@clizbe)
  • Update gitignore file (#304) (@datejada)
  • Update benchmarks (#311) (@abelsiqueira)
  • Add profiling.jl and instructions (#314) (@abelsiqueira)
  • Don't sort profile to avoid memory allocation (#315) (@abelsiqueira)
  • Improve computation of rp partition (#317) (@abelsiqueira)
  • Add duration of the block to the upper and lower bound of the flows (#318) (@datejada)
  • Use graph functions to find in and out neighbors of assets (#319) (@abelsiqueira)
  • Change capacity constraints to be defined in the lowest resolution (#322) (@datejada)
  • Document structures, how to use, and tutorial (#323) (@abelsiqueira)
  • Short tutorial on writing to a CSV and plots (#330) (@abelsiqueira)
  • Small fix on benchmarks (#331) (@abelsiqueira)
  • Filter B_flow in the highest resolution expressions (#333) (@abelsiqueira)
  • Avoid creating a dataframe of unique values in IO (#335) (@abelsiqueira)
  • Add simple EU case input data to benchmark folder (#337) (@gnawin)
  • Made documentation cleaner and more navigable (#339) (@clizbe)
  • Remove obsolete function create_graph (#341) (@gnawin)
  • Add flexible time resolution to the documentation (#342) (@datejada)

Closed issues:

  • Compare using NamedTuples instead of Dict for the parameters (#36)
  • Data structures to JuMP Model (#61)
  • ESDL to CSV (#88)
  • CSV to data structures (#94)
  • Create struct to hold the Asset and Flow attributes (#105)
  • Create a graph with the data structure (#106)
  • Decide whether to use DataFrames as data structures or actual structs (#118)
  • Use ids in the model formulation instead of node_name (#125)
  • Refactor the flow definition in the i/o and the model (#183)
  • Add a parameter and constraint in the model to include a max investment limit (#197)
  • Check if filtering the time intervals improves the speed of the model (#220)
  • Investigate whether using the matrix for time resolutions is a good idea (#221)
  • Create a new tiny test using different time resolutions (#225)
  • Update README.DEV (#238)
  • Add Greg to the CITATION.cff (#242)
  • Add to the gitignore the folder /coverage (#245)
  • [BUG] - Norse data has repeated flow (#253)
  • Add Lauren's ORCID to the CFF (#258)
  • Store the profiles in the graph structures (#261)
  • Create a structure for the representative periods and other time stuff (#262)
  • Create a structure to hold all parts (#263)
  • [BUG] - Flow profiles are not being used correctly (#264)
  • Store solution in the graph structures (#268)
  • Move partitions to inside the graph structure (#271)
  • Move constraints_partitions to energy problem structure (#279)
  • Rename create_energy_model... to create_energy_problem... (#280)
  • Consider moving the JuMP model inside the EnergyProblem structure (#281)
  • Return all solution values in the solve and pass more general structs to the save output function (#282)
  • Allow non-EnergyModel usage (#293)
  • The variable cost of flow does not get multiplied by the partition range (#300)
  • Add the debugging folder to the gitignore file (#303)
  • Update documentation for V1.0 release! (#306)
  • Add the Julia packages to use XPRESS, GUROBI, CPLEX in the Project.toml file (#310)
  • The overall_output_flows constraint should be written in the highest resolution not the lowest (#313)
  • [BUG] - The upper and lower bound of the flows is not multiply by the duration (#316)
  • Document structures, how to use, and tutorial (#324)
  • Create a section in the documentation with an explanation of the flexible temporal resolution (#325)
  • Describe in the documentation the input data (#326)
  • Include in the tutorial how to export the results to CSV and how to plot some results (#327)
  • Filter B_flow in new highest resolution expressions (#332)
  • Remove a redundant function (#340)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] over 1 year ago

TulipaEnergyModel.jl - v0.4.0

TulipaEnergyModel v0.4.0

Diff since v0.3.0

Merged pull requests:

  • Add template for Epic issue (#98) (@sjvrijn)
  • Updated issue templates (#185) (@clizbe)
  • Fixed benchmark "redefinition of constant" warning (#189) (@clizbe)
  • Updated README.DEV to include JuilaFormatter (#192) (@clizbe)
  • Add new data for a second representative period (#194) (@datejada)
  • Add new columns to the rp file (#195) (@gnawin)
  • Put tests in separate files (#196) (@clizbe)
  • Make the time step (k) dependent on the representative period (rp) (#199) (@gnawin)
  • Add warning catch for infeasible test (#200) (@clizbe)
  • Fix infeasible catch for Julia 1.6 (#201) (@clizbe)
  • Changed Norse flows-data to use asset_name (#204) (@clizbe)
  • Updated documentation to fix linebreaks (#205) (@clizbe)
  • Multiply the time-resolution matrices by the rp time scale/duration (#206) (@abelsiqueira)
  • Add files with Assets and Flows time intervals and functions to parse it (#210) (@abelsiqueira)
  • Also test on Julia 1.6 on PRs (#211) (@abelsiqueira)
  • Model the different time resolutions (#212) (@abelsiqueira)
  • Add a section to build docs locally (#213) (@datejada)
  • Implement :all strategy for computing rp_periods (#215) (@abelsiqueira)
  • Added function to run Tulipa in one line (#216) (@clizbe)
  • Add LocalCoverage instructions to README.dev.md (#218) (@sjvrijn)
  • Update README.dev.md for consistency (#219) (@sjvrijn)
  • Create expressions for incoming and outgoing flows (#228) (@abelsiqueira)
  • Use a random tmp dir to write the solver output in the benchmark (#231) (@abelsiqueira)
  • Remove single-letter prefix for expressions and constraints (#232) (@abelsiqueira)
  • Write a comment on the PR when running benchmark (#236) (@abelsiqueira)
  • Add initial storage level and storage inflows (#239) (@datejada)
  • Rename time symbols (#240) (@greg-neustroev)
  • Change constraint to bound (#241) (@greg-neustroev)
  • Add quotes on the benchmark comment body (#244) (@abelsiqueira)
  • Add compat bounds to SparseArrays (#247) (@abelsiqueira)

Closed issues:

  • Update the issue templates (#90)
  • Associate parameters (from ESDL) with asset/flow attributes (#91)
  • Change Actions to only run Ubuntu except on Main (#133)
  • Organize tests into different files (#152)
  • Add LocalCoverage into the workflow (#169)
  • Input and output folders for the benchmark (#174)
  • Update matrix creation (#178)
  • Add number of time steps and time scale to RP file (#179)
  • Make the periods dependent of the representative period (#180)
  • Add a second representative period to Norse case (#181)
  • Add file for the time aggregation/resolution of assets and flows (#182)
  • Add information on installing JuliaFormatter for the pre-commit (#186)
  • Update matrix creation to use time_scale (#187)
  • Add a function to create the constraint time resolution using all breakpoints (#188)
  • Catch warning from infeasible test (#190)
  • Write the output of the benchmark to a different location (#193)
  • Add Storage Inflows and Initial Storage Level data for the Hydro in the Norse Case (#198)
  • Fix mathematical formulation in documentation (#202)
  • Change Norse flows-data to use asset_name (#203)
  • Document running the documentation locally (#207)
  • Better name for time resolution "stuff" (#208)
  • Function to run_scenario (#209)
  • How to layout the time profiles after clustering for representative periods? (#217)
  • Create expressions for the incoming and outgoing flows (and possible others) (#222)
  • Add the initial storage to the equation (#223)
  • Don't use @constraint for lower bound of flow (#224)
  • Standarised all the expression's name in the optimisation model without e_ (#229)
  • [BUG] - Benchmark workflow is broken (#230)
  • Early feedback when run-benchmark is run (#233)
  • [BUG] - Benchmark broken again (#243)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] over 1 year ago

TulipaEnergyModel.jl - v0.3.0

TulipaEnergyModel v0.3.0

Diff since v0.2.0

Merged pull requests:

  • Created structs describing CSVs (#122) (@clizbe)
  • 127-change-inputs-names (#128) (@datejada)
  • Input validation (#132) (@suvayu)
  • Change the name convention (#139) (@datejada)
  • Made reading CSV into dataframe a separate function (#140) (@clizbe)
  • Change all Float32 to Float64 (#142) (@gnawin)
  • Changed HowTo and added link to Preprint (#143) (@clizbe)
  • Add functions to compute time resolution periods and matrices (#144) (@abelsiqueira)
  • Fix benchmarks and add info on how to run it manually (#150) (@abelsiqueira)
  • Add csv files in the test folder (#151) (@gnawin)
  • Changed naming convention and removed old CSVs (#154) (@clizbe)
  • Add infeasible run test (#155) (@datejada)
  • Create TestOnPR workflow with a lighter test load (#156) (@abelsiqueira)
  • Added new test to achieve full coverage (#157) (@clizbe)
  • 135 include all assets (#161) (@clizbe)
  • Separate create and solve model (#162) (@gnawin)
  • Added details to README.dev to prevent pushing to origin (#163) (@clizbe)
  • Validate CSV files schema while reading (#166) (@abelsiqueira)
  • Refactor header argument into read_csv_with_schema (#168) (@abelsiqueira)
  • Use Norse data on the benchmarks (#171) (@abelsiqueira)
  • Add data for flows profile (#173) (@datejada)
  • 175 improve norse case (#176) (@datejada)
  • Release 0.3.0 (#184) (@gnawin)

Closed issues:

  • Compare to a model without Sets and dictionaries (#16)
  • Consider adding a triage tag/status (#34)
  • [BUG] Fix CompatHelper action (#39)
  • Add parameters to the Norse case (#101)
  • Describe every CSV that is required (#102)
  • Create function that reads CSVs (#104)
  • Formulate the model as a network graph (#107)
  • Implement a function that generates the resolution matrix (#109)
  • Add *.lp to .gitignore (#120)
  • Revise the naming convention for everything (e.g., p_*) (#123)
  • Change InputTables.jl to match io.jl (#127)
  • [BUG] - Issue Status Workflow not working (#129)
  • Change Actions to only run Ubuntu except on Main (#133)
  • Ability to couple with other models (#134)
  • Include all the asset types in the formulation (#135)
  • Change Float32 to Float64 (#136)
  • Implement naming convention (#137)
  • Update documentation (#141)
  • Update tests to make Codecov happy (#145)
  • [BUG] - The benchmarks have not been updated (#146)
  • Add an infeasible model for testing (#149)
  • Consider splitting the model creation and the model solving to allow benchmarking separately (#153)
  • Improve dev documentation for push and rebase (#158)
  • Add a description to validate_df (also for autodoc) (#164)
  • Read CSV passing type information to validate while reading (#165)
  • header = 2 can be refactored inside the reading function (#167)
  • Update benchmarks with Norse case (#170)
  • Add data to flows-profiles of Norse (#172)
  • Improve the Norse case test case data (#175)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] over 1 year ago

TulipaEnergyModel.jl - v0.2.0

TulipaEnergyModel v0.2.0

Diff since v0.1.0

Merged pull requests:

  • Add tiny test files by @datejada (#119) (@abelsiqueira)
  • Add function to create graph from node and edges data CSV (#121) (@abelsiqueira)
  • Use new tiny data and the graph structure in the model (#124) (@abelsiqueira)
  • Release 0.2.0 (#126) (@clizbe)

Closed issues:

  • Change input format to use GML (#62)
  • Publish the package! (#82)
  • Convert the current test (tiny example) into CSVs by hand (#100)
  • Create function that reads graph information from CSVs (#103)
  • Implement the graph formulation (#108)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] over 1 year ago

TulipaEnergyModel.jl - v0.1.0

TulipaEnergyModel v0.1.0

Merged pull requests:

  • Add pull request template file (#4) (@datejada)
  • Add README file for developers (#5) (@datejada)
  • Fix Julia files format (#9) (@datejada)
  • Add linting to workflows (#20) (@datejada)
  • #21-change-flow-variable (#24) (@datejada)
  • Add YML files for issue templates (#25) (@datejada)
  • Add files and changes for the documentation (#26) (@datejada)
  • Added StaleWorkflow yaml (#37) (@clizbe)
  • Refactor the IO part out of optimize_investments (#38) (@abelsiqueira)
  • Wrote GIT Rules of Engagement and edited some other sections of READM… (#42) (@clizbe)
  • Add more linters and formatters for yaml and json (#44) (@abelsiqueira)
  • Use latest CompatHelper.yml (#45) (@abelsiqueira)
  • Refactor CI workflow into 3 files and add path conditions to Test and Lint (#47) (@abelsiqueira)
  • Create benchmark and GitHub workflow to run it on PRs (#50) (@abelsiqueira)
  • update format of YML issue templates (#52) (@datejada)
  • Update badges on README (#54) (@abelsiqueira)
  • Add git commands in README.dev (#57) (@gnawin)
  • Use DataFrames to write to csv (#58) (@abelsiqueira)
  • Change model name (#64) (@datejada)
  • Explicitly list the permissions of each workflow (#68) (@abelsiqueira)
  • Allow CompatHelper to use DOCUMENTER_KEY (#69) (@abelsiqueira)
  • CompatHelper: add new compat entry for JuMP at version 1, (keep existing compat) (#70) (@github-actions[bot])
  • CompatHelper: add new compat entry for DataFrames at version 1, (keep existing compat) (#71) (@github-actions[bot])
  • CompatHelper: add new compat entry for HiGHS at version 1, (keep existing compat) (#72) (@github-actions[bot])
  • CompatHelper: add new compat entry for CSV at version 0.10, (keep existing compat) (#73) (@github-actions[bot])
  • Added run Julia Formatter on Save to README.dev (#76) (@clizbe)
  • Renamed stale workflow (#77) (@clizbe)
  • Custom command to run benchmark from a PR (#80) (@suvayu)
  • Add citation file (#87) (@datejada)
  • Rename TulipaBulb in README.dev.md (#92) (@sjvrijn)
  • Complete README file (#93) (@datejada)
  • Update Project.toml (#96) (@datejada)

Closed issues:

  • Add README.dev.md file (#1)
  • Add PULL_REQUEST_TEMPLATE.md file (#2)
  • Fix Julia file format (#3)
  • Add issue templates (#6)
  • Create labels and label issues (#7)
  • Add linting workflow (#8)
  • Complete README (#10)
  • Create a CITATION.cff file (#11)
  • Create documentation (#12)
  • Create script to benchmark model using BenchmarkTools.jl (#13)
  • Use CSV and DataFrames to write the output (#14)
  • Write the mathematical description of the model (#15)
  • Refactor the optimise_investments function (#17)
  • Describe objectives for the package (#18)
  • Enable Codecov (#19)
  • Change the flow variable definition in the model (#21)
  • Add workflows to auto-label issues (#23)
  • Change the Tulipa name :'( (#27)
  • Add "run on save" of Julia Formatter to README.dev (#29)
  • Draft assignment/InProgress definition in README.dev (#31)
  • Add stable documentation (#32)
  • Change the GitHub workflows to run only when specific files have changed (#33)
  • Fix CompatHelper action (#39)
  • YAML and JSON formatting (#40)
  • Add line-ending setup to README.dev (#41)
  • Add most commonly used git commands in README.dev.md (#43)
  • Consider changing the name StaleWorkflow removing the Workflow (#46)
  • The linting is failing for the ISSUE_TEMPLATE files (#51)
  • [BUG] Lint is broken because README has old badges (#53)
  • Change names for the organization and the repository (#60)
  • Make the workflows permissions explicit (#65)
  • Add DOCUMENTER_KEY to secrets (#66)
  • Update line-endings directions in README.dev (#85)

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by github-actions[bot] over 1 year ago

TulipaEnergyModel.jl - Zenodo

pre-release with Zenodo DOI

Energy Systems - Grid Analysis and Planning - JetBrains MPS
Published by datejada over 1 year ago