Pvwattsv7¶
Wrapper for SAM Simulation Core model: cmod_pvwattsv7.cpp
Input Consistency Warning¶
As described in Possible Problems, some input parameters are interdependent but the equations that enforce consistency are not available in this PySAM module. Therefore, the onus is on the PySAM user to check that interdependencies are correctly handled. The variables which may require additional logic include:
Provided for each of these inputs is a list of other inputs that are potentially interdependent.
Creating an Instance¶
Refer to the Initializing a Model page for details on the different ways to create an instance of a PySAM class.
Pvwattsv7 model description
Pvwattsv7

PySAM.Pvwattsv7.
default
(config) → Pvwattsv7¶ Use default attributes None

PySAM.Pvwattsv7.
from_existing
(data, optional config) → Pvwattsv7¶ Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.

PySAM.Pvwattsv7.
new
() → Pvwattsv7¶

PySAM.Pvwattsv7.
wrap
(ssc_data_t) → Pvwattsv7¶ Use existing PySSC data
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap
Functions¶

class
PySAM.Pvwattsv7.
Pvwattsv7
¶ 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.Pvwattsv7.Pvwattsv7.
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

Lifetime Group¶

class
PySAM.Pvwattsv7.Pvwattsv7.
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: True if system_use_lifetime_output=1
Type: float

dc_degradation
¶ Annual DC degradation for lifetime simulations [%/year]
Required: True if system_use_lifetime_output=1
Type: sequence

system_use_lifetime_output
¶ Run lifetime simulation [0/1]
Required: If not provided, assumed to be 0
Type: float

SystemDesign Group¶

class
PySAM.Pvwattsv7.Pvwattsv7.
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, ...}

ac_plant_max_f
¶ Plant controller max output (as f(ac_size)) [ratio]
Required: If not provided, assumed to be 1.0
Type: float

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: If not provided, assumed to be 0
Type: float

bifaciality
¶ Module bifaciality factor [0 or ~0.65]
Required: If not provided, assumed to be 0
Type: float

dc_ac_ratio
¶ DC to AC ratio [ratio]
Constraints: POSITIVE
Required: If not provided, assumed to be 1.1
Type: float

en_snowloss
¶ Enable snow loss model [0/1]
Constraints: BOOLEAN
Required: If not provided, assumed to be 0
Type: float

enable_wind_stow
¶ Enable tracker stow at high wind speeds [0/1]
Required: If not provided, assumed to be 0
Type: float

gcr
¶ Ground coverage ratio [0..1]
Constraints: MIN=0.01,MAX=0.99
Required: If not provided, assumed to be 0.4
Type: float

gust_factor
¶ Wind gust estimation factor
Required: False
Type: float

inv_eff
¶ Inverter efficiency at rated power [%]
Constraints: MIN=90,MAX=99.5
Required: If not provided, assumed to be 96
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: If not provided, assumed to be 0
Type: float

rotlim
¶ Tracker rotation angle limit [deg]
Required: If not provided, assumed to be 45.0
Type: float

shading_azal
¶ Azimuth x altitude beam shading loss [%]
Required: False
Type: sequence[sequence]

shading_diff
¶ Diffuse shading loss [%]
Required: False
Type: float

shading_mxh
¶ Month x Hour beam shading loss [%]
Required: False
Type: sequence[sequence]

shading_timestep
¶ Time step beam shading loss [%]
Required: False
Type: sequence[sequence]

soiling
¶ Soiling loss [%]
Required: False
Type: sequence

stow_wspd
¶ Tracker stow wind speed threshold [m/s]
Required: If not provided, assumed to be 10
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: If not provided, assumed to be 30.0
Type: float

xfmr_ll
¶ GSU transformer load loss (resistive) [%(ac)]
Required: If not provided, assumed to be 0.0
Type: float

xfmr_nll
¶ GSU transformer no load loss (iron core) [%(ac)]
Required: If not provided, assumed to be 0.0
Type: float

AdjustmentFactors Group¶

class
PySAM.Pvwattsv7.Pvwattsv7.
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 Periodbased Adjustment Factors [%]

hourly
¶ AC Hourly Adjustment Factors [%]

periods
¶ AC Periodbased Adjustment Factors [%]

sf_constant
¶ DC Constant loss adjustment [%]

sf_hourly
¶ DC Hourly Adjustment Factors [%]

sf_periods
¶ DC Periodbased Adjustment Factors [%]

Outputs Group¶

class
PySAM.Pvwattsv7.Pvwattsv7.
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_monthly
¶ AC output [kWh]
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 [%]
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 selfshading factor for beam radiation
Type: sequence

ss_gnd_diffuse_factor
¶ Calculated selfshading factor for groundreflected diffuse radiation
Type: sequence

ss_sky_diffuse_factor
¶ Calculated selfshading 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
