pvlib.modelchain.ModelChain

class pvlib.modelchain.ModelChain(system, location, orientation_strategy='south_at_latitude_tilt', clearsky_model='ineichen', transposition_model='haydavies', solar_position_method='nrel_numpy', airmass_model='kastenyoung1989', dc_model=None, ac_model=None, aoi_model=None, spectral_model=None, temp_model='sapm', losses_model='no_loss', name=None, **kwargs)[source]

An experimental class that represents all of the modeling steps necessary for calculating power or energy for a PV system at a given location using the SAPM.

CEC module specifications and the single diode model are not yet supported.

Parameters:

system : PVSystem

A PVSystem object that represents the connected set of modules, inverters, etc.

location : Location

A Location object that represents the physical location at which to evaluate the model.

orientation_strategy : None or str

The strategy for aligning the modules. If not None, sets the surface_azimuth and surface_tilt properties of the system. Allowed strategies include ‘flat’, ‘south_at_latitude_tilt’. Ignored for SingleAxisTracker systems.

clearsky_model : str

Passed to location.get_clearsky.

transposition_model : str

Passed to system.get_irradiance.

solar_position_method : str

Passed to location.get_solarposition.

airmass_model : str

Passed to location.get_airmass.

dc_model: None, str, or function

If None, the model will be inferred from the contents of system.module_parameters. Valid strings are ‘sapm’, ‘singlediode’, ‘pvwatts’. The ModelChain instance will be passed as the first argument to a user-defined function.

ac_model: None, str, or function

If None, the model will be inferred from the contents of system.inverter_parameters and system.module_parameters. Valid strings are ‘snlinverter’, ‘adrinverter’ (not implemented), ‘pvwatts’. The ModelChain instance will be passed as the first argument to a user-defined function.

aoi_model: None, str, or function

If None, the model will be inferred from the contents of system.module_parameters. Valid strings are ‘physical’, ‘ashrae’, ‘sapm’, ‘no_loss’. The ModelChain instance will be passed as the first argument to a user-defined function.

spectral_model: None, str, or function

If None, the model will be inferred from the contents of system.module_parameters. Valid strings are ‘sapm’, ‘first_solar’ (not implemented), ‘no_loss’. The ModelChain instance will be passed as the first argument to a user-defined function.

temp_model: str or function

Valid strings are ‘sapm’. The ModelChain instance will be passed as the first argument to a user-defined function.

losses_model: str or function

Valid strings are ‘pvwatts’, ‘no_loss’. The ModelChain instance will be passed as the first argument to a user-defined function.

**kwargs

Arbitrary keyword arguments. Included for compatibility, but not used.

__init__(system, location, orientation_strategy='south_at_latitude_tilt', clearsky_model='ineichen', transposition_model='haydavies', solar_position_method='nrel_numpy', airmass_model='kastenyoung1989', dc_model=None, ac_model=None, aoi_model=None, spectral_model=None, temp_model='sapm', losses_model='no_loss', name=None, **kwargs)[source]

Methods

__init__(system, location[, ...])
adrinverter()
ashrae_aoi_loss()
complete_irradiance([times, weather]) Determine the missing irradiation columns.
effective_irradiance_model()
first_solar_spectral_loss()
infer_ac_model()
infer_aoi_model()
infer_dc_model()
infer_losses_model()
infer_spectral_model()
infer_temp_model()
no_aoi_loss()
no_extra_losses()
no_spectral_loss()
physical_aoi_loss()
prepare_inputs([times, irradiance, weather]) Prepare the solar position, irradiance, and weather inputs to the model.
pvwatts_dc()
pvwatts_inverter()
pvwatts_losses()
run_model([times, irradiance, weather]) Run the model.
sapm()
sapm_aoi_loss()
sapm_spectral_loss()
sapm_temp()
singlediode()
snlinverter()

Attributes

ac_model
aoi_model
dc_model
losses_model
orientation_strategy
spectral_model
temp_model