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 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 [0..1]
Info: albedo input array of 1 constant value or 12 monthly values
Type: sequence
-
albedo_default
¶ Albedo default [0..1]
Info: default when albedo invalid
Required: False. Automatically set to 0.2 if not assigned explicitly or loaded from defaults.
Type: float
-
albedo_default_snow
¶ Albedo default for snow [0..1]
Info: default when albedo invalid and snow model enabled
Required: False. Automatically set to 0.6 if not assigned explicitly or loaded from defaults.
Type: float
-
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]
Options: 0=albedo input, 1=albedo from weather file (use albedo default if invalid)
Constraints: BOOLEAN
Required: False. Automatically set to 1 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]
INOUT: This variable is both an input and an output to the compute module.
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 open rack,fixed roof mount,1-axis tracking,1-axis backtracking,2-axis tracking
Constraints: MIN=0,MAX=4,INTEGER
Required: True
Type: float
-
azimuth
¶ Azimuth angle [degrees]
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.3 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 [degrees]
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 [degrees]
Options: H=0,V=90
Constraints: MIN=0,MAX=90
Required: array_type<4
Type: float
-
wind_stow_angle
¶ Tracker angle for wind stow [degrees]
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
-
alb
¶ Albedo
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 [degrees]
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
-
inv_eff_output
¶ Inverter efficiency [%]
Type: sequence
-
inverter_efficiency
¶ Inverter efficiency at rated power [%]
Type: float
-
kwh_per_kw
¶ Energy yield [kWh/kW]
Type: float
-
lat
¶ Latitude [degrees]
Type: float
-
location
¶ Location ID
Type: str
-
lon
¶ Longitude [degrees]
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
-
soiling_f
¶ Soiling factor
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 [UTC offset]
Type: float
-
wspd
¶ Weather file wind speed [m/s]
Type: sequence
-