pvlib.pvsystem.PVSystem#
- class pvlib.pvsystem.PVSystem(arrays=None, surface_tilt=0, surface_azimuth=180, albedo=None, surface_type=None, module=None, module_type=None, module_parameters=None, temperature_model_parameters=None, modules_per_string=1, strings_per_inverter=1, inverter=None, inverter_parameters=None, racking_model=None, losses_parameters=None, name=None)[source]#
- The PVSystem class defines a standard set of PV system attributes and modeling functions. This class describes the collection and interactions of PV system components rather than an installed system on the ground. It is typically used in combination with - Locationand- ModelChainobjects.- The class supports basic system topologies consisting of: - N total modules arranged in series (modules_per_string=N, strings_per_inverter=1). 
- M total modules arranged in parallel (modules_per_string=1, strings_per_inverter=M). 
- NxM total modules arranged in M strings of N modules each (modules_per_string=N, strings_per_inverter=M). 
 - The class is complementary to the module-level functions. - The attributes should generally be things that don’t change about the system, such the type of module and the inverter. The instance methods accept arguments for things that do change, such as irradiance and temperature. - Parameters:
- arrays (Array or iterable of Array, optional) – - An Array or list of arrays that are part of the system. If not specified, a single array is created from the other parameters (e.g. surface_tilt, surface_azimuth). If specified as a list, the list must contain at least one Array; if length of arrays is 0 a ValueError is raised. If arrays is specified the following PVSystem parameters are ignored: - surface_tilt
- surface_azimuth
- albedo
- surface_type
- module
- module_type
- module_parameters
- temperature_model_parameters
- modules_per_string
- strings_per_inverter
 
- surface_tilt (float or array-like, default 0) – Surface tilt angles in decimal degrees. The tilt angle is defined as degrees from horizontal (e.g. surface facing up = 0, surface facing horizon = 90) 
- surface_azimuth (float or array-like, default 180) – Azimuth angle of the module surface in decimal degrees. North=0, East=90, South=180, West=270. 
- albedo (float, optional) – Ground surface albedo. If not supplied, then - surface_typeis used to look up a value in- pvlib.albedo.SURFACE_ALBEDOS. If- surface_typeis also not supplied then a ground surface albedo of 0.25 is used.
- surface_type (string, optional) – The ground surface type. See - pvlib.albedo.SURFACE_ALBEDOSfor valid values.
- module (string, optional) – The model name of the modules. 
- module_type (string, default 'glass_polymer') – Describes the module’s construction. Valid strings are ‘glass_polymer’ and ‘glass_glass’. Used for cell and module temperature calculations. 
- module_parameters (dict or Series, optional) – Module parameters as defined by the SAPM, CEC, or other. 
- temperature_model_parameters (dict or Series, optional) – Temperature model parameters as required by one of the models in - pvlib.temperature(excluding- poa_global,- temp_airand- wind_speed).
- modules_per_string (int or float, default 1) – See system topology discussion above. 
- strings_per_inverter (int or float, default 1) – See system topology discussion above. 
- inverter (string, optional) – The model name of the inverters. 
- inverter_parameters (dict or Series, optional) – Inverter parameters as defined by the SAPM, CEC, or other. 
- racking_model (string, optional) – Valid strings are - 'open_rack',- 'close_mount',- 'insulated_back',- 'freestanding'and- 'insulated'. Used to identify a parameter set for the SAPM or PVsyst cell temperature model. See- sapm_module()and- pvsyst_cell()for definitions.
- losses_parameters (dict or Series, optional) – Losses parameters as defined by PVWatts or other. 
- name (string, optional) 
- **kwargs – Arbitrary keyword arguments. Included for compatibility, but not used. 
 
- Raises:
- ValueError – If - arraysis not None and has length 0.
 - See also - Methods - __init__([arrays, surface_tilt, ...])- calcparams_cec(effective_irradiance, temp_cell)- Use the - calcparams_cec()function, the input parameters and- self.module_parametersto calculate the module currents and resistances.- calcparams_desoto(effective_irradiance, ...)- Use the - calcparams_desoto()function, the input parameters and- self.module_parametersto calculate the module currents and resistances.- calcparams_pvsyst(effective_irradiance, ...)- Use the - calcparams_pvsyst()function, the input parameters and- self.module_parametersto calculate the module currents and resistances.- Calculates the equivalent resistance of the wires for each array using - pvlib.pvsystem.dc_ohms_from_percent()- first_solar_spectral_loss(pw, airmass_absolute)- Use - pvlib.spectrum.spectral_factor_firstsolar()to calculate the spectral loss modifier.- get_ac(model, p_dc[, v_dc])- Calculates AC power from p_dc using the inverter model indicated by model and self.inverter_parameters. - get_aoi(solar_zenith, solar_azimuth)- Get the angle of incidence on the Array(s) in the system. - get_cell_temperature(poa_global, temp_air, ...)- Determine cell temperature using the method specified by - model.- get_iam(aoi[, iam_model])- Determine the incidence angle modifier using the method specified by - iam_model.- get_irradiance(solar_zenith, solar_azimuth, ...)- Uses - pvlib.irradiance.get_total_irradiance()to calculate the plane of array irradiance components on the tilted surfaces defined by each array's- surface_tiltand- surface_azimuth.- i_from_v(voltage, photocurrent, ...)- Wrapper around the - pvlib.pvsystem.i_from_v()function.- pvwatts_dc(effective_irradiance, temp_cell)- Calculates DC power according to the PVWatts model using - pvlib.pvsystem.pvwatts_dc(), self.module_parameters['pdc0'], and self.module_parameters['gamma_pdc'].- Calculates DC power losses according the PVwatts model using - pvlib.pvsystem.pvwatts_losses()and- self.losses_parameters.- sapm(effective_irradiance, temp_cell)- Use the - sapm()function, the input parameters, and- self.module_parametersto calculate Voc, Isc, Ix, Ixx, Vmp, and Imp.- sapm_effective_irradiance(poa_direct, ...[, ...])- Use the - sapm_effective_irradiance()function, the input parameters, and- self.module_parametersto calculate effective irradiance.- sapm_spectral_loss(airmass_absolute)- Use the - pvlib.spectrum.spectral_factor_sapm()function, the input parameters, and- self.module_parametersto calculate F1.- Scales the voltage, current, and power of the data DataFrame by self.modules_per_string and self.strings_per_inverter. - singlediode(photocurrent, ...)- Wrapper around the - pvlib.pvsystem.singlediode()function.- Attributes - num_arrays- The number of Arrays in the system. 
Examples using pvlib.pvsystem.PVSystem#
 
Use different Perez coefficients with the ModelChain
 
4.7 MW CdTe single-axis tracking (OEDI System 9068)
 
    
  
  
 
 
 
 
