pvlib.modelchain.ModelChain.with_pvwatts#
- classmethod ModelChain.with_pvwatts(system, location, clearsky_model='ineichen', airmass_model='kastenyoung1989', name=None, **kwargs)[source]#
ModelChain that follows the PVWatts methods.
- 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.clearsky_model (str, default 'ineichen') – Passed to location.get_clearsky.
airmass_model (str, default 'kastenyoung1989') – Passed to location.get_airmass.
name (str, optional) – Name of ModelChain instance.
**kwargs – Parameters supplied here are passed to the ModelChain constructor and take precedence over the default configuration.
Warning
The PVWatts model defaults to 14 % total system losses. The PVWatts losses are fractions of DC power and can be modified, as shown in the example below.
Examples
>>> from pvlib import temperature, pvsystem, location, modelchain >>> module_parameters = dict(gamma_pdc=-0.003, pdc0=4500) >>> inverter_parameters = dict(pdc0=4000) >>> tparams = temperature.TEMPERATURE_MODEL_PARAMETERS['sapm']['open_rack_glass_glass'] >>> system = pvsystem.PVSystem( >>> surface_tilt=30, surface_azimuth=180, >>> module_parameters=module_parameters, >>> inverter_parameters=inverter_parameters, >>> temperature_model_parameters=tparams) >>> loc = location.Location(32.2, -110.9) >>> modelchain.ModelChain.with_pvwatts(system, loc)
The following example is a modification of the example above but where custom losses have been specified.
>>> pvwatts_losses = {'soiling': 2, 'shading': 3, 'snow': 0, 'mismatch': 2, >>> 'wiring': 2, 'connections': 0.5, 'lid': 1.5, >>> 'nameplate_rating': 1, 'age': 0, 'availability': 30} >>> system_with_custom_losses = pvsystem.PVSystem( >>> surface_tilt=30, surface_azimuth=180, >>> module_parameters=module_parameters, >>> inverter_parameters=inverter_parameters, >>> temperature_model_parameters=tparams, >>> losses_parameters=pvwatts_losses) >>> modelchain.ModelChain.with_pvwatts(system_with_custom_losses, loc) ModelChain: name: None clearsky_model: ineichen transposition_model: perez solar_position_method: nrel_numpy airmass_model: kastenyoung1989 dc_model: pvwatts_dc ac_model: pvwatts_inverter aoi_model: physical_aoi_loss spectral_model: no_spectral_loss temperature_model: sapm_temp losses_model: pvwatts_losses