Release notes
Version 0.8.1 (2024-10-24)
Bugfix RollingLife
- The lifetime mode 
RollingLifeexperienced problems in situations in which investments of multiple investment periods should be retired in the same investment period. - In this situation, we did not calculate the minimum removal correctly.
 - This is fixed and a test included to identify these problems in future iterations.
 
Version 0.8.0 (2024-10-16)
Rework of initial capacities
- Implemented potential for decreasing initial capacities.
 - This resulted in changes for 
BinaryInvestmentandFixedInvestmentin which the provided capacity fields come in addition to the existing capacities. This allows for a reduction in the initial capacity. 
Rework of tests
- The dependency of the tests from 
EnergyModelsBasewas removed to avoid a hen-egg problem regarding registering. - The tests were furthermore reworked to test all potential combinations.
 
Bugfixes
- Fixed bugs when the lifetime of a 
RollingLifetechnology was shorter or equal to the duration of a strategic period. 
Rework of documentation
- Restructured both the public and internal libraries.
 - Updated the docstrings to simplify the understanding of the different functions.
 
Other
- Adjusted to changes in internal types of Version 0.9 of 
TimeStruct. 
Version 0.7.1 (2024-08-26)
- Bugfix in 
RollingLifein a situation, in which the duration of a strategic period equals the lifetime of the technology. A test was added to avoid this type of problem in the future 
Version 0.7.0 (2024-08-20)
Making EnergyModelsInvestments independent of EnergyModelsBase
- Version 0.6 of 
EMIprovided the base for makingEMIindependent ofEMB. - This approach was now utilized for moving all 
EMBspecific functions to an extension ofEMB. - In the new version, 
EMIcan be used in any model with investments, given that some functions are provided by the developer of said models. 
Other
- Use dev version of 
EMIfor examples when running as part of tests, similar to PR #33 of EMB. 
Version 0.6.0 (2024-05-24)
Changes in handling of investments
- Allow investments in all 
Storagecapacities introduced inEnergyModelsBasev0.6 through new typeStorageInvData. - Changed the structure of investment data to prepare for making 
EnergyModelsInvestmentsindependent fromEnergyModelsBase. - Utilize now the same functions for investment in all type of 
Nodes andTransmissionModes. - Utilize the same type (
SingleInvData) for investment data in all type ofNodes (exceptStorage) andTransmissionModes. - Moved parameters that are investment mode specific as fields to the investment mode.
 - Allow for semi-continuous offset investments for 
Nodes. 
Version 0.5.5 (2024-05-02)
Bugfix
- Fixed two bugs in the calculation of the OPEX contribution to the objective function for 
TransmissionMode:- Switched to average discounting and
 - Added the multiplication of the OPEX contribution with 
duration(t_inv)to account for varying lengths of strategic periods. 
 
Miscellaneous
- Updated a link in the documentation for the examples.
 - Provided a contribution section in the documentation.
 
Version 0.5.4 (2024-03-21)
Checks
- Adjusted function 
EMB.check_node_datato changed method call inEnergyModelsBase. - Allow for jumping over the check regarding the 
StrategicProfilestructure inInvDataandInvDataStoragewith a conditional argument. The other checks regarding the profiles remain unchanged as a wrongTimeProfilethere would lead to an error withinTimeStruct. - Moved the checks for strategic indexing to 
EnergyModelsBase. 
Bugfix
- Fixed a bug for the function 
start_capinEMIGeoExt, where there could be ambiguity with the functionstart_capinEnergyModelsInvestments. 
Version 0.5.3 (2024-03-06)
Examples
- Fixed a bug when running the examples from a non-cloned version of 
EnergyModelsInvestments. - This was achieved through a separate Project.toml in the examples.
 
Bugfixes
- Fixed a bug for semi-continuous investments for 
Storagenodes. Now it is possible using thisInvestmentModeto only invest in storage capacity or storage rate. - Fixed a bug for method ambiguity when 
Storagenodes useDiscreteInvestment. 
Checks
- Updated the check systems based on changes introduced in 
EnergyModelsBasev 0.6.6. - Included tests for all checks to be certain that the checks are providing the required output.
 
Tests
- Restructured the test folder and the individual tests.
 - Added tests for 
Storageinvestment. 
Minor changes
- Moved 
EMIGeoExtto a separate folder within the extension folder. 
Version 0.5.2 (2024-02-15)
Bugfix
- Fixed the function for extracting the field 
capex_trans_offsetinTransInvData. 
Version 0.5.1 (2024-01-17)
Feature
- Added the JuMP model 
mandmodeltypeas arguments to the start-capacity methods. 
Version 0.5.0 (2023-12-19)
Adjustment
Adjusted to changes in EnergyModelsBase v0.6. These changes are mainly:
- All fields of composite types are now lower case.
 - An extensive number of functions to access the individual fields were included, allowing for differing definitions of the individual nodes.
 
