Commit 4f48044c authored by Topi Rasku's avatar Topi Rasku
Browse files

Preparing to fix issue #55: including temporary time series definitions. Rest...

Preparing to fix issue #55: including temporary time series definitions. Rest of the fix will be implemented in the branch "46-add-sample-dimension" to avoid duplicating the work after the upcoming merge.
parent 054d8c8d
......@@ -125,6 +125,7 @@ Parameters
* --- Stochastic data parameters ----------------------------------------------
Parameters
// Used mostly for raw data storage
ts_influx(grid, node, f, t) "External power inflow/outflow during a time step (MWh/h)"
ts_cf(flow, node, f, t) "Available capacity factor time series (p.u.)"
ts_reserveDemand(restype, up_down, node, f, t) "Reserve demand in region in the time step (MW)"
......@@ -133,13 +134,23 @@ Parameters
ts_fuelPrice(fuel, t) "Fuel price time series (EUR/MWh)"
ts_unavailability(unit, t) "Unavailability of a unit in the time step (p.u.)"
// Aliases used for intervals (time step aggregation)
// Aliases used in the equations after interval aggregation
ts_influx_(grid, node, f, t)
ts_influx_temp(grid, node, f, t)
ts_cf_(flow, node, f, t)
ts_reserveDemand_(restype, up_down, node, f, t)
ts_node_(grid, node, param_gnBoundaryTypes, f, t)
ts_fuelPrice_(fuel, t)
// Aliases used for updating data in 3b_inputsLoop.gms
ts_unit_update(unit, *, f, t)
ts_effUnit_update(effSelector, unit, effSelector, *, f, t)
ts_effGroupUnit_update(effSelector, unit, *, f, t)
ts_influx_update(grid, node, f, t)
ts_cf_update(flow, node, f, t)
ts_reserveDemand_update(restype, up_down, node, f, t)
ts_node_update(grid, node, param_gnBoundaryTypes, f, t)
ts_fuelPriceChange_update(fuel, t)
ts_unavailability_update(unit, t)
;
* --- Other time dependent parameters -----------------------------------------
......
......@@ -24,38 +24,59 @@ put log ord(tSolve):0:0 /;
putclose log;
if (ord(tSolve) >= tForecastNext(mSolve),
// Read data defined to be updated
// Update ts_unit
if (mTimeseries_loop_read(mSolve, 'ts_unit'),
put_utility 'gdxin' / '%input_dir%/ts_unit/' tSolve.tl:0 '.gdx';
execute_load ts_unit_update=ts_unit
);
// Update _ts_effUnit
if (mTimeseries_loop_read(mSolve, 'ts_effUnit'),
put_utility 'gdxin' / '%input_dir%/ts_effUnit/' tSolve.tl:0 '.gdx';
execute_load ts_effUnit
execute_load ts_effUnit_update=ts_effUnit
);
// Update ts_effGroupUnit
if (mTimeseries_loop_read(mSolve, 'ts_effGroupUnit'),
put_utility 'gdxin' / '%input_dir%/ts_effGroupUnit/' tSolve.tl:0 '.gdx';
execute_load ts_effGroupUnit
execute_load ts_effGroupUnit_update=ts_effGroupUnit
);
// Update ts_influx
if (mTimeseries_loop_read(mSolve, 'ts_influx'),
put_utility 'gdxin' / '%input_dir%/ts_influx/' tSolve.tl:0 '.gdx';
execute_load ts_influx
execute_load ts_influx_update=ts_influx
);
// Update ts_cf
if (mTimeseries_loop_read(mSolve, 'ts_cf'),
put_utility 'gdxin' / '%input_dir%/ts_cf/' tSolve.tl:0 '.gdx';
execute_load ts_cf
execute_load ts_cf_update=ts_cf
);
// Update ts_reserveDemand
if (mTimeseries_loop_read(mSolve, 'ts_reserveDemand'),
put_utility 'gdxin' / '%input_dir%/ts_reserveDemand/' tSolve.tl:0 '.gdx';
execute_load ts_reserveDemand
execute_load ts_reserveDemand_update=ts_reserveDemand
);
// Update ts_node
if (mTimeseries_loop_read(mSolve, 'ts_node'),
put_utility 'gdxin' / '%input_dir%/ts_node/' tSolve.tl:0 '.gdx';
execute_load ts_node
execute_load ts_node_update=ts_node
);
// Update ts_fuelPriceChange
if (mTimeseries_loop_read(mSolve, 'ts_fuelPriceChange'),
put_utility 'gdxin' / '%input_dir%/ts_fuelPriceChange/' tSolve.tl:0 '.gdx';
execute_load ts_fuelPriceChange
execute_load ts_fuelPriceChange_update=ts_fuelPriceChange
);
// Update ts_unavailability
if (mTimeseries_loop_read(mSolve, 'ts_unavailability'),
put_utility 'gdxin' / '%input_dir%/ts_unavailability/' tSolve.tl:0 '.gdx';
execute_load ts_unavailability
execute_load ts_unavailability_update=ts_unavailability
);
// Update the next forecast
......
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