Veda2.0 Released!


How to set emission factor for each year of a specific process during its lifetime?
#1
Hello, everyone!
In VEDA-FE, for example, a process with lifetime of 10 years starts to operate in 2010, and we can set the emission factor for 2011-2020. But when there is another process that can be used in any year during 2020-2050, how can we set the value of emission factor for each year during its lifetime, as we don't know the exact time that the model will choose to use this process? Thanks in advance for any help and attention!

Best,
XW
Reply
#2
I don't see the problem, but maybe I am missing something.

If the emission factor is constant, you can just define a single value for any convenient year, and TIMES will use that value for the emission factor over the process lifetime.

If the emission factor is a function of time (e.g. according to changes in standards), you can define the values at multiple years, and TIMES will interpolate and extrapolate the time-series over all model years, and will use the corresponding values for the process, whenever it will operate.  If the process is not vintaged, the emission factor will change over the lifetime of each vintage, according to the defined trajectory. However, if the process is vintaged, the factor will be constant over the lifetime of each vintage (equal to the value in the commissioning year).

Only if the emission factor is a function of the operating age of the process, or if the process is vintaged and you want the emission factor to be changing over its lifetime, you would need a more complicated set-up. Let me know if that is the issue.
Reply
#3
(23-02-2017, 09:39 PM)Antti-L Wrote: I don't see the problem, but maybe I am missing something.

If the emission factor is constant, you can just define a single value for any convenient year, and TIMES will use that value for the emission factor over the process lifetime.

If the emission factor is a function of time (e.g. according to changes in standards), you can define the values at multiple years, and TIMES will interpolate and extrapolate the time-series over all model years, and will use the corresponding values for the process, whenever it will operate.  If the process is not vintaged, the emission factor will change over the lifetime of each vintage, according to the defined trajectory. However, if the process is vintaged, the factor will be constant over the lifetime of each vintage (equal to the value in the commissioning year).

Only if the emission factor is a function of the operating age of the process, or if the process is vintaged and you want the emission factor to be changing over its lifetime, you would need a more complicated set-up. Let me know if that is the issue.

Thank you, Antti~
So sorry that I didn't to describe the problem correctly. And it's exactly the issue you mentioned, the emission factor is a function of the operating age of the process, that I'm trying to handle.  For example, the lifetime of process A is 10 years, and the emission factor is different for each year over its lifetime.
Reply
#4
OK, then you need to shape the emission factor.  

Shaping a flow attribute, such as an emission factor, is only possible for vintaged processes, because only in that case the flow variables are vintage-specific. Shaping an attribute involves defining the base development of the attribute for the process, a generic SHAPE index, and an attribute linking a SHAPE index to the process-specific attribute. A (random) example is given below, for the CH4 emissions from the OILDST input of the process EGASOIL005 in the DEMO model:

[Image: attachment.php?aid=234]

In the example, the base development of the emission factor is defined by the FLO_EMIS(OILDST,CH4)=10 attribute. Note that if a time-series is defined, the base coefficient will be vintage-dependent. Then a shape index SHAPE(index,age) is defined, according to the desired change in the attribute value, by age. The age is specified in the Year column, and the index number in the Other_indexes column. Finally, that SHAPE index is applied to the FLO_EMIS() coefficient by specifying FLO_FUNCX(r,y,p,com,com)=index.
You don't need to define any interpolation option for SHAPE; it is always inter-/extrapolated.  But for FLO_FUNCX, the default option is 10, and so you might want to use some other option (e.g. 5 as in the example).

Note that the SHAPE index 1 is reserved for a constant shape of 1.


Attached Files Thumbnail(s)
   
Reply
#5
(24-02-2017, 09:49 PM)Antti-L Wrote: OK, then you need to shape the emission factor.  

Shaping a flow attribute, such as an emission factor, is only possible for vintaged processes, because only in that case the flow variables are vintage-specific. Shaping an attribute involves defining the base development of the attribute for the process, a generic SHAPE index, and an attribute linking a SHAPE index to the process-specific attribute. A (random) example is given below, for the CH4 emissions from the OILDST input of the process EGASOIL005 in the DEMO model:

