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

get_data_ptr() Pointer

Get ssc_data_t pointer

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) 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.AdjustmentFactors.AdjustmentFactors
assign() None

Assign attributes from dictionary

export() Dict

Export attributes into dictionary

constant

AC Constant loss adjustment [%]

dc_constant

DC Constant loss adjustment [%]

dc_en_hourly

Enable DC hourly-based adjustment factors [0/1]

dc_en_periods

Enable DC period-based adjustment factors [0/1]

dc_en_timeindex

Enable DC lfetime adjustment factors [0/1]

dc_hourly

DC Hourly Adjustment Factors [%]

dc_periods

DC Period-based Adjustment Factors [%]

dc_timeindex

DC Lifetime Adjustment Factors [%]

en_hourly

Enable AC hourly-based adjustment factors [0/1]

en_periods

Enable AC period-based adjustment factors [0/1]

en_timeindex

Enable AC lfetime adjustment factors [0/1]

hourly

AC Hourly Adjustment Factors [%]

periods

AC Period-based Adjustment Factors [%]

sf_constant

DC Constant loss adjustment [%]

sf_en_hourly

Enable SF hourly-based adjustment factors [0/1]

sf_en_periods

Enable SF period-based adjustment factors [0/1]

sf_en_timeindex

Enable SF lfetime adjustment factors [0/1]

sf_hourly

SF Hourly Adjustment Factors [%]

sf_periods

SF Period-based Adjustment Factors [%]

sf_timeindex

SF Lifetime Adjustment Factors [%]

timeindex

AC Lifetime 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 Gross [kWh]

Type:

sequence

monthly_input_radiation

Input radiation [kWh]

Type:

sequence

tracker_nameplate_watts

Tracker nameplate [watts]

Type:

float