I am trying to build user constraints for minimum activity bounds for various generator technologies. It is working fine for technologies, other than storage. I am using Battery energy storage technology for which input output commodity is ELC.
Process set membership – STGTSS
Capacity unit – GW
Activity unit – PJ
Timeslice level – DAYNITE
PRC_CAPACT – 31.536
STG_EFF – 0.86
NCAP_AFC – 0.1666
The minimum bound defined is for the year 2030 to ensure new capacity investments in technologies to achieve this minimum level of activity. However, in the case of storage, the level of activity is not maintained and there is no new investment.
Attached is the file for user constraint that I am using. Please help me in finding out the mistake with my constraints or if something is missing. In the given example, coal power plants meet the activity bound.
I just tested using UC constraint defining a minimum activity for some DAYNITE level STGTSS storage processes, and it worked just fine. In the results, the Var_ACT shows that the activities are satisfying the constraint.
Of course, if your capacity represents solely the maximum output level, defining a lower bound for the activity does not necessarily cause any investments into the technology, and I am sure you understand that.
So, what seems to be the problem? Are you really saying that the activities of the storage processes do not meet the activity bound defined by the constraint UC_stg_act?
I am still confused. Is there any way to give a bound to control VAR_FOut of storage?
Or if u can suggest how the total activity in a year for storage is calculated for a given capacity.
15-01-2021, 07:28 PM (This post was last modified: 15-01-2021, 07:29 PM by Antti-L.)
Yes, of course you can bound storage output, but it is directly possible only for individual storage technologies, with these parameters:
STGIN_BND(REG,ALLYEAR,PRC,C,S,BD) Bound on input-flow of storage process
STGOUT_BND(REG,ALLYEAR,PRC,C,S,BD) Bound on output-flow of storage process
In user-constraints, the storage flows are not directly available, but indirectly yes. Just define an auxiliary flow equal to the flow you want to refer, and then refer to that auxiliary flow with UC_FLO. That works quite well and I think it is also reasonably easy, and that's why it has not been considered necessary to implement yet another UC component for directly referring to storage flows.
However, if you want a minimum capacity for storage processes, why not define a bound for the capacity?
I am trying to link the result of some other model with TIMES, and giving activity bound to technologies in TIMES so that it will produce the required capacity to match the activity. That's why I cant give bound directly for capacity.