TcsmoltenSalt¶
Wrapper for SAM Simulation Core model: cmod_tcsmolten_salt.cpp
Creating an Instance¶
Refer to the Initializing a Model page for details on the different ways to create an instance of a PySAM class.
TcsmoltenSalt model description
CSP molten salt power tower for power generation
-
PySAM.TcsmoltenSalt.
default
(config) → TcsmoltenSalt¶ Use default attributes config options:
- “MSPTAllEquityPartnershipFlip”
- “MSPTLeveragedPartnershipFlip”
- “MSPTMerchantPlant”
- “MSPTSaleLeaseback”
- “MSPTSingleOwner”
-
PySAM.TcsmoltenSalt.
from_existing
(data, optional config) → TcsmoltenSalt¶ Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.
-
PySAM.TcsmoltenSalt.
new
() → TcsmoltenSalt¶
-
PySAM.TcsmoltenSalt.
wrap
(ssc_data_t) → TcsmoltenSalt¶ Use existing PySSC data
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap
Functions¶
-
class
PySAM.TcsmoltenSalt.
TcsmoltenSalt
¶ 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 = { 'Solar Resource': { 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 = { 'Solar Resource': { 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.
-
SolarResource Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
SolarResource
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
SolarResource_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
SolarResource_vals = { var: val, ...}
-
solar_resource_data
¶ Weather resource data in memory
Required: False
Type: dict
-
solar_resource_file
¶ Local weather file path
Constraints: LOCAL_FILE
Required: False
Type: str
-
FinancialModel Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
FinancialModel
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
FinancialModel_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
FinancialModel_vals = { var: val, ...}
-
csp_financial_model
¶ [1-8]
Constraints: INTEGER,MIN=0
Required: If not provided, assumed to be 1
Type: float
-
TimeOfDeliveryFactors Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
TimeOfDeliveryFactors
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
TimeOfDeliveryFactors_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
TimeOfDeliveryFactors_vals = { var: val, ...}
-
dispatch_factor1
¶ Dispatch payment factor 1
Required: True if ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1
Type: float
-
dispatch_factor2
¶ Dispatch payment factor 2
Required: True if ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1
Type: float
-
dispatch_factor3
¶ Dispatch payment factor 3
Required: True if ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1
Type: float
-
dispatch_factor4
¶ Dispatch payment factor 4
Required: True if ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1
Type: float
-
dispatch_factor5
¶ Dispatch payment factor 5
Required: True if ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1
Type: float
-
dispatch_factor6
¶ Dispatch payment factor 6
Required: True if ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1
Type: float
-
dispatch_factor7
¶ Dispatch payment factor 7
Required: True if ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1
Type: float
-
dispatch_factor8
¶ Dispatch payment factor 8
Required: True if ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1
Type: float
-
dispatch_factor9
¶ Dispatch payment factor 9
Required: True if ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1
Type: float
-
dispatch_factors_ts
¶ Dispatch payment factor array
Required: True if ppa_multiplier_model=1&csp_financial_model<5&is_dispatch=1
Type: sequence
-
dispatch_sched_weekday
¶ PPA pricing weekday schedule, 12x24
Required: True if ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1
Type: sequence[sequence]
-
dispatch_sched_weekend
¶ PPA pricing weekend schedule, 12x24
Required: True if ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1
Type: sequence[sequence]
-
ppa_multiplier_model
¶ dispatch factors dispatch_factorX, 1: hourly multipliers dispatch_factors_ts [0/1]
Options: 0=diurnal,1=timestep
Constraints: INTEGER,MIN=0
Required: If not provided, assumed to be 0
Type: float Type: PPA multiplier model 0
-
SystemControl Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
SystemControl
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
SystemControl_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
SystemControl_vals = { var: val, ...}
-
F_wc
¶ TOU array of fractions indicating wet cooling share for hybrid cooling
Required: True if pc_config=0
Type: sequence
-
ampl_data_dir
¶ AMPL data file directory
Required: If not provided, assumed to be ‘’
Type: str
-
ampl_exec_call
¶ System command to run AMPL code
Required: If not provided, assumed to be ‘ampl sdk_solution.run’
Type: str
-
aux_par
¶ Aux heater, boiler parasitic [MWe/MWcap]
Required: True
Type: float
-
aux_par_0
¶ Aux heater, boiler parasitic - constant coefficient
Required: True
Type: float
-
aux_par_1
¶ Aux heater, boiler parasitic - linear coefficient
Required: True
Type: float
-
aux_par_2
¶ Aux heater, boiler parasitic - quadratic coefficient
Required: True
Type: float
-
aux_par_f
¶ Aux heater, boiler parasitic - multiplying fraction
Required: True
Type: float
-
bop_par
¶ Balance of plant parasitic power fraction [MWe/MWcap]
Required: True
Type: float
-
bop_par_0
¶ Balance of plant parasitic power fraction - const coeff
Required: True
Type: float
-
bop_par_1
¶ Balance of plant parasitic power fraction - linear coeff
Required: True
Type: float
-
bop_par_2
¶ Balance of plant parasitic power fraction - quadratic coeff
Required: True
Type: float
-
bop_par_f
¶ Balance of plant parasitic power fraction - mult frac
Required: True
Type: float
-
disp_csu_cost
¶ Cycle startup cost [$]
Required: True if is_dispatch=1
Type: float
-
disp_frequency
¶ Frequency for dispatch optimization calculations [hour]
Required: True if is_dispatch=1
Type: float
-
disp_horizon
¶ Time horizon for dispatch optimization [hour]
Required: True if is_dispatch=1
Type: float
-
disp_inventory_incentive
¶ Dispatch storage terminal inventory incentive multiplier
Required: If not provided, assumed to be 0.0
Type: float
-
disp_max_iter
¶ Max number of dispatch optimization iterations
Required: True if is_dispatch=1
Type: float
-
disp_mip_gap
¶ Dispatch optimization solution tolerance
Required: True if is_dispatch=1
Type: float
-
disp_pen_delta_w
¶ Dispatch cycle production change penalty [$/kWe-change]
Required: True if is_dispatch=1
Type: float
-
disp_reporting
¶ Dispatch optimization reporting level
Required: If not provided, assumed to be -1
Type: float
-
disp_rsu_cost
¶ Receiver startup cost [$]
Required: True if is_dispatch=1
Type: float
-
disp_spec_bb
¶ Dispatch optimization B&B heuristic
Required: If not provided, assumed to be -1
Type: float
-
disp_spec_presolve
¶ Dispatch optimization presolve heuristic
Required: If not provided, assumed to be -1
Type: float
-
disp_spec_scaling
¶ Dispatch optimization scaling heuristic
Required: If not provided, assumed to be -1
Type: float
-
disp_steps_per_hour
¶ Time steps per hour for dispatch optimization calculations
Required: If not provided, assumed to be 1
Type: float
-
disp_time_weighting
¶ Dispatch optimization future time discounting factor
Required: If not provided, assumed to be 0.99
Type: float
-
disp_timeout
¶ Max dispatch optimization solve duration [s]
Required: True if is_dispatch=1
Type: float
-
dispatch_series
¶ Time series dispatch factors
Type: sequence
-
f_turb_tou_periods
¶ Dispatch logic for turbine load fraction
Required: True
Type: sequence
-
is_ampl_engine
¶ Run dispatch optimization with external AMPL engine
Required: If not provided, assumed to be 0
Type: float
-
is_dispatch
¶ Allow dispatch optimization?
Required: If not provided, assumed to be 0
Type: float
-
is_dispatch_series
¶ Use time-series dispatch factors
Required: If not provided, assumed to be 0
Type: float
-
is_tod_pc_target_also_pc_max
¶ Is the TOD target cycle heat input also the max cycle heat input?
Required: If not provided, assumed to be 0
Type: float
-
is_wlim_series
¶ Use time-series net electricity generation limits
Required: If not provided, assumed to be 0
Type: float
-
is_write_ampl_dat
¶ Write AMPL data files for dispatch run
Required: If not provided, assumed to be 0
Type: float
-
pb_fixed_par
¶ Fixed parasitic load - runs at all times [MWe/MWcap]
Required: True
Type: float
-
q_rec_heattrace
¶ Receiver heat trace energy consumption during startup [kWe-hr]
Required: If not provided, assumed to be 0.0
Type: float
-
q_rec_standby
¶ Receiver standby energy consumption [kWt]
Required: If not provided, assumed to be 9e99
Type: float
-
time_start
¶ Simulation start time [s]
Required: If not provided, assumed to be 0
Type: float
-
time_steps_per_hour
¶ Number of simulation time steps per hour
Required: If not provided, assumed to be -1
Type: float
-
time_stop
¶ Simulation stop time [s]
Required: If not provided, assumed to be 31536000
Type: float
-
timestep_load_fractions
¶ Turbine load fraction for each timestep, alternative to block dispatch
Required: False
Type: sequence
-
vacuum_arrays
¶ Allocate arrays for only the required number of steps
Required: If not provided, assumed to be 0
Type: float
-
weekday_schedule
¶ 12x24 CSP operation Time-of-Use Weekday schedule
Required: True
Type: sequence[sequence]
-
weekend_schedule
¶ 12x24 CSP operation Time-of-Use Weekend schedule
Required: True
Type: sequence[sequence]
-
wlim_series
¶ Time series net electicity generation limits [kWe]
Required: True if is_wlim_series=1
Type: sequence
-
HeliostatField Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
HeliostatField
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
HeliostatField_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
HeliostatField_vals = { var: val, ...}
-
A_sf_in
¶ Solar field area [m^2]
Type: float
-
N_hel
¶ Number of heliostats
Type: float
-
c_atm_0
¶ Attenuation coefficient 0
Required: If not provided, assumed to be 0.006789
Type: float
-
c_atm_1
¶ Attenuation coefficient 1
Required: If not provided, assumed to be 0.1046
Type: float
-
c_atm_2
¶ Attenuation coefficient 2
Required: If not provided, assumed to be -0.0107
Type: float
-
c_atm_3
¶ Attenuation coefficient 3
Required: If not provided, assumed to be 0.002845
Type: float
-
calc_fluxmaps
¶ Include fluxmap calculations
Required: If not provided, assumed to be 0
Type: float
-
cant_type
¶ Heliostat canting method
Required: True
Type: float
-
check_max_flux
¶ Check max flux at design point
Required: If not provided, assumed to be 0
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
-
dens_mirror
¶ Ratio of heliostat reflective area to profile
Required: True
Type: float
-
eta_map
¶ Field efficiency array
Required: False
Type: sequence[sequence]
-
eta_map_aod_format
¶ Use 3D AOD format field efficiency array
Info: heliostat
Type: float
-
field_model_type
¶ 0=design field and tower/receiver geometry, 1=design field, 2=user specified field, 3=user performance maps vs solar position
Required: True
Type: float
-
flux_maps
¶ Flux map intensities
Required: False
Type: sequence[sequence]
-
focus_type
¶ Heliostat focus method
Required: True
Type: float
-
hel_stow_deploy
¶ Stow/deploy elevation angle [deg]
Required: True
Type: float
-
helio_active_fraction
¶ Heliostat active fraction
Required: True
Type: float
-
helio_aim_points
¶ Heliostat aim point table [m]
Required: False
Type: sequence[sequence]
-
helio_height
¶ Heliostat height [m]
Required: True
Type: float
-
helio_optical_error_mrad
¶ Heliostat optical error [mrad]
Required: True
Type: float
-
helio_positions
¶ Heliostat position table
Required: True
Type: sequence[sequence]
-
helio_reflectance
¶ Heliostat reflectance
Required: True
Type: float
-
helio_width
¶ Heliostat width [m]
Required: True
Type: float
-
interp_beta
¶ Interpolation beta coef. [-]
Required: If not provided, assumed to be 1.99
Type: float
-
interp_nug
¶ Interpolation nugget [-]
Required: If not provided, assumed to be 0
Type: float
-
land_area_base
¶ Base land area occupied by heliostats [acre]
Required: True
Type: float
-
land_bound_list
¶ Land boundary table listing
Required: False
Type: sequence
-
land_bound_table
¶ Land boundary table [m]
Required: False
Type: sequence[sequence]
-
land_max
¶ Land max boundary [-ORm]
Required: If not provided, assumed to be 7.5
Type: float
-
land_min
¶ Land min boundary [-ORm]
Required: If not provided, assumed to be 0.75
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
-
opt_algorithm
¶ Optimization algorithm
Required: If not provided, assumed to be 0
Type: float
-
opt_conv_tol
¶ Optimization convergence tolerance
Required: If not provided, assumed to be 0.001
Type: float
-
opt_flux_penalty
¶ Optimization flux overage penalty
Required: True
Type: float
-
opt_init_step
¶ Optimization initial step size
Required: If not provided, assumed to be 0.05
Type: float
-
opt_max_iter
¶ Max number iteration steps
Required: If not provided, assumed to be 200
Type: float
-
p_start
¶ Heliostat startup energy [kWe-hr]
Required: True
Type: float
-
p_track
¶ Heliostat tracking energy [kWe]
Required: True
Type: float
-
v_wind_max
¶ Heliostat max wind velocity [m/s]
Required: True
Type: float
-
washing_frequency
¶ Mirror washing frequency [none]
Required: True
Type: float
-
water_usage_per_wash
¶ Water usage per wash [L/m2_aper]
Required: True
Type: float
-
SystemDesign Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
SystemDesign
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
SystemDesign_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
SystemDesign_vals = { var: val, ...}
-
P_ref
¶ Reference output electric power at design condition [MW]
Required: True
Type: float
-
T_htf_cold_des
¶ Cold HTF inlet temperature at design conditions [C]
Required: True
Type: float
-
T_htf_hot_des
¶ Hot HTF outlet temperature at design conditions [C]
Required: True
Type: float
-
design_eff
¶ Power cycle efficiency at design [none]
Required: True
Type: float
-
dni_des
¶ Design-point DNI [W/m2]
Required: True
Type: float
-
gross_net_conversion_factor
¶ Estimated gross to net conversion factor
Required: True
Type: float
-
sf_excess
¶ Heliostat field multiple
Required: If not provided, assumed to be 1.0
Type: float
-
solarm
¶ Solar multiple [-]
Required: True
Type: float
-
tshours
¶ Equivalent full-load thermal storage hours [hr]
Required: True
Type: float
-
TowerAndReceiver Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
TowerAndReceiver
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
TowerAndReceiver_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
TowerAndReceiver_vals = { var: val, ...}
-
D_rec
¶ The overall outer diameter of the receiver [m]
Required: True
Type: float
-
Flow_type
¶ see figure on SAM Receiver page
Required: True
Type: float Type: Receiver flow pattern
-
N_panels
¶ Number of individual panels on the receiver
Constraints: INTEGER
Required: True
Type: float
-
crossover_shift
¶ Number of panels shift in receiver crossover position
Required: If not provided, assumed to be 0
Type: float
-
csp_pt_rec_max_oper_frac
¶ Maximum receiver mass flow rate fraction
Required: True
Type: float
-
d_tube_out
¶ The outer diameter of an individual receiver tube [mm]
Required: True
Type: float
-
delta_flux_hrs
¶ Hourly frequency in flux map lookup
Required: If not provided, assumed to be 1
Type: float
-
downc_tm_mult
¶ Downcomer thermal mass multiplier
Required: If not provided, assumed to be 1.0
Type: float
-
epsilon
¶ The emissivity of the receiver surface coating
Required: True
Type: float
-
eta_pump
¶ Receiver HTF pump efficiency
Required: True
Type: float
-
f_rec_min
¶ Minimum receiver mass flow rate turn down fraction
Required: True
Type: float
-
field_fl_props
¶ User defined field fluid property data [-]
Required: True
Type: sequence[sequence]
-
flux_max
¶ Maximum allowable flux
Required: If not provided, assumed to be 1000
Type: float
-
h_tower
¶ Tower height [m]
Required: True
Type: float
-
heat_trace_power
¶ Riser/downcomer heat trace power during startup [kW/m]
Required: If not provided, assumed to be 500.0
Type: float
-
hl_ffact
¶ The heat loss factor (thermal loss fudge factor)
Required: True
Type: float
-
is_rec_enforce_min_startup
¶ Always enforce minimum startup time
Required: If not provided, assumed to be 1
Type: float
-
is_rec_model_trans
¶ Formulate receiver model as transient?
Required: If not provided, assumed to be 0
Type: float
-
is_rec_startup_from_T_soln
¶ Begin receiver startup from solved temperature profiles?
Required: If not provided, assumed to be 0
Type: float
-
is_rec_startup_trans
¶ Formulate receiver startup model as transient?
Required: If not provided, assumed to be 0
Type: float
-
mat_tube
¶ Receiver tube material, 2=Stainless AISI316
Required: True
Type: float
-
min_fill_time
¶ Startup time delay for filling the receiver/piping [hr]
Required: If not provided, assumed to be 0.1333
Type: float
-
min_preheat_time
¶ Minimum time required in preheat startup stage [hr]
Required: If not provided, assumed to be 0.0
Type: float
-
n_flux_days
¶ Number of days in flux map lookup
Required: If not provided, assumed to be 8
Type: float
-
piping_length_const
¶ Piping constant length [m]
Required: True
Type: float
-
piping_length_mult
¶ Piping length multiplier
Required: True
Type: float
-
piping_loss
¶ Thermal loss per meter of piping [Wt/m]
Required: True
Type: float
-
preheat_flux
¶ Tube absorbed solar flux during preheat [kW/m2]
Required: If not provided, assumed to be 50.0
Type: float
-
rec_absorptance
¶ Receiver absorptance
Required: True
Type: float
-
rec_clearsky_dni
¶ User-defined clear-sky DNI [W/m2]
Required: True if rec_clearsky_model=0
Type: sequence
-
rec_clearsky_fraction
¶ Weighting fraction on clear-sky DNI for receiver flow control
Required: If not provided, assumed to be 0.0
Type: float
-
rec_clearsky_model
¶ None = -1, User-defined data = 0, Meinel = 1; Hottel = 2; Allen = 3; Moon = 4
Required: If not provided, assumed to be -1
Type: float Type: Clearsky model
-
rec_height
¶ Receiver height [m]
Required: True
Type: float
-
rec_hl_perm2
¶ Receiver design heatloss [kW/m2]
Required: True
Type: float
-
rec_htf
¶ Receiver HTF, 17=Salt (60% NaNO3, 40% KNO3) 10=Salt (46.5% LiF 11.5% NaF 42% KF) 50=Lookup tables
Required: True
Type: float
-
rec_qf_delay
¶ Energy-based receiver startup delay (fraction of rated thermal power)
Required: True
Type: float
-
rec_su_delay
¶ Fixed startup delay time for the receiver [hr]
Required: True
Type: float
-
rec_tm_mult
¶ Receiver thermal mass multiplier
Required: If not provided, assumed to be 1.0
Type: float
-
riser_tm_mult
¶ Riser thermal mass multiplier
Required: If not provided, assumed to be 1.0
Type: float
-
startup_ramp_time
¶ Time required to reach full flux during receiver startup [hr]
Required: If not provided, assumed to be 0.1333
Type: float
-
startup_target_Tdiff
¶ Target HTF T at end of startup - steady state hot HTF temperature [C]
Required: If not provided, assumed to be -5.0
Type: float
-
th_riser
¶ Riser or downcomer tube wall thickness [mm]
Required: If not provided, assumed to be 15.0
Type: float
-
th_tube
¶ The wall thickness of a single receiver tube [mm]
Required: True
Type: float
-
u_riser
¶ Design point HTF velocity in riser [m/s]
Required: If not provided, assumed to be 4.0
Type: float
-
SystemCosts Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
SystemCosts
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
SystemCosts_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
SystemCosts_vals = { var: val, ...}
-
bop_spec_cost
¶ BOS specific cost [$/kWe]
Required: True
Type: float
-
contingency_rate
¶ Contingency for cost overrun [%]
Required: True
Type: float
-
cost_sf_fixed
¶ Solar field fixed cost [$]
Required: True
Type: float
-
csp_pt_cost_epc_fixed
¶ EPC fixed [$]
Required: True
Type: float
-
csp_pt_cost_epc_per_acre
¶ EPC cost per acre [$/acre]
Required: True
Type: float
-
csp_pt_cost_epc_per_watt
¶ EPC cost per watt [$/W]
Required: True
Type: float
-
csp_pt_cost_epc_percent
¶ EPC cost percent of direct [%]
Required: True
Type: float
-
csp_pt_cost_plm_fixed
¶ PLM fixed [$]
Required: True
Type: float
-
csp_pt_cost_plm_per_watt
¶ PLM cost per watt [$/W]
Required: True
Type: float
-
csp_pt_cost_plm_percent
¶ PLM cost percent of direct [%]
Required: True
Type: float
-
fossil_spec_cost
¶ Fossil system specific cost [$/kWe]
Required: True
Type: float
-
heliostat_spec_cost
¶ Heliostat field cost [$/m2]
Required: True
Type: float
-
land_spec_cost
¶ Total land area cost [$/acre]
Required: True
Type: float
-
plant_spec_cost
¶ Power cycle specific cost [$/kWe]
Required: True
Type: float
-
rec_cost_exp
¶ Receiver cost scaling exponent
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
-
sales_tax_frac
¶ Percent of cost to which sales tax applies [%]
Required: True
Type: float
-
site_spec_cost
¶ Site improvement cost [$/m2]
Required: True
Type: float
-
tes_spec_cost
¶ Thermal energy storage cost [$/kWht]
Required: True
Type: float
-
tower_exp
¶ Tower cost scaling exponent
Required: True
Type: float
-
tower_fixed_cost
¶ Tower fixed cost [$]
Required: True
Type: float
-
FinancialParameters Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
FinancialParameters
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
FinancialParameters_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
FinancialParameters_vals = { var: val, ...}
-
const_per_interest_rate1
¶ Interest rate, loan 1 [%]
Required: True
Type: float
-
const_per_interest_rate2
¶ Interest rate, loan 2 [%]
Required: True
Type: float
-
const_per_interest_rate3
¶ Interest rate, loan 3 [%]
Required: True
Type: float
-
const_per_interest_rate4
¶ Interest rate, loan 4 [%]
Required: True
Type: float
-
const_per_interest_rate5
¶ Interest rate, loan 5 [%]
Required: True
Type: float
-
const_per_months1
¶ Months prior to operation, loan 1
Required: True
Type: float
-
const_per_months2
¶ Months prior to operation, loan 2
Required: True
Type: float
-
const_per_months3
¶ Months prior to operation, loan 3
Required: True
Type: float
-
const_per_months4
¶ Months prior to operation, loan 4
Required: True
Type: float
-
const_per_months5
¶ Months prior to operation, loan 5
Required: True
Type: float
-
const_per_percent1
¶ Percent of total installed cost, loan 1 [%]
Required: True
Type: float
-
const_per_percent2
¶ Percent of total installed cost, loan 2 [%]
Required: True
Type: float
-
const_per_percent3
¶ Percent of total installed cost, loan 3 [%]
Required: True
Type: float
-
const_per_percent4
¶ Percent of total installed cost, loan 4 [%]
Required: True
Type: float
-
const_per_percent5
¶ Percent of total installed cost, loan 5 [%]
Required: True
Type: float
-
const_per_upfront_rate1
¶ Upfront fee on principal, loan 1 [%]
Required: True
Type: float
-
const_per_upfront_rate2
¶ Upfront fee on principal, loan 2 [%]
Required: True
Type: float
-
const_per_upfront_rate3
¶ Upfront fee on principal, loan 3 [%]
Required: True
Type: float
-
const_per_upfront_rate4
¶ Upfront fee on principal, loan 4 [%]
Required: True
Type: float
-
const_per_upfront_rate5
¶ Upfront fee on principal, loan 5 [%]
Required: True
Type: float
-
sales_tax_rate
¶ Sales tax rate [%]
Required: True
Type: float
-
ThermalStorage Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
ThermalStorage
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
ThermalStorage_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
ThermalStorage_vals = { var: val, ...}
-
cold_tank_Thtr
¶ Minimum allowable cold tank HTF temperature [C]
Required: True
Type: float
-
cold_tank_max_heat
¶ Rated heater capacity for cold tank heating [MW]
Required: True
Type: float
-
csp_pt_tes_init_hot_htf_percent
¶ Initial fraction of available volume that is hot [%]
Required: True
Type: float
-
h_tank
¶ Total height of tank (height of HTF when tank is full) [m]
Required: True
Type: float
-
h_tank_min
¶ Minimum allowable HTF height in storage tank [m]
Required: True
Type: float
-
hot_tank_Thtr
¶ Minimum allowable hot tank HTF temperature [C]
Required: True
Type: float
-
hot_tank_max_heat
¶ Rated heater capacity for hot tank heating [MW]
Required: True
Type: float
-
tank_pairs
¶ Number of equivalent tank pairs
Constraints: INTEGER
Required: True
Type: float
-
tanks_in_parallel
¶ Tanks are in parallel, not in series, with solar field [-]
Required: True
Type: float
-
u_tank
¶ Loss coefficient from the tank [W/m2-K]
Required: True
Type: float
-
RADCOOL Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
RADCOOL
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
RADCOOL_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
RADCOOL_vals = { var: val, ...}
-
D_rad_tubes
¶ Inner diameter of tubes in radiator panel [m]
Required: If not provided, assumed to be 0
Type: float
-
L_rad
¶ Length of radiator panel row [m]
Required: If not provided, assumed to be 0
Type: float
-
L_rad_sections
¶ Length of individual radiator panel [m]
Required: If not provided, assumed to be 0
Type: float
-
T_ctes_cold_design
¶ Design value of cooled water to power block [C]
Required: If not provided, assumed to be 0
Type: float
-
T_ctes_cold_ini
¶ Initial value of cold tank [C]
Required: If not provided, assumed to be 0
Type: float
-
T_ctes_warm_design
¶ Design value of warm water returning from power block [C]
Required: If not provided, assumed to be 0
Type: float
-
T_ctes_warm_ini
¶ Initial value of warm tank [C]
Required: If not provided, assumed to be 0
Type: float
-
W_rad_tubes
¶ Center-to-center distance between tubes in radiator panel [m]
Required: If not provided, assumed to be 0
Type: float
-
ctes_cost
¶ Cost of cold storage construction [$/L]
Required: If not provided, assumed to be 0
Type: float
-
ctes_field_fl
¶ Fluid in radiator field. 3=liquid water. Other = Glycol. [-]
Required: If not provided, assumed to be 3
Type: float
-
ctes_tankpairs
¶ Number of equivalent tank pairs [-]
Required: If not provided, assumed to be 0
Type: float
-
ctes_tshours
¶ Equivalent full load storage hours [hr]
Required: If not provided, assumed to be 0
Type: float
-
ctes_type
¶ Type of cold storage (2=two tank, 3= three node) [-]
Required: If not provided, assumed to be 0
Type: float
-
epsilon_radHX
¶ Effectiveness of HX between radiative field and cold storage [-]
Required: If not provided, assumed to be .8
Type: float
-
epsilon_radbot
¶ Emmissivity of top of radiator panel bottom (facing ground) [-]
Required: If not provided, assumed to be .07
Type: float
-
epsilon_radgrnd
¶ Emmissivity of ground underneath radiator panel [-]
Required: If not provided, assumed to be .90
Type: float
-
epsilon_radtop
¶ Emmissivity of top of radiator panel [-]
Required: If not provided, assumed to be .95
Type: float
-
f_ctes_warm_ini
¶ Initial fraction of avail. volume that is warm [-]
Required: If not provided, assumed to be 0
Type: float
-
h_ctes_tank
¶ Total height of cold storage tank when full [m]
Required: If not provided, assumed to be 0
Type: float
-
h_ctes_tank_min
¶ Minimum allowable water height in storage tank [m]
Required: If not provided, assumed to be 0
Type: float
-
helio_area_tot
¶ Heliostat total reflective area [-]
Required: If not provided, assumed to be 0
Type: float
-
k_panel
¶ Thermal conductivity of radiator panel material [W/m-K]
Required: If not provided, assumed to be 235
Type: float
-
m_dot_radpanel
¶ Mass flow rate through single radiator panel [kg/sec]
Required: If not provided, assumed to be 0
Type: float
-
n_rad_tubes
¶ Number of parallel tubes in single radiator panel [-]
Required: If not provided, assumed to be 0
Type: float
-
rad_multiplier
¶ Ratio of radiator field area to solar aperature area [-]
Required: If not provided, assumed to be 0
Type: float
-
rad_pressuredrop
¶ Average pressure drop through a radiative panel & distribution [kPa]
Required: If not provided, assumed to be 0
Type: float
-
radfluid_vol_ratio
¶ Ratio of fluid in distribution to fluid in panels [-]
Required: If not provided, assumed to be 0
Type: float
-
radiator_fluidcost
¶ Cost of circulating fluid in radiative panels [$/L]
Required: If not provided, assumed to be 0
Type: float
-
radiator_installcost
¶ Installation cost of radiative panels [$/m^2]
Required: If not provided, assumed to be 0
Type: float
-
radiator_unitcost
¶ Cost of radiative panels [$/m^2]
Required: If not provided, assumed to be 0
Type: float
-
th_rad_panel
¶ Thickness of radiator panel [m]
Required: If not provided, assumed to be 0
Type: float
-
u_ctes_tank
¶ Loss coefficient from cold storage tank [W/m2-K]
Required: If not provided, assumed to be 0
Type: float
-
PowerCycle Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
PowerCycle
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
PowerCycle_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
PowerCycle_vals = { var: val, ...}
-
cycle_cutoff_frac
¶ Minimum turbine operation fraction before shutdown
Required: True
Type: float
-
cycle_max_frac
¶ Maximum turbine over design operation fraction
Required: True
Type: float
-
pb_pump_coef
¶ Pumping power to move 1kg of HTF through PB loop [kW/kg]
Required: True
Type: float
-
pc_config
¶ PC configuration 0=Steam Rankine (224), 1=user defined, 2=sCO2 Recompression (424)
Constraints: INTEGER
Required: If not provided, assumed to be 0
Type: float
-
q_sby_frac
¶ Fraction of thermal power required for standby
Required: True
Type: float
-
startup_frac
¶ Fraction of design thermal power needed for startup [none]
Required: True
Type: float
-
startup_time
¶ Time needed for power block startup [hr]
Required: True
Type: float
-
RankineCycle Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
RankineCycle
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
RankineCycle_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
RankineCycle_vals = { var: val, ...}
-
CT
¶ 1=evaporative, 2=air, 3=hybrid
Required: True if pc_config=0
Type: float Type: Condensor type
-
P_boil
¶ Boiler operating pressure [bar]
Required: True if pc_config=0
Type: float
-
P_cond_min
¶ Minimum condenser pressure [inHg]
Required: True if pc_config=0
Type: float
-
P_cond_ratio
¶ Condenser pressure ratio
Required: True if pc_config=0
Type: float
-
T_ITD_des
¶ ITD at design for dry system [C]
Required: True if pc_config=0
Type: float
-
T_amb_des
¶ Reference ambient temperature at design point [C]
Required: True if pc_config=0
Type: float
-
T_approach
¶ Cooling tower approach temperature [C]
Required: True if pc_config=0
Type: float
-
dT_cw_ref
¶ Reference condenser cooling water inlet/outlet temperature difference [C]
Required: True if pc_config=0
Type: float
-
n_pl_inc
¶ Number of part-load increments for the heat rejection system [none]
Constraints: INTEGER
Required: True if pc_config=0
Type: float
-
pb_bd_frac
¶ Power block blowdown steam fraction
Required: True if pc_config=0
Type: float
-
tech_type
¶ Turbine inlet pressure control 1=Fixed, 3=Sliding
Required: True if pc_config=0
Type: float
-
UserDefinedPowerCycle Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
UserDefinedPowerCycle
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
UserDefinedPowerCycle_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
UserDefinedPowerCycle_vals = { var: val, ...}
-
ud_f_W_dot_cool_des
¶ Percent of user-defined power cycle design gross output consumed by cooling [%]
Required: True if pc_config=1
Type: float
-
ud_ind_od
¶ Off design user-defined power cycle performance as function of T_htf, m_dot_htf [ND], and T_amb
Required: True if pc_config=1
Type: sequence[sequence]
-
ud_m_dot_water_cool_des
¶ Mass flow rate of water required at user-defined power cycle design point [kg/s]
Required: True if pc_config=1
Type: float
-
SCO2Cycle Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
SCO2Cycle
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
SCO2Cycle_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
SCO2Cycle_vals = { var: val, ...}
-
P_high_limit
¶ Upper pressure limit in cycle [MPa]
Required: True if pc_config=2
Type: float
-
deltaT_PHX
¶ Design temperature difference in PHX [C]
Required: True if pc_config=2
Type: float
-
eta_c
¶ Isentropic efficiency of compressor(s)
Required: True if pc_config=2
Type: float
-
eta_t
¶ Isentropic efficiency of turbine
Required: True if pc_config=2
Type: float
-
fan_power_perc_net
¶ Percent of net cycle output used for fan power at design [%]
Required: True if pc_config=2
Type: float
-
is_sco2_preprocess
¶ Is sco2 off-design performance preprocessed? 1=yes
Required: If not provided, assumed to be 0
Type: float
-
recup_eff_max
¶ Maximum recuperator effectiveness
Required: True if pc_config=2
Type: float
-
sco2_T_amb_des
¶ Ambient temperature at design point [C]
Required: True if pc_config=2
Type: float
-
sco2_T_approach
¶ Temperature difference between main compressor CO2 inlet and ambient air [C]
Required: True if pc_config=2
Type: float
-
sco2_cycle_config
¶ SCO2 cycle configuration, 1=recompression, 2=partial cooling
Required: True if pc_config=2
Type: float
-
sco2ud_T_amb_high
¶ High level ambient temperature for HTF mass flow rate parametric [C]
Required: True if is_sco2_preprocess=1
Type: float
-
sco2ud_T_amb_ind_od
¶ Off design table of user-defined power cycle performance formed from parametric on T_amb [C]
Required: True if is_sco2_preprocess=1
Type: sequence[sequence]
-
sco2ud_T_amb_low
¶ Low level ambient temperature for HTF mass flow rate parametric [C]
Required: True if is_sco2_preprocess=1
Type: float
-
sco2ud_T_htf_cold_calc
¶ HTF cold temperature from sCO2 cycle des, may be different than T_htf_cold_des [C]
Required: True if is_sco2_preprocess=1
Type: float
-
sco2ud_T_htf_high
¶ High level HTF inlet temperature for T_amb parametric [C]
Required: True if is_sco2_preprocess=1
Type: float
-
sco2ud_T_htf_ind_od
¶ Off design table of user-defined power cycle performance formed from parametric on T_htf_hot [C]
Required: True if is_sco2_preprocess=1
Type: sequence[sequence]
-
sco2ud_T_htf_low
¶ Low level HTF inlet temperature for T_amb parametric [C]
Required: True if is_sco2_preprocess=1
Type: float
-
sco2ud_m_dot_htf_high
¶ High level normalized HTF mass flow rate for T_HTF parametric
Required: True if is_sco2_preprocess=1
Type: float
-
sco2ud_m_dot_htf_ind_od
¶ Off design table of user-defined power cycle performance formed from parametric on m_dot_htf [ND]
Required: True if is_sco2_preprocess=1
Type: sequence[sequence]
-
sco2ud_m_dot_htf_low
¶ Low level normalized HTF mass flow rate for T_HTF parametric
Required: True if is_sco2_preprocess=1
Type: float
-
Revenue Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
Revenue
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
Revenue_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
Revenue_vals = { var: val, ...}
-
mp_energy_market_revenue
¶ Energy market revenue input
Info: Lifetime x 2[Cleared Capacity(MW),Price($/MWh)]
Required: True if csp_financial_model=6&is_dispatch=1
Type: sequence[sequence]
-
AdjustmentFactors Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.
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.TcsmoltenSalt.TcsmoltenSalt.
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, ...}
-
A_radfield
¶ Radiator field surface area [m^2]
Type: float
-
A_sf
¶ Solar field area [m^2]
Type: float
-
P_cond
¶ PC condensing presssure [Pa]
Type: sequence
-
P_cooling_tower_tot
¶ Parasitic power condenser operation [MWe]
Type: sequence
-
P_cycle
¶ PC electrical power output, gross [MWe]
Type: sequence
-
P_fixed
¶ Parasitic power fixed load [MWe]
Type: sequence
-
P_out_net
¶ Total electric power to grid [MWe]
Type: sequence
-
P_plant_balance_tot
¶ Parasitic power generation-dependent load [MWe]
Type: sequence
-
P_rec_heattrace
¶ Receiver heat trace parasitic load [MWe]
Type: sequence
-
P_tower_pump
¶ Parasitic power receiver/tower HTF pump [MWe]
Type: sequence
-
Q_thermal
¶ Receiver thermal power to HTF less piping loss [MWt]
Type: sequence
-
Q_thermal_ss
¶ Receiver thermal power to HTF less piping loss (steady state) [MWt]
Type: sequence
-
Q_thermal_ss_csky
¶ Receiver thermal power to HTF less piping loss under clear-sky conditions (steady state) [MWt]
Type: sequence
-
T_cold
¶ Cold storage cold temperature [C]
Type: sequence
-
T_cond_out
¶ PC condenser water outlet temperature [C]
Type: sequence
-
T_panel_out_max
¶ Receiver panel maximum HTF outlet temperature during timestep [C]
Type: sequence
-
T_pc_in
¶ PC HTF inlet temperature [C]
Type: sequence
-
T_pc_out
¶ PC HTF outlet temperature [C]
Type: sequence
-
T_rad_out
¶ Radiator outlet temperature [C]
Type: sequence
-
T_rec_in
¶ Receiver HTF inlet temperature [C]
Type: sequence
-
T_rec_out
¶ Receiver HTF outlet temperature [C]
Type: sequence
-
T_rec_out_end
¶ Receiver HTF outlet temperature at end of timestep [C]
Type: sequence
-
T_rec_out_max
¶ Receiver maximum HTF outlet temperature during timestep [C]
Type: sequence
-
T_tes_cold
¶ TES cold temperature [C]
Type: sequence
-
T_tes_hot
¶ TES hot temperature [C]
Type: sequence
-
T_wall_downcomer
¶ Receiver downcomer wall temperature at end of timestep [C]
Type: sequence
-
T_wall_rec_inlet
¶ Receiver inlet panel wall temperature at end of timestep [C]
Type: sequence
-
T_wall_rec_outlet
¶ Receiver outlet panel wall temperature at end of timestep [C]
Type: sequence
-
T_wall_riser
¶ Receiver riser wall temperature at end of timestep [C]
Type: sequence
-
T_warm
¶ Cold storage warm tank temperature [C]
Type: sequence
-
annual_W_cooling_tower
¶ Total of condenser operation parasitics [kWhe]
Type: float
-
annual_W_cycle_gross
¶ Electrical source - power cycle gross output [kWhe]
Type: float
-
annual_energy
¶ Annual total electric power to grid [kWhe]
Type: float
-
annual_eta_rec_th
¶ Annual receiver thermal efficiency ignoring rec reflective loss
Type: float
-
annual_eta_rec_th_incl_refl
¶ Annual receiver thermal efficiency including reflective loss
Type: float
-
annual_q_rec_inc
¶ Annual receiver incident thermal power after reflective losses [MWt-hr]
Type: float
-
annual_q_rec_loss
¶ Annual receiver convective and radiative losses [MWt-hr]
Type: float
-
annual_total_water_use
¶ Total annual water usage, cycle + mirror washing [m3]
Type: float
-
beam
¶ Resource beam normal irradiance [W/m2]
Type: sequence
-
capacity_factor
¶ Capacity factor [%]
Type: float
-
clearsky
¶ Predicted clear-sky beam normal irradiance [W/m2]
Type: sequence
-
const_per_interest1
¶ Interest cost, loan 1 [$]
Type: float
-
const_per_interest2
¶ Interest cost, loan 2 [$]
Type: float
-
const_per_interest3
¶ Interest cost, loan 3 [$]
Type: float
-
const_per_interest4
¶ Interest cost, loan 4 [$]
Type: float
-
const_per_interest5
¶ Interest cost, loan 5 [$]
Type: float
-
const_per_interest_total
¶ Total interest costs, all loans [$]
Type: float
-
const_per_percent_total
¶ Total percent of installed costs, all loans [%]
Type: float
-
const_per_principal1
¶ Principal, loan 1 [$]
Type: float
-
const_per_principal2
¶ Principal, loan 2 [$]
Type: float
-
const_per_principal3
¶ Principal, loan 3 [$]
Type: float
-
const_per_principal4
¶ Principal, loan 4 [$]
Type: float
-
const_per_principal5
¶ Principal, loan 5 [$]
Type: float
-
const_per_principal_total
¶ Total principal, all loans [$]
Type: float
-
const_per_total1
¶ Total financing cost, loan 1 [$]
Type: float
-
const_per_total2
¶ Total financing cost, loan 2 [$]
Type: float
-
const_per_total3
¶ Total financing cost, loan 3 [$]
Type: float
-
const_per_total4
¶ Total financing cost, loan 4 [$]
Type: float
-
const_per_total5
¶ Total financing cost, loan 5 [$]
Type: float
-
construction_financing_cost
¶ Total construction financing cost [$]
Type: float
-
conversion_factor
¶ Gross to net conversion factor [%]
Type: float
-
csp_pt_cost_bop
¶ BOP cost [$]
Type: float
-
csp_pt_cost_contingency
¶ Contingency cost [$]
Type: float
-
csp_pt_cost_epc_total
¶ EPC and owner cost [$]
Type: float
-
csp_pt_cost_fossil
¶ Fossil backup cost [$]
Type: float
-
csp_pt_cost_heliostats
¶ Heliostat cost [$]
Type: float
-
csp_pt_cost_installed_per_capacity
¶ Estimated installed cost per cap [$]
Type: float
-
csp_pt_cost_plm_total
¶ Total land cost [$]
Type: float
-
csp_pt_cost_power_block
¶ Power cycle cost [$]
Type: float
-
csp_pt_cost_rad_field
¶ Radiative field cost$
Type: float
-
csp_pt_cost_rad_fluid
¶ Radiative fluid cost$
Type: float
-
csp_pt_cost_rad_storage
¶ Cold storage cost$
Type: float
-
csp_pt_cost_receiver
¶ Receiver cost [$]
Type: float
-
csp_pt_cost_sales_tax_total
¶ Sales tax cost [$]
Type: float
-
csp_pt_cost_site_improvements
¶ Site improvement cost [$]
Type: float
-
csp_pt_cost_storage
¶ TES cost [$]
Type: float
-
csp_pt_cost_total_land_area
¶ Total land area [acre]
Type: float
-
csp_pt_cost_tower
¶ Tower cost [$]
Type: float
-
defocus
¶ Field optical focus fraction
Type: sequence
-
disp_iter_ann
¶ Annual sum of dispatch solver iterations
Type: float
-
disp_obj_relax
¶ Dispatch objective function - relaxed max
Type: sequence
-
disp_objective
¶ Dispatch objective function value
Type: sequence
-
disp_objective_ann
¶ Annual sum of dispatch objective function value
Type: float
-
disp_pceff_expected
¶ Dispatch expected power cycle efficiency adj.
Type: sequence
-
disp_presolve_nconstr
¶ Dispatch number of constraints in problem
Type: sequence
-
disp_presolve_nconstr_ann
¶ Annual sum of dispatch problem constraint count
Type: float
-
disp_presolve_nvar
¶ Dispatch number of variables in problem
Type: sequence
-
disp_presolve_nvar_ann
¶ Annual sum of dispatch problem variable count
Type: float
-
disp_qpbsu_expected
¶ Dispatch expected power cycle startup energy [MWht]
Type: sequence
-
disp_qsf_expected
¶ Dispatch expected solar field available energy [MWt]
Type: sequence
-
disp_qsfprod_expected
¶ Dispatch expected solar field generation [MWt]
Type: sequence
-
disp_qsfsu_expected
¶ Dispatch expected solar field startup enegy [MWt]
Type: sequence
-
disp_rev_expected
¶ Dispatch expected revenue factor
Type: sequence
-
disp_solve_iter
¶ Dispatch iterations count
Type: sequence
-
disp_solve_state
¶ Dispatch solver state
Type: sequence
-
disp_solve_time
¶ Dispatch solver time [sec]
Type: sequence
-
disp_solve_time_ann
¶ Annual sum of dispatch solver time
Type: float
-
disp_tes_expected
¶ Dispatch expected TES charge level [MWht]
Type: sequence
-
disp_thermeff_expected
¶ Dispatch expected SF thermal efficiency adj.
Type: sequence
-
disp_wpb_expected
¶ Dispatch expected power generation [MWe]
Type: sequence
-
e_ch_tes
¶ TES charge state [MWht]
Type: sequence
-
eta
¶ PC efficiency, gross
Type: sequence
-
eta_field
¶ Field optical efficiency
Type: sequence
-
eta_map_out
¶ Solar field optical efficiencies
Type: sequence[sequence]
-
eta_therm
¶ Receiver thermal efficiency
Type: sequence
-
flux_maps_for_import
¶ Flux map for import
Type: sequence[sequence]
-
flux_maps_out
¶ Flux map intensities
Type: sequence[sequence]
-
gen
¶ Total electric power to grid with available derate [kWe]
Type: sequence
-
htf_pump_power
¶ Parasitic power TES and cycle HTF pump [MWe]
Type: sequence
-
is_pc_sb_allowed
¶ Is power cycle standby allowed
Type: sequence
-
is_pc_su_allowed
¶ Is power cycle startup allowed
Type: sequence
-
is_rec_su_allowed
¶ Is receiver startup allowed
Type: sequence
-
kwh_per_kw
¶ First year kWh/kW [kWh/kW]
Type: float
-
m_cold
¶ Cold storage cold tank mass [kg]
Type: sequence
-
m_dot_balance
¶ Relative mass flow balance error
Type: sequence
-
m_dot_cr_to_tes_hot
¶ field to hot TES [kg/s]
Type: sequence Type: Mass flow
-
m_dot_cycle_to_field
¶ cycle to field [kg/s]
Type: sequence Type: Mass flow
-
m_dot_field_to_cycle
¶ field to cycle [kg/s]
Type: sequence Type: Mass flow
-
m_dot_pc
¶ PC HTF mass flow rate [kg/s]
Type: sequence
-
m_dot_pc_to_tes_cold
¶ cycle to cold TES [kg/s]
Type: sequence Type: Mass flow
-
m_dot_rec
¶ Receiver mass flow rate [kg/s]
Type: sequence
-
m_dot_tes_cold_out
¶ TES cold out [kg/s]
Type: sequence Type: Mass flow
-
m_dot_tes_hot_out
¶ TES hot out [kg/s]
Type: sequence Type: Mass flow
-
m_dot_water_pc
¶ PC water consumption, makeup + cooling [kg/s]
Type: sequence
-
m_warm
¶ Cold storage warm tank mass [kg]
Type: sequence
-
mass_tes_cold
¶ TES cold tank mass (end) [kg]
Type: sequence
-
mass_tes_hot
¶ TES hot tank mass (end) [kg]
Type: sequence
-
n_op_modes
¶ Operating modes in reporting timestep
Type: sequence
-
op_mode_1
¶ 1st operating mode
Type: sequence
-
op_mode_2
¶ 2nd operating mode, if applicable
Type: sequence
-
op_mode_3
¶ 3rd operating mode, if applicable
Type: sequence
-
operating_modes_a
¶ First 3 operating modes tried
Type: sequence
-
operating_modes_b
¶ Next 3 operating modes tried
Type: sequence
-
operating_modes_c
¶ Final 3 operating modes tried
Type: sequence
-
pparasi
¶ Parasitic power heliostat drives [MWe]
Type: sequence
-
pricing_mult
¶ PPA price multiplier
Type: sequence
-
q_balance
¶ Relative energy balance error
Type: sequence
-
q_ch_tes
¶ TES charge thermal power [MWt]
Type: sequence
-
q_dc_tes
¶ TES discharge thermal power [MWt]
Type: sequence
-
q_dot_est_cr_on
¶ Estimated receiver thermal power TO HTF [MWt]
Type: sequence
-
q_dot_est_cr_su
¶ Estimated receiver startup thermal power [MWt]
Type: sequence
-
q_dot_est_tes_ch
¶ Estimated max TES charge thermal power [MWt]
Type: sequence
-
q_dot_est_tes_dc
¶ Estimated max TES discharge thermal power [MWt]
Type: sequence
-
q_dot_pc_max
¶ Max thermal power to PC [MWt]
Type: sequence
-
q_dot_pc_min
¶ Thermal power for PC min operation [MWt]
Type: sequence
-
q_dot_pc_sb
¶ Thermal power for PC standby [MWt]
Type: sequence
-
q_dot_pc_startup
¶ PC startup thermal power [MWt]
Type: sequence
-
q_dot_pc_target
¶ Target thermal power to PC [MWt]
Type: sequence
-
q_dot_rec_inc
¶ Receiver incident thermal power [MWt]
Type: sequence
-
q_heater
¶ TES freeze protection power [MWe]
Type: sequence
-
q_pb
¶ PC input energy [MWt]
Type: sequence
-
q_pc_startup
¶ PC startup thermal energy [MWht]
Type: sequence
-
q_piping_losses
¶ Receiver header/tower piping losses [MWt]
Type: sequence
-
q_sf_inc
¶ Field incident thermal power [MWt]
Type: sequence
-
q_startup
¶ Receiver startup thermal energy consumed [MWt]
Type: sequence
-
q_thermal_loss
¶ Receiver convection and emission losses [MWt]
Type: sequence
-
radcool_control
¶ Radiative cooling status code [-]
Type: sequence
-
rh
¶ Resource relative humidity [%]
Type: sequence
-
sco2_preprocess_table_out
¶ sCO2 cycle preprocessed data in UDPC format
Type: sequence[sequence]
-
sf_adjust_out
¶ Field availability adjustment factor
Type: sequence
-
solaz
¶ Resource solar azimuth [deg]
Type: sequence
-
solzen
¶ Resource solar zenith [deg]
Type: sequence
-
system_capacity
¶ System capacity [kWe]
Type: float
-
tank_losses
¶ TES thermal losses [MWt]
Type: sequence
-
tdry
¶ Resource dry Bulb temperature [C]
Type: sequence
-
time_hr
¶ Time at end of timestep [hr]
Type: sequence
-
total_direct_cost
¶ Total direct cost [$]
Type: float
-
total_indirect_cost
¶ Total indirect cost [$]
Type: float
-
total_installed_cost
¶ Total installed cost [$]
Type: float
-
tou_value
¶ CSP operating time-of-use value
Type: sequence
-
twet
¶ Resource wet Bulb temperature [C]
Type: sequence
-
ui_direct_subtotal
¶ Direct capital precontingency cost [$]
Type: float
-
wspd
¶ Resource wind velocity [m/s]
Type: sequence
-