Veda2.0 Released!


NCAP_CPX and NCAP_OCOM
#1
Dear all,

I am shaping the capacity transfer of vehicles using NCAP_CPX and SHAPE, and I would like to defined a commodity flow (out) based on the retired capacity. However, testing NCAP_OCOM, it seems that it does not take into account the shaping of capacity transfer to account for the retired capacities. Instead, It considers that all the capacity of given vintage retires when it reaches its end of technical lifetime TILIFE (I should precise that no NCAP_DLIFE is currently defined).

Do you know how I could define a commodity flow(out) based on the retired capacity induced by the use of NCAP_CPX and SHAPE ?

Thanks a lot for your help.

Vincedh
Reply
#2
Hmm... not sure I fully follow. 

> how I could define a commodity flow(out) based on retired capacity induced by the use of NCAP_CPX and SHAPE

The retired portion of the capacity, as defined by NCAP_CPX and SHAPE, is exogenous. Therefore, I think you could simple adjust NCAP_OCOM according to that fraction, to define a commodity flow(out) corresponding to either the retired capacity or to the capacity surviving at the end of the lifetime.  But probably I am missing something...
Reply
#3
(19-01-2024, 04:57 PM)Antti-L Wrote: Therefore, I think you could simple adjust NCAP_OCOM according to that fraction, to define a commodity flow(out) corresponding to either the retired capacity or to the capacity surviving at the end of the lifetime.  But probably I am missing something...
Hello Antti,

Thank you for your answer. In my case, I am not sure that would bring me what I am looking for.
The thing is : I would like a flow(out) of commodity not only at the end of the lifetime of the process, but at each period where NCAP_CPX decreases.

For instance, if I define NCAP_OCOM for a process whose shape of NCAP_CPX is 0.7 after 15 years whereas its lifetime is 30 years, there will be no flow(out) of the commodity in the period during which the process reaches 15 years, when its capacity decreases by 30%. What I would like to model is a flow(out) when the process reaches 15 years old, corresponding to the "retirement" of 30% due to NCAP_CPX.

In my case, the shape of NCAP_CPX decreases each year between age 1 and age 30 of the process.

I thought about using NCAP_COM(OUT) and shape it with FLO_FUNCX(CAPFLO). I calculated this shape SHAPE_capflo from the shape of NCAP_CPX (which is exogenous as you said), that I will call here SHAPE_cpx :
SHAPE_capflo(age) = [SHAPE_cpx(age-1)-SHAPE_cpx(age)]/SHAPE_cpx(age).

The fact that I divide here by SHAPE_cpx(age) is necessary to ensure that :
- it cancells out in the calculation of the outbound flow when it multiplies the remaning capacity VAR_NCAP(vintage)*SHAPE_cpx(year-vintage).
- the remaining quantity is the retired capacity between (age-1) and (age) : VAR_NCAP(vintage)*[SHAPE_cpx(year-vintage-1)-SHAPE_cpx(year-vintage)].

Nevertheless, when the duration of the period is longer than one year, a calculation of the levelized SHAPE on the period makes this "trick" unsatisfactory. Indeed, the resulting outbound flow would not be the same as if I had defined it directly using the average annual retired capacity on the period.

I'm sorry if my explanations aren't clear enough. Don't hesitate to let me know if you need me to rephrase or expand on certain points.

Thanks a lot,
Vincedh
Reply
#4
> when the duration of the period is longer than one year, a calculation of the levelized SHAPE on the period makes this "trick" unsatisfactory. Indeed, the resulting outbound flow would not be the same as if I had defined it directly using the average annual retired capacity on the period.

Ok, do you mean that within each period (using periods longer than 1 year) you would like the cumulative outflow of the commodity (in the period) to be proportional to the capacity decrease in that period?  However, do you mean that the average annual retired capacity does not give the desired annual output flow (I get that impression from the quote above)? If so, why?  Or do you mean that with the CAPFLO SHAPE you are not able to get the correct multiplier representing the average annual retired capacity?
Reply
#5
Dear Antti,

