NREL / ReEDS-2.0

https://nrel.github.io/ReEDS-2.0/
GNU General Public License v3.0
120 stars 16 forks source link

How to active the eq_forceprescription #55

Open wanyingw193 opened 3 years ago

wanyingw193 commented 3 years ago

Hi,

Very strangely, I have tried many ways to activate this constraint, but the forced build does not happen.

The code I entered is:

rbforce(r) "balancing regions of texas" /p60*p65,p67/, pcat "prescribed capacity categories"-- gas-cc-ccs-force set prescriptivelink0(pcat,ii)-- gas-cc-ccs-force.(gas-cc-ccs) ivt('gas-cc-ccs',v,t)$[ord(t)<=2035]= yes; rfeas_cap(r)$rbforce(r) = yes ; force_pcat("gas-cc-ccs-force","2035") = Yes; force_pcat("gas-cc-ccs","2035") = Yes; noncumulative_prescriptions('gas-cc-ccs','p60','2035') = 500; noncumulative_prescriptions('gas-cc-ccs','p60','2030') = 500; noncumulative_prescriptions('gas-cc-ccs-force','p60','2035') = 500; noncumulative_prescriptions('gas-cc-ccs-force','p60','2030') = 500;

Can I get some further advice? Thanks!!

================================ There's a number of ways to do this. My recommendation would be to take advantage of the existing prescription constraint in the model.

eq_forceprescription https://github.com/NREL/ReEDS_OpenAccess/blob/1a59d23ac6adfff787c3038566c4eaacb42beee2/c_supplymodel.gms#L452

For this to work you'll need in b_inputs to have the year 2035 added to force_pcat(pcat,t) this conditional determines whether or not the constraint is active, typically after the early model solve years this constraint becomes inactive.

You'll also need to add to the noncumulative_prescriptions parameter so that it includes the capacity that you wish to add. In this case it would look something like.

noncumulative_prescriptions('gas-cc-ccs','p60','2035')=500;

You will want for these parameter changes to take effect after they are currently populated in b_inputs.gms.

If this will be more than a one off instance, I recommend linking this to csvs files that allow you to define the added capacity more flexibility without hard coding values to the model.

_Originally posted by @vcelloho in https://github.com/NREL/ReEDS_OpenAccess/discussions/49#discussioncomment-1156130_