Veda2.0 Released!


Using negative CO2 emissions in a constraint
#1
Trying to run a constraint with an upper limit on CO2 emissions.  When I include only the CO2 emissions commodities that have positive numbers for the emission values, everything runs fine.  When I add our commodity for accounting emissions from biomass, for which most have a negative value though some have a positive value (BIOECO2 in the workbook) the results are strange.  A process that has positive BIOECO2 emissions is used enough to totally zero out the negative BIOECO2 emissions.  Only a small fraction of the output of that process is used further on in the model.  I have attached the constraint that we are using and a spreadsheet of the results for BIOECO2.  Please help me to understand how to resolve this.


Attached Files
.xlsx   Scen_UC-SystemCO2_73cBIO.xlsx (Size: 22.43 KB / Downloads: 4)
.xls   BIOECO2 emissions.xls (Size: 38 KB / Downloads: 3)
Reply
#2
Recall that most variables are by default non-negative in TIMES (including VAR_COMNET and VAR_COMPRD), because in general one cannot allow negative physical flows or demand exceeding supply. Enabling negative emissions thus requires defining the associated VAR_COMNET variables with a negative lower bound, e.g. -INF (usually at least for TOTCO2, probably needed also for total GHG, and in your case apparently also BIOECO2). And, if you also refer to VAR_COMPRD of those emissions, you may need a negative lower bound for that as well. A shortcut for defining -INF (minus infinity) as the lower bound of VAR_COMNET(r,t,c,s) in each period is to set:

 COM_BNDNET(r,'0',c,'ANNUAL','N')=-1;

This is of course only one possible explanation, I apologize if you have already taken care of the VAR_COMNET bounds.
Reply
#3
I "think" I tried what you recommended, but it did not work.  We got the same model results.  Please see attached constraint.  Can you tell me what I am missing?  Do we need to declare somewhere else that there can be negative emissions?  And if so, where is that done? Can you provided an example in excel form?  Thank you.


Attached Files
.xlsx   Scen_UC-SystemCO2_73cBIO.xlsx (Size: 22.68 KB / Downloads: 2)
Reply
#4
I am sorry but you understood me wrong.

Defining a constraint with a negative lower limit does not help. You need to define negative lower bounds for the variables.

VAR_COMNET has a lower bound of zero by default.  Defining a constraint does not change that bound: The total net emissions of BIOECO2 are represented by the variable VAR_COMNET(r,y,'BIOECO2','ANNUAL'), and because that variable has a lower bound of zero, the emissions cannot go negative.

Therefore, please try defining the lower bound for VAR_COMNET(r,y,'BIOECO2','ANNUAL'), as I suggested, using the parameter COM_BNDNET. And, if you happen to refer to the COMPRD as well, define COM_BNDPRD as well:

 COM_BNDNET(r,'0','BIOECO2','ANNUAL','N')=-1;
 COM_BNDPRD(r,'0','BIOECO2','ANNUAL','N')=-1;

You can define it in a TFM_INS table: Put BIOECO2 under Cset_CN, ANNUAL under Timeslice, 0 under Year, N under LimType, and -1 under Allregions.
   
Reply
#5
That solved it Antti.  Thank you!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)