Veda2.0 Released!


Storage Processes Modeling: Pumped Hydro
#1
Hello Everyone, 

I have started study how to model storage processes in TIMES, in specific Pumped Hydro Plants (PHP), and I have some doubts about it:

1) For example, If I defined that my initial level if 3 with the parameter (STG_CHRG~TS) for the beginning of the model horizon, this will be applied only for the first year of my model horizon or it will be repeated for all the following years at the same timeslice (TS) that I defined it ? 

2) How can I check if my plant is working as it should be. For example, if I have a PHP that its output power is 1 GW, I understand that the maximum amount of energy stored will be equivalente to 24 GWh (a day) and 8760 GWh (a whole year), if I do not specific any NCAP_AFC. Is that correct ? 

Now let's say the model has 16 TS:  4 Seasons (R S F W), 4 daynite levels (D N P V): for the TS RD with YFRY=x, the maximum amount of energy that can be stored at this RD is x*8760GWh ? About the energy and power outputs, if I do not consider any bound, the output energy max will be equal to x*8760GWh and output power máx = 1GW*x ?

3) How the value defined for STG_CHRG affects the ouput results of energy and power, does it have a direct impact on these ? 

4) To bound the input or output flow in terms of power we can use NCAP_AFS, but is that possible to use at the same time with NCAP_AFC ? Or is it better to bound the storage level with NCAP_AFC and bound the energy flows with STGOUT_BND/STGIN_BND? 

Thank for your attention and help!  Smile
Reply
#2
Please find my quick comments below.

> For example, If I defined that my initial level if 3 with the parameter (STG_CHRG~TS) for the beginning of the model horizon, this will be applied only for the first year of my model horizon or it will be repeated for all the following years at the same timeslice (TS) that I defined it ?

From the documentation:
• STG_CHRG(r,t,p,s) – exogenous charging of a storage technology. For timeslice storage this parameter can be specified for each period, while for inter-period storage this parameter can only be specified for the first period, to describe the initial content of the storage.

However, in my view it does not make much sense using STG_CHRG for timeslice storage, for example for pumped hydro.  I think the idea of modelling pumped hydro is that the model should optimize the storage operation, charging with pumping using electricity from the grid, and not from some exogenous source. But for inter-period storage STG_CHRG can be useful, as one can use it for defining the initial storage level at the beginning of the model horizon.

> How can I check if my plant is working as it should be. For example, if I have a PHP that its output power is 1 GW, I understand that the maximum amount of energy stored will be equivalente to 24 GWh (a day) and 8760 GWh (a whole year), if I do not specific any NCAP_AFC. Is that correct ?

No. As the documentation says, if you do not specifiy any NCAP_AFC, the storage capacity represents the maximum amount of energy that can be stored. If your capacity is, say 1 unit, and you define PRC_CAPACT=31.536 (which is usually the case if the capacity is specified in GW and the flow unit is PJ), your capacity would simply be 31.536 PJ, the maximum nominal amount of energy stored.

> Now let's say the model has 16 TS:  4 Seasons (R S F W), 4 daynite levels (D N P V): for the TS RD with YFRY=x, the maximum amount of energy that can be stored at this RD is x*8760GWh ?

The storage capacity does not depend on the timeslice: If your capacity is, say 1, and you define PRC_CAPACT=31.536 (which is usually the case if the capacity is specified in GW and the flow unit is PJ), your capacity would simply be 31.536 PJ in terms of energy stored, during any timeslice. This is so as long as you do not specify any NCAP_AFC. But if you DO specify NCAP_AFC for the primary flows, the capacity represents the nominal maximum flow level (so it would be 1 GW). And then you can use NCAP_AFC(ACT) for defining a bound on the maximum storage level. See section 4.3.7 Availability factors for storage processes.

> How the value defined for STG_CHRG affects the ouput results of energy and power, does it have a direct impact on these 
STG_CHRG is an exogenous charging flow. It has the same effect as endogenous charging, but when using STG_CHRG the charged energy comes from an exogenous source. See the documentation, part II, section 6.3.40 EQ_STGTSS/IPS.

