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
@@ -123,13 +124,23 @@ function Expressions(parameters::Params, variables::Dict{String, Array{Float64}}
123
124
- `C′_E: CO2 emission reduction
124
125
"""
125
126
p_gnt = variables["p_gnt"]
126
-
h_hnt = variables["h_hnt"]
127
127
128
-
κ′ = (sum(p_gnt[g,n,t]*τ_t[t] for g in G_r, n in N, t in T) +sum(h_hnt[h,n,t]*τ_t[t] for h in H, n in N, t in T)) /
129
-
(sum(p_gnt[g,n,t]*τ_t[t] for g in G, n in N, t in T) +sum(h_hnt[h,n,t]*τ_t[t] for h in H, n in N, t in T))
130
-
μ′ =sum(p_gnt[5,n,t]*τ_t[t] for n in N, t in T) /
131
-
(sum(p_gnt[g,n,t]*τ_t[t] for g in G, n in N, t in T) +sum(h_hnt[h,n,t]*τ_t[t] for h in H, n in N, t in T))
132
-
C′_E =1- ((sum(E_g[g] * (sum(p_gnt[g,n,t]*τ_t[t] for n in N, t in T) +sum(h_hnt[h,n,t]*τ_t[t] for h in H, n in N, t in T)) / e_g[g] for g in G)) / R_E)
128
+
if (specs.hydro || specs.hydro_simple)
129
+
h_hnt = variables["h_hnt"]
130
+
hr_nt = variables["hr_nt"]
131
+
132
+
κ′ = (sum(p_gnt[g,n,t]*τ_t[t] for g in G_r, n in N, t in T) +sum(h_hnt[h,n,t]*τ_t[t] for h in H, n in N, t in T) +sum(hr_nt[n,t]*τ_t[t] for n in N, t in T)) /
133
+
(sum(p_gnt[g,n,t]*τ_t[t] for g in G, n in N, t in T) +sum(h_hnt[h,n,t]*τ_t[t] for h in H, n in N, t in T) +sum(hr_nt[n,t]*τ_t[t] for n in N, t in T))
134
+
μ′ =sum(p_gnt[5,n,t]*τ_t[t] for n in N, t in T) /
135
+
(sum(p_gnt[g,n,t]*τ_t[t] for g in G, n in N, t in T) +sum(h_hnt[h,n,t]*τ_t[t] for h in H, n in N, t in T) +sum(hr_nt[n,t]*τ_t[t] for n in N, t in T))
136
+
else
137
+
κ′ = (sum(p_gnt[g,n,t]*τ_t[t] for g in G_r, n in N, t in T)) /
138
+
(sum(p_gnt[g,n,t]*τ_t[t] for g in G, n in N, t in T))
139
+
μ′ =sum(p_gnt[5,n,t]*τ_t[t] for n in N, t in T) /
140
+
(sum(p_gnt[g,n,t]*τ_t[t] for g in G, n in N, t in T))
141
+
end
142
+
143
+
C′_E =1- (sum(E_g[g] * (sum(p_gnt[g,n,t]*τ_t[t] for n in N, t in T)) / e_g[g] for g in G)) / R_E
((sum(p_gnt[g,n,t]*τ_t[t] for g in G_r, n in N, t in T) +sum(h_hnt[h,n,t]*τ_t[t] for h in H, n in N, t in T)) /1000) ≥
355
-
κ * (sum(p_gnt[g,n,t]*τ_t[t] for g in G, n in N, t in T) +sum(h_hnt[h,n,t]*τ_t[t] for h in H, n in N, t in T)) /1000)
381
+
if (specs.hydro || specs.hydro_simple)
382
+
@constraint(model, g3,
383
+
((sum(p_gnt[g,n,t]*τ_t[t] for g in G_r, n in N, t in T) +sum(h_hnt[h,n,t]*τ_t[t] for h in H, n in N, t in T)) +sum(hr_nt[n,t]*τ_t[t] for n in N, t in T)) ≥
384
+
κ * (sum(p_gnt[g,n,t]*τ_t[t] for g in G, n in N, t in T) +sum(h_hnt[h,n,t]*τ_t[t] for h in H, n in N, t in T) +sum(hr_nt[n,t]*τ_t[t] for n in N, t in T)))
385
+
else
386
+
@constraint(model, g3,
387
+
sum(p_gnt[g,n,t]*τ_t[t] for g in G_r, n in N, t in T) ≥
388
+
κ *sum(p_gnt[g,n,t]*τ_t[t] for g in G, n in N, t in T))
389
+
end
356
390
end
357
391
358
392
# Maximum nuclear share
359
393
if specs.nuclear_limit
394
+
#TODO: include a parameter with the index(es) of nuclear sources as a parameter in io.jl
360
395
@constraint(model, g4,
361
-
(sum(p_gnt[5,n,t] for n in N, t in T) /1000) ≤ (μ * (sum(p_gnt[g,n,t] for g in G, n in N, t in T) +sum(h_hnt[h,n,t] for h in H, n in N, t in T)) /1000))
396
+
sum(p_gnt[5,n,t] for n in N, t in T) /1000≤ μ * (sum(p_gnt[g,n,t] for g in G, n in N, t in T) +
397
+
sum(h_hnt[h,n,t] for h in H, n in N, t in T) +sum(hr_nt[n,t] for n in N, t in T)) /1000)
362
398
end
363
399
364
400
#Carbon cap
@@ -409,23 +445,23 @@ function EnergySystemModel(parameters::Params, specs::Specs)
0 commit comments