Fixed and flexible inputs combined
#1
Dear all,
In an Iron producing process it seems better to have a mix of fixed and flexible input commodities.
I would like to start from my existing database with only fixed INPUT/OUTPUT data. The output is 1 Mton of iron (PCG); inputs are coal, coke, oxygen, ele, pellets, etc...

The question is how can I make the consumption of 1 input commodity "flexible" so that two commodities can be used as a substitute (lets assume in the example that pellets and sinter are substitutes) without giving up the transparancy of INPUT/OUTPUT data ?
The reason that I ask is that I do not think it is transparant if
1) I switch everything to EFF and fixed shares
2) I combine the use of EFF with INPUT/OUTPUT (if possible anyway).

Thanks !
Wouter
Reply
#2
Lets use this workbook for cases like this one:
Google Doc for examples
Reply
#3
Again a great feature !
I think I know now how to include a combination of flexible and fixed commodities.
In my example, I use INPUT/OUTPUT numbers in combination with CEFF (whereas in my first model runs it was EFF and did not work of course).
In this way, the two "variants" of blast furnace can  be modeled in one process.

Thanks !
Wouter
Reply
#4
Indeed, the solution shown in the workbook defines a flexible group for the material inputs, and fixed INPUTs for the energy commodities.

However, your conclusion that "it was EFF and did not work of course" deserves some additional clarification. EFF defines an efficiency between the shadow group of the process and the activity. If the primary group (PG) consists of material (MAT) commodities (such as iron), also the shadow group is defined to be MAT by the model generator, and using EFF should work equally well as using CEFFs.  But because EFF did not work, I assume that you have not defined iron to be a material commodity. Is that correct?

If iron is defined to be a DEM commodity instead of MAT, the model generator assumes that the shadow group is NRG (when there are energy inputs), unless the process is defined to be a material conversion process (PRW or PRV). So, even if iron is of type DEM, you could have used EFF if you had defined the process to be such a material conversion process.

Furthermore, you could also have used ACT_EFF(MAT) instead of EFF, which would have ensured that the efficiency is defined for the group consisting of the material inputs. Therefore, when in doubt about the shadow group, it is safest to use ACT_EFF where you can specify the group explicitly.
Reply
#5
Thank you Antti for the very clear explanation on the use of EFF and ACT(EFF).
Indeed, iron is defined as a material and is the PCG so my first idea was that EFF would work. I guess that it does not work because oxygen is also defined as a material, but its consumption is fixed by an INPUT. Could that be the case ?
If necessary, I can do a test run without oxygen and see if EFF is working.

Take care,
Wouter
Reply
#6
Ok, I missed the Oxygen issue: that oxygen also happens to be a material input.  But that means that your CEFF approach will not work correctly either.  This is so because when you define the CEFF parameters for the Pellets and Sinter commodities, and you don't define any group efficiency, the flexible group is automatically assumed to be the commodity type MAT.  Therefore, Oxygen will be included in the flexible group, with an efficiency of 1.0 (because there is no CEFF defined for it). But I think that Oxygen most probably should not be included in this efficiency group?

To illustrate the point, I added your process to the DEMO model, and the following equation was defined, for example, for the period 2001:

EQE_ACTEFF(ROW,2001,2001,Bfurnace,MAT,IN,ANNUAL)..  - VAR_ACT(ROW,2001,2001,Bfurnace,ANNUAL)
           + VAR_FLO(ROW,2001,2001,Bfurnace,Oxygen,ANNUAL) + 0.66667*VAR_FLO(ROW,2001,2001,Bfurnace,Pellets,ANNUAL)
           + 0.66667*VAR_FLO(ROW,2001,2001,Bfurnace,Sinter,ANNUAL) =E= 0 ; (LHS = 0)

So, using your CEFF approach, you are in fact producing Iron (VAR_ACT) from Oxygen (VAR_FLO(Oxygen)) with an efficiency of 1.0!

If you want that the flexible group consists of just the Pellets and Sinter commodities, you could define a user-defined commodity group (UD-CG) for them, and then define an ACT_EFF parameter for this group.