[Image: attachment.php?aid=234]

In the example, the base development of the emission factor is defined by the FLO_EMIS(OILDST,CH4)=10 attribute. Note that if a time-series is defined, the base coefficient will be vintage-dependent. Then a shape index SHAPE(index,age) is defined, according to the desired change in the attribute value, by age. The age is specified in the Year column, and the index number in the Other_indexes column. Finally, that SHAPE index is applied to the FLO_EMIS() coefficient by specifying FLO_FUNCX(r,y,p,com,com)=index.
You don't need to define any interpolation option for SHAPE; it is always inter-/extrapolated.  But for FLO_FUNCX, the default option is 10, and so you might want to use some other option (e.g. 5 as in the example).

Note that the SHAPE index 1 is reserved for a constant shape of 1.

Thank you, Antti!
This perfectly solves the problem that I'm confronting with now!
Reply
#6
(24-02-2017, 09:49 PM)Antti-L Wrote: OK, then you need to shape the emission factor.  

Shaping a flow attribute, such as an emission factor, is only possible for vintaged processes, because only in that case the flow variables are vintage-specific. Shaping an attribute involves defining the base development of the attribute for the process, a generic SHAPE index, and an attribute linking a SHAPE index to the process-specific attribute. A (random) example is given below, for the CH4 emissions from the OILDST input of the process EGASOIL005 in the DEMO model:

[Image: attachment.php?aid=234]

In the example, the base development of the emission factor is defined by the FLO_EMIS(OILDST,CH4)=10 attribute. Note that if a time-series is defined, the base coefficient will be vintage-dependent. Then a shape index SHAPE(index,age) is defined, according to the desired change in the attribute value, by age. The age is specified in the Year column, and the index number in the Other_indexes column. Finally, that SHAPE index is applied to the FLO_EMIS() coefficient by specifying FLO_FUNCX(r,y,p,com,com)=index.
You don't need to define any interpolation option for SHAPE; it is always inter-/extrapolated.  But for FLO_FUNCX, the default option is 10, and so you might want to use some other option (e.g. 5 as in the example).

Note that the SHAPE index 1 is reserved for a constant shape of 1.
Dear Antti,I am also trying to set some age-based emission factors. I tried your example on the demo model. The table is copied exactly as yours:
   
And I also turn on the vintage option for the process EGASOIL005:
   
But I always got an error like that:
   
I have succeeded in introducing an age-based FIXOM cost use the SHAPE attribute like this example. But I have been struggling with the age-based emission coefficient for days. Could you please help me to figure out what is wrong with my setting?
Reply
#7
But what are those errors?  
Can you not post the listing file *.LST from that run where you get these errors, to see what they are?
The listing file is in the Work folder (see the Case manager, box "GAMS Work folder"). Please zip-compress it before uploading.
Reply
#8
(21-04-2019, 12:24 AM)Antti-L Wrote: But what are those errors?  
Can you not post the listing file *.LST from that run where you get these errors, to see what they are?
The listing file is in the Work folder (see the Case manager, box "GAMS Work folder"). Please zip-compress it before uploading.

The *.LST file is attached, Thanks a lot!

.zip   LST.zip (Size: 2.08 KB / Downloads: 2)
Reply
#9
Ok, the errors appear to be like this:
Code:
5650  ROW.2010.EGASOIL005._CommGrp_MISSING.CH4.ANNUAL 10
****                      $338           $170
Thus, VEDA is not getting the source group from Other_Indexes.

This could be because VEDA thinks that they should be numbers... I am not sure, I am not a VEDA expert.

You could try adding a new line below the headers, with a star (*) in the Attribute column, and text in all other columns but 123 in the AllRegions column (see attached picture).  But if that doesn't help, ask the VEDA people for help with these errors.


