Recent Releases of Tulipa Energy Model

Tulipa Energy Model - v0.22.2

TulipaEnergyModel v0.22.2

Diff since v0.22.1

Breaking changes

No breaking changes

Documentation

  • New tutorial for using the flow commodity price profiles
  • New CVaR tutorial

Test

  • New test case for CVaR
  • New tests of the objective function of tutorials

Performance Improvements

  • Performance improvements to reduce memory allocation in profiles and storage constraints

Merged pull requests:

  • Add tutorial for flow commodity price profiles (#1626) (@Copilot)
  • Add CVaR test case study and tutorial (#1627) (@Copilot)
  • [AUTO] pre-commit update (#1630) (@github-actions[bot])
  • Refactor objective function for CVaR (#1631) (@datejada)
  • Bump actions/checkout from 6 to 7 (#1632) (@dependabot[bot])
  • Update tutorial tests to validate objective function values (#1633) (@Copilot)
  • Improve Tulipa performance when running in a loop (#1635) (@datejada)

Closed issues:

  • Test objective values of tutorials (#1362)
  • [docs]: Add a tutorial for the use of the commodity price profile (#1464)
  • [CVaR]: Conditional Value-at-Risk Feature (#1523)
  • [CVaR]: Add a test case study (#1544)
  • [CVaR]: Refactor the objective function to improve readability (#1629)
  • Slow performance when running Tulipa in a loop (#1634)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] about 1 month ago

Tulipa Energy Model - v0.22.1

TulipaEnergyModel v0.22.1

Diff since v0.22.0

Breaking changes

No breaking changes

Documentation

Update tutorials to run when building the documentation to guarantee they are up to date with new versions.

Merged pull requests:

  • [AUTO] pre-commit update (#1623) (@github-actions[bot])
  • Update tutorials to run when deploying the docs (#1624) (@datejada)
  • Unblock Documentation workflow by removing Documenter hard HTML size limit (#1625) (@Copilot)

Closed issues:

  • Refactor expression creation splitting indices and JuMP expressions (#1239)
  • Modify data in-memory in FFTR Tutorial (and others?) (#1384)
  • [docs] Use TulipaBuilder in the workflow tutorial from raw data (#1496)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] about 2 months ago

Tulipa Energy Model - v0.22.0

TulipaEnergyModel v0.22.0

Diff since v0.21.0

Breaking changes

  • Reworked model parameters. The ModelParameters Julia struct and EnergyProblem(connection; model_parameters_file=...) path were removed. Model parameters now live in the model_parameters table, with defaults populated during data preparation.

  • Renamed/refactored investment method configuration. The old asset.investment_method field was replaced by asset.vintage_method, with current values:

    • aggregated
    • compact_profiles
    • compact_efficiencies
  • Changed storage-energy investment configuration. storage_method_energy is now a string option instead of a boolean:

    • none
    • optimize_storage_capacity
    • use_fixed_energy_to_power_ratio
  • Changed unit commitment configuration. unit_commitment is now the method selector with values such as none, basic, and 3var; the old separate unit_commitment_method field was removed.

  • Reworked investment-group inputs. The old group_asset table and asset.investment_group column were replaced by explicit tables:

    • investment_group_asset
    • investment_group_asset_membership
  • Renamed storage “over-clustered year” terminology to “inter-period”. This affects internal/output names such as var_storage_level_inter_period, cons_balance_storage_inter_period, and related dual outputs.

  • Assets with min_operating_point > 0 can now receive minimum flow constraints even when unit_commitment = "none". Existing models that relied on min_operating_point being inactive without unit commitment may solve differently.

Added

  • Added Conditional Value at Risk support for stochastic optimization, including:

    • model parameters risk_aversion_weight_lambda and risk_aversion_confidence_level_alpha
    • Value at Risk threshold variable mu
    • tail excess slack variable xi
    • scenario tail excess constraints
    • CVaR objective contribution
  • Added objective cost breakdown support through obj_breakdown, with documentation for extracting more detailed objective components.

  • Added validation for consistency between investable settings and asset_both data.

  • Added support for minimum flow limits without requiring full unit commitment.

  • Added schema-derived documentation for mandatory input columns.

Changed

  • Refactored objective construction into src/objectives/, with one file per objective term.

  • Updated inter-period storage balance to use the accumulated intra-period storage level delta formulation.

  • Updated to TulipaBuilder 0.3.

  • Updated documentation for multi-year investments, CVaR, objective breakdowns, API references, and developer guidance.

Fixed

  • Fixed seasonal storage min/max profile queries to use assets_timeframe_profiles.

  • Updated the JuMP IIS infeasibility-checking example.

  • Removed temporary debug files introduced during the TulipaBuilder update.

Maintenance

  • Added Aqua tests and fixed issues they reported.

  • Updated CI actions and dependency compat bounds, including Codecov, stale action, upload-artifact, julia-actions/cache, ParametricOptInterface, and OrderedCollections.

  • Added data schema migration guidance and migration scripts for investment-group changes.

Merged pull requests:

  • [AUTO] pre-commit update (#1514) (@github-actions[bot])
  • Bump julia-actions/cache from 2 to 3 (#1515) (@dependabot[bot])
  • Add copilot instructions for issues and reviews (#1516) (@datejada)
  • Rename overcluster year (#1530) (@g-moralesespana)
  • Fix issue #1531: Update the working example of checking infeasibility through JuMP IIS functionality. (#1532) (@IsaiMaganTNO)
  • Change in energy to power ratio method for energy storage assets (#1533) (@datejada)
  • Add model parameters for risk aversion: weight lambda and confidence level alpha (#1534) (@florinelaseur)
  • Add variable Value at Risk threshold mu and tests (#1535) (@florinelaseur)
  • docs: add florinelaseur as a contributor for code, research, and doc (#1536) (@allcontributors[bot])
  • Add objective cost breakdown to existing components in the objective (#1537) (@gnawin)
  • [docs] Add more instructions to AGENTS.md (#1539) (@gnawin)
  • Add tail excess loss slack variable xi and tests (#1540) (@florinelaseur)
  • Refactor model parameters (#1542) (@datejada)
  • Add CVaR term to objective and tests (#1543) (@florinelaseur)
  • More improvements to AGENTS.md (#1545) (@abelsiqueira)
  • Split objective.jl into objectives/ folder (one file per term) (#1551) (@Copilot)
  • Remove year_data table (#1552) (@gnawin)
  • Add Julia MCP testing instructions to AGENTS.md and developer docs (#1556) (@abelsiqueira)
  • Update docs with inter-period instead of over-cluster-year (#1557) (@datejada)
  • Update to TulipaBuilder 0.3 (#1558) (@abelsiqueira)
  • Bump codecov/codecov-action from 5 to 6 (#1561) (@dependabot[bot])
  • Change investment group description to use separate table for membership (#1562) (@abelsiqueira)
  • Remove ModelParameters struct (#1567) (@gnawin)
  • Add data schema migration guidelines to docs and AGENTS (#1568) (@abelsiqueira)
  • Small refactor of data validation and agent docs (#1569) (@abelsiqueira)
  • Update TulipaBuilder requirement to 0.3.0 in /test (#1570) (@dependabot[bot])
  • [docs] Update formulation (#1571) (@gnawin)
  • Add CVaR scenario tail excess constraints (#1575) (@datejada)
  • Add SQL guidelines for coding (#1576) (@datejada)
  • Centralize export declarations (#1581) (@abelsiqueira)
  • Add AI usage disclosure section to JOSS paper and small fix (#1582) (@abelsiqueira)
  • Refactor inter period storage balance to use accumulated intra period storage level (delta formulation) (#1586) (@datejada)
  • Add paragraph related to impact to JOSS paper (#1591) (@abelsiqueira)
  • Update mathematical formulation with delta formulation (#1592) (@datejada)
  • Create output directory in tutorial 1 (#1594) (@abelsiqueira)
  • Fix seasonal storage min/max profile query to use assets_timeframe_profiles (#1595) (@datejada)
  • Refactor and rename investment methods (#1596) (@gnawin)
  • Update documentation with CVaR feature (#1599) (@datejada)
  • Refactor unit_commitment parameter (#1602) (@datejada)
  • Remove debug files added by 65914821 (#1603) (@abelsiqueira)
  • Update documentation on multi-year investments (#1605) (@gnawin)
  • Add instructions for finer objective breakdown-down (#1606) (@gnawin)
  • Bump actions/stale from 10.2.0 to 10.3.0 (#1607) (@dependabot[bot])
  • [AUTO] pre-commit update (#1608) (@github-actions[bot])
  • Update SIENNA link (#1610) (@datejada)
  • Update SIENNA link (#1611) (@datejada)
  • Document mandatory input columns with schema-derived summary table (#1612) (@Copilot)
  • [AUTO] pre-commit update (#1613) (@github-actions[bot])
  • Add min flow limit without unit commitment constraint (#1614) (@datejada)
  • [AUTO] pre-commit update (#1616) (@github-actions[bot])
  • Bump codecov/codecov-action from 6 to 7 (#1617) (@dependabot[bot])
  • Update OrderedCollections requirement from 1 to 1, 2.0 (#1618) (@dependabot[bot])
  • Update OrderedCollections requirement from 1 to 1, 2.0 in /docs (#1619) (@dependabot[bot])
  • Restructure API reference and align docs checks with public API (#1620) (@Copilot)
  • Rename investment group input tables to explicit investment_* names (#1621) (@Copilot)
  • Update coverage recommendation in docs (#1622) (@datejada)

Closed issues:

  • Align terminology with INES-spec (#622)
  • Rename rep_periods_mapping (#643)
  • Write Developer documentation for adding features (#986)
  • Create the flows rep_periods_partition table from the information of the assets (#1052)
  • Add two-stage stochastic optimization feature (#1082)
  • Improve model creation by using expressions and bounds instead of constraints (#1084)
  • Improve required/optional section of Model Parameters (#1087)
  • Validate the sum of minimum constraints is greater than the group maximum constraint (#1112)
  • Add maximum capacity group constraint (#1152)
  • Change binary and handling of flow capacity (#1162)
  • Add a method to determine how you want to consider the final storage level of a storage asset (#1174)
  • Metadata for visualisation dashboard (#1201)
  • Update JuliaFormatter to v2 (#1233)
  • Remove efficiency and other parameters from the unrolled partitions (#1235)
  • Investigate time efficiency and TimerOutput oddities (#1243)
  • [Validation] consistency between investable and investment method none (#1249)
  • Refactor the logic of the multi-year expressions around the definition of investment_method (#1250)
  • Improve build speed of documentation (#1264)
  • Improve benchmarks to Include more features (#1278)
  • How should we treat "ignored" values (#1285)
  • Rename or remove year-data (#1356)
  • Output breakdown of the objective value (#1389)
  • Add documentation on vintage modeling (#1424)
  • [Bug] The parameter energy_to_power_ratio is no longer used in the code (#1446)
  • [Bug] Double counting operational cost (#1473)
  • Align parameters with the formulation (#1485)
  • Update coverage recommendation in docs from codecov.yml (#1517)
  • Rename storage level variables (#1518)
  • Add storage level intra-period variable for seasonal storage (#1519)
  • Modify storage balance inter-period constraint with deltas (#1520)
  • [CVaR]: Add new model parameter for risk aversion (#1524)
  • [CVaR]: Add VaR threshold variable (#1525)
  • [CVaR]: Add slack variable that captures tail excess losses (#1526)
  • [CVaR]: Add CVaR term in the objective function (#1527)
  • [CVaR]: Add tail excess constraint (#1528)
  • [CVaR]: Update documentation (#1529)
  • [docs] Update documentation on exploring infeasibility (#1531)
  • Objective breakdown in post-processing (#1538)
  • Use a DuckDB for model parameters instead of a TOML file (#1541)
  • [CVaR]: Make stochastic_scenario table mandatory (#1547)
  • Rearrange objective terms into more files (#1549)
  • [Bug] Min/Max limits for seasonal storage always use default values (#1553)
  • Remove ModelParameter structure (#1554)
  • Make the code such that an asset can belong to more than one group (#1559)
  • Change name from group_asset to investment_group_asset (or any other better name) (#1565)
  • Missing output directory - Tutorial 1 (#1578)
  • Better structure of API Reference in documentation (#1579)
  • Centralize export declarations (#1580)
  • Add storage level intra-period constraints for seasonal storage (#1584)
  • Update mathematical formulation with delta formulation (#1593)
  • Add minimum_flow_limit constraint to represent must-run features (#1597)
  • Change default for the unit_commitment_method parameter or remove it (#1598)
  • Add mandatory columns per table to the documentation (#1600)
  • Update link to SIENNA (#1609)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] 2 months ago

Tulipa Energy Model - v0.21.0

TulipaEnergyModel v0.21.0

Diff since v0.20.1

Breaking changes

  • year has been renamed to milestone_year. With this change, year should appear explicit whether it is a milestone year or a commission year, unless irrelevant. It is recommended to update your data and/or workflow to reflect this change.

Merged pull requests:

  • TLC workflow tutorial squashed (#1405) (@IsaiMaganTNO)
  • [Validation] Add consistency check between investable and asset_both (#1497) (@Copilot)
  • Add Aqua tests and fix the issues found (#1498) (@abelsiqueira)
  • Bump actions/stale from 10.1.1 to 10.2.0 (#1499) (@dependabot[bot])
  • year -> milestone_year (#1502) (@gnawin)
  • Bump actions/upload-artifact from 6 to 7 (#1503) (@dependabot[bot])
  • Update ParametricOptInterface requirement from 0.12.1, 0.14 to 0.12.1, 0.14, 0.15 (#1504) (@dependabot[bot])
  • Update Aqua requirement to 0.8.14 in /test (#1508) (@dependabot[bot])
  • Disable pushing preview when the PR is made by dependabot (#1510) (@abelsiqueira)
  • Prevent dependabot from trying to comment on PR (#1512) (@abelsiqueira)
  • Release 0.21.0 (#1513) (@gnawin)

Closed issues:

  • Finalize renaming tables and columns (#1086)
  • [Validation] consistency between investable and asset_both (#1319)
  • [test] Add Aqua to tests (#1500)
  • Prevent dependabot from trying to deploy Docs (#1509)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] 5 months ago

Tulipa Energy Model - v0.20.1

TulipaEnergyModel v0.20.1

Diff since v0.20.0

Merged pull requests:

  • Add Tutorial Stochastic Optimization (#1461) (@florinelaseur)
  • [AUTO] pre-commit update (#1491) (@github-actions[bot])
  • Fix mixed case of commodity_price profiles (#1492) (@abelsiqueira)
  • Update TulipaBuilder requirement to 0.1.5 in /benchmark (#1493) (@dependabot[bot])
  • Update TulipaClustering requirement to 0.5.1 in /benchmark (#1494) (@dependabot[bot])

Closed issues:

  • [2S-SO]: Add a tutorial and concepts section in the documentation (#1283)
  • [docs] Add EPRI's doc reference to the docs (#1484)
  • [docs]: Improve description of the input data in the OBZ Tutorial (#1487)
  • [Bug] Storage balance constraint wrongly include other commodities (#1488)
  • [Bug] If one commodity_price profile is attached to one flow the other ones must have a profile too (#1489)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] 6 months ago

Tulipa Energy Model - v0.20.0

TulipaEnergyModel v0.20.0

Diff since v0.19.1

Breaking changes

  • Remove the asset type hub. It is possible to model a hub by defining a consumer with peak demand = 0. Please update your workflows to consider this change.
  • Allow commodity_price to be a profile. This is useful to model the producer's commodity price as a time series.
  • Modifications in Tulipa to allow bids to be created via unit commitment for consumers

Merged pull requests:

  • Remove asset type "hub" (#1399) (@clizbe)
  • Allow commodity_price to be a profile (#1410) (@abelsiqueira)
  • Workaround allowing bids via unit commitment for consumers (#1440) (@abelsiqueira)
  • Update TOML requirement to 1.0.3 in /test (#1454) (@dependabot[bot])
  • [AUTO] pre-commit update (#1457) (@github-actions[bot])
  • [Small-doc-update] Update documentation on pre-commit (#1459) (@gnawin)
  • Fix Project.toml (#1462) (@abelsiqueira)
  • Fix bug when investment cost is zero (#1465) (@gnawin)
  • Update Statistics requirement to 1.11.1 in /test (#1466) (@dependabot[bot])
  • Updates to the benchmarks and profiling (#1467) (@abelsiqueira)
  • Update CompareMPS to not comment on PR when run by dependabot (#1468) (@abelsiqueira)
  • [Fix]: Update Statistics dependency version to 1 in test env (#1470) (@datejada)
  • [AUTO] pre-commit update (#1471) (@github-actions[bot])
  • Move input table schemas outside workflow (#1474) (@clizbe)
  • Rename a storage parameter (#1475) (@gnawin)
  • Remove numbers from tutorials (#1476) (@clizbe)
  • Move FFTR contraints table out of Concepts (#1477) (@clizbe)
  • Add test for storage energy balance (#1478) (@datejada)
  • Update MetaGraphsNext requirement from 0.7 to 0.7, 0.8 in /benchmark (#1479) (@dependabot[bot])
  • Fix Julia Formatter pre-commit hook to use julia command directly (#1481) (@Copilot)
  • Update stale issue and PR messages for 6 months (#1482) (@clizbe)
  • Fix pkg test example (#1486) (@clizbe)

Closed issues:

  • Add Grant ID everywhere (#908)
  • Remove asset type "hub" (#1163)
  • DEMOSES - Tulipa collaboration (#1267)
  • Add profiles to the more parameters to consider time variations in a year (#1269)
  • [Bug] Documentation "Analysis Workflow" is hiding the schemas (#1289)
  • [Multi-year Part III] Add conversion balance constraint for conversion assets (1 input & 1+ outputs) (#1352)
  • Move FFTR constraints table out of Concepts section (#1378)
  • [2S-SO]: Add test to the storage balance over clustered year (#1423)
  • [Bug] The parameter 'investment_cost' in the schema 'asset_commission' can cause errors when set to 0 (#1463)
  • Missing parameter defintion (#1472)
  • [Bug] TulipaBuilder v0.1.3 broke the tests (#1483)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] 6 months ago

Tulipa Energy Model - v0.19.1

TulipaEnergyModel v0.19.1

Diff since v0.19.0

Merged pull requests:

  • New test and fix for inflows profiles (#1439) (@abelsiqueira)
  • Bump actions/stale from 10.1.0 to 10.1.1 (#1441) (@dependabot[bot])
  • [AUTO] pre-commit update (#1442) (@github-actions[bot])
  • Bump actions/upload-artifact from 5 to 6 (#1443) (@dependabot[bot])
  • Bump actions/cache from 4 to 5 (#1444) (@dependabot[bot])
  • Bump peter-evans/create-pull-request from 7 to 8 (#1445) (@dependabot[bot])
  • Germán's update reducing around 200 words (#1448) (@abelsiqueira)
  • Replace CompatHelper by dependabot for compat autoupdate (#1450) (@abelsiqueira)
  • Ignore TulipaEnergyModel version in dependabot (#1455) (@abelsiqueira)

Closed issues:

  • Data provenance and preparation (#875)
  • Add a description of the tables available in the connection for the docs (#941)
  • Add keywords to the docs (#1070)
  • [docs]: Promote section activating specific constraints to its own subsection (#1308)
  • Rename or remove year-data (#1356)
  • Change rep_period profiles to handle rolling horizon (#1374)
  • Clarify Asset vs Flow resolution in FFTR tutorial (#1379)
  • Add using FFTR to the How To section (#1380)
  • Handle total partitions < time horizon (#1381)
  • Add post-processing to "unroll" flexible temporal resolution (#1382)
  • Relax the Stale bot (#1438)
  • Replace CompatHelper by dependabot for compat updates (#1449)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] 7 months ago

Tulipa Energy Model - v0.19.0

TulipaEnergyModel v0.19.0

Diff since v0.18.2

Breaking changes

  • Two‑stage stochastic optimization (2S‑SO) schema updates (#1415, #1419): new/modified tables and updated timeframe profiles information. Existing input data must be aligned to the new schema.

  • Scenario column type changed to INT (#1428): ensure inputs and any loaders cast scenario IDs to integers.

  • Rename of group to investment_group (#1425): both a column and a file were renamed. Update input CSVs, queries, and any scripts that reference the old name.

  • File naming updates for rolling-horizon (#1413): adjust any automation that depends on specific filenames.

Merged pull requests:

  • JOSS paper (#1284) (@abelsiqueira)
  • Rolling horizon (#1327) (@abelsiqueira)
  • Rolling horizon tutorial (#1387) (@abelsiqueira)
  • CompatHelper: bump compat for ParametricOptInterface to 0.14, (keep existing compat) (#1400) (@github-actions[bot])
  • Fix bug running roling horizon on Windows (#1402) (@abelsiqueira)
  • Make TestOnPRs run for all OSs if the label pr-test-all is added (#1403) (@abelsiqueira)
  • Bump actions/upload-artifact from 4 to 5 (#1406) (@dependabot[bot])
  • Compute and save dual variables during rolling horizon (#1407) (@abelsiqueira)
  • More robust test of printed EnergyProblem (#1409) (@abelsiqueira)
  • [Fix]: Update names in RH file names (#1413) (@datejada)
  • [2S-SO]: Update tables schema (#1415) (@datejada)
  • [AUTO] pre-commit update (#1416) (@github-actions[bot])
  • [2S-SO]: Two-stage stochastic optimization (#1417) (@datejada)
  • [2S-SO]: Add examples for Two-stage stochastic optimization (#1418) (@datejada)
  • [2S-SO]: Update schema for timeframe profiles information (#1419) (@datejada)
  • [2S-SO]: Add function to calculate scenario probability (#1421) (@datejada)
  • Minor refactoring (#1422) (@gnawin)
  • Rename column and file group to investment_group (#1425) (@abelsiqueira)
  • Move OBZ data to repo instead of downloading from Zenodo (#1427) (@abelsiqueira)
  • [Fix]: Update scenario column type to INT (#1428) (@datejada)
  • Fix DOIs and ORCIDs for JOSS paper (#1429) (@abelsiqueira)
  • [JOSS] Multiple affiliation must be quoted (#1430) (@abelsiqueira)
  • Modify parameters (#1432) (@gnawin)
  • [AUTO] pre-commit update (#1433) (@github-actions[bot])
  • Bump actions/checkout from 5 to 6 (#1434) (@dependabot[bot])
  • Apply MD060 rule to align markdown tables (#1437) (@Copilot)

Closed issues:

  • Implement unit scaling in the model (#257)
  • Translate the code to the formulation (#292)
  • Improve :greedy strategy in function compute_rp_partition (#355)
  • Include the marginal asset in the outputs (#371)
  • Define scenario specification workflow (#414)
  • Don't include integration tests in the code coverage (#430)
  • Validate the efficiency for inflows and outflows for conversion assets (#437)
  • Investigate the memory usage of model creation (#457)
  • Investigate using the package JET.jl for type stability checks (#459)
  • Create a tutorial for a hydropower assets in cascade example (#567)
  • Change capacity for storage asset to charging and discharging capacities (#617)
  • Create a meaningful year data for the Norse Case (#684)
  • Define as input the resolution input data in the rep_periods_data from somewhere in the pipeline (#686)
  • Improve user friendliness of the output of the @show of the energy_problem (#687)
  • Add profiling.jl to the tests (#703)
  • Should we use the ENUM type from DuckDB for the asset type? (#717)
  • Create a new test for the balance_sense constraint (#718)
  • How to use prepared statements in DuckDB to reuse common access patterns (#725)
  • Check if TidierDB.jl is useful for us (#727)
  • Improve group feature (#747)
  • Create individual test for the functions that creates the constraints in the model (#749)
  • Review if it makes sense to split "user input files" into information for new capacity and existing capacity (#774)
  • Creat How-To for adding options for specific solvers to specification file/method (#809)
  • Improve the INPUT workflow (#974)
  • Add log info in the console while the model is creating (#1008)
  • Use JuMP.add_to_expression! all over the code (#1021)
  • Improve the Profiling section in the developer documentation (#1022)
  • Rename files for clarity (#1041)
  • Consider creating auxiliary functions that tie the indices and containers (#1043)
  • Add the scenario index to the operational variables (#1050)
  • Consider adding OEO to schema / docs (#1053)
  • Remove prettier from docs (#1073)
  • Create a preprocessing step to use defaults, validate input data, and calculate flow partitions (#1081)
  • Validate connections of assets (#1100)
  • Validate units (#1103)
  • Validate consistency between investable and initial_units (#1111)
  • Add a tutorial that saves a case in a duckdb file (#1173)
  • Add plain English explanations of formulations (#1209)
  • Update benchmark to use OBZ Zenodo links (#1225)
  • Fix inconsistent data output format (#1242)
  • Reformulate inter-period constraint for seasonal storage (#1251)
  • Rename group parameter (#1252)
  • Reduce tutorial data to minimum required (#1261)
  • [2S-SO]: Update input schema for the new feature (#1298)
  • Refactor code in order to improve testing of constraints (#1310)
  • Distinguishing between types of transport capacities (#1324)
  • Add initial flow parameter for ramping constraints (#1328)
  • Split the constraints in the file ramping-and-unit-commitment.jl (#1331)
  • Define a rule when tables need to be ordered or not (#1335)
  • Add a description of each table of the schema (#1338)
  • Implement Rolling Horizon (#1365)
  • Create new test for storage level over clustering year (#1373)
  • Documentation updates related to rolling horizon (#1385)
  • Save dual variable solution in rolling horizon (#1395)
  • [2S-SO]: Add scenario index to seasonal storage (#1396)
  • [2S-SO]: Add example for stochastic optimization case study (#1397)
  • [Bug] Test on Windows is failing after rolling horizon (#1401)
  • Find a better solution for hosting data for test, docs, and benchmark (#1404)
  • [Bug] Tests are failing because of some update (#1408)
  • Change parameters commodity_price and efficiency (#1411)
  • [2S-SO]: Add function to calculate stochastic scenario probability, if it is not provided (#1420)
  • Apply manually rule MD060 to markdown files (#1435)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] 8 months ago

Tulipa Energy Model - v0.18.2

TulipaEnergyModel v0.18.2

Diff since v0.18.1

Merged pull requests:

  • Create test input for Rolling Horizon (#1367) (@abelsiqueira)
  • Modify exporting to CSV to use only connection (#1369) (@abelsiqueira)
  • Modify storage constraint to compute inflows using _profile_aggregate (#1371) (@abelsiqueira)
  • Mark remaining t_% tables as TEMP and remove t_grouped_% tables on model creation (#1377) (@abelsiqueira)
  • Fix stale issue & PR workflow (#1383) (@clizbe)
  • Deploy preview of the docs and paste link on PR (#1386) (@abelsiqueira)
  • Update Juha's CFF info (#1388) (@abelsiqueira)
  • Add solution column during creation of variable indices tables (#1392) (@abelsiqueira)
  • Update tutorials 4 and 5 in the docs (#1394) (@datejada)

Closed issues:

  • Improve the OUTPUT workflow (#975)
  • Refactor documentation (#983)
  • Validate consistency of unit_commitment, unit_commitment_method and units_on_cost (#1109)
  • Consider removing "energy" from asset descriptions in formulation (#1145)
  • Improve input-schemas.json description for parameters with currency (in the UoM) (#1160)
  • Refactor create_lowest_resolution_table and create_highest_resolution_table to allow other keys (#1192)
  • Including the contribution of the TLC Data team (#1245)
  • Create merge tables only for the relevant assets (#1268)
  • New test input for rolling horizon (#1366)
  • Modify exporting to CSV to use connection only (#1368)
  • Compute inflows aggregation using _profile_aggregate instead of DuckDB, to allow rolling horizon parameters (#1370)
  • Mark remaining t_% tables as TEMP and remove t_grouped_% tables on model creation (#1376)
  • Add solution column when creating variables (#1391)
  • Update Tutorial 4 and 5 to use TulipaClustering v0.5.0 (#1393)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] 10 months ago

Tulipa Energy Model - v0.18.1

TulipaEnergyModel v0.18.1

Diff since v0.18.0

Merged pull requests:

  • Fix typos in the docs (#1350) (@gnawin)
  • CompatHelper: bump compat for JSON to 1, (keep existing compat) (#1357) (@github-actions[bot])
  • Bump peter-evans/find-comment from 3 to 4 (#1358) (@dependabot[bot])
  • Bump peter-evans/create-or-update-comment from 4 to 5 (#1359) (@dependabot[bot])
  • Bump actions/stale from 10.0.0 to 10.1.0 (#1360) (@dependabot[bot])
  • Update tutorials (#1361) (@gnawin)
  • Fix bug discount rate (#1364) (@gnawin)
  • Release 0.18.1 (#1372) (@gnawin)

Closed issues:

  • Implement relationships for Multiple Inputs Multiple Outputs (MIMO) of an asset (#596)
  • Add Tulipa to sustainable technology git (#1059)
  • Add explanation of tables to docs (#1164)
  • Multi-year investments part II: incorporating exogenous efficiencies of vintage units (#1219)
  • [docs] Add multi-year tutorial to the docs (#1316)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] 10 months ago

Tulipa Energy Model - v0.18.0

TulipaEnergyModel v0.18.0

Diff since v0.17.1

Breaking changes

  • Stochastic scenario requires an update in the schema
  • Changes in validations for multi-year investment
  • New unit commit method 3var (under development)

Merged pull requests:

  • [2S-SO]: Update table schema (#1300) (@datejada)
  • [AUTO] pre-commit update (#1311) (@github-actions[bot])
  • Bump actions/checkout from 4 to 5 (#1317) (@dependabot[bot])
  • Add start-up & shut-down variables (#1318) (@Cerberus22)
  • [AUTO] pre-commit update (#1320) (@github-actions[bot])
  • Fix data validation of oneOf constraints and fix MIMO use_binary_storage_method column (#1322) (@abelsiqueira)
  • [Multi-year Part II] Add low sum limit for transport vintage outgoing flows for semi-compact method (#1326) (@gnawin)
  • [Multi-year Part II] Two changes in data (#1329) (@gnawin)
  • [Multi-year Part II] Change the name of conversion efficiency (#1330) (@gnawin)
  • [Multi-year Part II] Modify objective function (#1332) (@gnawin)
  • Bump actions/setup-python from 5 to 6 (#1333) (@dependabot[bot])
  • Bump actions/stale from 9.1.0 to 10.0.0 (#1334) (@dependabot[bot])
  • Fix start-up and shut-down UC method name mismatch (#1339) (@urosgluscevic)
  • Update lychee toml file (#1343) (@datejada)
  • [Multi-year Part II] Update integration test (#1344) (@gnawin)
  • [Multi-year Part II] Validate consistency between asset_both and flow_commission (#1346) (@gnawin)
  • Update tutorials (#1348) (@IsaiMaganTNO)
  • [Multi-year Part II] Update formulation (#1349) (@gnawin)

Closed issues:

  • [2S-SO]: Update input schema for the new feature (#1298)
  • Add lower limit for the sum of the flows (#1314)
  • [Bug] Data validation ignores bad values for unit_commitment_method (#1321)
  • Change the objective function to allow for vintage costs (#1325)
  • [Bug] Link checker is failing (#1341)
  • [Multi-year Part II] Add integration test by modifying the existing multi-year case study (#1342)
  • [Multi-year Part II] Add validation to check consistency between asset_both and flow_commission (#1345)
  • [Multi-year Part II] Update documentation (#1347)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] 11 months ago

Tulipa Energy Model - v0.17.1

TulipaEnergyModel v0.17.1

Diff since v0.17.0

Merged pull requests:

  • Add vintage flow variable (#1280) (@gnawin)
  • Add validation for flow_both (#1281) (@gnawin)
  • [docs]: Two-stage stochastic programming formulation changes (#1286) (@datejada)
  • Validate investment method (#1287) (@gnawin)
  • Refactor add investment variables (#1291) (@datejada)
  • Add vintage flow sum constraint (#1292) (@gnawin)
  • Add generic functions to create variables with specifications per row (#1293) (@abelsiqueira)
  • Add new function for creating tables in constraint tests (#1296) (@gnawin)
  • Add new method for is_constraint_equal to handle vectors (#1297) (@datejada)
  • Add constraint capacity outgoing for semi-compact method (#1301) (@gnawin)
  • Refactor profile joins in the _append functions in capacity constraints (#1306) (@gnawin)
  • [AUTO] pre-commit update (#1307) (@github-actions[bot])
  • Start using TestItemRunner (#1312) (@abelsiqueira)
  • Add validation to align data between asset_commission and asset_both (#1313) (@gnawin)
  • Release 0.17.1 (#1315) (@gnawin)

Closed issues:

  • Refactor tests to use TestItemRunner (#1238)
  • Validate hub and consumer assets can only have "none" investment method (#1270)
  • Add new vintage flow variable (#1274)
  • Validate flow_both does not contain non-transport flows (#1275)
  • Add lower limit on flow variable (#1279)
  • [2S-SO]: Update the mathematical formulation in the documentation (#1282)
  • Refactor add_investment_variables! function (#1288)
  • Add vintage sum constraint (#1290)
  • Refactor creating tables in test-constraints-* (#1294)
  • Update _is_constraint_equal to support vectors and update the tests to use it. (#1295)
  • Add max output flow constraint (#1299)
  • Refactor profile joins in the _append functions in capacity constraints (#1305)
  • [Bug] Fixed_cost must be defined for all milestone years in commission year table for compact method, otherwise it throws error (#1309)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] about 1 year ago

Tulipa Energy Model - v0.17.0

TulipaEnergyModel v0.17.0

Diff since v0.16.0

Breaking changes

  • Multiple Inputs and Multiple Outputs require new columns
  • Efficiency is no longer a flow parameter, it is now in the asset's definition
  • New Investment method semi-compact

Merged pull requests:

  • Don't require expressions as argument for create_solver (#1120) (@abelsiqueira)
  • [AUTO] pre-commit update (#1218) (@github-actions[bot])
  • Fix bug in objective function causing misaligned units_on_cost (#1229) (@urosgluscevic)
  • Rename flow_coefficient_in_capacity_constraint to capacity_coefficient (#1231) (@datejada)
  • Add conversion coefficient parameter (#1232) (@datejada)
  • [Fix]: Add sort to the duplicated row test to ensure order of the output (#1236) (@datejada)
  • Add upper bound to the decommission variable (#1240) (@gnawin)
  • Refactor efficiency parameter for conversion and storage assets (#1241) (@datejada)
  • [docs] Update documentation on the lower bound for available capacity compact method (#1244) (@gnawin)
  • Fix bug investment related variables (#1248) (@gnawin)
  • Add example for Multiple Input Multiple Outputs (MIMO) case study (#1253) (@datejada)
  • Fix to return non-fatal error instead of ErrorException (#1254) (@datejada)
  • [docs] Add concept: DC-OPF with flexible resolution (#1255) (@gnawin)
  • Update scientific references (#1258) (@gnawin)
  • Fix typo in the documentation (#1259) (@gnawin)
  • Docs restructure & add TLC Tutorials (#1260) (@clizbe)
  • Add .gitattributes to ignore mps and csv files from language breakdown (#1262) (@abelsiqueira)
  • Apply conversion coefficient only for conversion assets (#1265) (@datejada)
  • Use only flows with conversion coefficient >0 to determine the conversion balance constraint resolution (#1266) (@datejada)
  • Update existing model related to new multi-year method (#1271) (@gnawin)
  • Improve local build time of documentation for 17-workflow (#1273) (@abelsiqueira)
  • Simplify flow_both data (#1276) (@gnawin)
  • [docs] Add documentation for Multiple Inputs and Multiple Outputs (#1277) (@datejada)

Closed issues:

  • Strict flag does not apply to timeframe partitions (#609)
  • Create argument to function that create DB connection to allow a name to be given (#635)
  • Refactor the model (#701)
  • Do we need the timeframe structure? (#715)
  • Add power flow formulation (#989)
  • Create helper functions for user to produce scenario data from raw (like adding Unit Commitment) (#996)
  • Fix errors in docstrings (#1037)
  • Convert TLC sessions into Tutorials (#1108)
  • Internal model creation should not depend on expressions (#1113)
  • Update balance constraint for conversion assets to use coefficients (#1220)
  • Add case study in the examples for MIMO (#1221)
  • Update documentation for MIMO (#1222)
  • [docs] Update documentation (concepts - flexible temporal resolution dc-opf) (#1228)
  • [Bug] Decommissions can be larger than the initial capacity (#1230)
  • Add efficiency parameter for conversion assets (#1234)
  • [Bug] Assets with investment method none can have investments (#1247)
  • Exclude flows with conversion_coefficient = 0 from the calculation of the resolution of the conversion constraint (#1256)
  • Apply the conversion_coefficient only to conversion balance constraint (#1257)
  • Modify existing constraint and objective to prepare for new multi-year method (#1263)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] about 1 year ago

Tulipa Energy Model - v0.16.0

TulipaEnergyModel v0.16.0

Diff since v0.15.1

Breaking changes

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

Merged pull requests:

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

Closed issues:

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

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] about 1 year ago

Tulipa Energy Model - v0.15.1

TulipaEnergyModel v0.15.1

Diff since v0.15.0

Merged pull requests:

  • Add description of outputs to docs (#1131) (@clizbe)
  • 1037_fixpartiallydocs (#1149) (@nope82)
  • [AUTO] pre-commit update (#1151) (@github-actions[bot])
  • Add new section with the scientific references (#1161) (@datejada)
  • Fix list in docstring (#1167) (@clizbe)
  • Replace inter-temporal and intra-temporal in docs (#1170) (@clizbe)
  • Release 0.15.1 (#1175) (@clizbe)

Closed issues:

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

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 1 year ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 1 year ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 1 year ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 1 year ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 1 year ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 1 year ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 1 year ago

Tulipa Energy Model - v0.10.4

TulipaEnergyModel v0.10.4

Diff since v0.10.3

Merged pull requests:

  • Performance improvements (#999) (@datejada)

Energy Systems - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 1 year ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 1 year ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] almost 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] almost 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] almost 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] about 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] about 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] about 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] over 2 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] almost 3 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] almost 3 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] almost 3 years ago

Tulipa Energy Model - 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 - Energy System Modeling Frameworks - Julia
Published by github-actions[bot] almost 3 years ago

Tulipa Energy Model - Zenodo

pre-release with Zenodo DOI

Energy Systems - Energy System Modeling Frameworks - Julia
Published by datejada almost 3 years ago