Hcpv¶
Concentrating photovoltaic system with a high concentration photovoltaic module model and separate inverter model
-
PySAM.Hcpv.
default
(config) → Hcpv¶ Load defaults for the configuration
config
. Available configurations are:- “HighXConcentratingPVAllEquityPartnershipFlip”
- “HighXConcentratingPVLCOECalculator”
- “HighXConcentratingPVLeveragedPartnershipFlip”
- “HighXConcentratingPVMerchantPlant”
- “HighXConcentratingPVNone”
- “HighXConcentratingPVSaleLeaseback”
- “HighXConcentratingPVSingleOwner”
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.Hcpv.
from_existing
(data, optional config) → Hcpv¶ Share data with an existing PySAM class. If
optional config
is a valid configuration name, load the module’s defaults for that configuration.
-
PySAM.Hcpv.
new
() → Hcpv¶
-
PySAM.Hcpv.
wrap
(ssc_data_t) → Hcpv¶ Load data from a PySSC object.
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap()
Hcpv is a wrapper for the SSC compute module cmod_hcpv.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.
- array_modules_per_tracker
- array_num_inverters
- array_num_trackers
- inv_snl_pdco
- module_a0
- module_a1
- module_a2
- module_a3
- module_a4
- module_alignment_error
- module_cell_area
- module_concentration
- module_flutter_loss_coeff
- module_ncells
- module_optical_error
- module_reference
- system_capacity
Functions¶
-
class
PySAM.Hcpv.
Hcpv
¶ 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.
-
assign
(dict) → None¶ Assign attributes from nested dictionary, except for Outputs
nested_dict = { 'SolarResourceData': { 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 = { 'SolarResourceData': { 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.
-
SolarResourceData Group¶
-
class
PySAM.Hcpv.Hcpv.
SolarResourceData
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
SolarResourceData_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.SolarResourceData_vals = { var: val, ...}
-
file_name
¶ Weather file in TMY2, TMY3, EPW, or SMW.
Constraints: LOCAL_FILE
Required: True
Type: str
-
PVWatts Group¶
-
class
PySAM.Hcpv.Hcpv.
PVWatts
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
PVWatts_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.PVWatts_vals = { var: val, ...}
-
system_capacity
¶ Nameplate capacity [kW]
Required: True
The value of
system_capacity
depends on the following variables:- array_modules_per_tracker
- array_num_trackers
- module_a0
- module_a1
- module_a2
- module_a3
- module_a4
- module_alignment_error
- module_cell_area
- module_concentration
- module_flutter_loss_coeff
- module_ncells
- module_optical_error
- module_reference
Type: float
-
HCPVModule Group¶
-
class
PySAM.Hcpv.Hcpv.
HCPVModule
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
HCPVModule_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.HCPVModule_vals = { var: val, ...}
-
module_a
¶ Equation variable (a), at high irradiance & low wind speed [none]
Required: True
Type: float
-
module_a0
¶ Air mass modifier coefficient 0 [none]
Required: True
The value of the following variables depends on
module_a0
:- array_num_inverters
- system_capacity
Type: float
-
module_a1
¶ Air mass modifier coefficient 1 [none]
Required: True
The value of the following variables depends on
module_a1
:- array_num_inverters
- system_capacity
Type: float
-
module_a2
¶ Air mass modifier coefficient 2 [none]
Required: True
The value of the following variables depends on
module_a2
:- array_num_inverters
- system_capacity
Type: float
-
module_a3
¶ Air mass modifier coefficient 3 [none]
Required: True
The value of the following variables depends on
module_a3
:- array_num_inverters
- system_capacity
Type: float
-
module_a4
¶ Air mass modifier coefficient 4 [none]
Required: True
The value of the following variables depends on
module_a4
:- array_num_inverters
- system_capacity
Type: float
-
module_alignment_error
¶ Alignment loss factor [0..1]
Required: True
The value of the following variables depends on
module_alignment_error
:- array_num_inverters
- system_capacity
Type: float
-
module_b
¶ Equation variable (b), rate at which module temp drops [none]
Required: True
Type: float
-
module_cell_area
¶ Single cell area [cm^2]
Required: True
The value of the following variables depends on
module_cell_area
:- array_num_inverters
- system_capacity
Type: float
-
module_concentration
¶ Concentration ratio [none]
Required: True
The value of the following variables depends on
module_concentration
:- array_num_inverters
- system_capacity
Type: float
-
module_dT
¶ Equation variable (dT), temp diff between heat sink & cell [C]
Required: True
Type: float
-
module_flutter_loss_coeff
¶ Wind flutter loss factor [0..1 per m/s]
Required: True
The value of the following variables depends on
module_flutter_loss_coeff
:- array_num_inverters
- system_capacity
Type: float
-
module_mjeff
¶ Module junction efficiency array [percent]
Required: True
Type: sequence
-
module_ncells
¶ Number of cells [none]
Constraints: INTEGER
Required: True
The value of the following variables depends on
module_ncells
:- array_num_inverters
- system_capacity
Type: float
-
module_optical_error
¶ Optical error factor [0..1]
Required: True
The value of the following variables depends on
module_optical_error
:- array_num_inverters
- system_capacity
Type: float
-
module_rad
¶ POA irradiance array [W/m^2]
Required: True
Type: sequence
-
module_reference
¶ Index in arrays of the reference condition [none]
Constraints: INTEGER
Required: True
The value of the following variables depends on
module_reference
:- array_num_inverters
- system_capacity
Type: float
-
module_temp_coeff
¶ Temperature coefficient [%/C]
Required: True
Type: float
-
InverterCECDatabase Group¶
-
class
PySAM.Hcpv.Hcpv.
InverterCECDatabase
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
InverterCECDatabase_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.InverterCECDatabase_vals = { var: val, ...}
-
inv_snl_c0
¶ Parameter defining the curvature (parabolic) of the relationship between ac-power and dc-power at the reference operating condition, default value of zero gives a linear relationship, (1/W) [xxx]
Required: True
Type: float
-
inv_snl_c1
¶ Empirical coefficient allowing Pdco to vary linearly with dc-voltage input, default value is zero, (1/V) [xxx]
Required: True
Type: float
-
inv_snl_c2
¶ Empirical coefficient allowing Pso to vary linearly with dc-voltage input, default value is zero, (1/V) [xxx]
Required: True
Type: float
-
inv_snl_c3
¶ Empirical coefficient allowing Co to vary linearly with dc-voltage input, default value is zero, (1/V) [xxx]
Required: True
Type: float
-
inv_snl_paco
¶ W maximum ac-power rating for inverter at reference or nominal operating condition, assumed to be an upper limit value, (W) [xxx]
Required: True
Type: float
-
inv_snl_pdco
¶ W dc-power level at which the ac-power rating is achieved at the reference operating condition, (W) [xxx]
Required: True
The value of the following variables depends on
inv_snl_pdco
:- array_num_inverters
Type: float
-
inv_snl_pnt
¶ W ac-power consumed by inverter at night (night tare) to maintain circuitry required to sense PV array voltage, (W) [xxx]
Required: True
Type: float
-
inv_snl_pso
¶ W dc-power required to start the inversion process, or self-consumption by inverter, strongly influences inverter efficiency at low power levels, (W) [xxx]
Required: True
Type: float
-
inv_snl_vdcmax
¶ V (Vdcmax) dc-voltage maximum operating voltage, (V) [xxx]
Required: True
Type: float
-
inv_snl_vdco
¶ V (Vnom) dc-voltage level at which the ac-power rating is achieved at the reference operating condition, (V) [xxx]
Required: True
Type: float
-
HCPVArray Group¶
-
class
PySAM.Hcpv.Hcpv.
HCPVArray
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
HCPVArray_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.HCPVArray_vals = { var: val, ...}
-
array_ac_wiring_loss
¶ AC wiring loss factor [0..1]
Required: True
Type: float
-
array_dc_mismatch_loss
¶ DC module mismatch loss factor [0..1]
Required: True
Type: float
-
array_dc_wiring_loss
¶ DC Wiring loss factor [0..1]
Required: True
Type: float
-
array_diode_conn_loss
¶ Diodes and connections loss factor [0..1]
Required: True
Type: float
-
array_enable_azalt_sf
¶ Boolean for irradiance derate [0-1]
Constraints: INTEGER
Required: True
Type: float
-
array_modules_per_tracker
¶ Modules on each tracker [none]
Constraints: INTEGER
Required: True
The value of the following variables depends on
array_modules_per_tracker
:- array_num_inverters
- system_capacity
Type: float
-
array_monthly_soiling
¶ Monthly soiling factors array [0..1]
Required: True
Type: sequence
-
array_num_inverters
¶ Number of inverters [none]
Required: True
The value of
array_num_inverters
depends on the following variables:- array_modules_per_tracker
- array_num_trackers
- inv_snl_pdco
- module_a0
- module_a1
- module_a2
- module_a3
- module_a4
- module_alignment_error
- module_cell_area
- module_concentration
- module_flutter_loss_coeff
- module_ncells
- module_optical_error
- module_reference
Type: float
-
array_num_trackers
¶ Number of trackers [none]
Constraints: INTEGER
Required: True
The value of the following variables depends on
array_num_trackers
:- array_num_inverters
- system_capacity
Type: float
-
array_rlim_az_max
¶ Tracker maximum azimuth angle [deg]
Required: True
Type: float
-
array_rlim_az_min
¶ Tracker minimum azimuth angle [deg]
Required: True
Type: float
-
array_rlim_el_max
¶ Tracker maximum elevation angle [deg]
Required: True
Type: float
-
array_rlim_el_min
¶ Tracker minimum elevation angle [deg]
Required: True
Type: float
-
array_tracker_power_fraction
¶ Single tracker power fraction [0..1]
Required: True
Type: float
-
array_tracking_error
¶ General racking error [0..1]
Required: True
Type: float
-
array_wind_stow_speed
¶ Allowed wind speed before stowing [m/s]
Required: True
Type: float
-
azaltsf
¶ Azimuth-Altitude Shading Table
Required: True
Type: sequence[sequence]
-
AdjustmentFactors Group¶
-
class
PySAM.Hcpv.Hcpv.
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.Hcpv.Hcpv.
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_loss_tracker_kwh
¶ Annual tracker power loss [kWh]
Type: float
-
annual_ac
¶ AC gross [kWh]
Type: float
-
annual_beam
¶ Beam irradiance [kW/m2]
Type: float
-
annual_dc
¶ DC gross [kWh]
Type: float
-
annual_dc_net
¶ DC net [kWh]
Type: float
-
annual_energy
¶ Annual Energy [kWh]
Type: float
-
annual_energy_distribution_time
¶ Annual energy production as function of time [kW]
Type: sequence[sequence]
-
annual_input_radiation
¶ Input radiation [kWh]
Type: float
-
capacity_factor
¶ Capacity factor [%]
Type: float
-
dc_loss_stowing_kwh
¶ Annual stowing power loss [kWh]
Type: float
-
dc_nominal
¶ Annual DC nominal [kWh]
Type: float
-
gen
¶ System power generated [kW]
Type: sequence
-
hourly_ac
¶ AC gross [kWh]
Type: sequence
-
hourly_airmass
¶ Relative air mass [none]
Type: sequence
-
hourly_beam
¶ Beam irradiance [kW/m2]
Type: sequence
-
hourly_celleff
¶ Cell efficiency [%]
Type: sequence
-
hourly_dc
¶ DC gross [kWh]
Type: sequence
-
hourly_dc_net
¶ DC net [kWh]
Type: sequence
-
hourly_input_radiation
¶ Input radiation [kWh]
Type: sequence
-
hourly_modeff
¶ Module efficiency [%]
Type: sequence
-
hourly_poa
¶ POA on cell [W/m2]
Type: sequence
-
hourly_sazi
¶ Tracker azimuth [deg]
Type: sequence
-
hourly_shading_derate
¶ Shading derate [none]
Type: sequence
-
hourly_solazi
¶ Hourly solar azimuth [deg]
Type: sequence
-
hourly_solzen
¶ Hourly solar zenith [deg]
Type: sequence
-
hourly_stilt
¶ Tracker tilt [deg]
Type: sequence
-
hourly_sunup
¶ Sun up? (0/1) [0 or 1]
Type: sequence
-
hourly_tcell
¶ Cell temperature [C]
Type: sequence
-
hourly_tdry
¶ Ambient dry bulb temperature [C]
Type: sequence
-
hourly_tmod
¶ Module backplate temp [C]
Type: sequence
-
hourly_windspd
¶ Wind speed [m/s]
Type: sequence
-
kwh_per_kw
¶ Energy yield [kWh/kW]
Type: float
-
modeff_ref
¶ Module efficiency [-]
Type: float
-
monthly_beam
¶ Beam irradiance [kW/m2]
Type: sequence
-
monthly_dc_net
¶ DC net [kWh]
Type: sequence
-
monthly_energy
¶ Monthly Energy [kWh]
Type: sequence
-
monthly_input_radiation
¶ Input radiation [kWh]
Type: sequence
-
tracker_nameplate_watts
¶ Tracker nameplate [watts]
Type: float
-