CHANGELOG.md 8.75 KB
Newer Older
Erkka Rinne's avatar
Erkka Rinne committed
1
2
3
# Changelog
All notable changes to this project will be documented in this file.

Niina Helistö's avatar
Niina Helistö committed
4
5
6
7
8
## Unreleased
### Added
- Result parameters for start-up energy consumption and start-up emissions
- Result parameter for realized diffusions
- Two additional constraints to make transfer constraints tighter
9
- New set for the m, s, f, t combinations including the previous sample
Niina Helistö's avatar
Niina Helistö committed
10
11
12
13
14
15
16
17

### Changed
- Replaced commodity set with a parameter usePrice and updated results calculation related to it
- Replaced q_energyMax, q_energyShareMax and q_energyShareMin with q_energyLimit and q_energyShareLimit

### Fixed
- Including start-up fuel consumption in q_balance
- Updated start-up cost and start-up emission calculation
Juha Kiviluoma's avatar
Juha Kiviluoma committed
18
- output_dir command line argument was missing quotes in the code and directories with space did not work 
Niina Helistö's avatar
Niina Helistö committed
19

20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
## 1.5 - 2021-10-05
### Added
- Additional conditions in the objective function to avoid summing empty sets
- Possibility to model maintenance break with `utAvailalability` limits

### Changed
- Speedups

### Fixed 
- Templates for time and sample sets as well as model definitions files
- N-1 reserve equation did not include last hour of day/solve
- Setting the default update_frequency for reserve types
- Better control of reserve-related assignments


Erkka Rinne's avatar
Erkka Rinne committed
35
## 1.4 - 2021-06-29
Juha Kiviluoma's avatar
Juha Kiviluoma committed
36
37
38
- Time series for transmission availability and losses
- More versatile reading of input files. Translating input Excel to input GDX supported inside Backbone 1e_inputs.gms

Erkka Rinne's avatar
Erkka Rinne committed
39
## 1.3.3 - 2021-04-14
Juha Kiviluoma's avatar
Juha Kiviluoma committed
40
- Transfer can have additional 'variable' costs (costs per MWh transferred)
Niina Helistö's avatar
Niina Helistö committed
41
- Reserve activation duration and reactivation time included (in state constraints)
42
- Raise execution error if solver did not finish normally
43
- Updated the selection of unit efficiency approximation levels
Juha Kiviluoma's avatar
Juha Kiviluoma committed
44
45
- Additional result outputs

Erkka Rinne's avatar
Erkka Rinne committed
46
## 1.3.2 - 2021-01-19
Juha Kiviluoma's avatar
Juha Kiviluoma committed
47
48
- Moving from p_groupPolicy3D to separate p_groupPolicyUnit and p_groupPolicyEmission

Erkka Rinne's avatar
Erkka Rinne committed
49
## 1.3.1 - 2021-01-19
Juha Kiviluoma's avatar
Juha Kiviluoma committed
50
51
52
- Maximum (and minimum) limit to sum of energy inputs/outputs of selected group of units
- Additional result outputs concerning emissions

Erkka Rinne's avatar
Erkka Rinne committed
53
## 1.3 - 2020-10-21
54
- Static inertia requirement can be fulfilled by both rotational inertia of machines and certain reserve products
55
- Dynamic generation portfolios aka pathway modelling aka multi-year simulations with discounted costs enabled
Niina Helistö's avatar
Niina Helistö committed
56
- Parameters p_gnPolicy and p_groupPolicy3D replaced with p_groupPolicyEmission and p_groupPolicyUnit
Juha Kiviluoma's avatar
Juha Kiviluoma committed
57

Erkka Rinne's avatar
Erkka Rinne committed
58
## 1.2.2 - 2020-06-09
59
- Clean up, minor bug fixes and more results outputs
Juha Kiviluoma's avatar
Juha Kiviluoma committed
60

Erkka Rinne's avatar
Erkka Rinne committed
61
## 1.2.1 - 2019-11-26
Niina Helistö's avatar
Niina Helistö committed
62
63
64
65
66
67
68
### Fixed
- Fixed a possible division by zero in the calculation of r_gnuUtilizationRate
- Updated debugSymbols.inc and 1e_scenChanges.gms to match with the current naming of sets and parameters

### Changed
- Changed variable O&M costs from p_unit(unit, 'omCosts') to p_gnu(grid, node, unit, 'vomCosts')