In addition this version includes:
- A rewriting of the calculation of the objective function.
 
Version 0.4.6 (2023-11-23)
Bugfix
- Added investment period duration multiplication for emissions prices.
 
Version 0.4.5 (2023-10-24)
Bugfix
- Include opex for transmission modes without investments.
 
Version 0.4.4 (2023-09-15)
Bugfix
- Use correct index on parameter values.
 
Version 0.4.3 (2023-09-08)
Bugfix
- Bugfix from v0.4.1 
RollingLifewas reverted due to rebasing in v0.4.2. This was fixed. 
Version 0.4.2 (2023-08-24)
Changes in discounting
- Previously, strategic periods were discounted using the start year for both OPEX and CAPEX.
 - This was changed for OPEX and emission cost calculations to account for longer strategic periods.
 
Version 0.4.1 (2023-08-02)
Bugfix
- Included calling of 
strategic_periodsin::RollingLifewhich was missing. 
Version 0.4.0 (2023-06-06)
Switch to TimeStruct.jl
- Switched the time structure representation to 
TimeStruct TimeStructis implemented with only the basis features that were available inTimeStructures, This implies that neither operational nor strategic uncertainty is included in the model.
Version 0.3.2 (2023-06-01)
- Bugfix related to 
FixedInvestment. 
Version 0.3.1 (2023-06-01)
- Added dispatch on 
has_investmentin the extension instead of defining a new, local function. 
Version 0.3.0 (2023-05-xx)
- Adjustment to changes in 
EnergyModelsBasev0.4.0 andEnergyModelsGeographyv 0.6.0. - The new filter method for data can be used as example for subsequent usage of 
Array{Data}. - Migrate from Requires.jl to support for weak dependencies in julia v1.9.
 
Version 0.2.8 (2023-05-15)
- Fixed a bug that could lead to method ambiguity errors when a subtype of 
Storagerequired additional variables. This solution results in significant changes regarding where and how variables and constraints are declared. 
Version 0.2.7 (2023-04-27)
- Requirements changed to ^0.5.0 for 
EnergyModelsGeography. 
Version 0.2.6 (2023-04-24)
- Introduction of abstract type 
InvestmentDataas subtype ofDatato dispatch specifically on data related to investments. - Changes in the individual utility functions for improved utilization of the multiple dispatch.
 
Version 0.2.5 (2023-04-18)
- Bugfix related to constraint on 
cap_use,stor_rate_use, andstor_level:- The variables are constrained using the function 
constraints_capacityand in addition inconstraints_capacity_investandconstraints_storage_investwith the latter constraint being inconsistent forSinknodes. - The constraint in 
EnergyModelsInvestmentswas therefore removed. 
 - The variables are constrained using the function 
 
Version 0.2.4 (2023-03-31)
- Removal of type 
ContinuousFixedInvestmentas this can be represented withContinuousInvestmentandCap_max_addlimited to a given period. - Introduction of abstract type 
SemiContiInvestmentand composite typeSemiContinuousOffsetInvestmentto introduce semi-continuous investments in which the cost function has an offset. This is only included for Transmission in the first step. 
Version 0.2.3 (2023-03-20)
- Adjustments in tests and functions to changes introduced in 
EnergyModelsGeographyversion 0.4.0. 
Version 0.2.2 (2023-02-17)
- Adjustments in tests and functions to changes introduced in 
EnergyModelsGeographyversion 0.3.1. 
Version 0.2.1 (2023-02-06)
- Renaming of investment modes:
- Rename 
DiscreteInvestmenttoBinaryInvestment. - Rename 
IntegerInvestmenttoDiscreteInvestment. 
 - Rename 
 
Version 0.2.0 (2023-02-03)
Adjustmends to updates in EnergyModelsBase
Adjustment to version 0.3.0, namely:
- Changed type (
Node) calls in tests to be consistent with version 0.3.0. - Changed call of function for the creation of 
Storagevariables. - Removal of the type 
GlobalDataand replacement with fields in the typeInvestmentModelin all tests. 
Version 0.1.5 (2022-12-12)
Internal release
- Update Readme.
 
Version 0.1.4 (2022-12-09)
Changes in naming
- Renamed dictionary keys from 
EnergyModelsInvestmentstoInvestments. 
Version 0.1.3 (2022-30-11)
Renamed to EnergyModelsInvestments
- Renamed for more internally consistent package names.
 
Version 0.1.2 (2021-09-07)
Changes in naming
- Major changes in both variable and parameter naming, check the commit message for an overview.
 
Version 0.1.1 (2021-08-20)
- Inclusion for investment in storage (energy).
 - Changes to the datastructures.
 
Version 0.1.0 (2021-07-06)
- Initial version.
 - Inclusion of discounting.