Another alternative approach is to define the Oxygen as an auxiliary input to the process (Comm-IN-A). When you do so, the auxiliary commodity will be automatically removed from the flexible efficiency group.
Reply
#7

Indeed, my results looked correct, but they were not correct. Checking the equation is indeed the best to do. I will use Comm-IN-A for oxygen.

Thanks for helping me out.
Wouter
Reply
#8

How about updating the Excel file with your final solution?

Reply
#9
OK, done.
Reply
#10
I used "INPUT" on a commodity group that consists of the two materials (Pellets, Sinter) to get the same representation of the process when using ACT_EFF.
In the results I see that "INPUT" is interpreted as an efficiency.
To prevent misinterpretations, wouldn't it be a good idea to have the "INPUT" of a commodity group be translated in the same way as a normal commodity ?
Best,
Wouter
Reply
#11
I am not seeing it quite that way.

I just tested this, by defining an UD-CG "G-BLRED" for Pellets and Sinter, and defined an INPUT parameter for this group (with the value 1.5). I obtained the following EQ_PTRANS equation:

EQ_PTRANS(ROW,2000,2000,Bfurnace,Iron,G-BLRED,ANNUAL)..  - 1.5*VAR_ACT(ROW,2000,2000,Bfurnace,ANNUAL)
      + VAR_FLO(ROW,2000,2000,Bfurnace,Pellets,ANNUAL) + VAR_FLO(ROW,2000,2000,Bfurnace,Sinter,ANNUAL) =E= 0 ; (LHS = 0)

The equation states that the sum of the flows of Pellets and Sinter should be 1.5 times the activity, i.e. in the same way as when using Input for a normal commodity.

However, in older versions of VEDA/TIMES both Input and EFF/CEFF were translated into the same parameter, VDA_FLOP, and at that time the model generator could only assume that all VDA_FLOPs defined for genuine groups were supposed be efficiencies, while those defined for commodities were Inputs/Ouputs. Maybe that is the reason for your findings. Can you thus tell us what is the version of TIMES you are using?

Furthermore, actually using Input has been until now "officially" supported in VEDA-FE only for normal commodities. But maybe now groups could be supported as well, because I think the model generator can now handle them in a consistent way.
Reply
#12
Dear Antti,
After updating my VEDA, I indeed have the correct equation when using INPUT and the model is working fine.
However, I get a an error in the listing file, see down.
34385  BE.IISSINTER01.IIS_Gases.IN
****                          $170
**** LINE   1886 BATINCLUDE  D:\VEDA\Veda_FE\GAMS_WRKPET2005BE\B-NEWTECHS-IND.dd
**** LINE     74 INPUT       D:\VEDA\Veda_FE\GAMS_WRKPET2005BE\ReferenceBE.RUN
GAMS Rev 235  WIN-VS8 23.5.2 x86/MS Windows                                                        05/17/11 09:41:44 Page 3
TIMES -- VERSION 3.1.5 (a)
Error Messages
170  Domain violation for element
You can see in the spreadsheet how I implemented the process input for the user defined commodity group:
Did I do it correctly ?
Thanks again,
Wouter
Reply
#13
I have to say that the error comes from the Sinter process because I used a commodity group as an input there (and thus it is different from the example in Excel with Pellets and Sinter, but the principle is the same).
Reply
#14
Ok, it seems that you added the group in the process topology. It is clear that such does not work, and you should obviously not do that. The topology should include only normal commodities.

As I mentioned, using groups in the Input parameter has not actually been supported in VEDA-FE, and therefore you cannot specify the group in the column header (e.g. Input~IIS_Pell_Sinter) or in the CommGrp column (or did you find this working?). However, ACT_EFF does support groups, and you can thus specify the group either in the column header or in the CommGrp column.

Currently, the only way I know to make Input work with a group is to define the parameter in a transformation table (TFM_INS). But again, it is not officially supported, so use it at your own risk.
Reply
#15
Thanks.
I use ACT_EFF on a user defined commodity group (although INPUT is working -with an error alert : )
Wouter
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)