Erkka Rinne's avatar
Erkka Rinne committed
69
## 1.2 - 2019-11-12
Erkka Rinne's avatar
Erkka Rinne committed
70
71

### Added
Juha Kiviluoma's avatar
Juha Kiviluoma committed
72
73
74
75
- Dynamic inertia requirements based on loss of unit and loss of export/import (ROCOF constraints)
- N-1 reserve requirement for transfer links
- A separate parameter to tell whether units can provide offline reserve (non-spinning reserve)
- Maximum share of reserve provision from a group of units
Erkka Rinne's avatar
Erkka Rinne committed
76
77
- All input files, including *inputData.gdx*, are optional
- Enabling different combinations of LP and MIP online and invest variables
Niina Helistö's avatar
Niina Helistö committed
78
- Separate availability parameter for output units in the capacity margin constraint
79
- Parameter `gn_forecasts(*, node, timeseries)` to tell which nodes and timeseries use forecasts
Erkka Rinne's avatar
Erkka Rinne committed
80
81

### Changed 
Juha Kiviluoma's avatar
Juha Kiviluoma committed
82
83
- Reserve requirements are now based on groups (previously node based)
- Changed the v_startup (and v_shutdown) variables into integers to improve the performance online approximations
Niina Helistö's avatar
Niina Helistö committed
84
- Updated tool definitions for Sceleton Titan and Spine Toolbox
Juha Kiviluoma's avatar
Juha Kiviluoma committed
85
- The program will now stop looping in case of execution errors
86
- Scenario reduction is done based on total available energy
Erkka Rinne's avatar
Erkka Rinne committed
87
- Maintain original scenario labels after reduction
88
- Clear time series data from droppped samples after scenario reduction
Erkka Rinne's avatar
Erkka Rinne committed
89

