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
-
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_parallel_htr¶ Does plant include a HTF heater parallel to solar field?
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
-
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
-
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 1
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
-
receiver_type¶ external (default), 1; cavity
Required: If not provided, assumed to be 0
Type: float Type: 0
-
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
-
cav_rec_height¶ Cavity receiver height [m]
Required: True if receiver_type=1
Type: float
-
cav_rec_passive_abs¶ Cavity receiver passive surface solar absorptance
Required: True if receiver_type=1
Type: float
-
cav_rec_passive_eps¶ Cavity receiver passive surface thermal emissivity
Required: True if receiver_type=1
Type: float
-
cav_rec_span¶ Cavity receiver span angle [deg]
Required: True if receiver_type=1
Type: float
-
cav_rec_width¶ Cavity receiver width [m]
Required: True if receiver_type=1
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_cav_rec_panels¶ Cavity receiver number of panels
Required: True if receiver_type=1
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]
Type: float
-
piping_loss_coefficient¶ Thermal loss per meter of piping [Wt/m2-K]
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
-
ParallelHeater Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.ParallelHeater¶ -
assign(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
ParallelHeater_vals = { var: val, ...}
-
export() → dict¶ Export attributes into dictionary
-
replace(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
ParallelHeater_vals = { var: val, ...}
-
f_q_dot_des_allowable_su¶ Fraction of design power allowed during startup [-]
Required: True if is_parallel_htr=1
Type: float
-
f_q_dot_heater_min¶ Minimum allowable heater output as fraction of design
Required: True if is_parallel_htr=1
Type: float
-
heater_mult¶ Heater multiple relative to design cycle thermal power [-]
Required: True if is_parallel_htr=1
Type: float
-
hrs_startup_at_max_rate¶ Duration of startup at max startup power [hr]
Required: True if is_parallel_htr=1
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
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
-
FinancialSolutionMode Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.FinancialSolutionMode¶ -
assign(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
FinancialSolutionMode_vals = { var: val, ...}
-
export() → dict¶ Export attributes into dictionary
-
replace(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
FinancialSolutionMode_vals = { var: val, ...}
-
ppa_soln_mode¶ PPA solution mode (0=Specify IRR target, 1=Specify PPA price)
Required: True if ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1
Type: float
-
ElectricityRates Group¶
-
class
PySAM.TcsmoltenSalt.TcsmoltenSalt.ElectricityRates¶ -
assign(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
ElectricityRates_vals = { var: val, ...}
-
export() → dict¶ Export attributes into dictionary
-
replace(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
ElectricityRates_vals = { var: val, ...}
-
en_electricity_rates¶ Enable electricity rates for grid purchase [0/1]
Required: If not provided, assumed to be 0
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_htf_heater_in¶ Parallel heater HTF inlet temperature [C]
Type: sequence
-
T_htf_heater_out¶ Parallel heater HTF 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
-
W_dot_heater¶ Parallel heater electricity consumption [MWe]
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_rel_mip_gap¶ Dispatch relative MIP gap
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_subopt_flag¶ Dispatch suboptimal solution flag
Type: sequence
-
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_htf_heater¶ Parallel heater HTF mass flow rate [kg/s]
Type: sequence
-
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_heater_startup¶ Parallel heater thermal power consumed during startup [MWt]
Type: sequence
-
q_dot_heater_to_htf¶ Parallel heater thermal power to HTF [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_dot_reflection_loss¶ Receiver reflection losses [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
-
sf_adjust_out¶ Field availability adjustment factor
Type: sequence
-
sim_cpu_run_time¶ Simulation duration clock time [s]
Type: float
-
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
-
total_land_area¶ Total land area [acre]
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
-