1c_parameters.gms 8.13 KB
 Erkka Rinne committed Aug 04, 2017 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ``````\$ontext This file is part of Backbone. Backbone is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Backbone is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Backbone. If not, see . \$offtext `````` Juha Kiviluoma committed May 04, 2016 18 19 20 ``````* --- Internal counters ------------------------------------------------------- Scalars errorcount /0/ `````` 21 `````` solveCount /0/ `````` 22 23 `````` tSolveFirst "counter (ord) for the first t in the solve" tSolveLast "counter for the last t in the solve" `````` Juha Kiviluoma committed May 04, 2016 24 `````` tCounter "counter for t" /0/ `````` Juha Kiviluoma committed Jun 17, 2016 25 `````` lastCounter "last member in use of the general counter" `````` 26 27 28 `````` ts_length "Length of time series (t)" continueLoop "Helper to stop the looping early" intervalLength "Legnth of the interval to be calculated, considering end of modelling period" `````` Juha Kiviluoma committed Jun 17, 2018 29 `````` currentForecastLength "Length of the forecast in the curren solve, minimum of unchanging and decreasing forecast lengths" `````` Juha Kiviluoma committed Sep 27, 2016 30 31 32 33 `````` count "General counter" count_lambda, count_lambda2 "Counter for lambdas" cum_slope "Cumulative for slope" cum_lambda "Cumulative for lambda" `````` Juha Kiviluoma committed Apr 26, 2017 34 `````` heat_rate "Heat rate temporary parameter" `````` Juha Kiviluoma committed Sep 27, 2016 35 `````` tmp "General temporary parameter" `````` Topi Rasku committed Oct 19, 2017 36 37 `````` tmp_ "General temporary parameter" tmp__ "General temporary parameter" `````` Juha Kiviluoma committed Apr 26, 2017 38 39 40 `````` tmp_dist "Temporary parameter for calculating the distance between operating points" tmp_op "Temporary parameter for operating point" tmp_count_op "Counting the number of valid operating points in the unit data" `````` Topi Rasku committed Nov 30, 2017 41 `````` f_improve / 12 / `````` Juha Kiviluoma committed Jul 14, 2018 42 43 `````` tRealizedLast "counter (ord) for the last realized t in the solve" firstResultsOutputSolve /1/; `````` Juha Kiviluoma committed May 04, 2016 44 45 ``````; `````` 46 47 ``````* --- Power plant and fuel data ----------------------------------------------- Parameters `````` Juha Kiviluoma committed Nov 29, 2016 48 49 `````` p_gn(grid, node, param_gn) "Properties for energy nodes" p_gnBoundaryPropertiesForStates(grid, node, param_gnBoundaryTypes, param_gnBoundaryProperties) "Properties of different state boundaries and limits" `````` 50 51 `````` p_gnn(grid, node, node, param_gnn) "Data for interconnections between energy nodes" p_gnu(grid, node, unit, param_gnu) "Unit data where energy type matters" `````` Juha Kiviluoma committed Sep 27, 2016 52 `````` p_unit(unit, *) "Unit data where energy type does not matter" `````` Juha Kiviluoma committed Jun 19, 2017 53 `````` p_nReserves(node, restype, *) "Data defining the reserve rules in each node" `````` 54 55 `````` p_nuReserves(node, unit, restype, *) "Reserve provision data for units" p_gnPolicy(grid, node, param_policy, *) "Policy data for grid, node" `````` Niina Helistö committed Mar 28, 2018 56 57 `````` p_groupPolicy(group, param_policy) "Two-dimensional policy data for groups" p_groupPolicy3D(group, param_policy, *) "Three-dimensional policy data for groups" `````` 58 `````` p_fuelEmission(fuel, emission) "Fuel emission content" `````` Juha Kiviluoma committed Sep 27, 2016 59 `````` p_uFuel(unit, param_fuel, fuel, param_unitFuel) "Parameters interacting between units and fuels" `````` 60 `````` p_unitFuelEmissionCost(unit, fuel, emission) "Emission costs for each unit, calculated from input data" `````` Topi Rasku committed Mar 28, 2017 61 `````` p_effUnit(effSelector, unit, effSelector, *) "Data for piece-wise linear efficiency blocks" `````` Juha Kiviluoma committed Dec 13, 2016 62 `````` p_effGroupUnit(effSelector, unit, *) "Unit data specific to a efficiency group (e.g. left border of the unit)" `````` 63 `````` p_uNonoperational(unit, starttype, min_max) "Non-operational time after being shut down before start up" `````` Niina Helistö committed Aug 30, 2017 64 `````` p_uStartup(unit, starttype, cost_consumption, unit_capacity) "Startup cost and fuel consumption" `````` Niina Helistö committed May 25, 2018 65 `````` p_u_maxOutputInLastRunUpInterval(unit) "Maximum output in the last interval for the run-up to min. load (p.u.)" `````` Juha Kiviluoma committed Apr 06, 2018 66 `````` p_u_runUpTimeIntervals(unit) "Time intervals required for the run-up phase" `````` Niina Helistö committed May 31, 2018 67 `````` p_u_runUpTimeIntervalsCeil(unit) "Ceiling of time intervals required for the run-up phase" `````` Niina Helistö committed May 25, 2018 68 `````` p_ut_runUp(unit, t) "Output for the time intervals where the unit is being started up to the minimum load (minimum output in the last interval) (p.u.)" `````` Topi Rasku committed Feb 06, 2017 69 70 ``````// Time dependent unit & fuel parameters ts_unit(unit, *, f, t) "Time dependent unit data, where energy type doesn't matter" `````` Topi Rasku committed Mar 28, 2017 71 `````` ts_effUnit(effSelector, unit, effSelector, *, f, t) "Time dependent data for piece-wise linear efficiency blocks" `````` Topi Rasku committed Feb 06, 2017 72 `````` ts_effGroupUnit(effSelector, unit, *, f, t) "Time dependent efficiency group unit data" `````` Topi Rasku committed Feb 16, 2017 73 74 ``````// Alias used for interval aggregation ts_unit_(unit, *, f, t) `````` 75 76 77 78 ``````; * --- Probability ------------------------------------------------------------- Parameters `````` Topi Rasku committed Oct 20, 2017 79 80 81 82 `````` p_msWeight(mType, s) "Weight of sample" p_msProbability(mType, s) "Probability to reach sample conditioned on anchestor samples" p_mfProbability(mType, f) "Probability of forecast" p_msft_probability(mType, s, f, t) "Probability of forecast" `````` 83 84 85 86 87 88 ``````; Scalar p_sWeightSum "Sum of sample weights"; * --- Model structure --------------------------------------------------------- Parameters `````` Topi Rasku committed Oct 20, 2017 89 `````` // Time displacement arrays `````` Topi Rasku committed Oct 11, 2017 90 `````` dt(t) "Displacement needed to reach the previous time period (in time periods)" `````` Niina Helistö committed May 31, 2018 91 `````` dt_noReset(t) "Displacement needed to reach the previous time period (in time periods)" `````` Topi Rasku committed Oct 11, 2017 92 `````` dt_circular(t) "Circular t displacement if the time series data is not long enough to cover the model horizon" `````` Niina Helistö committed May 31, 2018 93 `````` dt_next(t) "Displacement needed to reach the next time period (in time periods)" `````` 94 95 `````` dtt(t, t) "Displacement needed to reach any previous time period (in time periods)" dt_toStartup(unit, t) "Displacement from the current time period to the time period where the unit has been started up in case online variable changes from 0 to 1" `````` Topi Rasku committed Oct 20, 2017 96 97 98 99 100 `````` dt_starttypeUnitCounter(starttype, unit, counter) "Displacement needed to account for starttype constraints" dt_downtimeUnitCounter(unit, counter) "Displacement needed to account for downtime constraints" dt_uptimeUnitCounter(unit, counter) "Displacement needed to account for uptime constraints" // Forecast displacement arrays `````` Topi Rasku committed Oct 11, 2017 101 102 103 `````` df(f, t) "Displacement needed to reach the realized forecast on the current time step" df_central(f, t) "Displacement needed to reach the central forecast - this is needed when the forecast tree gets reduced in dynamic equations" df_nReserves(node, restype, f, t) "Forecast index displacement needed to reach the realized forecast when committing reserves." `````` Topi Rasku committed Oct 20, 2017 104 `````` `````` Topi Rasku committed Nov 30, 2017 105 106 107 108 109 `````` // Temporary displacement arrays ddt(t) "Temporary time displacement array." ddf(f, t) "Temporary forecast displacement array." ddf_(f, t) "Temporary forecast displacement array." `````` Topi Rasku committed Oct 20, 2017 110 `````` // Other `````` Juha Kiviluoma committed Nov 29, 2016 111 `````` p_slackDirection(slack) "+1 for upward slacks and -1 for downward slacks" `````` Juha Kiviluoma committed Jun 16, 2017 112 `````` tForecastNext(mType) "When the next forecast will be availalbe (ord time)" `````` Juha Kiviluoma committed Jun 22, 2017 113 `````` aaSolveInfo(mType, t, solveInfoAttributes) "stores information about the solve status" `````` Niina Helistö committed Sep 06, 2017 114 115 `````` msStart(mType, s) "Start point of samples" msEnd(mType, s) "End point of samples" `````` Niina Helistö committed Sep 08, 2017 116 `````` tOrd(t) "Order of t" `````` 117 118 119 120 ``````; * --- Stochastic data parameters ---------------------------------------------- Parameters `````` Topi Rasku committed Mar 24, 2017 121 `````` ts_influx(grid, node, f, t) "External power inflow/outflow during a time period (MWh/h)" `````` Juha Kiviluoma committed Jun 17, 2016 122 `````` ts_cf(flow, node, f, t) "Available capacity factor time series (per unit)" `````` Topi Rasku committed Apr 03, 2017 123 `````` ts_reserveDemand(restype, up_down, node, f, t) "Reserve demand in region in the time period/slice (MW)" `````` Juha Kiviluoma committed Nov 29, 2016 124 `````` ts_nodeState(grid, node, param_gnBoundaryTypes, f, t) "Fix the states of a node according to time-series form exogenous input" `````` 125 `````` ts_fuelPriceChange(fuel, t) "Initial fuel price and consequent changes in fuel price (€/MWh)" `````` Topi Rasku committed Nov 13, 2017 126 `````` ts_fuelPrice(fuel, t) "Fuel price time series (EUR/MWh)" `````` 127 `````` ts_unavailability(unit, t) "Unavailability of a unit in the time period/slice (p.u.)" `````` 128 129 `````` // Aliases used for interval aggregation `````` Topi Rasku committed Mar 24, 2017 130 `````` ts_influx_(grid, node, f, t) `````` Juha Kiviluoma committed Jun 25, 2017 131 `````` ts_influx_temp(grid, node, f, t) `````` Topi Rasku committed Feb 16, 2017 132 `````` ts_cf_(flow, node, f, t) `````` 133 `````` ts_reserveDemand_(restype, up_down, node, f, t) `````` Topi Rasku committed Feb 16, 2017 134 `````` ts_nodeState_(grid, node, param_gnBoundaryTypes, f, t) `````` Topi Rasku committed Dec 01, 2017 135 `````` ts_fuelPrice_(fuel, t) `````` 136 137 138 139 ``````; * --- Other time dependent parameters ----------------------------------------- Parameters `````` Juha Kiviluoma committed Sep 27, 2016 140 `````` p_storageValue(grid, node, t) "Value of stored something at the end of a time step" `````` unknown committed Mar 17, 2016 141 `````` p_stepLength(mType, f, t) "Length of a time step (t)" `````` 142 `````` p_stepLengthNoReset(mType, f, t) "Length of a time step (t)" `````` 143 ``````; `````` Topi Rasku committed Oct 24, 2017 144 ``Option clear = p_storageValue; // Required for whatever reason.``