90
91
### Fixed
- Removed hard-coded `elec grids` from *setVariableLimits* and *rampSched files*
Juha Kiviluoma's avatar
Juha Kiviluoma committed
92
93
- Cyclic bounds between different samples was not working correctly (#97)
- Time series smoothing not working at all (#100)
Erkka Rinne's avatar
Erkka Rinne committed
94
- Fix a number of compilation warnings
Niina Helistö's avatar
Niina Helistö committed
95
- Limiting the provision of online reserve based on the online variable
Juha Kiviluoma's avatar
Juha Kiviluoma committed
96
- Sample probability bug from scenario reduction (probability of single scenario above one)
97

98
99
100
101

## 1.1.5 - 2020-11-28
### Fixed
- Long-term scenario data when using only one scenario
102
- Bug with scenario smooting which caused wrong values on later than first solve
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119


## 1.1.4 - 2019-11-02
### Fixed
- Sample probability bug from scenario reduction


## 1.1.3 - 2019-10-24
### Changed 
- Scenario reduction is done based on total available energy


## 1.1.2 - 2019-10-23
### Changed 
- Maintain original scenario labels after reduction


Erkka Rinne's avatar
Erkka Rinne committed
120
## 1.1 - 2019-04-17
Erkka Rinne's avatar
Erkka Rinne committed
121
### Added
122
123
124
125
- New model setting 't_perfectForesight' tells the number of time steps (from 
  the beginning of current solve) for which realized data is used instead of 
  forecasts. This value cannot exceed current forecast length, however. Setting 
  the value lower than 't_jump' has no effect.
126
127
128
- Automated the calculation of sample start and end times if using long-term 
  scenarios. Also setting number of scenarios to one, instructs the model to use
  central forecast for the long-term.
129
- Speedup for model dimension calculation (set `msft` etc.)
Erkka Rinne's avatar
Erkka Rinne committed
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
- Support long time intervals in the first block
- Possibility to limit `v_online` to zero according to time series
- Output for reserve transfer results
- Reserve provision limits with investments
- Constrain the set of units to which ramp equations are applied
- Piecewise linear heat rate curves
- Checks for reserves
- Allow to set certain value for `v_gen` at 't000000'

### Changed
- Removed some old command line arguments
- Removed obsolete 'emissionIntensity' fuel parameter

### Fixed
- Unit ramps during start-up and shutdown
- Refreshing forecast data in *inputsLoop*
- Aggregated groups that were not in use were included in the model
- `mst_end` not found for the last sample
- Start-up not working for units without start costs or start fuel consumption
- *periodicInit* will fail with multiple model definitions
- Reserves should not be allowed to be locked when the interval is greater than 
  smallest interval in use
- Start-up phase and aggregated time steps do not work together
- In SOS2 unit cannot exceed the generation of `p_ut_runUp`
- Startup cost calculation
- Efficiency presentations
- `p_uNonoperational` not fully correct

Erkka Rinne's avatar
Erkka Rinne committed
158

Erkka Rinne's avatar
Erkka Rinne committed
159
## 1.0.6 - 2019-03-27
Erkka Rinne's avatar
Erkka Rinne committed
160
161
### Fixed
- Major bug in state variable reserve equations
Erkka Rinne's avatar
Erkka Rinne committed
162
163
164
165
- Scenario smoothing alogirithm

### Changed
- Speedup for timeseries calculations
Erkka Rinne's avatar
Erkka Rinne committed
166

167
168
169
170
### Added 
- New model setting `mSettings(mType, 'onlyExistingForecasts') = 0|1` to control 
  the reading of forecasts. Set to 1 to only read forecast data that exists in 
  the file. Note that zeros need to be saved as Eps when using this.
Erkka Rinne's avatar
Erkka Rinne committed
171
172
- Proper stochastic programming for the long-term scenarios period. Possible also
  to create a stochastic tree from the original data.
Erkka Rinne's avatar
Erkka Rinne committed
173
174
- Clickable link to *sr.log* in the process window in case of SCENRED2 error
- New diagnostic parameter for timeseries scenarios `d_ts_scenarios`
Erkka Rinne's avatar
Erkka Rinne committed
175

Erkka Rinne's avatar
Erkka Rinne committed
176

Erkka Rinne's avatar
Erkka Rinne committed
177
## 1.0.5 - 2019-02-14
178
179
180
### Fixed
- Probabilities were not updated after using scenario reduction

181
182
183
184
### Added
- Enable long-term samples that extend several years by using planning horizon 
  which is longer than one scenario (e.g. 3 years). Note: Cannot use all data for 
  samples as last years need to be reserved for the planning horizon.
Erkka Rinne's avatar
Erkka Rinne committed
185
186


Erkka Rinne's avatar
Erkka Rinne committed
187
## 1.0.4 - 2019-02-11
Erkka Rinne's avatar
Erkka Rinne committed
188
189
190
### Fixed
- Severe bug in setting node state level limits

Erkka Rinne's avatar
Erkka Rinne committed
191
192
### Changed
- Suppress ouput from SCENRED2
193

Erkka Rinne's avatar
Erkka Rinne committed
194

Erkka Rinne's avatar
Erkka Rinne committed
195
## 1.0.3 - 2019-02-05
196
197
### Fixed
- Only selects forecasts with positive probability for the solve
198

Erkka Rinne's avatar
Erkka Rinne committed
199

Erkka Rinne's avatar
Erkka Rinne committed
200
## 1.0.2 - 2019-02-04
Erkka Rinne's avatar
Erkka Rinne committed
201
202
203
### Added
- New model setting `dataLength` to set the length of time series data before it is
  recycled. Warn if this is not defined and automatically calculated from data.
204
205
- Command line arguments '--input_dir=<path>' and '--ouput_dir=<path' to set
  input and output directories, respectively.
Erkka Rinne's avatar
Erkka Rinne committed
206
207
208
209
- Added sample dimension to most variables and equations (excl. investments). 
  Samples can now be used as long-term scenario alternatives (for e.g. hydro scehduling)
- Number of parallel samples can be reduced using SCENRED2. Activate with active('scenRed')
  and set parameters in modelsInit.
Erkka Rinne's avatar
Erkka Rinne committed
210
211
212
213

### Changed
- Automatic calculation of parameter `dt_circular` takes into account time steps 
  only from `t000001` onwards.
214
215
216
- Debug mode yes/no changed to debug levels 0, 1 or 2. With higher level produces
  more information. Default is 0, when no extra files are written (not even *debug.gdx*).
  Set debug level with command line parameter `--debug=LEVEL`.
Erkka Rinne's avatar
Erkka Rinne committed
217
218
219
220
221
222
223
224
225
226

### Fixed
- Calculation of parameter `df_central`
- Readability of some displayed messages 


## 1.0 - 2018-09-12
### Changed
- Major updates to data structures etc.

Erkka Rinne's avatar
Erkka Rinne committed
227