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 model-specific default attributes config options:
- “HighXConcentratingPVAllEquityPartnershipFlip”
- “HighXConcentratingPVIndependentPowerProducer”
- “HighXConcentratingPVLCOECalculator”
- “HighXConcentratingPVLeveragedPartnershipFlip”
- “HighXConcentratingPVNone”
- “HighXConcentratingPVSaleLeaseback”
- “HighXConcentratingPVSingleOwner”
-
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
-
SolarResourceData Group¶
PVWatts Group¶
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
¶ float: Equation variable (a), at high irradiance & low wind speed [none]
Required: True
-
module_a0
¶ float: Air mass modifier coefficient 0 [none]
Required: True
-
module_a1
¶ float: Air mass modifier coefficient 1 [none]
Required: True
-
module_a2
¶ float: Air mass modifier coefficient 2 [none]
Required: True
-
module_a3
¶ float: Air mass modifier coefficient 3 [none]
Required: True
-
module_a4
¶ float: Air mass modifier coefficient 4 [none]
Required: True
-
module_alignment_error
¶ float: Alignment loss factor [0..1]
Required: True
-
module_b
¶ float: Equation variable (b), rate at which module temp drops [none]
Required: True
-
module_cell_area
¶ float: Single cell area [cm^2]
Required: True
-
module_concentration
¶ float: Concentration ratio [none]
Required: True
-
module_dT
¶ float: Equation variable (dT), temp diff between heat sink & cell [C]
Required: True
-
module_flutter_loss_coeff
¶ float: Wind flutter loss factor [0..1 per m/s]
Required: True
-
module_mjeff
¶ sequence: Module junction efficiency array [percent]
Required: True
-
module_ncells
¶ float: Number of cells [none]
Constraints: INTEGER
Required: True
-
module_optical_error
¶ float: Optical error factor [0..1]
Required: True
-
module_rad
¶ sequence: POA irradiance array [W/m^2]
Required: True
-
module_reference
¶ float: Index in arrays of the reference condition [none]
Constraints: INTEGER
Required: True
-
module_temp_coeff
¶ float: Temperature coefficient [%/C]
Required: True
-
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
¶ float: 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
-
inv_snl_c1
¶ float: Empirical coefficient allowing Pdco to vary linearly with dc-voltage input, default value is zero, (1/V) [xxx]
Required: True
-
inv_snl_c2
¶ float: Empirical coefficient allowing Pso to vary linearly with dc-voltage input, default value is zero, (1/V) [xxx]
Required: True
-
inv_snl_c3
¶ float: Empirical coefficient allowing Co to vary linearly with dc-voltage input, default value is zero, (1/V) [xxx]
Required: True
-
inv_snl_paco
¶ float: W maximum ac-power rating for inverter at reference or nominal operating condition, assumed to be an upper limit value, (W) [xxx]
Required: True
-
inv_snl_pdco
¶ float: W dc-power level at which the ac-power rating is achieved at the reference operating condition, (W) [xxx]
Required: True
-
inv_snl_pnt
¶ float: W ac-power consumed by inverter at night (night tare) to maintain circuitry required to sense PV array voltage, (W) [xxx]
Required: True
-
inv_snl_pso
¶ float: 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
-
inv_snl_vdcmax
¶ float: V (Vdcmax) dc-voltage maximum operating voltage, (V) [xxx]
Required: True
-
inv_snl_vdco
¶ float: V (Vnom) dc-voltage level at which the ac-power rating is achieved at the reference operating condition, (V) [xxx]
Required: True
-
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
¶ float: AC wiring loss factor [0..1]
Required: True
-
array_dc_mismatch_loss
¶ float: DC module mismatch loss factor [0..1]
Required: True
-
array_dc_wiring_loss
¶ float: DC Wiring loss factor [0..1]
Required: True
-
array_diode_conn_loss
¶ float: Diodes and connections loss factor [0..1]
Required: True
-
array_enable_azalt_sf
¶ float: Boolean for irradiance derate [0-1]
Constraints: INTEGER
Required: True
-
array_modules_per_tracker
¶ float: Modules on each tracker [none]
Constraints: INTEGER
Required: True
-
array_monthly_soiling
¶ sequence: Monthly soiling factors array [0..1]
Required: True
-
array_num_inverters
¶ float: Number of inverters [none]
Required: True
-
array_num_trackers
¶ float: Number of trackers [none]
Constraints: INTEGER
Required: True
-
array_rlim_az_max
¶ float: Tracker maximum azimuth angle [deg]
Required: True
-
array_rlim_az_min
¶ float: Tracker minimum azimuth angle [deg]
Required: True
-
array_rlim_el_max
¶ float: Tracker maximum elevation angle [deg]
Required: True
-
array_rlim_el_min
¶ float: Tracker minimum elevation angle [deg]
Required: True
-
array_tracker_power_fraction
¶ float: Single tracker power fraction [0..1]
Required: True
-
array_tracking_error
¶ float: General racking error [0..1]
Required: True
-
array_wind_stow_speed
¶ float: Allowed wind speed before stowing [m/s]
Required: True
-
azaltsf
¶ sequence[sequence]: Azimuth-Altitude Shading Table
Required: True
-
AdjustmentFactors Group¶
-
class
PySAM.Hcpv.Hcpv.
AdjustmentFactors
¶ -
assign
() → None¶ Assign attributes from dictionary
-
export
() → Dict¶ Export attributes into dictionary
-
constant
¶ type: float
-
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
¶ float: Annual tracker power loss [kWh]
-
annual_ac
¶ float: AC gross [kWh]
-
annual_beam
¶ float: Beam irradiance [kW/m2]
-
annual_dc
¶ float: DC gross [kWh]
-
annual_dc_net
¶ float: DC net [kWh]
-
annual_energy
¶ float: Annual Energy [kWh]
-
annual_input_radiation
¶ float: Input radiation [kWh]
-
capacity_factor
¶ float: Capacity factor [%]
-
dc_loss_stowing_kwh
¶ float: Annual stowing power loss [kWh]
-
dc_nominal
¶ float: Annual DC nominal [kWh]
-
gen
¶ sequence: System power generated [kW]
-
hourly_ac
¶ sequence: AC gross [kWh]
-
hourly_airmass
¶ sequence: Relative air mass [none]
-
hourly_beam
¶ sequence: Beam irradiance [kW/m2]
-
hourly_celleff
¶ sequence: Cell efficiency [%]
-
hourly_dc
¶ sequence: DC gross [kWh]
-
hourly_dc_net
¶ sequence: DC net [kWh]
-
hourly_input_radiation
¶ sequence: Input radiation [kWh]
-
hourly_modeff
¶ sequence: Module efficiency [%]
-
hourly_poa
¶ sequence: POA on cell [W/m2]
-
hourly_sazi
¶ sequence: Tracker azimuth [deg]
-
hourly_shading_derate
¶ sequence: Shading derate [none]
-
hourly_solazi
¶ sequence: Hourly solar azimuth [deg]
-
hourly_solzen
¶ sequence: Hourly solar zenith [deg]
-
hourly_stilt
¶ sequence: Tracker tilt [deg]
-
hourly_sunup
¶ sequence: Sun up? (0/1) [0 or 1]
-
hourly_tcell
¶ sequence: Cell temperature [C]
-
hourly_tdry
¶ sequence: Ambient dry bulb temperature [C]
-
hourly_tmod
¶ sequence: Module backplate temp [C]
-
hourly_windspd
¶ sequence: Wind speed [m/s]
-
kwh_per_kw
¶ float: First year kWh/kW [kWh/kW]
-
modeff_ref
¶ float: Module efficiency [-]
-
monthly_beam
¶ sequence: Beam irradiance [kW/m2]
-
monthly_dc_net
¶ sequence: DC net [kWh]
-
monthly_energy
¶ sequence: Monthly Energy [kWh]
-
monthly_input_radiation
¶ sequence: Input radiation [kWh]
-
tracker_nameplate_watts
¶ float: Tracker nameplate [watts]
-