Solarpilot

Solarpilot

PySAM.Solarpilot.default(config) Solarpilot

Load defaults for the configuration config. Available configurations are:

  • None

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.Solarpilot.from_existing(data, optional config) Solarpilot

Share data with an existing PySAM class. If optional config is a valid configuration name, load the module’s defaults for that configuration.

PySAM.Solarpilot.new() Solarpilot
PySAM.Solarpilot.wrap(ssc_data_t) Solarpilot

Load data from a PySSC object.

Warning

Do not call PySSC.data_free on the ssc_data_t provided to wrap()

Solarpilot is a wrapper for the SSC compute module cmod_solarpilot.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.

  • None

Functions

class PySAM.Solarpilot.Solarpilot

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 = { 'SolarPILOT': { 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 = { 'SolarPILOT': { 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.

SolarPILOT Group

class PySAM.Solarpilot.Solarpilot.SolarPILOT
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

SolarPILOT_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

Replace attributes from dictionary, unassigning values not present in input dict.

SolarPILOT_vals = { var: val, ...}

c_atm_0

Attenuation coefficient 0

Required: False. Automatically set to 0.006789 if not assigned explicitly or loaded from defaults.

Type:

float

c_atm_1

Attenuation coefficient 1

Required: False. Automatically set to 0.1046 if not assigned explicitly or loaded from defaults.

Type:

float

c_atm_2

Attenuation coefficient 2

Required: False. Automatically set to -0.0107 if not assigned explicitly or loaded from defaults.

Type:

float

c_atm_3

Attenuation coefficient 3

Required: False. Automatically set to 0.002845 if not assigned explicitly or loaded from defaults.

Type:

float

calc_fluxmaps

Include fluxmap calculations

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

cant_type

Heliostat cant method

Required: True

Type:

float

cav_rec_height

Cavity receiver height [m]

Required: Required if receiver_type=1

Type:

float

cav_rec_span

Cavity receiver span angle [deg]

Required: Required if receiver_type=1

Type:

float

cav_rec_width

Cavity receiver width [m]

Required: Required if receiver_type=1

Type:

float

check_max_flux

Check max flux at design point

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

contingency_rate

Contingency for cost overrun [%]

Required: True

Type:

float

cost_sf_fixed

Soalr field fixed cost [$]

Required: True

Type:

float

csp_pt_sf_fixed_land_area

Fixed land area [acre]

Required: True

Type:

float

csp_pt_sf_land_overhead_factor

Land overhead factor

Required: True

Type:

float

delta_flux_hrs

Hourly frequency in flux map lookup

Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults.

Type:

float

dens_mirror

Ratio of reflective area to profile [frac]

Required: True

Type:

float

dni_des

Design-point DNI [W/m2]

Required: True

Type:

float

flux_max

Maximum allowable flux

Required: False. Automatically set to 1000 if not assigned explicitly or loaded from defaults.

Type:

float

focus_type

Heliostat focus method

Required: True

Type:

float

h_tower

Tower height [m]

Required: True

Type:

float

helio_active_fraction

Active fraction of reflective area [frac]

Required: True

Type:

float

helio_height

Heliostat height [m]

Required: True

Type:

float

helio_optical_error

Optical error [rad]

Required: True

Type:

float

helio_positions_in

Heliostat position table

Type:

sequence[sequence]

helio_reflectance

Mirror reflectance [frac]

Required: True

Type:

float

helio_width

Heliostat width [m]

Required: True

Type:

float

heliostat_spec_cost

Heliostat field cost [$/m2]

Required: True

Type:

float

is_optimize

Do SolarPILOT optimization

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

land_max

Max heliostat-dist-to-tower-height ratio

Required: True

Type:

float

land_min

Min heliostat-dist-to-tower-height ratio

Required: True

Type:

float

land_spec_cost

Total land area cost [$/acre]

Required: True

Type:

float

n_cav_rec_panels

Cavity receiver number of panels

Required: Required if receiver_type=1

Type:

float

n_facet_x

Number of heliostat facets - X

Required: True

Type:

float

n_facet_y

Number of heliostat facets - Y

Required: True

Type:

float

n_flux_days

No. days in flux map lookup

Required: False. Automatically set to 8 if not assigned explicitly or loaded from defaults.

Type:

float

n_flux_x

Flux map X resolution

Required: False. Automatically set to 12 if not assigned explicitly or loaded from defaults.

Type:

float

n_flux_y

Flux map Y resolution

Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults.

Type:

float

opt_algorithm

Optimization algorithm

Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults.

Type:

float

opt_conv_tol

Optimization convergence tol

Required: False. Automatically set to 0.001 if not assigned explicitly or loaded from defaults.

Type:

float

opt_flux_penalty

Optimization flux overage penalty

Required: True

Type:

float

opt_init_step

Optimization initial step size

Required: False. Automatically set to 0.05 if not assigned explicitly or loaded from defaults.

Type:

float

opt_max_iter

Max. number iteration steps

Required: False. Automatically set to 200 if not assigned explicitly or loaded from defaults.

Type:

float

q_design

Receiver thermal design power [MW]

Required: True

Type:

float

rec_absorptance

Absorptance [frac]

Required: True

Type:

float

rec_aspect

External receiver aspect ratio (H/W) [frac]

Required: Required if receiver_type=0

Type:

float

rec_cost_exp

Receiver cost scaling exponent

Required: True

Type:

float

rec_height

External receiver height [m]

Required: Required if receiver_type=0

Type:

float

rec_hl_perm2

Receiver design heat loss [kW/m2]

Required: True

Type:

float

rec_ref_area

Receiver reference area for cost scale

Required: True

Type:

float

rec_ref_cost

Receiver reference cost [$]

Required: True

Type:

float

receiver_type

external (default), 1; cavity

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

Type:

0

sales_tax_frac

Percent of cost to which sales tax applies [%]

Required: True

Type:

float

sales_tax_rate

Sales tax rate [%]

Required: True

Type:

float

site_spec_cost

Site improvement cost [$/m2]

Required: True

Type:

float

solar_resource_file

Solar weather data file

Constraints: LOCAL_FILE

Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.

Type:

str

tower_exp

Tower cost scaling exponent

Required: True

Type:

float

tower_fixed_cost

Tower fixed cost [$]

Required: True

Type:

float

Outputs Group

class PySAM.Solarpilot.Solarpilot.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, ...}

area_sf

Total reflective heliostat area [m^2]

Type:

float

base_land_area

Land area occupied by heliostats [acre]

Type:

float

cav_rec_aper_width_opt

Optimized cavity receiver aperture width [-]

Type:

float

cost_land_tot

Total land cost [$]

Type:

float

cost_rec_tot

Total receiver cost [$]

Type:

float

cost_sf_tot

Total heliostat field cost [$]

Type:

float

cost_site_tot

Total site cost [$]

Type:

float

cost_tower_tot

Total tower cost [$]

Type:

float

flux_max_observed

Maximum observed flux at design [kW/m2]

Type:

float

flux_table

Flux intensity table (flux(X) x (flux(y) x position) [frac]

Type:

sequence[sequence]

h_tower_opt

Optimized tower height [m]

Type:

float

heliostat_positions

Heliostat positions (x,y) [m]

Type:

sequence[sequence]

land_area

Total land area [acre]

Type:

float

number_heliostats

Number of heliostats

Type:

float

opteff_table

Optical efficiency (azi, zen, eff x nsim)

Type:

sequence[sequence]

rec_aspect_opt

Optimized receiver aspect ratio [-]

Type:

float

rec_height_opt

Optimized receiver height [m]

Type:

float