@@ -95,20 +95,21 @@ def grid_optimization(
9595
9696 # Replacevery small values with zero to avoid numerical problems
9797 self .network .generators_t .p_max_pu .where (
98- self .network .generators_t .p_max_pu .abs () > 1e-7 ,
98+ self .network .generators_t .p_max_pu .abs () > 1e-5 ,
9999 other = 0.0 ,
100100 inplace = True ,
101101 )
102102 self .network .generators_t .p_min_pu .where (
103- self .network .generators_t .p_min_pu .abs () > 1e-7 ,
103+ self .network .generators_t .p_min_pu .abs () > 1e-5 ,
104104 other = 0.0 ,
105105 inplace = True ,
106106 )
107107 self .network .links_t .p_max_pu .where (
108- self .network .links_t .p_max_pu .abs () > 1e-7 , other = 0.0 , inplace = True
108+ self .network .links_t .p_max_pu .abs () > 1e-5 , other = 0.0 , inplace = True
109109 )
110+
110111 self .network .links_t .p_min_pu .where (
111- self .network .links_t .p_min_pu > 1e-7 , other = 0.0 , inplace = True
112+ self .network .links_t .p_min_pu . abs () > 1e-5 , other = 0.0 , inplace = True
112113 )
113114
114115 self .network .links .loc [
@@ -164,30 +165,30 @@ def fix_chp_generation(self):
164165 # model
165166 self .network .generators_t .p_max_pu .loc [:, gens_fixed ] = (
166167 self .market_model .generators_t .p [gens_fixed ].mul (
167- 1 / self .market_model .generators .p_nom [gens_fixed ]
168+ 1.01 / self .market_model .generators .p_nom [gens_fixed ]
168169 )
169170 )
170171
171172 # Set p_min_pu of generators using results from (disaggregated) market
172173 # model
173174 self .network .generators_t .p_min_pu .loc [:, gens_fixed ] = (
174175 self .market_model .generators_t .p [gens_fixed ].mul (
175- 1 / self .market_model .generators .p_nom [gens_fixed ]
176+ 0.99 / self .market_model .generators .p_nom [gens_fixed ]
176177 )
177178 )
178179
179180 # Fix link dispatch (gas turbines) from market simulation
180181 # Set p_max_pu of links using results from (disaggregated) market model
181182 self .network .links_t .p_max_pu .loc [:, links_fixed ] = (
182183 self .market_model .links_t .p0 [links_fixed ].mul (
183- 1 / self .market_model .links .p_nom [links_fixed ]
184+ 1.01 / self .market_model .links .p_nom [links_fixed ]
184185 )
185186 )
186187
187188 # Set p_min_pu of links using results from (disaggregated) market model
188189 self .network .links_t .p_min_pu .loc [:, links_fixed ] = (
189190 self .market_model .links_t .p0 [links_fixed ].mul (
190- 1 / self .market_model .links .p_nom [links_fixed ]
191+ 0.99 / self .market_model .links .p_nom [links_fixed ]
191192 )
192193 )
193194
@@ -243,7 +244,7 @@ def add_redispatch_generators(
243244
244245 links_redispatch = self .network .links [
245246 (
246- self .network .links .carrier .isin (["OCGT" ])
247+ self .network .links .carrier .isin (["OCGT" , "CCGT" ])
247248 & (~ self .network .links .index .str .contains ("ramp" ))
248249 )
249250 ].index
@@ -253,6 +254,7 @@ def add_redispatch_generators(
253254 data = management_cost ,
254255 )
255256 management_cost_carrier ["OCGT" ] = management_cost
257+ management_cost_carrier ["CCGT" ] = management_cost
256258 if fre_mangement_fee :
257259 management_cost_carrier [
258260 ["wind_onshore" , "wind_offshore" , "solar" , "solar_rooftop" ]
@@ -310,16 +312,16 @@ def add_redispatch_generators(
310312 # Fix link dispatch (gas turbines) from market simulation
311313 # Set p_max_pu of links using results from (disaggregated) market model
312314 self .network .links_t .p_max_pu .loc [:, links_redispatch ] = (
313- self .market_model .links_t .p0 [links_redispatch ]. mul (
314- 1 / self . market_model . links . p_nom [ links_redispatch ]
315- )
315+ self .market_model .links_t .p0 [links_redispatch ]
316+ . clip ( lower = 0.0 )
317+ . mul ( 1 / self . market_model . links . p_nom [ links_redispatch ] )
316318 )
317319
318320 # Set p_min_pu of links using results from (disaggregated) market model
319321 self .network .links_t .p_min_pu .loc [:, links_redispatch ] = (
320- self .market_model .links_t .p0 [links_redispatch ]. mul (
321- 1 / self . market_model . links . p_nom [ links_redispatch ]
322- )
322+ self .market_model .links_t .p0 [links_redispatch ]
323+ . clip ( lower = 0.0 )
324+ . mul ( 1 / self . market_model . links . p_nom [ links_redispatch ] )
323325 )
324326
325327 # Calculate costs for redispatch
0 commit comments