Attached Files Thumbnail(s)
   
Reply
#10
(21-04-2019, 07:06 PM)Antti-L Wrote: Ok, the errors appear to be like this:
Code:
5650  ROW.2010.EGASOIL005._CommGrp_MISSING.CH4.ANNUAL 10
****                      $338           $170
Thus, VEDA is not getting the source group from Other_Indexes.

This could be because VEDA thinks that they should be numbers... I am not sure, I am not a VEDA expert.

You could try adding a new line below the headers, with a star (*) in the Attribute column, and text in all other columns but 123 in the AllRegions column (see attached picture).  But if that doesn't help, ask the VEDA people for help with these errors.
Thanks a lot, Adding a new line did not work for me. but I solve the problem by putting these settings in three different TFM~INS tables.(The setting of shape in one, the setting of FLO_EMIS in one, and the setting of FLO_FUNCX in one). Thanks a lot for helping me in even the weekend.  Heart
Reply
#11
Recently I started running an experiment with dynamic emission factors, which lead me to this interesting thread. I've followed the steps to set-up the SHAPE attribute in the Demo model. It seems to be working (with the exact same troubles indicated by suxin). However, I still have some trouble interpreting the results. I've made three runs with different SHAPE values: all set to 1, all set to 2, all set as the example from Antti. This leads to the attached results.

   

For 1 it seems to be okay. But for the other values it is different. Considering the differences I have two questions:

1) How can the YEAR in FLO_FUNCX and FLO_EMIS be interpreted? 
It seems to me that this is some kind of a start year, where the SHAPE value comes into action. 

2) How are the SHAPE values interpreted in the model? 
Especially in the dynamic results the emission factor is no where near the SHAPE values. Assuming that 2010 is the starting year, I would assume that the CH4 would be 10 * [shape value]. In my idealistic thoughts, I would assume that the shape value for 2010 would be 1 (first year when it comes to action, considering the choosen YEAR, or 1.8 (10th year after the base year), leading to either 10 or 18 kt CH4 per unit of consumed OILDST. However, the results give 10.06. Furthermore, the sequence of the SHAPE value of the dynamic scenario is nowhere near what you would have expected. 

Did I made an error in the way I modelled this? Or Is the shape value not functioning as I want it to?
Reply
#12
I am confused by what the "exact same troubles indicated by suxin" are.  I have myself no troubles when I define the parameters in the example I gave.  Maybe you can clarify what those troubles are?

The year in FLO_FUNCX is the vintage year, i.e. the period of installation (the same is true for FLO_EMIS if the process is vintaged).  By using a SHAPE for an emission factor, you can thus define age-dependent emission factors. The technology must of course also be defined vintaged for that to work.

If your Base emission factor is FLO_EMIS(r,v,p,cg,c,ts), you will thus get an emission factor of FLO_EMIS(r,v,p,cg,c,ts)*SHAPE(AGE) for the technology of vintage v, as a function of its age. For example, if you define FLO_EMIS(v)=10, and SHAPE(10) = 1.8, the emission factor for vintage v would be 18 at the age of 10 years.  When periods are longer than one year, the shape is computed as an average value over the ages in the period.

Your results did not show the vintages, and so they were not of much use for verifying how it works...

I of course tested my own example already in 2017, and verified that it worked as expected.

Q1: "Did I made an error in the way I modelled this?"
A1:  I don't know how you have modelled it.  Can you show?
Q2:  "Or Is the shape value not functioning as I want it to?"
A2:  I think the SHAPE value is only functioning as documented. Do you not want it that way?
Reply
#13
(05-01-2021, 09:58 PM)Antti-L Wrote: I am confused by what the "exact same troubles indicated by suxin" are.  I have myself no troubles when I define the parameters in the example I gave.  Maybe you can clarify what those troubles are?

The year in FLO_FUNCX is the vintage year, i.e. the period of installation (the same is true for FLO_EMIS if the process is vintaged).  By using a SHAPE for an emission factor, you can thus define age-dependent emission factors. The technology must of course also be defined vintaged for that to work.

If your Base emission factor is FLO_EMIS(r,v,p,cg,c,ts), you will thus get an emission factor of FLO_EMIS(r,v,p,cg,c,ts)*SHAPE(AGE) for the technology of vintage v, as a function of its age. For example, if you define FLO_EMIS(v)=10, and SHAPE(10) = 1.8, the emission factor for vintage v would be 18 at the age of 10 years.  When periods are longer than one year, the age is an average value over the period.

Your results did not show the vintages, and so they were not of much use for verifying how it works...

I of course tested my own example already in 2017, and verified that it worked as expected.

Q1: "Did I made an error in the way I modelled this?"
A1:  I don't know how you have modelled it.  Can you show?
Q2:  "Or Is the shape value not functioning as I want it to?"
A2:  I think the SHAPE value is only functioning as documented. Do you not want it that way?

Dear Antti,

Thanks for the quick reaction. This already clarified something. I think the SHAPE attribute is not the solution for my initial problem, I'll open a new thread to discuss that. Still, there are some question left here. 

First of all, the technology is vintaged. Regarding the troubles from suxin, I relate to his latest post. I also get errors when when SHAPE, FLO_EMIS and FLO_FUNCX are in the same INS table. When I seperate them (SHAPE in INS1, FLO_EMIS in INS2, and FLO_FUNCX in INS3) the errors disappear. 

I copy-pasted your INS table, and run the three scenarios with the defined SHAPE values (see attached)

   

Regarding my model results, I can't see how the model comes up with an emission factor of 10.06 in 2010, as even the average SHAPE*10 for the period 2000-2010 needs to be higher than this value.
Reply
#14
To get clear on your mysterious errors, can you not post the Scenario file (.*xls*) where you define the TFM_INS? Could you please post that as an attachment. I mean the version which causes the errors you mentioned (which I have never seen myself). If it turns out it is a VEDA bug then we could report it to Kanors.
Reply
#15
Ok, because you still seem to have difficulties understanding how SHAPE works in this example, I tried to see if I can A) reproduce your results with the DEMO model, and B) see if your claims have any merit.  

