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

Gen x retrofit mit #600

Merged
merged 98 commits into from
Mar 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
369cc08
Fix eELOSSByZone expr: access before initialization
lbonaldo Oct 28, 2023
87614b5
cluster for retrofitting
yifueve Dec 8, 2023
bea4c45
Retrofit_example
yifueve Dec 9, 2023
05a22b3
Removal of files
yifueve Jan 3, 2024
905abba
Create load_load_data.jl
yifueve Jan 3, 2024
62f8b79
Update configure_settings.jl
yifueve Jan 3, 2024
6882ab5
rebased
yifueve Jan 3, 2024
28ed599
cluster
yifueve Jan 3, 2024
79c5a9c
delete unnecessary cases
yifueve Jan 3, 2024
132f62a
Create Cluster.csv
yifueve Jan 3, 2024
c9d05e2
update examples
yifueve Jan 5, 2024
361999e
Delete Example_Systems/SmallNewEngland/ThreeZones_MultiStage directory
yifueve Jan 5, 2024
878a6b6
Add files via upload
yifueve Jan 5, 2024
a951288
Update retrofits.jl
yifueve Jan 18, 2024
dcd7f9f
Fix eELOSSByZone expr: access before initialization
lbonaldo Oct 28, 2023
740b229
cluster for retrofitting
yifueve Dec 8, 2023
27a099a
Retrofit_example
yifueve Dec 9, 2023
b1e3bd8
Removal of files
yifueve Jan 3, 2024
0a18b5c
Create load_load_data.jl
yifueve Jan 3, 2024
5bb2c1b
Update configure_settings.jl
yifueve Jan 3, 2024
5a105bb
rebased
yifueve Jan 3, 2024
a2667d5
cluster
yifueve Jan 3, 2024
ef5cd8c
delete unnecessary cases
yifueve Jan 3, 2024
a572672
update examples
yifueve Jan 5, 2024
cc48806
Delete Example_Systems/SmallNewEngland/ThreeZones_MultiStage directory
yifueve Jan 5, 2024
189ce5f
Add files via upload
yifueve Jan 5, 2024
2c51940
Update retrofits.jl
yifueve Jan 18, 2024
e2f2b42
delete the license
yifueve Jan 18, 2024
55974e8
delete license
yifueve Jan 18, 2024
75c1c62
Update load_cluster.jl
yifueve Jan 18, 2024
8cdc389
edit_generator_data
yifueve Feb 12, 2024
26689d0
change load generator data.jl
yifueve Feb 12, 2024
cc92b95
Fix eELOSSByZone expr: access before initialization
lbonaldo Oct 28, 2023
b22635e
cluster for retrofitting
yifueve Dec 8, 2023
cae4095
Retrofit_example
yifueve Dec 9, 2023
3d8c62b
Removal of files
yifueve Jan 3, 2024
edf39d2
Create load_load_data.jl
yifueve Jan 3, 2024
64fb98d
rebased
yifueve Jan 3, 2024
8fc12a9
cluster
yifueve Jan 3, 2024
c7e4481
delete unnecessary cases
yifueve Jan 3, 2024
528b86d
Create Cluster.csv
yifueve Jan 3, 2024
ac18de4
update examples
yifueve Jan 5, 2024
c669973
Delete Example_Systems/SmallNewEngland/ThreeZones_MultiStage directory
yifueve Jan 5, 2024
c0572dc
Add files via upload
yifueve Jan 5, 2024
10ceb5b
Update retrofits.jl
yifueve Jan 18, 2024
4184bb6
Fix eELOSSByZone expr: access before initialization
lbonaldo Oct 28, 2023
3747a33
cluster for retrofitting
yifueve Dec 8, 2023
e19080d
Retrofit_example
yifueve Dec 9, 2023
587591e
Removal of files
yifueve Jan 3, 2024
dd8e407
Create load_load_data.jl
yifueve Jan 3, 2024
474a98d
Update configure_settings.jl
yifueve Jan 3, 2024
b2967ea
rebased
yifueve Jan 3, 2024
a34f9e5
cluster
yifueve Jan 3, 2024
a51b066
delete unnecessary cases
yifueve Jan 3, 2024
248ff43
update examples
yifueve Jan 5, 2024
ce28d0c
Delete Example_Systems/SmallNewEngland/ThreeZones_MultiStage directory
yifueve Jan 5, 2024
c2dd4d7
Add files via upload
yifueve Jan 5, 2024
0fa9e77
Update retrofits.jl
yifueve Jan 18, 2024
b82d707
delete the license
yifueve Jan 18, 2024
c11bc69
delete license
yifueve Jan 18, 2024
496c77f
Update load_cluster.jl
yifueve Jan 18, 2024
493eed5
edit_generator_data
yifueve Feb 12, 2024
7b41c47
change load generator data.jl
yifueve Feb 12, 2024
866ac76
virtual storage
yifueve Feb 12, 2024
eeb5b05
Merge branch 'GenX_retrofit_MIT' of https://github.com/GenXProject/Ge…
yifueve Feb 12, 2024
ebd763f
rebase...
yifueve Feb 12, 2024
0979223
add documentation
yifueve Feb 20, 2024
f5b815d
update documentation
yifueve Feb 20, 2024
50656d8
update
yifueve Feb 20, 2024
08108cb
New flags for retrofit units
lbonaldo Feb 21, 2024
418ff4f
Update branch with develop
lbonaldo Feb 21, 2024
b4a8348
Split of input data, include retrofit options as new builds
lbonaldo Feb 23, 2024
88de30e
Add test, fix charge and energy vars for retrofit
lbonaldo Feb 23, 2024
c74b752
Update branch with latest develop
lbonaldo Feb 23, 2024
aa963d0
Clean
lbonaldo Feb 24, 2024
935070f
Remove network from example
lbonaldo Feb 24, 2024
1661abd
change the retrofit_efficiency
yifueve Feb 26, 2024
16198a3
Update retrofits.jl
lbonaldo Feb 26, 2024
b6e611f
Make retrofit units part of new_build, add new examples
lbonaldo Feb 28, 2024
cd03482
Fix retrofit test
lbonaldo Feb 28, 2024
036ac38
Fix retrofit_efficiency and var names
lbonaldo Feb 28, 2024
10d0b75
Merge remote-tracking branch 'origin/develop' into GenX_retrofit_MIT
lbonaldo Mar 8, 2024
10505d4
Fix retrofit examples after merge
lbonaldo Mar 8, 2024
b7ff1b4
fixed an issue with the retrofit constraints and efficiency
filippopecci Mar 11, 2024
100a529
implement a slack to solve DDP infeasibility
filippopecci Mar 12, 2024
5ad8aaa
Track only cap that contribute to Min_Ret. Small cleanup.
lbonaldo Mar 15, 2024
585efa3
Rename column Retrofit_Option to Retrofit
lbonaldo Mar 15, 2024
8eb56e3
Clean retrofit examples and test
lbonaldo Mar 15, 2024
2d275c6
Fix Contribute_Min_Retirement constr for Multi->Multi
lbonaldo Mar 16, 2024
d7bd010
Update retrofit docs.
lbonaldo Mar 16, 2024
8ad9df5
Clean retrofit example
lbonaldo Mar 17, 2024
54c3a58
Clean before merge with develop
lbonaldo Mar 17, 2024
8e4f06b
Merge remote-tracking branch 'origin/develop' into GenX_retrofit_MIT
lbonaldo Mar 17, 2024
7fbb233
Fix docs for retrofit id
lbonaldo Mar 17, 2024
63135b1
Fix retrofit test
lbonaldo Mar 17, 2024
bd55d2b
Fixed docstring for retrofits.jl and error message for wrong input in…
filippopecci Mar 18, 2024
a90c3d4
Merge remote-tracking branch 'origin/develop' into GenX_retrofit_MIT
lbonaldo Mar 18, 2024
ba59e04
Fix retrofit docs
lbonaldo Mar 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ test/Logs
**/TDR_results/

