@@ -170,12 +170,12 @@ class PVSystem(object):
170170 def __init__ (self ,
171171 surface_tilt = 0 , surface_azimuth = 180 ,
172172 albedo = None , surface_type = None ,
173- module = None , module_type = 'glass_polymer' ,
173+ module = None , module_type = None ,
174174 module_parameters = None ,
175175 temperature_model_parameters = None ,
176176 modules_per_string = 1 , strings_per_inverter = 1 ,
177177 inverter = None , inverter_parameters = None ,
178- racking_model = 'open_rack' , losses_parameters = None , name = None ,
178+ racking_model = None , losses_parameters = None , name = None ,
179179 ** kwargs ):
180180
181181 self .surface_tilt = surface_tilt
@@ -201,20 +201,21 @@ def __init__(self,
201201 if temperature_model_parameters is None :
202202 self .temperature_model_parameters = \
203203 self ._infer_temperature_model_params ()
204- # TODO: in v0.8 check if an empty dict is returned and raise error
205204 else :
206205 self .temperature_model_parameters = temperature_model_parameters
207206
208- # TODO: deprecated behavior if PVSystem.temperature_model_parameters
209- # are not specified. Remove in v0.8
210- if not any ( self . temperature_model_parameters ):
207+ # warn user about change in default behavior in 0.9.
208+ if all ( x is None for x in
209+ ( temperature_model_parameters , module_type , racking_model ) ):
211210 warnings .warn (
212- 'Required temperature_model_parameters is not specified '
213- 'and parameters are not inferred from racking_model and '
214- 'module_type. Reverting to deprecated default: SAPM cell '
215- 'temperature model parameters for a glass/glass module in '
216- 'open racking. In the future '
217- 'PVSystem.temperature_model_parameters will be required' ,
211+ 'temperature_model_parameters, racking_model, and module_type '
212+ 'are not specified. Reverting to deprecated default: SAPM '
213+ 'cell temperature model parameters for a glass/glass module '
214+ 'in open racking. In v0.9 '
215+ 'PVSystem.temperature_model_parameters will be empty dict '
216+ 'unless set by temperature_model_parameters or valid '
217+ 'combination of racking_model and module_type. Pass non-None '
218+ 'value to any of these parameters to silence this warning.' ,
218219 pvlibDeprecationWarning )
219220 params = temperature ._temperature_model_params (
220221 'sapm' , 'open_rack_glass_glass' )
@@ -494,7 +495,7 @@ def sapm_celltemp(self, poa_global, temp_air, wind_speed):
494495 def _infer_temperature_model_params (self ):
495496 # try to infer temperature model parameters from from racking_model
496497 # and module_type
497- param_set = self .racking_model + '_' + self .module_type
498+ param_set = '{}_{}' . format ( self .racking_model , self .module_type )
498499 if param_set in temperature .TEMPERATURE_MODEL_PARAMETERS ['sapm' ]:
499500 return temperature ._temperature_model_params ('sapm' , param_set )
500501 elif 'freestanding' in param_set :
0 commit comments