Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decreased efficiency & retrofitting #103

Open
FraGard opened this issue Jun 11, 2024 · 0 comments
Open

Decreased efficiency & retrofitting #103

FraGard opened this issue Jun 11, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@FraGard
Copy link
Contributor

FraGard commented Jun 11, 2024

Long ago I wrote some code for accounting for 1) increased fuel use rate at lower average loads and 2) allowing retrofitting of existing tech capacity with an additional capital investment (in practice, the latter works so that part of the existing capacity is removed and replaced by a corresponding amount with enhanced features, with an additional capital investment). I was just now wondering whether these may be useful features to have on a branch, for some applications?
I copy-paste the formulations I had written as they are. Here you find all the documentation. They fit the long code.
https://www.politesi.polimi.it/handle/10589/117564
The increased fuel use rate was based on Manuel Welsch's additional equations on ramping, and looks roughly like this (can be simplified and adapted to the master):
s.t. R30_PartialLoad{r in REGION, t in TECHNOLOGY, l in TIMESLICE, f in FUEL, y in YEAR: ElectricityForTransmissionTag[r,f]=1 }: OnlineCapacity[r,t,l,y]* CapacityToActivityUnit[r,t] - RateOfProductionByTechnology[r,t,l,f,y] = LoadPartialisation[r,t,l,y];
s.t. EBa5_RateOfFuelUse2{r in REGION, t in TECHNOLOGY, l in TIMESLICE, f in FUEL, y in YEAR}: sum{m in MODE_OF_OPERATION: InputActivityRatio[r,t,f,m,y]<>0} RateOfUseByTechnologyByMode[r,t,l,f,m,y] + LoadPartialisation[r,t,l,y]* AdditionalFuelUse[r,t,f,y] = RateOfUseByTechnology[r,t,l,f,y];
The retrofit is way more convoluted (maybe there are simpler ways), but anyway already fits with the master I think, and looks like this:
s.t. CAa5_Accumulated_Withdrawn_Capacity{r in REGION, t in TECHNOLOGY, y in YEAR}: AccumulatedWithdrawnCapacity[r,t,y]= sum{yy in YEAR: y-yy>=0} WithdrawnCapacity[r,t,yy]; s.t. CAa6_AccumulatedRetiredCapacity{r in REGION, t in TECHNOLOGY, y in YEAR}: AccumulatedRetiredCapacity[r,t,y] = sum{yy in YEAR: y-yy>=0 && (yy +1)<= (max{yyy in YEAR} max(yyy))}(ResidualCapacity[r,t,yy] - if ResidualCapacity[r,t,yy+1] <=ResidualCapacity[r,t,yy] then ResidualCapacity[r,t,yy+1] else ResidualCapacity[r,t,yy]); s.t. CAa7_Accumulated_Withdrawn_Capacity2{r in REGION, t in TECHNOLOGY, tt in TECHNOLOGY, y in YEAR: (y+1) <= (max{yy in YEAR}max(yy))}: AccumulatedWithdrawnCapacity[r,t,y+1] >= AccumulatedRetiredCapacity[r,t,y]; s.t. CAa8_Withdrawn_Capacity{r in REGION, t in TECHNOLOGY, y in YEAR: (y+1) <= (max{yy in YEAR}max(yy))}: WithdrawnCapacity[r,t,y+1] <= TotalCapacityAnnual[r,t,y]-AccumulatedNewCapacity[r,t,y]; s.t. CAa9_Balance_old_retrofitted{r in REGION, t in TECHNOLOGY, tt in TECHNOLOGY, y in YEAR: RetrofitLink[r,t,tt]=1}: TotalCapacityAnnual[r,t,y] + TotalCapacityAnnual[r,tt,y] - AccumulatedNewCapacity[r,t,y] - AccumulatedNewCapacity[r,tt,y] = ResidualCapacity[r,t,y]+ResidualCapacity[r,tt,y]; s.t. CAa10_AccumulatedRetrofittedCapacity{r in REGION, t in TECHNOLOGY, tt in TECHNOLOGY, y in YEAR}: AccumulatedRetrofittedCapacity[r,t,y] = sum{yy in YEAR: y-yy>=0 && (y-(min{yyy in YEAR}min(yyy)))<=OperationalLife[r,t]}RetrofittedCapacity[r,t,yy]; s.t. CAa11_RetrofittedCapacity{r in REGION, t in TECHNOLOGY, tt in TECHNOLOGY, y in YEAR}: (WithdrawnCapacity[r,t,y]-RetrofittedCapacity[r,tt,y])*RetrofitLink[r,t,tt]>=0;

@FraGard FraGard added the enhancement New feature or request label Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant