@@ -134,7 +134,7 @@ class PVSystem:
134
134
a single array is created from the other parameters (e.g.
135
135
`surface_tilt`, `surface_azimuth`). Must contain at least one Array,
136
136
if length of arrays is 0 a ValueError is raised. If `arrays` is
137
- specified the following PVSystem parameters are ignored:
137
+ specified the following parameters are ignored:
138
138
139
139
- `surface_tilt`
140
140
- `surface_azimuth`
@@ -157,16 +157,13 @@ class PVSystem:
157
157
North=0, East=90, South=180, West=270.
158
158
159
159
albedo : None or float, default None
160
- Ground surface albedo. If ``None``, then ``surface_type`` is used
161
- to look up a value in ``irradiance.SURFACE_ALBEDOS``.
162
- If ``surface_type`` is also None then a ground surface albedo
163
- of 0.25 is used. For time-dependent albedos, add ``'albedo'`` to
164
- the input ``'weather'`` DataFrame for
165
- :py:class:`pvlib.modelchain.ModelChain` methods.
160
+ The ground albedo. If ``None``, will attempt to use
161
+ ``surface_type`` and ``irradiance.SURFACE_ALBEDOS``
162
+ to lookup albedo.
166
163
167
164
surface_type : None or string, default None
168
- The ground surface type. See ``irradiance.SURFACE_ALBEDOS`` for
169
- valid values.
165
+ The ground surface type. See ``irradiance.SURFACE_ALBEDOS``
166
+ for valid values.
170
167
171
168
module : None or string, default None
172
169
The model name of the modules.
@@ -336,32 +333,30 @@ def get_aoi(self, solar_zenith, solar_azimuth):
336
333
337
334
@_unwrap_single_value
338
335
def get_irradiance (self , solar_zenith , solar_azimuth , dni , ghi , dhi ,
339
- albedo = None , dni_extra = None , airmass = None ,
340
- model = 'haydavies' , ** kwargs ):
336
+ dni_extra = None , airmass = None , model = 'haydavies' ,
337
+ ** kwargs ):
341
338
"""
342
339
Uses the :py:func:`irradiance.get_total_irradiance` function to
343
340
calculate the plane of array irradiance components on a tilted
344
- surface defined by ``self.surface_tilt`` and ``self.surface_azimuth```.
341
+ surface defined by ``self.surface_tilt``,
342
+ ``self.surface_azimuth``, and ``self.albedo``.
345
343
346
344
Parameters
347
345
----------
348
- solar_zenith : float or Series
346
+ solar_zenith : float or Series.
349
347
Solar zenith angle.
350
- solar_azimuth : float or Series
348
+ solar_azimuth : float or Series.
351
349
Solar azimuth angle.
352
350
dni : float or Series or tuple of float or Series
353
- Direct Normal Irradiance. [W/m2]
351
+ Direct Normal Irradiance
354
352
ghi : float or Series or tuple of float or Series
355
- Global horizontal irradiance. [W/m2]
353
+ Global horizontal irradiance
356
354
dhi : float or Series or tuple of float or Series
357
- Diffuse horizontal irradiance. [W/m2]
358
- albedo : None, float or Series, default None
359
- Ground surface albedo. [unitless]
360
- dni_extra : None, float, Series or tuple of float or Series,
361
- default None
362
- Extraterrestrial direct normal irradiance. [W/m2]
355
+ Diffuse horizontal irradiance
356
+ dni_extra : None, float or Series, default None
357
+ Extraterrestrial direct normal irradiance
363
358
airmass : None, float or Series, default None
364
- Airmass. [unitless]
359
+ Airmass
365
360
model : String, default 'haydavies'
366
361
Irradiance model.
367
362
@@ -381,26 +376,17 @@ def get_irradiance(self, solar_zenith, solar_azimuth, dni, ghi, dhi,
381
376
poa_irradiance : DataFrame or tuple of DataFrame
382
377
Column names are: ``'poa_global', 'poa_direct', 'poa_diffuse',
383
378
'poa_sky_diffuse', 'poa_ground_diffuse'``.
384
-
385
- See also
386
- --------
387
- :py:func:`pvlib.irradiance.get_total_irradiance`
388
379
"""
389
380
dni = self ._validate_per_array (dni , system_wide = True )
390
381
ghi = self ._validate_per_array (ghi , system_wide = True )
391
382
dhi = self ._validate_per_array (dhi , system_wide = True )
392
-
393
- albedo = self ._validate_per_array (albedo , system_wide = True )
394
-
395
383
return tuple (
396
384
array .get_irradiance (solar_zenith , solar_azimuth ,
397
385
dni , ghi , dhi ,
398
- albedo = albedo ,
399
- dni_extra = dni_extra , airmass = airmass ,
400
- model = model ,
386
+ dni_extra , airmass , model ,
401
387
** kwargs )
402
- for array , dni , ghi , dhi , albedo in zip (
403
- self .arrays , dni , ghi , dhi , albedo
388
+ for array , dni , ghi , dhi in zip (
389
+ self .arrays , dni , ghi , dhi
404
390
)
405
391
)
406
392
@@ -1272,14 +1258,14 @@ class Array:
1272
1258
If not provided, a FixedMount with zero tilt is used.
1273
1259
1274
1260
albedo : None or float, default None
1275
- Ground surface albedo. If ``None``, then ``surface_type`` is used
1276
- to look up a value in ``irradiance.SURFACE_ALBEDOS``.
1277
- If ``surface_type`` is also None then a ground surface albedo
1278
- of 0.25 is used.
1261
+ The ground albedo. If ``None``, will attempt to use
1262
+ ``surface_type`` to look up an albedo value in
1263
+ ``irradiance.SURFACE_ALBEDOS``. If a surface albedo
1264
+ cannot be found then 0.25 is used.
1279
1265
1280
1266
surface_type : None or string, default None
1281
- The ground surface type. See ``irradiance.SURFACE_ALBEDOS`` for valid
1282
- values.
1267
+ The ground surface type. See ``irradiance.SURFACE_ALBEDOS``
1268
+ for valid values.
1283
1269
1284
1270
module : None or string, default None
1285
1271
The model name of the modules.
@@ -1439,14 +1425,15 @@ def get_aoi(self, solar_zenith, solar_azimuth):
1439
1425
solar_zenith , solar_azimuth )
1440
1426
1441
1427
def get_irradiance (self , solar_zenith , solar_azimuth , dni , ghi , dhi ,
1442
- albedo = None , dni_extra = None , airmass = None ,
1443
- model = 'haydavies' , ** kwargs ):
1428
+ dni_extra = None , airmass = None , model = 'haydavies' ,
1429
+ ** kwargs ):
1444
1430
"""
1445
1431
Get plane of array irradiance components.
1446
1432
1447
1433
Uses the :py:func:`pvlib.irradiance.get_total_irradiance` function to
1448
1434
calculate the plane of array irradiance components for a surface
1449
- defined by ``self.surface_tilt`` and ``self.surface_azimuth``.
1435
+ defined by ``self.surface_tilt`` and ``self.surface_azimuth`` with
1436
+ albedo ``self.albedo``.
1450
1437
1451
1438
Parameters
1452
1439
----------
@@ -1455,17 +1442,15 @@ def get_irradiance(self, solar_zenith, solar_azimuth, dni, ghi, dhi,
1455
1442
solar_azimuth : float or Series.
1456
1443
Solar azimuth angle.
1457
1444
dni : float or Series
1458
- Direct normal irradiance. [W/m2]
1459
- ghi : float or Series. [W/m2]
1445
+ Direct Normal Irradiance
1446
+ ghi : float or Series
1460
1447
Global horizontal irradiance
1461
1448
dhi : float or Series
1462
- Diffuse horizontal irradiance. [W/m2]
1463
- albedo : None, float or Series, default None
1464
- Ground surface albedo. [unitless]
1449
+ Diffuse horizontal irradiance
1465
1450
dni_extra : None, float or Series, default None
1466
- Extraterrestrial direct normal irradiance. [W/m2]
1451
+ Extraterrestrial direct normal irradiance
1467
1452
airmass : None, float or Series, default None
1468
- Airmass. [unitless]
1453
+ Airmass
1469
1454
model : String, default 'haydavies'
1470
1455
Irradiance model.
1471
1456
@@ -1478,14 +1463,7 @@ def get_irradiance(self, solar_zenith, solar_azimuth, dni, ghi, dhi,
1478
1463
poa_irradiance : DataFrame
1479
1464
Column names are: ``'poa_global', 'poa_direct', 'poa_diffuse',
1480
1465
'poa_sky_diffuse', 'poa_ground_diffuse'``.
1481
-
1482
- See also
1483
- --------
1484
- :py:func:`pvlib.irradiance.get_total_irradiance`
1485
1466
"""
1486
- if albedo is None :
1487
- albedo = self .albedo
1488
-
1489
1467
# not needed for all models, but this is easier
1490
1468
if dni_extra is None :
1491
1469
dni_extra = irradiance .get_extra_radiation (solar_zenith .index )
@@ -1498,10 +1476,10 @@ def get_irradiance(self, solar_zenith, solar_azimuth, dni, ghi, dhi,
1498
1476
orientation ['surface_azimuth' ],
1499
1477
solar_zenith , solar_azimuth ,
1500
1478
dni , ghi , dhi ,
1501
- albedo = albedo ,
1502
1479
dni_extra = dni_extra ,
1503
1480
airmass = airmass ,
1504
1481
model = model ,
1482
+ albedo = self .albedo ,
1505
1483
** kwargs )
1506
1484
1507
1485
def get_iam (self , aoi , iam_model = 'physical' ):
0 commit comments