@@ -277,6 +277,7 @@ class ModelChainResult:
277277 field (default = None )
278278 diode_params : Optional [PerArray [pd .DataFrame ]] = field (default = None )
279279 dc_ohmic_losses : Optional [PerArray [pd .Series ]] = field (default = None )
280+ losses : Optional [Union [pd .Series , float ]] = field (default = None )
280281
281282 weather : Optional [PerArray [pd .DataFrame ]] = None
282283 times : Optional [pd .DatetimeIndex ] = None
@@ -379,7 +380,7 @@ class ModelChain:
379380 'aoi' , 'aoi_modifier' , 'spectral_modifier' ,
380381 'cell_temperature' , 'effective_irradiance' ,
381382 'dc' , 'ac' , 'diode_params' , 'tracking' ,
382- 'weather' , 'times' ]
383+ 'weather' , 'times' , 'losses' ]
383384
384385 def __init__ (self , system , location ,
385386 clearsky_model = 'ineichen' ,
@@ -1094,16 +1095,16 @@ def infer_losses_model(self):
10941095 raise NotImplementedError
10951096
10961097 def pvwatts_losses (self ):
1097- self .losses = (100 - self .system .pvwatts_losses ()) / 100.
1098+ self .results . losses = (100 - self .system .pvwatts_losses ()) / 100.
10981099 if isinstance (self .results .dc , tuple ):
10991100 for dc in self .results .dc :
1100- dc *= self .losses
1101+ dc *= self .results . losses
11011102 else :
1102- self .results .dc *= self .losses
1103+ self .results .dc *= self .results . losses
11031104 return self
11041105
11051106 def no_extra_losses (self ):
1106- self .losses = 1
1107+ self .results . losses = 1
11071108 return self
11081109
11091110 def effective_irradiance_model (self ):
0 commit comments