Pvwattsv8

Photovoltaic system using basic NREL PVWatts V8 algorithm. Does not do detailed degradation or loss modeling. If those are important, please use pvsamv1.

PySAM.Pvwattsv8.default(config) → Pvwattsv8

Load defaults for the configuration config. Available configurations are:

  • “FuelCellCommercial”
  • “FuelCellSingleOwner”
  • “PVWattsBatteryCommercial”
  • “PVWattsBatteryHostDeveloper”
  • “PVWattsBatteryResidential”
  • “PVWattsBatteryThirdParty”
  • “PVWattsAllEquityPartnershipFlip”
  • “PVWattsCommercial”
  • “PVWattsCommunitySolar”
  • “PVWattsHostDeveloper”
  • “PVWattsLCOECalculator”
  • “PVWattsLeveragedPartnershipFlip”
  • “PVWattsMerchantPlant”
  • “PVWattsNone”
  • “PVWattsResidential”
  • “PVWattsSaleLeaseback”
  • “PVWattsSingleOwner”
  • “PVWattsThirdParty”

Note

Some inputs do not have default values and may be assigned a value from the variable’s Required attribute. See variable attribute descriptions below.

PySAM.Pvwattsv8.from_existing(data, optional config) → Pvwattsv8

Share data with an existing PySAM class. If optional config is a valid configuration name, load the module’s defaults for that configuration.

PySAM.Pvwattsv8.new() → Pvwattsv8
PySAM.Pvwattsv8.wrap(ssc_data_t) → Pvwattsv8

Load data from a PySSC object.

Warning

Do not call PySSC.data_free on the ssc_data_t provided to wrap()

Pvwattsv8 is a wrapper for the SSC compute module cmod_pvwattsv8.cpp

Interdependent Variables

The variables listed below are interdependent with other variables. If you change the value of one of these variables, you may need to change values of other variables. The SAM user interface manages these interdependent variables, but in PySAM, it is up to you change the value of all interdependent variables so they are consistent. See Interdependent Variables for examples and details.

  • None

Functions

class PySAM.Pvwattsv8.Pvwattsv8

This class contains all the variable information for running a simulation. Variables are grouped together in the subclasses as properties. If property assignments are the wrong type, an error is thrown.

Reopt_size_battery_post()

Given a PV system with Utilityrate5 parameters, get the optimal battery size. Wind and additional PV are disabled. Maps SAM compute module inputs to those of the ReOpt Lite API: Pvwattsv5 module linked with Battwatts, Utilityrate5, with Cashloan optional.

For more information on which PySAM variables are used, see: https://github.com/NREL/ssc/blob/develop/ssc/cmod_pvsamv1_eqns.h

For an example, see the ‘Examples’ readthedocs page.

assign(dict) → None

Assign attributes from nested dictionary, except for Outputs

nested_dict = { 'Solar Resource': { var: val, ...}, ...}

execute(int verbosity) → None

Execute simulation with verbosity level 0 (default) or 1

export() → dict

Export attributes into nested dictionary

replace(dict) → None

Replace attributes from nested dictionary, except for Outputs. Unassigns all values in each Group then assigns from the input dict.

nested_dict = { 'Solar Resource': { var: val, ...}, ...}

unassign(name) → None

Unassign a value in any of the variable groups.

value(name, optional value) → Union[None, float, dict, sequence, str]

Get or set by name a value in any of the variable groups.

SolarResource Group

class PySAM.Pvwattsv8.Pvwattsv8.SolarResource
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

SolarResource_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

Replace attributes from dictionary, unassigning values not present in input dict.

SolarResource_vals = { var: val, ...}

albedo

Albedo [frac]

Info: if provided, will overwrite weather file albedo

Type:sequence
solar_resource_data

Weather data

Info: dn,df,tdry,wspd,lat,lon,tz,elev

Type:dict
solar_resource_file

Weather file path

Type:str
use_wf_albedo

Use albedo from weather file [0/1]

Info: will use weather file albedo instead of albedo input

Constraints: BOOLEAN

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:float

Lifetime Group

class PySAM.Pvwattsv8.Pvwattsv8.Lifetime
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

Lifetime_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

Replace attributes from dictionary, unassigning values not present in input dict.

Lifetime_vals = { var: val, ...}

analysis_period

Analysis period [years]

Required: Required if system_use_lifetime_output=1

Type:float
dc_degradation

Annual DC degradation for lifetime simulations [%/year]

Required: Required if system_use_lifetime_output=1

Type:sequence
system_use_lifetime_output

Run lifetime simulation [0/1]

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:float

SystemDesign Group

class PySAM.Pvwattsv8.Pvwattsv8.SystemDesign
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

SystemDesign_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

Replace attributes from dictionary, unassigning values not present in input dict.

SystemDesign_vals = { var: val, ...}

array_type

Array type [0/1/2/3/4]

Info: Fixed Rack,Fixed Roof,1Axis,Backtracked,2Axis

Constraints: MIN=0,MAX=4,INTEGER

Required: True

Type:float
azimuth

Azimuth angle [deg]

Options: E=90,S=180,W=270

Constraints: MIN=0,MAX=360

Required: array_type<4

Type:float
batt_simple_enable

Enable Battery [0/1]

Constraints: BOOLEAN

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:float
bifaciality

Module bifaciality factor [0 or ~0.65]

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:float
dc_ac_ratio

DC to AC ratio [ratio]

Constraints: POSITIVE

Required: False. Automatically set to 1.1 if not assigned explicitly or loaded from defaults.

Type:float
en_snowloss

Enable snow loss model [0/1]

Constraints: BOOLEAN

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:float
enable_wind_stow

Enable tracker stow at high wind speeds [0/1]

Constraints: BOOLEAN

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:float
gcr

