For the sake of avoiding any confusion to other Forum readers, I would like to emphasize that if the commodity C2 mentioned above is defined on the ANNUAL level, and is then consumed by a number for WEEKLY level processes P1, P2,…,Pn, there is no way of ensuring that the total load from the inputs of C2 will follow the exogenous load curve. This can be easily seen by looking at the commodity balance equation in this case, which would look like following:

VAR_ACT(LoadP,C2,ANNUAL) ≥/=

VAR_FLO(P1,C2,WS1) + VAR_FLO(P1,C2,WS2) + … + VAR_FLO(P1,C2,WSn) +

VAR_FLO(P2,C2,WS1) + VAR_FLO(P2,C2,WS2) + … + VAR_FLO(P2,C2,WSn) + … +

VAR_FLO(Pn,C2,WS1) + VAR_FLO(Pn,C2,WS2) + … + VAR_FLO(Pn,C2,WSn)

Here, the process LoadP is the ANNUAL level load process mentioned above, and the timeslices WS1, WS2,…WSn are the WEEKLY level timeslices. As you can see, the equation just ensures an ANNUAL level balance between the production and consumption of C2, and nothing else. As also shown in the equation, the input flows to P1, P2, …, Pn will all still be on the WEEKLY level (because those processes are defined on the WEEKLY level), and therefore the load curve defined for C2 does not have any impact on the process transformation of these processes either. Thus, I would like to discourage any users from trying to define a load curve for C2 in that way.

Instead, defining C2 on the WEEKLY level as I suggested, works fully as expected and as requested by Lukasz, enforcing the exogenous load curve on both C1 and C2. I have also fully verified that by testing.

So, Lukasz: What exactly do you mean by saying "For some reason with C2 on weekly level my "construct" didn't work"? As described above, I don't see how defining C2 on the ANNUAL level could possibly work as you wanted, if you have WEEKLY level processes downstream (consuming C2), and the total load curve for C2 should be as exogenously defined. Instead, defining C2 on the WEEKLY level works as expected. If you claim that it does not work, could you please provide more information.

And, as I mentioned, I also tested the user constraint, and it worked fully as expected. If you claim that it does not work, could you please provide more information.

VAR_ACT(LoadP,C2,ANNUAL) ≥/=

VAR_FLO(P1,C2,WS1) + VAR_FLO(P1,C2,WS2) + … + VAR_FLO(P1,C2,WSn) +

VAR_FLO(P2,C2,WS1) + VAR_FLO(P2,C2,WS2) + … + VAR_FLO(P2,C2,WSn) + … +

VAR_FLO(Pn,C2,WS1) + VAR_FLO(Pn,C2,WS2) + … + VAR_FLO(Pn,C2,WSn)

Here, the process LoadP is the ANNUAL level load process mentioned above, and the timeslices WS1, WS2,…WSn are the WEEKLY level timeslices. As you can see, the equation just ensures an ANNUAL level balance between the production and consumption of C2, and nothing else. As also shown in the equation, the input flows to P1, P2, …, Pn will all still be on the WEEKLY level (because those processes are defined on the WEEKLY level), and therefore the load curve defined for C2 does not have any impact on the process transformation of these processes either. Thus, I would like to discourage any users from trying to define a load curve for C2 in that way.

Instead, defining C2 on the WEEKLY level as I suggested, works fully as expected and as requested by Lukasz, enforcing the exogenous load curve on both C1 and C2. I have also fully verified that by testing.

So, Lukasz: What exactly do you mean by saying "For some reason with C2 on weekly level my "construct" didn't work"? As described above, I don't see how defining C2 on the ANNUAL level could possibly work as you wanted, if you have WEEKLY level processes downstream (consuming C2), and the total load curve for C2 should be as exogenously defined. Instead, defining C2 on the WEEKLY level works as expected. If you claim that it does not work, could you please provide more information.

And, as I mentioned, I also tested the user constraint, and it worked fully as expected. If you claim that it does not work, could you please provide more information.