Skip to content

Commit 4143e2a

Browse files
committed
Adds faiman_rad and ross models to get_cell_temperature().
1 parent 770bcd1 commit 4143e2a

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

pvlib/pvsystem.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,11 +1217,12 @@ def get_cell_temperature(self, poa_global, temp_air, wind_speed, model,
12171217
Ambient dry bulb temperature [C]
12181218
12191219
wind_speed : numeric
1220-
Wind speed [m/s]
1220+
Wind speed [m/s], although can be ``None`` for ``'ross'`` model
12211221
12221222
model : str
12231223
Supported models include ``'sapm'``, ``'pvsyst'``,
1224-
``'faiman'``, ``'fuentes'``, and ``'noct_sam'``
1224+
``'faiman'``, ``'faiman_rad'``, ``'fuentes'``, ``'noct_sam'``,
1225+
and ``'ross'``
12251226
12261227
effective_irradiance : numeric, optional
12271228
The irradiance that is converted to photocurrent in W/m^2.
@@ -1267,6 +1268,12 @@ def get_cell_temperature(self, poa_global, temp_air, wind_speed, model,
12671268
required = tuple()
12681269
optional = _build_kwargs(['u0', 'u1'],
12691270
self.temperature_model_parameters)
1271+
elif model == 'faiman_rad':
1272+
func = temperature.faiman_rad
1273+
required = ()
1274+
optional = _build_kwargs(['ir_down','u0','u1',
1275+
'sky_view','emissivity'],
1276+
self.temperature_model_parameters)
12701277
elif model == 'fuentes':
12711278
func = temperature.fuentes
12721279
required = _build_tcell_args(['noct_installed'])
@@ -1283,11 +1290,21 @@ def get_cell_temperature(self, poa_global, temp_air, wind_speed, model,
12831290
optional = _build_kwargs(['transmittance_absorptance',
12841291
'array_height', 'mount_standoff'],
12851292
self.temperature_model_parameters)
1293+
elif model == 'ross':
1294+
func = temperature.ross
1295+
required = ()
1296+
# either noct or k must be defined
1297+
optional = _build_kwargs(['noct','k'],
1298+
self.temperature_model_parameters)
12861299
else:
12871300
raise ValueError(f'{model} is not a valid cell temperature model')
12881301

1289-
temperature_cell = func(poa_global, temp_air, wind_speed,
1290-
*required, **optional)
1302+
if model == 'ross':
1303+
temperature_cell = func(poa_global, temp_air,
1304+
*required, **optional)
1305+
else:
1306+
temperature_cell = func(poa_global, temp_air, wind_speed,
1307+
*required, **optional)
12911308
return temperature_cell
12921309

12931310
def dc_ohms_from_percent(self):

0 commit comments

Comments
 (0)