Hcpv¶
Wrapper for SAM Simulation Core model: cmod_hcpv.cpp
Creating an Instance¶
There are three methods to create a new instance of a PySAM module. Using default
populates the newclass’ attributes with default values specific to a config
. Each technology-financialconfiguration corresponds to a SAM GUI configuration. Using new
creates an instance with empty attributes. The wrap
function allows compatibility with PySSC, for details, refer to PySSC.
Hcpv model description
Concentrating photovoltaic system with a high concentration photovoltaic module model and separate inverter model
-
PySAM.Hcpv.
default
(config) → Hcpv¶ Use financial config-specific default attributes config options:
- “HighXConcentratingPVAllEquityPartnershipFlip”
- “HighXConcentratingPVLCOECalculator”
- “HighXConcentratingPVLeveragedPartnershipFlip”
- “HighXConcentratingPVMerchantPlant”
- “HighXConcentratingPVNone”
- “HighXConcentratingPVSaleLeaseback”
- “HighXConcentratingPVSingleOwner”
-
PySAM.Hcpv.
from_existing
(data, optional config) → Hcpv¶ Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.
-
PySAM.Hcpv.
new
() → Hcpv¶
-
PySAM.Hcpv.
wrap
(ssc_data_t) → Hcpv¶ Use existing PySSC data
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap
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
-
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¶
PVWatts Group¶
-
class
PySAM.Hcpv.Hcpv.
PVWatts
¶ -
assign
() → None¶ Assign attributes from dictionary
PVWatts_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
system_capacity
¶ Nameplate capacity [kW]
Required: True
- This variable may need to be updated if the values of the following have changed:
- 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
() → None¶ Assign attributes from dictionary
HCPVModule_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
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
- Changes to this variable may require updating the values of the following:
- array_num_inverters
- system_capacity
Type: float
-
module_a1
¶ Air mass modifier coefficient 1 [none]
Required: True
- Changes to this variable may require updating the values of the following:
- array_num_inverters
- system_capacity
Type: float
-
module_a2
¶ Air mass modifier coefficient 2 [none]
Required: True
- Changes to this variable may require updating the values of the following:
- array_num_inverters
- system_capacity
Type: float
-
module_a3
¶ Air mass modifier coefficient 3 [none]
Required: True
- Changes to this variable may require updating the values of the following:
- array_num_inverters
- system_capacity
Type: float
-
module_a4
¶ Air mass modifier coefficient 4 [none]
Required: True
- Changes to this variable may require updating the values of the following:
- array_num_inverters
- system_capacity
Type: float
-
module_alignment_error
¶ Alignment loss factor [0..1]
Required: True
- Changes to this variable may require updating the values of the following:
- 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
- Changes to this variable may require updating the values of the following:
- array_num_inverters
- system_capacity
Type: float
-
module_concentration
¶ Concentration ratio [none]
Required: True
- Changes to this variable may require updating the values of the following:
- 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
- Changes to this variable may require updating the values of the following:
- 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
- Changes to this variable may require updating the values of the following:
- array_num_inverters
- system_capacity
Type: float
-
module_optical_error
¶ Optical error factor [0..1]
Required: True
- Changes to this variable may require updating the values of the following:
- 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
- Changes to this variable may require updating the values of the following:
- 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
() → None¶ Assign attributes from dictionary
InverterCECDatabase_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
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
- Changes to this variable may require updating the values of the following:
- 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
() → None¶ Assign attributes from dictionary
HCPVArray_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
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
- Changes to this variable may require updating the values of the following:
- 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
- This variable may need to be updated if the values of the following have changed:
- 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
- Changes to this variable may require updating the values of the following:
- 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
() → None¶ Assign attributes from dictionary
Outputs_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
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_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
-