Thank you for your questions. Here are my answers :


Quote:> Do you mean that within each period (using periods longer than 1 year) you would like the cumulative outflow of the commodity (in the period) to be proportional to the capacity decrease in that period?

If by cumulative outflow you mean [average flow at milestone year]x[duration of the period] - maybe taking into account discout rate, I am not sure -, that is indeed exactly what I would like to get !



Quote:> However, do you mean that the average annual retired capacity does not give the desired annual output flow (I get that impression from the quote above)? If so, why?  Or do you mean that with the CAPFLO SHAPE you are not able to get the correct multiplier representing the average annual retired capacity?



Well, I don't manage to get the desired annual output flow because I don't manage to define it directly from the retired capacity (NCAP_OCOM does not seem to be taking into account the decrease of NCAP_CPX shape as a retired capacity, but tell me if I'm wrong).

The way I tried to do it, defining the output flow from the remaining capacity of vintage v at age [year-v] (using NCAP_COM(OUT), and CAPFLO SHAPE), does not work properly because I don't use the correct mutlipliers indeed. The ones I presented would only work for 1 year-long periods I think. I feel that to get the right mutlipliers, I have to define them correspondingly to the choice of my periods definition, which I would like to avoid...
To avoid this, I should either define and shape the outflow from the initial capacity (and not the remaining one), or define the outflow from the retired capacity in each period (I wouldn't even need to shape it in that case).

But I did not find to do either of thoses things. Or do you see another possibility ?

Thank you Antti,
Vincedh
Reply
#6
> NCAP_OCOM does not seem to be taking into account the decrease of NCAP_CPX shape as a retired capacity, but tell me if I'm wrong.

No you are right, that is so by design, sorry.  It is meant for the amount of commodity recovered at the end of the lifetime (plus optional lag), from the total installed capacity of each vintage.

>  The ones I presented would only work for 1 year-long periods I think.

Ok, I thought they would work for any periods, because they would be averaged for periods longer than 1 year.  It is not quite clear to me why they wouldn't work, but if that is the case, it looks like currently there might be no way to accomplish what you want. But possible a new feature could be added into a future version...
Reply
#7
Quote:Ok, I thought they would work for any periods, because they would be averaged for periods longer than 1 year.  It is not quite clear to me why they wouldn't work



I was not sure either, but I tried to write it down and I think I found out why (see the attachment). Tell me if it seems wrong to you.

Quote:but if that is the case, it looks like currently there might be no way to accomplish what you want. But possible a new feature could be added into a future version...


That would be great indeed ! Thank you Antti Smile

Vincedh


Attached Files Thumbnail(s)
   
Reply
#8
I can see some errors and inconsistencies, e.g. the shaped CAPFLO multiplier is not averaged by discounting in TIMES (while the shaped capacity transfer is), and I cannot quite make sense out of equation 1.8 (together with 1.7).

Anyway, maybe we could try to see it more conceptually. You agreed earlier that the cumulative flow in a period is given by: [average flow at milestone year]x[duration of the period], and that the cumulative outflow of the NCAP_COM flow (in the period) should be proportional to the capacity decrease in that period.

Therefore, shouldn't the outflow at the Milestone year correspond to the average annual capacity decrease in the period (AACD) (assuming here for simplicity that NCAP_COM=1)?

Would you then agree that the annual capacity decrease (=retirement), in proportion to remaining capacity (ARRC) can be given by:
  ARRC(age) = [SHAPE_cpx(age−1)-SHAPE_cpx(age)]/SHAPE_cpx(age)

And then the average annual retirement in the period, in proportion to the remaining capacity (AARRC) can be taken as the average of ARRC over the period years:
   AARRC(v,t) = SUM({y=B(t),…,E(t)},ARRC(y−B(v)+1)) / D(t) 

The corresponding average remaining capacity is given by VAR_NCAP(v) × COEF_CPT(v,t), where COEF_CPT is the capacity transfer coefficient.  And therefore, the desired flow at the Milestone year corresponding to the average annual capacity decrease (AACD) should be given by:
   AACD(v,t) = AARRC(v,t) × VAR_NCAP(v) × COEF_CPT(v,t)

And this is exactly how TIMES calculates it.  Therefore, if you agree mostly with the above, can you clarify why do you still say that it does not work?  Do you mean that it is not sufficiently accurate, even though conceptually ok?
Reply
#9
Hello Antti,

Thank you for your explanations. I believe the calculations are conceptually correct but lack precision.
The way TIMES calculates the AACD overestimates it, as explained in the attached PDF. Additionally, testing shows that this overestimation increases as the period lengthens.

Quote:but if that is the case, it looks like currently there might be no way to accomplish what you want. But possible a new feature could be added into a future version...

A new feature would indeed be greatly appreciated Smile

Thanks a lot,
PBuccia


.pdf   Average annual capacity decrease.pdf (Size: 180.43 KB / Downloads: 18)
Reply
#10
Thank you for the follow-up.
If one should implement a new feature, it would be important to understand how the desired functionality is supposed to work, and that is why I wanted to understand what you mean by "it does not work".  It seems it is now clarified, and I understand well the issue related to accuracy.
Reply
#11
I made a tentative implementation into the latest release, which works well in physical terms (cumulative flow is always equal to the capacity installed, assuming NCAP_OCOM=1), but has a systematic delay of (D(T)-1)/2 in terms of timing of the flows, and it also has some open issues related to ILEDs and past investments.  I plan to look at it again for the next release (within March) to resolve the outstanding consistency issues.
Reply
#12
Another follow-up:

Ok, I have now looked at it again, and arrived at an implementation, which would appear to define consistently a commodity output flow based on the retired capacity, as defined by NCAP_CPX.  In each period, it produces flows consistent with both the physical retirement and with the timing of those retirements. The limitation is that no lag time can be defined by the user (like one can with the standard NCAP_OCOM). And output flows based on endogenous retirements are neither supported (such a support would complicate things considerably, requiring additional model equations).

@vincedh You did not mention anything about lags or endogenous retirements. So, can you confirm whether this feature would fulfil your needs despite the limitations described above?
Reply
#13
Hello Antti,
Yes, we think it should work for us despite the limitations mentioned. Thanks a lot for your help.
Reply
#14
Hi Antti,


Quote:I have now looked at it again, and arrived at an implementation, which would appear to define consistently a commodity output flow based on the retired capacity, as defined by NCAP_CPX.  In each period, it produces flows consistent with both the physical retirement and with the timing of those retirements.

That is very good news !

Can you confirm that this implementation considers the retired capacity as defined by NCAP_CPX for both NCAP_PASTI and VAR_NCAP ?


Quote:The limitation is that no lag time can be defined by the user (like one can with the standard NCAP_OCOM). And output flows based on endogenous retirements are neither supported (such a support would complicate things considerably, requiring additional model equations). @vincedh You did not mention anything about lags or endogenous retirements. So, can you confirm whether this feature would fulfil your needs despite the limitations described above?



As @PBuccia said, this would work for us as there is no early retirement or lag time with our current use of NCAP_OCOM.

Thanks again Antti,
Vincedh
Reply
#15
> Can you confirm that this implementation considers the retired capacity as defined by NCAP_CPX for both NCAP_PASTI and VAR_NCAP ?

Yes, it does.  But of course, what you mean by "consider" may well be considered ambiguous. For example, what do you expect to be the flows for a past investment in 2001, with NCAP_PASTI=1 and a lifetime of, say 30 years, linear CPX from 1 to 0.1 over ages {1,...,30}, and let's say the base year is 2020?  How much would you expect the cumulative flows to amount?
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  About NCAP_OCOM [email protected] 1 302 28-03-2025, 06:50 PM
Last Post: [email protected]
  Retirement profile for new technology: SHAPE & NCAP_CPX attributes vahid.aryanpur 3 3,812 12-01-2021, 06:02 PM
Last Post: vahid.aryanpur

Forum Jump:


Users browsing this thread: 1 Guest(s)