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

class PySAM.Hcpv.Hcpv.SolarResourceData
assign() → None

Assign attributes from dictionary

SolarResourceData_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

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() → 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