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

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

PySAM.Pvwattsv7.default(config) → Pvwattsv7

Use default attributes config options:

  • “FuelCellCommercial”
  • “FuelCellSingleOwner”
  • “PVWattsBatteryCommercial”
  • “PVWattsBatteryHostDeveloper”
  • “PVWattsBatteryResidential”
  • “PVWattsBatteryThirdParty”
  • “PVWattsAllEquityPartnershipFlip”
  • “PVWattsCommercial”
  • “PVWattsHostDeveloper”
  • “PVWattsLCOECalculator”
  • “PVWattsLeveragedPartnershipFlip”
  • “PVWattsMerchantPlant”
  • “PVWattsNone”
  • “PVWattsResidential”
  • “PVWattsSaleLeaseback”
  • “PVWattsSingleOwner”
  • “PVWattsThirdParty”
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

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() → None

Assign attributes from dictionary

SolarResource_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

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

Required: False

Type:dict
solar_resource_file

Weather file path

Required: False

Type:str

Lifetime Group

class PySAM.Pvwattsv7.Pvwattsv7.Lifetime
assign() → None

Assign attributes from dictionary

Lifetime_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

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() → None

Assign attributes from dictionary

SystemDesign_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

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 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.Pvwattsv7.Pvwattsv7.Outputs
assign() → None

Assign attributes from dictionary

Outputs_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

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
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
estimated_rows

Estimated number of rows in the system

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

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
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