Hcpv

Wrapper for SAM Simulation Core model: cmod_hcpv.cpp

Input Consistency Warning

As described in Possible Problems, some input parameters are interdependent but the equations that enforce consistency are not available in this PySAM module. Therefore, the onus is on the PySAM user to check that interdependencies are correctly handled. The variables which may require additional logic include:

  • 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

Provided for each of these inputs is a list of other inputs that are potentially interdependent.

Creating an Instance

Refer to the Initializing a Model page for details on the different ways to create an instance of a PySAM class.

Hcpv model description

Concentrating photovoltaic system with a high concentration photovoltaic module model and separate inverter model

PySAM.Hcpv.default(config) → Hcpv

Use 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

unassign(name) → None

Unassign a value in any of the variable groups.

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