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
-