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”
- “HighXConcentratingPVIndependentPowerProducer”
- “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
-