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
-
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) → Union[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
-