# Test files
test/TDR/TDR_results_test
test/TDR/TDR_results_test
!test/TDR/TDR_results_true
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- New settings parameter, VirtualChargeDischargeCost to test script and VREStor example case. The PR 608 attempts to
introduce this parameter as cost of virtual charging and discharging to avoid unusual results (#608).
- New settings parameter, StorageVirtualDischarge, to turn storage virtual charging and discharging off if desired by the user (#638).

- Add module to retrofit existing resources with new technologies (#600).

### Fixed
- Set MUST_RUN=1 for RealSystemExample/small_hydro plants (#517).
Expand Down
1 change: 1 addition & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ pages = OrderedDict(
"Long Duration Hydro" => "Model_Reference/Resources/hydro_inter_period_linkage.md"
],
"Must Run" => "Model_Reference/Resources/must_run.md",
"Retrofit" => "Model_Reference/Resources/retrofit.md",
"Storage" => [
"Storage" => "Model_Reference/Resources/storage.md",
"Investment Charge" => "Model_Reference/Resources/investment_charge.md",
Expand Down
7 changes: 4 additions & 3 deletions docs/src/Model_Reference/Resources/retrofit.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
## Retrofit
# Retrofit

```@docs
GenX.retrofit
```@autodocs
Modules = [GenX]
Pages = ["retrofits.jl"]
```
10 changes: 10 additions & 0 deletions docs/src/User_Guide/model_input.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,15 @@ Each file contains cost and performance parameters for various generators and ot
|cluster | Number of the cluster when representing multiple clusters of a given technology in a given region. |
|**Required if electrolyzer is included in the model**|
|Qualified_Hydrogen_Supply| {0,1}, Indicates that generator or storage resources is eligible to supply electrolyzers in the same zone (used for hourly clean supply constraint)|
|**Required for retrofitting**|
|Can\_Retrofit | {0, 1}, Flag for resource (storage, generation) eligibility for retrofit.|
||Can\_Retrofit = 1: eligible for retrofit. |
||Can\_Retrofit = 0: not eligible for retrofit.|
|Retrofit | {0, 1}, Flag for resource retrofit technologies (i.e., retrofit options, e.g. CCS retrofit for coal plants).|
||Retrofit = 1: is a retrofit technology. |
||Retrofit = 0: is not a retrofit technology.|
|Retrofit\_Id | Unique identifier to group retrofittable source technologies with retrofit options inside the same zone.|
|Retrofit\_Efficiency | [0,1], Efficiency of the retrofit technology.|

##### Table 5b: Settings-specific columns in all resource .csv file
---
Expand Down Expand Up @@ -523,6 +532,7 @@ In addition to the files described above, the `resources` folder can contain add
|Min\_Retired\_Cap\_MW |Minimum required discharge capacity retirements in the current model period. This field can be used to enforce lifetime retirements of existing capacity. Note that for co-located VRE-STOR resources, this value pertains to the grid connection. |
|Min\_Retired\_Energy\_Cap\_MW |Minimum required energy capacity retirements in the current model period. This field can be used to enforce lifetime retirements of existing energy capacity. Note that for co-located VRE-STOR resources, this value pertains to the storage component.|
|Min\_Retired\_Charge\_Cap\_MW |Minimum required energy capacity retirements in the current model period. This field can be used to enforce lifetime retirements of existing charge capacity. |
|Contribute\_Min\_Retirement | {0, 1}, Flag to indicate whether the (retrofitting) resource can contribute to the minimum retirement requirement.|
|**co-located VRE-STOR resources only**|
|Capital\_Recovery\_Period_DC |Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for the inverter component. |
|Capital\_Recovery\_Period_Solar |Capital recovery period (in years) used for determining overnight capital costs from annualized investment costs for the solar PV component. |
Expand Down
48 changes: 48 additions & 0 deletions docs/src/User_Guide/multi_stage_input.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ Instead of one set of input files, there is one directory of input files that ne
| Lifetime | The operational lifespan in years of this technology after which it must be retired. |
| Capital\_Recovery\_Period | The technology-specific period in years over which initial capital costs must be recovered. Note that for the co-located VRE-STOR module, this value represents the grid connection component. |
| WACC | The technology-specific weighted average cost of capital. Note that for the co-located VRE-STOR module, this value represents the grid connection component. |
|Contribute\_Min\_Retirement | {0, 1}, Flag to indicate whether the (retrofitting) resource can contribute to the minimum retirement requirement.|

| | **co-located VRE-STOR resources only** |
|:------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------|
Expand Down Expand Up @@ -59,6 +60,53 @@ Instead of one set of input files, there is one directory of input files that ne
| WACC | The line-specific weighted average cost of capital. |


!!! note "Allowing retrofitted capacity to not contribute to minimum retirement requirements (`myopic=0` only)"
Special considerations must be taken into account when utilizing the retrofit module alongside multi-stage planning, particularly when using a non zero value for the `Min_Retired_Cap_MW` column in the `Resource_multistage_data.csv` file.
1. When assigning a non-zero value to the `Min_Retired_Cap_MW` column in the `Resource_multistage_data.csv` file, the user can specify whether the model should consider the retrofitted capacity to contribute to the minimum retirement requirement. This is done by setting the `Contribute_Min_Retirement` column to 1 for the retrofit options in the same retrofit cluster (i.e., same `Retrofit_Id`).
2. By default, the model assumes that retrofitted capacity contributes to fulfilling minimum retirement requirements.
3. Should users wish to exclude retrofitted capacity from contributing to minimum retirement requirements, they must set the `Contribute_Min_Retirement` column to 0 for **all** retrofit options within the same retrofit cluster (i.e., sharing the same `Retrofit_Id`).
4. It's important to note that this additional functionality is not currently supported when `myopic=1`. In this case, the retrofit options are only allowed to contribute to the minimum retirement requirement.

Example 1: Retrofitted capacity is allowed to contribute to the minimum retirement requirement (i.e., retrofit options in the same cluster (`Retrofit_Id = 1`) all have `Contribute_Min_Retirement = 1`):
```
Thermal.csv

Resource │ Zone | Retrofit | Can_Retrofit | Retrofit_Id | Retrofit_Efficiency
String │ Int64 | Int64 | Int64 | Int64 | Float64
─────────────────-┼───────┼─────────────────────────┼────────────-┼────────────────────
coal_1 │ 1 │ 0 │ 1 │ 1 │ 0
20_NH3_retrofit_1 │ 1 │ 1 │ 0 │ 1 │ 0.85
20_NH3_retrofit_2 │ 1 │ 1 │ 0 │ 1 │ 0.85
```

```
Resource_multistage_data.csv

Resource │ Min_Retired_Cap_MW | Contribute_Min_Retirement
String │ Float64 | Float64
─────────────────-┼────────────────────┼──────────────────────────
coal_1 │ 4500 │ 0
20_NH3_retrofit_1 │ 0 │ 1 <---------
20_NH3_retrofit_2 │ 0 │ 1 <---------
```

Example 2: Retrofitted capacity is not allowed to contribute to the minimum retirement requirement (i.e., none of the retrofit options in the same cluster (`Retrofit_Id = 1`) contribute to the minimum retirement requirement (`myopic=0`)):

Thermal.csv: same as Example 1.

```
Resource_multistage_data.csv

Resource │ Min_Retired_Cap_MW | Contribute_Min_Retirement
String │ Float64 | Float64
─────────────────-┼────────────────────┼──────────────────────────
coal_1 │ 4500 │ 0
20_NH3_retrofit_1 │ 0 │ 0 <---------
20_NH3_retrofit_2 │ 0 │ 0 <---------
```

And the case where some retrofit options contribute to the minimum retirement requirement and some do not is not currently supported and will be addressed in a future release.

!!! warning "Warning"
If `New_Build` and `Can_Retire` are both set to 0, the model will not transfer built capacity from one stage to the next, but will instead set capacity to the value of existing capacity from the input files for each stage. Therefore, the user must ensure that the capacity is correctly set in the input files for each stage. Not following this guideline may result in incorrect or unexpected results, particularly when setting a a non-zero value for the `Min_Retired_Cap_MW` parameter.

Expand Down
3 changes: 1 addition & 2 deletions example_systems/3_three_zone_w_co2_capture/Run.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
using GenX
using Gurobi

run_genx_case!(dirname(@__FILE__), Gurobi.Optimizer)
run_genx_case!(dirname(@__FILE__))
32 changes: 32 additions & 0 deletions example_systems/8_three_zone_w_retrofit/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Three Zones with Retrofit

This is a one-year example with hourly resolution which contains zones representing Massachusetts, Connecticut, and Maine. The twenty-two represented resources include natural gas, solar PV, wind, lithium-ion battery, and coal power plants.
This examples shows the usage of the retrofit module of GenX, and the model will be allowed to retire as well as retrofit the existing coal power plants and replacing the coal with blue ammonia with 85% efficiency.
To run the model, first navigate to the example directory:

- Using a Julia REPL:

```bash
$ julia
julia> cd("example_systems/8_three_zone_w_retrofit/")
```

- Using a terminal or command prompt:
```bash
$ cd example_systems/8_three_zone_w_retrofit/
```

Next, ensure that your settings in `settings/genx_settings.yml` are correct. The linear clustering unit commitment method (settings["UCommit"] = 2) is used. The default settings use the solver `HiGHS`, time domain reduced input data (`TimeDomainReduction: 1`) and minimum capacity requirement policy (`MinCapReq: 1`) as specified in the `policies/Minimum_capacity_requirement.csv` file. Other optional policies include a capacity reserve margin, an energy share requirement (such as renewable portfolio standard (RPS) or clean electricity standard (CES) policies), a CO2 emissions cap, and a maximum capacity requirement policy (see the documentation for more details). A mass-based carbon cap of 50 gCO<sub>2</sub> per kWh is specified in the `policies/CO2_cap.csv` input file.

Once the settings are confirmed, run the model with the `Run.jl` script in the example directory:

- Using a Julia REPL (recommended)
```julia
julia> include("Run.jl")
```
- Using a terminal or command prompt:
```bash
$ julia Run.jl
```

Once the model has completed, results will write to the `results` directory.
3 changes: 3 additions & 0 deletions example_systems/8_three_zone_w_retrofit/Run.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
using GenX

run_genx_case!(dirname(@__FILE__))
4 changes: 4 additions & 0 deletions example_systems/8_three_zone_w_retrofit/policies/CO2_cap.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
,Network_zones,CO_2_Cap_Zone_1,CO_2_Cap_Zone_2,CO_2_Cap_Zone_3,CO_2_Max_tons_MWh_1,CO_2_Max_tons_MWh_2,CO_2_Max_tons_MWh_3,CO_2_Max_Mtons_1,CO_2_Max_Mtons_2,CO_2_Max_Mtons_3
MA,z1,1,0,0,0.05,0,0,0.018,0,0
CT,z2,0,1,0,0,0.05,0,0,0.025,0
ME,z3,0,0,1,0,0,0.05,0,0,0.025
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
,Network_zones,CapRes_1
MA,z1,0.156
CT,z2,0.156
ME,z3,0.156
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
,Network_zones,ESR_1,ESR_2
MA,z1,0.259,0.348
CT,z2,0.44,0.44
ME,z3,0.776,0.776
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
MinCapReqConstraint,ConstraintDescription,Min_MW
1,MA_PV,5000
2,CT_Wind,10000
3,All_Batteries,6000
4 changes: 4 additions & 0 deletions example_systems/8_three_zone_w_retrofit/resources/Storage.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Resource,Zone,Model,LDS,New_Build,Can_Retire,Existing_Cap_MW,Existing_Cap_MWh,Existing_Charge_Cap_MW,Max_Cap_MW,Max_Cap_MWh,Max_Charge_Cap_MW,Min_Cap_MW,Min_Cap_MWh,Min_Charge_Cap_MW,Inv_Cost_per_MWyr,Inv_Cost_per_MWhyr,Inv_Cost_Charge_per_MWyr,Fixed_OM_Cost_per_MWyr,Fixed_OM_Cost_per_MWhyr,Fixed_OM_Cost_Charge_per_MWyr,Var_OM_Cost_per_MWh,Var_OM_Cost_per_MWh_In,Heat_Rate_MMBTU_per_MWh,Fuel,Cap_Size,Start_Cost_per_MW,Start_Fuel_MMBTU_per_MW,Ramp_Up_Percentage,Ramp_Dn_Percentage,Hydro_Energy_to_Power_Ratio,Min_Power,Self_Disch,Eff_Up,Eff_Down,Min_Duration,Max_Duration,Reg_Max,Rsv_Max,Reg_Cost,Rsv_Cost,MGA,Resource_Type,region,cluster
MA_battery,1,1,0,1,0,0,0,0,-1,-1,-1,0,0,0,19584,22494,0,4895,5622,0,0.15,0.15,0.0,None,0,0,0,1.0,1.0,0,0.0,0,0.92,0.92,1,10,0.0,0.0,0,0,0,battery_mid,MA,0
CT_battery,2,1,0,1,0,0,0,0,-1,-1,-1,0,0,0,19584,22494,0,4895,5622,0,0.15,0.15,0.0,None,0,0,0,1.0,1.0,0,0.0,0,0.92,0.92,1,10,0.0,0.0,0,0,0,battery_mid,CT,0
ME_battery,3,1,0,1,0,0,0,0,-1,-1,-1,0,0,0,19584,22494,0,4895,5622,0,0.15,0.15,0.0,None,0,0,0,1.0,1.0,0,0.0,0,0.92,0.92,1,10,0.0,0.0,0,0,0,battery_mid,ME,0
16 changes: 16 additions & 0 deletions example_systems/8_three_zone_w_retrofit/resources/Thermal.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Resource,Zone,Model,Retrofit_Id,New_Build,Can_Retire,Retrofit,Can_Retrofit,Retrofit_efficiency,Existing_Cap_MW,Max_Cap_MW,Min_Cap_MW,Inv_Cost_per_MWyr,Fixed_OM_Cost_per_MWyr,Var_OM_Cost_per_MWh,Heat_Rate_MMBTU_per_MWh,Fuel,Cap_Size,Start_Cost_per_MW,Start_Fuel_MMBTU_per_MW,Up_Time,Down_Time,Ramp_Up_Percentage,Ramp_Dn_Percentage,Min_Power,Reg_Max,Rsv_Max,Reg_Cost,Rsv_Cost,MGA,Resource_Type,region,cluster
MA_natural_gas_combined_cycle,1,1,0,1,0,0,0,0,0,-1,0,65400,10287,3.55,7.43,MA_NG,250,91,2,6,6,0.64,0.64,0.468,0.25,0.5,0,0,1,natural_gas_fired_combined_cycle,MA,1
CT_natural_gas_combined_cycle,2,1,0,1,0,0,0,0,0,-1,0,65400,9698,3.57,7.12,CT_NG,250,91,2,6,6,0.64,0.64,0.338,0.133332722,0.266665444,0,0,1,natural_gas_fired_combined_cycle,CT,1
ME_natural_gas_combined_cycle,3,1,0,1,0,0,0,0,0,-1,0,65400,16291,4.5,12.62,ME_NG,250,91,2,6,6,0.64,0.64,0.474,0.033333333,0.066666667,0,0,1,natural_gas_fired_combined_cycle,ME,1
MA_coal_super_1,1,1,1,0,1,0,1,0,6000,0,0,112000,10287,0,7.43,coal,300,17,2,4,4,0.64,0.64,0.55,0.25,0.25,0,0,1,Coal_super,MA,1
MA_coal_super_2,1,1,2,0,1,0,1,0,6000,0,0,112000,10287,0,7.43,coal,300,17,2,4,4,0.64,0.64,0.55,0.25,0.25,0,0,1,Coal_super,MA,1
CT_coal_super_1,1,1,1,0,1,0,1,0,6000,0,0,112000,10287,0,7.43,coal,300,17,2,4,4,0.64,0.64,0.55,0.25,0.25,0,0,1,Coal_super,CT,1
CT_coal_super_2,1,1,2,0,1,0,1,0,6000,0,0,112000,10287,0,7.43,coal,300,17,2,4,4,0.64,0.64,0.55,0.25,0.25,0,0,1,Coal_super,CT,1
ME_coal_super_1,1,1,1,0,1,0,1,0,6000,0,0,112000,10287,0,7.43,coal,300,17,2,4,4,0.64,0.64,0.55,0.25,0.25,0,0,1,Coal_super,ME,1
ME_coal_super_2,1,1,2,0,1,0,1,0,6000,0,0,112000,10287,0,7.43,coal,300,17,2,4,4,0.64,0.64,0.55,0.25,0.25,0,0,1,Coal_super,ME,1
MA_20A_retrofit_1,1,1,1,1,0,1,0,0.85,0,-1,0,2342,10287,0,5,blue_ammonia,300,17,2,4,4,0.64,0.64,0.55,0.25,0.25,0,0,1,ammonia,MA,1
MA_20A_retrofit_2,1,1,2,1,0,1,0,0.85,0,-1,0,2342,10287,0,5,blue_ammonia,300,17,2,4,4,0.64,0.64,0.55,0.25,0.25,0,0,1,ammonia,MA,1
CT_20A_retrofit_1,1,1,1,1,0,1,0,0.85,0,-1,0,2342,10287,0,5,blue_ammonia,300,17,2,4,4,0.64,0.64,0.55,0.25,0.25,0,0,1,ammonia,CT,1
CT_20A_retrofit_2,1,1,2,1,0,1,0,0.85,0,-1,0,2342,10287,0,5,blue_ammonia,300,17,2,4,4,0.64,0.64,0.55,0.25,0.25,0,0,1,ammonia,CT,1
ME_20A_retrofit_1,1,1,1,1,0,1,0,0.85,0,-1,0,2342,10287,0,5,blue_ammonia,300,17,2,4,4,0.64,0.64,0.55,0.25,0.25,0,0,1,ammonia,ME,1
ME_20A_retrofit_2,1,1,2,1,0,1,0,0.85,0,-1,0,2342,10287,0,5,blue_ammonia,300,17,2,4,4,0.64,0.64,0.55,0.25,0.25,0,0,1,ammonia,ME,1
5 changes: 5 additions & 0 deletions example_systems/8_three_zone_w_retrofit/resources/Vre.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Resource,Zone,LDS,Num_VRE_Bins,New_Build,Can_Retire,Existing_Cap_MW,Max_Cap_MW,Min_Cap_MW,Inv_Cost_per_MWyr,Fixed_OM_Cost_per_MWyr,Var_OM_Cost_per_MWh,Heat_Rate_MMBTU_per_MWh,Fuel,Cap_Size,Start_Cost_per_MW,Start_Fuel_MMBTU_per_MW,Ramp_Up_Percentage,Ramp_Dn_Percentage,Hydro_Energy_to_Power_Ratio,Min_Power,Reg_Max,Rsv_Max,Reg_Cost,Rsv_Cost,MGA,Resource_Type,region,cluster
MA_solar_pv,1,0,1,1,0,0,-1,0,85300,18760,0.0,9.13,None,0,0,0,1.0,1.0,0,0.0,0.0,0.0,0,0,1,solar_photovoltaic,MA,1
CT_onshore_wind,2,0,1,1,0,0,-1,0,97200,43205,0.1,9.12,None,0,0,0,1.0,1.0,0,0.0,0.0,0.0,0,0,1,onshore_wind_turbine,CT,1
CT_solar_pv,2,0,1,1,0,0,-1,0,85300,18760,0.0,9.16,None,0,0,0,1.0,1.0,0,0.0,0.0,0.0,0,0,1,solar_photovoltaic,CT,1
ME_onshore_wind,3,0,1,1,0,0,-1,0,97200,43205,0.1,9.12,None,0,0,0,1.0,1.0,0,0.0,0.0,0.0,0,0,1,onshore_wind_turbine,ME,1
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Resource,Min_Cap_1,Min_Cap_2,Min_Cap_3
MA_natural_gas_combined_cycle,0,0,0
MA_solar_pv,1,0,0
CT_natural_gas_combined_cycle,0,0,0
CT_onshore_wind,0,1,0
CT_solar_pv,0,0,0
ME_natural_gas_combined_cycle,0,0,0
ME_onshore_wind,0,0,0
MA_battery,0,0,1
CT_battery,0,0,1
ME_battery,0,0,1
14 changes: 14 additions & 0 deletions example_systems/8_three_zone_w_retrofit/settings/clp_settings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Clp Solver parameters https://github.com/jump-dev/Clp.jl
# Common solver settings
Feasib_Tol: 1e-5 # Primal/Dual feasibility tolerance
TimeLimit: -1.0 # Terminate after this many seconds have passed. A negative value means no time limit
Pre_Solve: 0 # Set to 1 to disable presolve
Method: 5 # Solution method: dual simplex (0), primal simplex (1), sprint (2), barrier with crossover (3), barrier without crossover (4), automatic (5)

#Clp-specific solver settings
DualObjectiveLimit: 1e308 # When using dual simplex (where the objective is monotonically changing), terminate when the objective exceeds this limit
MaximumIterations: 2147483647 # Terminate after performing this number of simplex iterations
LogLevel: 1 # Set to 1, 2, 3, or 4 for increasing output. Set to 0 to disable output
InfeasibleReturn: 0 # Set to 1 to return as soon as the problem is found to be infeasible (by default, an infeasibility proof is computed as well)
Scaling: 3 # 0 -off, 1 equilibrium, 2 geometric, 3 auto, 4 dynamic(later)
Perturbation: 100 # switch on perturbation (50), automatic (100), don't try perturbing (102)
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# CPLEX Solver Parameters
Feasib_Tol: 1.0e-05 # Constraint (primal) feasibility tolerances.
Optimal_Tol: 1e-5 # Dual feasibility tolerances.
Pre_Solve: 1 # Controls presolve level.
TimeLimit: 110000 # Limits total time solver.
MIPGap: 1e-3 # Relative (p.u. of optimal) mixed integer optimality tolerance for MIP problems (ignored otherwise).
Method: 2 # Algorithm used to solve continuous models (including MIP root relaxation).
BarConvTol: 1.0e-08 # Barrier convergence tolerance (determines when barrier terminates).
NumericFocus: 0 # Numerical precision emphasis.
SolutionType: 2 # Solution type for LP or QP.
Loading
Loading