I was not fully able to reproduce your results, but my results were close enough to be consistent with the aggregate results you showed. However, I also noticed that my original wording in the above was a bit sloppy and thus inaccurate, and so I have corrected it now into my post above:

My original wording: "When periods are longer than one year, the age is an average value over the period."
Corrected wording: "When periods are longer than one year, the shape is computed as an average value over the ages [of each vintage] in the period."

Tjerk>  Regarding my model results, I can't see how the model comes up with an emission factor of 10.06 in 2010, as even the average SHAPE*10 for the period 2000-2010 needs to be higher than this value.

AL> First of all, there is no such period as 2000-2010 in the model. The model periods are 2000, 2001, 2005, 2010, …, 2050 (at least in my version of the DEMO model).  However, I was indeed able to reproduce the value 10.06 you showed for 2010 (average emission factor in the period 2010).  This value can be easily re-calculated in Excel to be the fully correct average emission factor for the period 2010.  There are two vintages of the process operating in that period 2010:  Vintage 2000 and vintage 2010.  The value 10.06 can be obtained by dividing the total CH4 emissions from these two vintages in 2010 by the total OILDST consumption of these two vintages in 2010. However, by looking at the emission factors for each of these two vintages separately, one can immediately see that the SHAPE is working fully as expected, for both vintages. For both vintages, the emission factors do indeed have the age-dependency exactly as defined by the input data. But if you still continue to claim otherwise, could you please explain what are the emission factors you would expect to see for these two vintages in 2010, and how you assume those values should be derived.

Of course, I can explain any of the values in more detail, if you still cannot see why 10.06 is indeed the correct value for the average emission factor in 2010. In that case, please provide the full input files (*.DD, *.RUN) for the DEMO model version you are using, so that I can fully reproduce your results.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)