You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In OSeMOSYS there are two types of depreciation methods; sinking-fund and straight-line. Depreciation Method is a binary parameter which can take on the value of 1 or 2 (sinking-fund and straight-line respectively). In OSeMOSYS_fast, the parameter DepreciationMethod is still defined in the model file, yet, users are locked to only using sinking-fund depreciation method (which is a little confusing!). I would assume using OSeMOSYS_fast should not prohibit me from choosing different depreciation methods?
Description
In the regular OSeMOSYS version, if deprecation method is 1, the SV1 constraint is activated (assuming discount rate is greater than zero). If deprecation method is 2, the SV2 constraint is activated. These work correctly when running the regular osemosys model.
s.t. SV1_SalvageValueAtEndOfPeriod1{r in REGION, t in TECHNOLOGY, y in YEAR: DepreciationMethod[r]=1 && (y + OperationalLife[r,t]-1) > (max{yy in YEAR} max(yy)) && DiscountRate[r]>0}: SalvageValue[r,t,y] = CapitalCost[r,t,y] * NewCapacity[r,t,y] * CapitalRecoveryFactor[r,t] * PvAnnuity[r,t] *(1-(((1+DiscountRate[r])^(max{yy in YEAR} max(yy) - y+1)-1)/((1+DiscountRate[r])^OperationalLife[r,t]-1)));
s.t. SV2_SalvageValueAtEndOfPeriod2{r in REGION, t in TECHNOLOGY, y in YEAR: (DepreciationMethod[r]=1 && (y + OperationalLife[r,t]-1) > (max{yy in YEAR} max(yy)) && DiscountRate[r]=0) || (DepreciationMethod[r]=2 && (y + OperationalLife[r,t]-1) > (max{yy in YEAR} max(yy)))}: SalvageValue[r,t,y] = CapitalCost[r,t,y] * NewCapacity[r,t,y] * CapitalRecoveryFactor[r,t] * PvAnnuity[r,t] *(1-(max{yy in YEAR} max(yy) - y+1)/OperationalLife[r,t]);
In OSeMOSYS_fast. the equivalent salvage value equations are defined as follows. Depreciation method is removed from both of them. Moreover, the only spot depreciation method appears in OSeMOSYS_fast is in commented out storage salvage value equations.
s.t. SV1_SalvageValueAtEndOfPeriod1{r in REGION, t in TECHNOLOGY, y in YEAR: (y + OperationalLife[r,t]-1) > (max{yy in YEAR} max(yy)) && DiscountRate[r]>0}: SalvageValue[r,t,y] = CapitalCost[r,t,y] * NewCapacity[r,t,y] * CapitalRecoveryFactor[r,t] * PvAnnuity[r,t] * (1-(((1+DiscountRate[r])^(max{yy in YEAR} max(yy) - y+1)-1)/((1+DiscountRate[r])^OperationalLife[r,t]-1)));
s.t. SV2_SalvageValueAtEndOfPeriod2{r in REGION, t in TECHNOLOGY, y in YEAR: (y + OperationalLife[r,t]-1) > (max{yy in YEAR} max(yy)) && DiscountRate[r]=0}: SalvageValue[r,t,y] = CapitalCost[r,t,y] * NewCapacity[r,t,y] * CapitalRecoveryFactor[r,t] * PvAnnuity[r,t] * (1-(max{yy in YEAR} max(yy) - y+1)/OperationalLife[r,t]);
Steps to Reproduce
I used Simplicity and OSeMOSYS_fast to generated two *.lp files; one where DepreciationMethod was set to 1 and one where DepreciationMethod was set to 2. I did a diff on these two LP files and they are the exact same!
Anything Else
Tagging @hannahluscombe as she originally spotted this issue!
The text was updated successfully, but these errors were encountered:
The Issue
In OSeMOSYS there are two types of depreciation methods; sinking-fund and straight-line. Depreciation Method is a binary parameter which can take on the value of
1
or2
(sinking-fund and straight-line respectively). In OSeMOSYS_fast, the parameterDepreciationMethod
is still defined in the model file, yet, users are locked to only using sinking-fund depreciation method (which is a little confusing!). I would assume using OSeMOSYS_fast should not prohibit me from choosing different depreciation methods?Description
In the regular OSeMOSYS version, if deprecation method is
1
, theSV1
constraint is activated (assuming discount rate is greater than zero). If deprecation method is2
, theSV2
constraint is activated. These work correctly when running the regular osemosys model.In OSeMOSYS_fast. the equivalent salvage value equations are defined as follows. Depreciation method is removed from both of them. Moreover, the only spot depreciation method appears in OSeMOSYS_fast is in commented out storage salvage value equations.
Steps to Reproduce
I used Simplicity and OSeMOSYS_fast to generated two
*.lp
files; one whereDepreciationMethod
was set to1
and one whereDepreciationMethod
was set to2
. I did adiff
on these two LP files and they are the exact same!Anything Else
Tagging @hannahluscombe as she originally spotted this issue!
The text was updated successfully, but these errors were encountered: