Add wave with default minimum costs
This commit is contained in:
parent
9ed2cbffa8
commit
2278d67687
2
.gitignore
vendored
2
.gitignore
vendored
@ -37,3 +37,5 @@ gurobi.log
|
|||||||
/cutouts
|
/cutouts
|
||||||
/tmp
|
/tmp
|
||||||
/pypsa
|
/pypsa
|
||||||
|
|
||||||
|
*.xlsx
|
@ -219,7 +219,7 @@ rule solve_network:
|
|||||||
memory="logs/" + config['run'] + "/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_memory.log"
|
memory="logs/" + config['run'] + "/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_memory.log"
|
||||||
benchmark: "benchmarks/solve_network/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}"
|
benchmark: "benchmarks/solve_network/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}"
|
||||||
threads: 4
|
threads: 4
|
||||||
resources: mem=50000 #memory in MB; 40 GB enough for 45+B+I; 100 GB based on RESI usage for 128
|
resources: mem=20000 #memory in MB; 40 GB enough for 45+B+I; 100 GB based on RESI usage for 128
|
||||||
# group: "solve" # with group, threads is ignored https://bitbucket.org/snakemake/snakemake/issues/971/group-job-description-does-not-contain
|
# group: "solve" # with group, threads is ignored https://bitbucket.org/snakemake/snakemake/issues/971/group-job-description-does-not-contain
|
||||||
script: "scripts/solve_network.py"
|
script: "scripts/solve_network.py"
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ logging_level: INFO
|
|||||||
|
|
||||||
results_dir: 'results/'
|
results_dir: 'results/'
|
||||||
summary_dir: results
|
summary_dir: results
|
||||||
run: '191219-process'
|
run: '200110-wave'
|
||||||
|
|
||||||
scenario:
|
scenario:
|
||||||
sectors: [E] # ,E+EV,E+BEV,E+BEV+V2G] # [ E+EV, E+BEV, E+BEV+V2G ]
|
sectors: [E] # ,E+EV,E+BEV,E+BEV+V2G] # [ E+EV, E+BEV, E+BEV+V2G ]
|
||||||
@ -188,6 +188,7 @@ plotting:
|
|||||||
'offshore wind (AC)' : "c"
|
'offshore wind (AC)' : "c"
|
||||||
'offwind-dc' : "#009999"
|
'offwind-dc' : "#009999"
|
||||||
'offshore wind (DC)' : "#009999"
|
'offshore wind (DC)' : "#009999"
|
||||||
|
'wave' : "#004444"
|
||||||
"hydro" : "#3B5323"
|
"hydro" : "#3B5323"
|
||||||
"hydro reservoir" : "#3B5323"
|
"hydro reservoir" : "#3B5323"
|
||||||
"ror" : "#78AB46"
|
"ror" : "#78AB46"
|
||||||
|
@ -492,6 +492,37 @@ def add_generation(network):
|
|||||||
efficiency=costs.at[generator,'efficiency'],
|
efficiency=costs.at[generator,'efficiency'],
|
||||||
efficiency2=costs.at[carrier,'CO2 intensity'])
|
efficiency2=costs.at[carrier,'CO2 intensity'])
|
||||||
|
|
||||||
|
def add_wave(network):
|
||||||
|
wave_fn = "data/WindWaveWEC_GLTB.xlsx"
|
||||||
|
|
||||||
|
locations = ["FirthForth","Hebrides"]
|
||||||
|
|
||||||
|
#in kW
|
||||||
|
capacity = pd.Series([750,1000,600],["Attenuator","F2HB","MultiPA"])
|
||||||
|
|
||||||
|
#in EUR/MW
|
||||||
|
costs = pd.Series([2.5,2,1.5],["Attenuator","F2HB","MultiPA"])*1e6
|
||||||
|
|
||||||
|
sheets = {}
|
||||||
|
|
||||||
|
for l in locations:
|
||||||
|
sheets[l] = pd.read_excel(wave_fn,
|
||||||
|
index_col=0,skiprows=[0],parse_dates=True,
|
||||||
|
sheet_name=l)
|
||||||
|
|
||||||
|
to_drop = ["Vestas 3MW","Vestas 8MW"]
|
||||||
|
wave = pd.concat([sheets[l].drop(to_drop,axis=1).divide(capacity,axis=1) for l in locations],
|
||||||
|
keys=locations,
|
||||||
|
axis=1)
|
||||||
|
|
||||||
|
for wave_type in costs.index:
|
||||||
|
n.add("Generator",
|
||||||
|
"Hebrides "+wave_type,
|
||||||
|
bus="GB4 0",
|
||||||
|
p_nom_extendable=True,
|
||||||
|
carrier="wave",
|
||||||
|
capital_cost=(annuity(25,0.07)+0.03)*costs[wave_type],
|
||||||
|
p_max_pu=wave["Hebrides",wave_type])
|
||||||
|
|
||||||
def add_storage(network):
|
def add_storage(network):
|
||||||
print("adding electricity storage")
|
print("adding electricity storage")
|
||||||
@ -1414,6 +1445,8 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
add_generation(n)
|
add_generation(n)
|
||||||
|
|
||||||
|
add_wave(n)
|
||||||
|
|
||||||
add_storage(n)
|
add_storage(n)
|
||||||
|
|
||||||
for o in opts:
|
for o in opts:
|
||||||
|
Loading…
Reference in New Issue
Block a user