> To bound the input or output flow in terms of power we can use NCAP_AFS...
Not really.  NCAP_AFS can be used for defining a seasonal availability factor (UP/LO).  In general, it bounds the activity level in proportion to the capacity, and so for a storage process it would bound the storage level. But if NCAP_AFC is used for the same timeslice level as NCAP_AFS(UP), only the AFC constraints are generated (the AFS/AFC values are multiplied), as stated in the documentation.

To bound the input or output flow in terms of power level, I think it is best to use NCAP_AFC.
Reply
#3
(25-08-2021, 01:51 PM)Antti-L Wrote: Please find my quick comments below.

> For example, If I defined that my initial level if 3 with the parameter (STG_CHRG~TS) for the beginning of the model horizon, this will be applied only for the first year of my model horizon or it will be repeated for all the following years at the same timeslice (TS) that I defined it ?

From the documentation:
• STG_CHRG(r,t,p,s) – exogenous charging of a storage technology. For timeslice storage this parameter can be specified for each period, while for inter-period storage this parameter can only be specified for the first period, to describe the initial content of the storage.

However, in my view it does not make much sense using STG_CHRG for timeslice storage, for example for pumped hydro.  I think the idea of modelling pumped hydro is that the model should optimize the storage operation, charging with pumping using electricity from the grid, and not from some exogenous source. But for inter-period storage STG_CHRG can be useful, as one can use it for defining the initial storage level at the beginning of the model horizon.

> How can I check if my plant is working as it should be. For example, if I have a PHP that its output power is 1 GW, I understand that the maximum amount of energy stored will be equivalente to 24 GWh (a day) and 8760 GWh (a whole year), if I do not specific any NCAP_AFC. Is that correct ?

No. As the documentation says, if you do not specifiy any NCAP_AFC, the storage capacity represents the maximum amount of energy that can be stored. If your capacity is, say 1 unit, and you define PRC_CAPACT=31.536 (which is usually the case if the capacity is specified in GW and the flow unit is PJ), your capacity would simply be 31.536 PJ, the maximum nominal amount of energy stored.

> Now let's say the model has 16 TS:  4 Seasons (R S F W), 4 daynite levels (D N P V): for the TS RD with YFRY=x, the maximum amount of energy that can be stored at this RD is x*8760GWh ?

The storage capacity does not depend on the timeslice: If your capacity is, say 1, and you define PRC_CAPACT=31.536 (which is usually the case if the capacity is specified in GW and the flow unit is PJ), your capacity would simply be 31.536 PJ in terms of energy stored, during any timeslice. This is so as long as you do not specify any NCAP_AFC.  But if you DO specify NCAP_AFC for the primary flows, the capacity represents the nominal maximum flow level (so it would be 1 GW). And then you can use NCAP_AFC(ACT) for defining a bound on the maximum storage level. See section 4.3.7 Availability factors for storage processes.

> How the value defined for STG_CHRG affects the ouput results of energy and power, does it have a direct impact on these 
STG_CHRG is an exogenous charging flow. It has the same effect as endogenous charging, but when using STG_CHRG the charged energy comes from an exogenous source. See the documentation, part II, section 6.3.40 EQ_STGTSS/IPS.

> To bound the input or output flow in terms of power we can use NCAP_AFS...
Not really.  NCAP_AFS can be used for defining a seasonal availability factor (UP/LO).  In general, it bounds the activity level in proportion to the capacity, and so for a storage process it would bound the storage level. But if NCAP_AFC is used for the same timeslice level as NCAP_AFS(UP), only the AFC constraints are generated (the AFS/AFC values are multiplied), as stated in the documentation.

To bound the input or output flow in terms of power level, I think it is best to use NCAP_AFC.
 
Thank you very much for your explanation! About the STG_CHRG, this was already in the example I received to study, and I was seing no point on using it. 

Thanks a lot Antii!!  Big Grin
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)