Ground coverage ratio [0..1]

Constraints: MIN=0.01,MAX=0.99

Required: False. Automatically set to 0.4 if not assigned explicitly or loaded from defaults.

Type:float
gust_factor

Wind gust estimation factor

Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.

Type:float
inv_eff

Inverter efficiency at rated power [%]

Constraints: MIN=90,MAX=99.5

Required: False. Automatically set to 96 if not assigned explicitly or loaded from defaults.

Type:float
losses

Other DC losses [%]

Info: Total system losses

Constraints: MIN=-5,MAX=99

Required: True

Type:float
module_type

Module type [0/1/2]

Info: Standard,Premium,Thin film

Constraints: MIN=0,MAX=2,INTEGER

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:float
rotlim

Tracker rotation angle limit [deg]

Required: False. Automatically set to 45.0 if not assigned explicitly or loaded from defaults.

Type:float
shading_azal

Azimuth x altitude beam shading loss [%]

Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.

Type:sequence[sequence]
shading_diff

Diffuse shading loss [%]

Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.

Type:float
shading_mxh

Month x Hour beam shading loss [%]

Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.

Type:sequence[sequence]
shading_timestep

Time step beam shading loss [%]

Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.

Type:sequence[sequence]
soiling

Soiling loss [%]

Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.

Type:sequence
stow_wspd

Tracker stow wind speed threshold [m/s]

Required: False. Automatically set to 10 if not assigned explicitly or loaded from defaults.

Type:float
system_capacity

System size (DC nameplate) [kW]

Required: True

Type:float
tilt

Tilt angle [deg]

Options: H=0,V=90

Constraints: MIN=0,MAX=90

Required: array_type<4

Type:float
wind_stow_angle

Tracker angle for wind stow [deg]

Required: False. Automatically set to 30.0 if not assigned explicitly or loaded from defaults.

Type:float
xfmr_ll

GSU transformer load loss (resistive) [%(ac)]

Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.

Type:float
xfmr_nll

GSU transformer no load loss (iron core) [%(ac)]

Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.

Type:float

AdjustmentFactors Group

class PySAM.Pvwattsv8.Pvwattsv8.AdjustmentFactors
assign() → None

Assign attributes from dictionary

export() → Dict

Export attributes into dictionary

constant

float

Type:type
dc_constant

DC Constant loss adjustment [%]

dc_hourly

DC Hourly Adjustment Factors [%]

dc_periods

DC Period-based Adjustment Factors [%]

hourly

AC Hourly Adjustment Factors [%]

periods

AC Period-based Adjustment Factors [%]

sf_constant

DC Constant loss adjustment [%]

sf_hourly

DC Hourly Adjustment Factors [%]

sf_periods

DC Period-based Adjustment Factors [%]

Outputs Group

class PySAM.Pvwattsv8.Pvwattsv8.Outputs
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

Outputs_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

Replace attributes from dictionary, unassigning values not present in input dict.

Outputs_vals = { var: val, ...}

ac

AC inverter output power [W]

Type:sequence
ac_annual

Annual AC output [kWh]

Type:float
ac_annual_pre_adjust

Annual AC output before system availability [kWh]

Type:float
ac_monthly

AC output [kWh]

Type:sequence
ac_pre_adjust

AC inverter output power before system availability [W]

Type:sequence
annual_energy

Annual energy [kWh]

Type:float
annual_energy_distribution_time

Annual energy production as function of time [kW]

Type:sequence[sequence]
aoi

Angle of incidence [deg]

Type:sequence
capacity_factor

Capacity factor based on nameplate DC capacity [%]

Type:float
capacity_factor_ac

Capacity factor based on total AC capacity [%]

Type:float
city

City

Type:str
dc

DC inverter input power [W]

Type:sequence
dc_monthly

DC output [kWh]

Type:sequence
dcsnowderate

DC power loss due to snow [%]

Type:sequence
df

Weather file diffuse irradiance [W/m2]

Type:sequence
dn

Weather file beam irradiance [W/m2]

Type:sequence
elev

Site elevation [m]

Type:float
gen

System power generated [kW]

Type:sequence
gh

Weather file global horizontal irradiance [W/m2]

Type:sequence
inverter_efficiency

Inverter efficiency at rated power [%]

Type:float
kwh_per_kw

Energy yield [kWh/kW]

Type:float
lat

Latitude [deg]

Type:float
location

Location ID

Type:str
lon

Longitude [deg]

Type:float
monthly_energy

Monthly energy [kWh]

Type:sequence
percent_complete

Estimated percent of total completed simulation [%]

Type:float
poa

Plane of array irradiance [W/m2]

Type:sequence
poa_monthly

Plane of array irradiance [kWh/m2]

Type:sequence
shad_beam_factor

External shading factor for beam radiation

Type:sequence
snow

Weather file snow depth [cm]

Type:sequence
solrad_annual

Daily average solar irradiance [kWh/m2/day]

Type:float
solrad_monthly

Daily average solar irradiance [kWh/m2/day]

Type:sequence
ss_beam_factor

Calculated self-shading factor for beam radiation

Type:sequence
ss_gnd_diffuse_factor

Calculated self-shading factor for ground-reflected diffuse radiation

Type:sequence
ss_sky_diffuse_factor

Calculated self-shading factor for sky diffuse radiation

Type:sequence
state

State

Type:str
sunup

Sun up over horizon [0/1]

Type:sequence
tamb

Weather file ambient temperature [C]

Type:sequence
tcell

Module temperature [C]

Type:sequence
tpoa

Transmitted plane of array irradiance [W/m2]

Type:sequence
ts_shift_hours

Time offset for interpreting time series outputs [hours]

Type:float
tz

Time zone [hr]

Type:float
wspd

Weather file wind speed [m/s]

Type:sequence