Commit e5f32adb authored by Topi Rasku's avatar Topi Rasku
Browse files

Minor cleanup.

Renamed the "param_nu" to "param_unit" as it is currently used in "p_unit", which is not dependent on the node. Also commented out some unused/redundant assets in the "1a_definitions.gms", and made appropriate changes to "1e_inputs.gms" (since "p_gnu" efficiency and conversion related parameters don't affect anything anymore).
parent f007c77e
......@@ -20,7 +20,7 @@ $offOrder
ts_absolute_(node, fSolve, t)$tInterval(t) = ts_absolute(node, fSolve, t+ct(t));
ts_cf_(flow, node, fSolve, t)$tInterval(t) = ts_cf(flow, node, fSolve, t+ct(t));
ts_nodeState_(gn_state(grid, node), param_gnBoundaryTypes, fSolve, t)$tInterval(t) = ts_nodeState(grid, node, param_gnBoundaryTypes, fSolve, t+ct(t));
ts_unit_(unit, param_nu, fSolve, t)$tInterval(t) = ts_unit(unit, param_nu, fSolve, t+ct(t));
ts_unit_(unit, param_unit, fSolve, t)$tInterval(t) = ts_unit(unit, param_unit, fSolve, t+ct(t));
tCounter = mInterval(mSolve, 'intervalEnd', counter); // move tCounter to the next interval setting
p_stepLength(mf(mSolve, fSolve), t)$tInterval(t) = 1; // p_stepLength will hold the length of the interval in model equations
p_stepLengthNoReset(mSolve, fSolve, t)$tInterval(t) = 1;
......@@ -43,7 +43,7 @@ $offOrder
ts_absolute_(node, fSolve, t) = sum{t_$tInterval(t_), ts_absolute(node, fSolve, t_+ct(t_))} / p_stepLength(mSolve, fSolve, t); // Averages the absolute power terms over the interval
ts_cf_(flow, node, fSolve, t) = sum{t_$tInterval(t_), ts_cf(flow, node, fSolve, t_+ct(t_))} / p_stepLength(mSolve, fSolve, t); // Averages the capacity factor over the inverval
ts_nodeState_(gn_state(grid, node), param_gnBoundaryTypes, fSolve, t) = sum(t_${tInterval(t_)}, ts_nodeState(grid, node, param_gnBoundaryTypes, fSolve, t_+ct(t_))) / p_stepLength(mSolve, fSolve, t); // Averages the time-dependent node state boundary conditions over the interval
ts_unit_(unit, param_nu, fSolve, t) = sum(t_${tInterval(t_)}, ts_unit(unit, param_nu, fSolve, t_+ct(t_))) / p_steplength(mSolve, fSolve, t); // Averages the time-dependent unit parameters over the interval
ts_unit_(unit, param_unit, fSolve, t) = sum(t_${tInterval(t_)}, ts_unit(unit, param_unit, fSolve, t_+ct(t_))) / p_steplength(mSolve, fSolve, t); // Averages the time-dependent unit parameters over the interval
// Set the previous time step displacement
pt(t+intervalLength) = -intervalLength;
);
......@@ -69,7 +69,7 @@ $offOrder
$$ifi '%rampSched%' == 'yes' ts_energyDemand_(gn(grid, node), fSolve, t)${ord(t) = tSolveLast} = ts_energyDemand(grid, node, fSolve, t+ct(t));
$$ifi '%rampSched%' == 'yes' ts_absolute_(node, fSolve, t)${ord(t) = tSolveLast} = ts_absolute(node, fSolve, t+ct(t));
$$ifi '%rampSched%' == 'yes' ts_cf_(flow, node, fSolve, t)${ord(t) = tSolveLast} = ts_cf(flow, node, fSolve, t+ct(t));
$$ifi '%rampSched%' == 'yes' ts_unit_(unit, param_nu, fSolve, t)${ord(t) = tSolveLast} = ts_unit(unit, param_nu, fSolve, t+ct(t));
$$ifi '%rampSched%' == 'yes' ts_unit_(unit, param_unit, fSolve, t)${ord(t) = tSolveLast} = ts_unit(unit, param_unit, fSolve, t+ct(t));
$onOrder
// Set mft for the modelling period and model forecasts
......
......@@ -70,8 +70,8 @@ $if set rampSched active('rampSched') = %rampSched%;
Sets
param_gn "Possible parameters for grid, node" /
chargingEff "Average charging efficiency (p.u)" // NOTE! This isn't actually used for anything at the moment! Probably needs to be removed at some point.
dischargingEff "Average discharging efficiency (p.u.)" // NOTE! This isn't actually used for anything at the moment! Probably needs to be removed at some point.
* chargingEff "Average charging efficiency (p.u)" // NOTE! This isn't actually used for anything at the moment! Probably needs to be removed at some point.
* dischargingEff "Average discharging efficiency (p.u.)" // NOTE! This isn't actually used for anything at the moment! Probably needs to be removed at some point.
selfDischargeLoss "Self discharge rate of the node (p.u.)"
energyStoredPerUnitOfState "A possible unit conversion if v_state uses something else than MWh"
boundStart "A flag to bound the first t in the run using reference constant or time series"
......@@ -128,13 +128,13 @@ param_gnu "Set of possible data parameters for grid, node, unit" /
maxCons "Maximum loading capacity (MW)"
cB "Share of output"
cV "Reduction in primary output when increasing secondary output, e.g. reduction of electricity generation due to heat generation in extraction CHP (MWh_e/MWh_h)"
eff00 * eff12 "Efficiency of the unit to convert to certain output or from certain input at different operating points"
rb00 * rb12 "Right border of the efficiency point"
section00 "Input (fuel) consumption at min. load (or at zero)"
slope00 * slope12 "Additive input (fuel) consumption slope"
* eff00 * eff12 "Efficiency of the unit to convert to certain output or from certain input at different operating points" \\ NOTE! Not currently used in p_gnu
* rb00 * rb12 "Right border of the efficiency point" \\ NOTE! Not currently used in p_gnu
* section00 "Input (fuel) consumption at min. load (or at zero)" \\ NOTE! Not currently used in p_gnu
* slope00 * slope12 "Additive input (fuel) consumption slope" \\ NOTE! Not currently used in p_gnu
/
param_nu "Set of possible data parameters for node, unit" /
param_unit "Set of possible data parameters for units" /
unitCount "Number of units if aggregated"
unitCapacity "A proxy for the unit size in case the maxGens cannot be just added up by default"
omCosts "Variable operation and maintenance costs (/MWh)"
......
......@@ -83,9 +83,9 @@ unit_heat(unit)$sum(gnu(grid, node, unit), p_gnu('heat', node, unit, 'maxGen'))
unit_fuel(unit)$sum[ (fuel, node)$sum(t, ts_fuelPriceChangenode(fuel, node, t)), uFuel(unit, 'main', fuel) ] = yes;
unit_flow(unit)$sum(flow, flowUnit(flow, unit)) = yes;
unit_withConstrainedOutputRatio(unit)$(sum(gngnu_constrainedOutputRatio(grid, node, grid_, node_, unit), 1)) = yes;
p_gnu(gnu(grid, node, unit), 'eff00')$(not p_gnu(grid, node, unit, 'eff00')) = 1; // If the unit does not have efficiency set, it is 1
p_gnu(gnu(grid, node, unit), 'rb00')$(not p_gnu(grid, node, unit, 'rb00')) = 0; // If there is no right border for the first efficiency point, there will be no section
unit_minload(unit)$[sum(gnu(grid, node, unit), p_gnu(grid, node, unit, 'rb00') > 0 and p_gnu(grid, node, unit, 'rb00') < 1)] = yes; // If the first point is between 0 and 1, then the unit has a min load limit
p_unit(unit, 'eff00')$(not p_unit(unit, 'eff00')) = 1; // If the unit does not have efficiency set, it is 1
p_unit(unit, 'rb00')$(not p_unit(unit, 'rb00')) = 0; // If there is no right border for the first efficiency point, there will be no section
unit_minload(unit)$[p_unit(unit, 'rb00') > 0 and p_unit(unit, 'rb00') < 1] = yes; // If the first point is between 0 and 1, then the unit has a min load limit
*unit_hydro(unit)$sum(unitFuelParam(unit,'WATER','main'), 1) = yes;
*node_reservoir(node)$sum(unit_hydro, unitStorage(unit_hydro, storage)) = yes;
nuRescapable(restype, resdirection, node, unit)$p_nuReserves(node, unit, restype, resdirection) = yes;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment