TroughPhysical

CSP parabolic trough model based on heat transfer and thermodynamic principles for power generation

PySAM.TroughPhysical.default(config) → TroughPhysical

Load defaults for the configuration config. Available configurations are:

  • “PhysicalTroughAllEquityPartnershipFlip”

  • “PhysicalTroughCommercial”

  • “PhysicalTroughLCOECalculator”

  • “PhysicalTroughLeveragedPartnershipFlip”

  • “PhysicalTroughMerchantPlant”

  • “PhysicalTroughNone”

  • “PhysicalTroughSaleLeaseback”

  • “PhysicalTroughSingleOwner”

Note

Some inputs do not have default values and may be assigned a value from the variable’s Required attribute. See variable attribute descriptions below.

PySAM.TroughPhysical.from_existing(data, optional config) → TroughPhysical

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

PySAM.TroughPhysical.new() → TroughPhysical
PySAM.TroughPhysical.wrap(ssc_data_t) → TroughPhysical

Load data from a PySSC object.

Warning

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

TroughPhysical is a wrapper for the SSC compute module cmod_trough_physical.cpp

Functions

class PySAM.TroughPhysical.TroughPhysical

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 = { 'System Control': { var: val, ...}, ...}

execute(int verbosity) → None

Execute simulation with verbosity level 0 (default) or 1

export() → dict

Export attributes into nested dictionary

get_data_ptr() → Pointer

Get ssc_data_t pointer

replace(dict) → None

Replace attributes from nested dictionary, except for Outputs. Unassigns all values in each Group then assigns from the input dict.

nested_dict = { 'System Control': { var: val, ...}, ...}

unassign(name) → None

Unassign a value in any of the variable groups.

value(name, optional value) → None | float | dict | sequence | str

Get or set by name a value in any of the variable groups.

SystemControl Group

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

T_in_loop_initial

Initial loop inlet, cold header and cold runner fluid temperature [-]

Type:

float

T_out_loop_initial

Initial loop outlet, hot header and hot runner fluid temperature [-]

Type:

float

T_out_scas_initial

Initial SCA outlet temperatures [-]

Type:

sequence

T_tank_cold_init

Initial cold tank fluid temperature [C]

Type:

float

T_tank_hot_init

Initial hot tank fluid temperate [C]

Type:

float

defocus_initial

Initial receiver defocus [-]

Type:

float

disp_csu_cost

Cycle startup cost [$]

Type:

float

disp_inventory_incentive

Dispatch storage terminal inventory incentive multiplier

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

Type:

float

disp_rsu_cost

Receiver startup cost [$]

Type:

float

is_dispatch_targets

Run solution from user-specified dispatch targets? [-]

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

Type:

float

is_pc_sb_allowed_in

User-provided is power cycle standby allowed? [-]

Required: Required if is_dispatch_targets=1

Type:

sequence

is_pc_su_allowed_in

User-provided is power cycle startup allowed? [-]

Required: Required if is_dispatch_targets=1

Type:

sequence

is_rec_su_allowed_in

User-provided is receiver startup allowed? [-]

Required: Required if is_dispatch_targets=1

Type:

sequence

pc_op_mode_initial

startup, 1:on, 2:standby, 3:off, 4:startup_controlled [-]

Type:

float

Type:

Initial cycle operation mode 0

pc_startup_energy_remain_initial

Initial cycle startup energy remaining [kwh]

Type:

float

pc_startup_time_remain_init

Initial cycle startup time remaining [hr]

Type:

float

q_pc_max_in

User-provided max thermal power to PC [MWt]

Required: Required if is_dispatch_targets=1

Type:

sequence

q_pc_target_on_in

User-provided target thermal power to PC [MWt]

Required: Required if is_dispatch_targets=1

Type:

sequence

q_pc_target_su_in

User-provided target thermal power to PC [MWt]

Required: Required if is_dispatch_targets=1

Type:

sequence

rec_op_mode_initial

off, 1: startup, 2: on [-]

Type:

float

Type:

Initial receiver operating mode 0

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

sim_type

timeseries, 2: design only

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

Type:

float

Type:

1 (default)

time_start

Simulation start time [s]

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

Type:

float

time_steps_per_hour

Number of simulation time steps per hour

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

Type:

float

time_stop

Simulation stop time [s]

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

Type:

float

vacuum_arrays

Allocate arrays for only the required number of steps

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

Type:

float

Weather Group

class PySAM.TroughPhysical.TroughPhysical.Weather
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

Weather_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

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

Weather_vals = { var: val, ...}

file_name

Local weather file with path [none]

Constraints: LOCAL_FILE

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

Type:

str

solar_resource_data

Weather resource data in memory

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

Type:

dict

SolarField Group

class PySAM.TroughPhysical.TroughPhysical.SolarField
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

SolarField_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

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

SolarField_vals = { var: val, ...}

A_aperture

Reflective aperture area of the collector [m2]

Required: True

Type:

sequence

AbsorberMaterial

Absorber material type [none]

Required: True

Type:

sequence[sequence]

AnnulusGas

Annulus gas type (1=air, 26=Ar, 27=H2) [none]

Required: True

Type:

sequence[sequence]

Ave_Focal_Length

Average focal length of the collector [m]

Required: True

Type:

sequence

ColperSCA

Number of individual collector sections in an SCA [none]

Required: True

Type:

sequence

D_2

Inner absorber tube diameter [m]

Required: True

Type:

sequence[sequence]

D_3

Outer absorber tube diameter [m]

Required: True

Type:

sequence[sequence]

D_4

Inner glass envelope diameter [m]

Required: True

Type:

sequence[sequence]

D_5

Outer glass envelope diameter [m]

Required: True

Type:

sequence[sequence]

D_p

Diameter of the absorber flow plug (optional) [m]

Required: True

Type:

sequence[sequence]

Design_loss

Receiver heat loss at design [W/m]

Required: True

Type:

sequence[sequence]

Dirt_HCE

Loss due to dirt on the receiver envelope [none]

Required: True

Type:

sequence[sequence]

Dirt_mirror

User-defined dirt on mirror derate [none]

Required: True

Type:

sequence

Distance_SCA

Piping distance between SCA’s in the field [m]

Required: True

Type:

sequence

EPSILON_4

Inner glass envelope emissivities (Pyrex) [none]

Required: True

Type:

sequence[sequence]

EPSILON_5

Outer glass envelope emissivities (Pyrex) [none]

Required: True

Type:

sequence[sequence]

Error

User-defined general optical error derate [none]

Required: True

Type:

sequence

FieldConfig

Number of subfield headers [none]

Required: True

Type:

float

Flow_type

Flow type through the absorber [none]

Required: True

Type:

sequence[sequence]

Fluid

Field HTF fluid ID number [none]

Required: True

Type:

float

GeomEffects

User-defined geometry effects derate [none]

Required: True

Type:

sequence

GlazingIntactIn

Glazing intact (broken glass) flag {1=true, else=false} [none]

Required: True

Type:

sequence[sequence]

HCE_FieldFrac

Fraction of the field occupied by this HCE type [none]

Required: True

Type:

sequence[sequence]

HDR_rough

Header pipe roughness [m]

Required: True

Type:

float

IAM_matrix

IAM coefficients, matrix for 4 collectors [none]

Required: True

Type:

sequence[sequence]

I_bn_des

Solar irradiation at design [C]

Required: True

Type:

float

L_SCA

Length of the SCA [m]

Required: True

Type:

sequence

L_aperture

Length of a single mirror/HCE unit [m]

Required: True

Type:

sequence

L_power_block_piping

Length of piping (full mass flow) through heat sink (if applicable) [none]

Required: True

Type:

float

L_rnr_per_xpan

Threshold length of straight runner pipe without an expansion loop [m]

Required: True

Type:

float

L_xpan_hdr

Compined perpendicular lengths of each header expansion loop [m]

Required: True

Type:

float

L_xpan_rnr

Compined perpendicular lengths of each runner expansion loop [m]

Required: True

Type:

float

Min_rnr_xpans

Minimum number of expansion loops per single-diameter runner section [none]

Required: True

Type:

float

N_hdr_per_xpan

Number of collector loops per expansion loop [none]

Required: True

Type:

float

N_max_hdr_diams

Maximum number of diameters in each of the hot and cold headers [none]

Required: True

Type:

float

OpticalTable_1

Values of the optical efficiency table for collector type 1

Type:

sequence[sequence]

OpticalTable_2

Values of the optical efficiency table for collector type 2

Type:

sequence[sequence]

OpticalTable_3

Values of the optical efficiency table for collector type 3

Type:

sequence[sequence]

OpticalTable_4

Values of the optical efficiency table for collector type 4

Type:

sequence[sequence]

P_a

Annulus gas pressure [torr]

Required: True

Type:

sequence[sequence]

Pipe_hl_coef

Loss coefficient from the header, runner pipe, and non-HCE piping [m/s]

Required: True

Type:

float

Rho_mirror_clean

User-defined clean mirror reflectivity [none]

Required: True

Type:

sequence

Rough

Relative roughness of the internal HCE surface [-]

Required: True

Type:

sequence[sequence]

Row_Distance

Spacing between rows (centerline to centerline) [m]

Required: True

Type:

float

SCA_drives_elec

Tracking power, in Watts per SCA drive [W/m2-K]

Required: True

Type:

float

Shadowing

Receiver bellows shadowing loss factor [none]

Required: True

Type:

sequence[sequence]

T_fp

Freeze protection temperature (heat trace activation temperature) [none]

Required: True

Type:

float

T_loop_in_des

Design loop inlet temperature [C]

Required: True

Type:

float

T_loop_out

Target loop outlet temperature [C]

Required: True

Type:

float

T_shutdown

Temperature when solar field begins recirculating [C]

Type:

float

T_startup

Required temperature of the system before the power block can be switched on [C]

Type:

float

Tau_envelope

Envelope transmittance [none]

Required: True

Type:

sequence[sequence]

TrackingError

User-defined tracking error derate [none]

Required: True

Type:

sequence

V_hdr_cold_max

Maximum HTF velocity in the cold headers at design [m/s]

Required: True

Type:

float

V_hdr_cold_min

Minimum HTF velocity in the cold headers at design [m/s]

Required: True

Type:

float

V_hdr_hot_max

Maximum HTF velocity in the hot headers at design [m/s]

Required: True

Type:

float

V_hdr_hot_min

Minimum HTF velocity in the hot headers at design [m/s]

Required: True

Type:

float

W_aperture

The collector aperture width (Total structural area used for shadowing) [m]

Required: True

Type:

sequence

accept_init

In acceptance testing mode - require steady-state startup [none]

Required: True

Type:

float

accept_loc

In acceptance testing mode - temperature sensor location [1/2]

Info: hx/loop

Required: True

Type:

float

accept_mode

Acceptance testing mode? [0/1]

Info: no/yes

Required: True

Type:

float

alpha_abs

Absorber absorptance [none]

Required: True

Type:

sequence[sequence]

alpha_env

Envelope absorptance [none]

Required: True

Type:

sequence[sequence]

azimuth

Azimuth angle of surface/axis [none]

Required: True

Type:

float

calc_design_pipe_vals

Calculate temps and pressures at design conditions for runners and headers [none]

Required: True

Type:

float

custom_sf_pipe_sizes

Use custom solar field pipe diams, wallthks, and lengths [none]

Required: True

Type:

float

epsilon_3_11

Absorber emittance for receiver type 1 variation 1 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_12

Absorber emittance for receiver type 1 variation 2 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_13

Absorber emittance for receiver type 1 variation 3 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_14

Absorber emittance for receiver type 1 variation 4 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_21

Absorber emittance for receiver type 2 variation 1 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_22

Absorber emittance for receiver type 2 variation 2 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_23

Absorber emittance for receiver type 2 variation 3 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_24

Absorber emittance for receiver type 2 variation 4 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_31

Absorber emittance for receiver type 3 variation 1 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_32

Absorber emittance for receiver type 3 variation 2 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_33

Absorber emittance for receiver type 3 variation 3 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_34

Absorber emittance for receiver type 3 variation 4 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_41

Absorber emittance for receiver type 4 variation 1 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_42

Absorber emittance for receiver type 4 variation 2 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_43

Absorber emittance for receiver type 4 variation 3 [none]

Required: True

Type:

sequence[sequence]

epsilon_3_44

Absorber emittance for receiver type 4 variation 4 [none]

Required: True

Type:

sequence[sequence]

eta_pump

HTF pump efficiency [none]

Required: True

Type:

float

f_htfmax

Maximum loop mass flow rate fraction of design

Required: Required if use_abs_or_rel_mdot_limit=1

Type:

float

f_htfmin

Minimum loop mass flow rate fraction of design

Required: Required if use_abs_or_rel_mdot_limit=1

Type:

float

field_fl_props

User defined field fluid property data [-]

Required: True

Type:

sequence[sequence]

include_fixed_power_block_runner

Should model consider piping through power block? [none]

Required: True

Type:

float

m_dot_htfmax

Maximum loop HTF flow rate [kg/s]

Required: Required if use_abs_or_rel_mdot_limit=0

Type:

float

m_dot_htfmin

Minimum loop HTF flow rate [kg/s]

Required: Required if use_abs_or_rel_mdot_limit=0

Type:

float

mc_bal_cold

Heat capacity of the balance of plant on the cold side [kWht/K-MWt]

Required: True

Type:

float

mc_bal_hot

Heat capacity of the balance of plant on the hot side [kWht/K-MWt]

Info: none

Required: True

Type:

float

mc_bal_sca

Non-HTF heat capacity associated with each SCA - per meter basis [Wht/K-m]

Required: True

Type:

float

nColt

Number of collector types [none]

Options: constant=4

Required: True

Type:

float

nHCEVar

Number of HCE variants per type [none]

Required: True

Type:

float

nHCEt

Number of HCE types [none]

Required: True

Type:

float

northsouth_field_sep

North/south separation between subfields. 0 = SCAs are touching [m]

Required: True

Type:

float

offset_xpan_hdr

Location of first header expansion loop. 1 = after first collector loop [none]

Required: True

Type:

float

opt_model

Optical model (1=Solar position ; 2=Collector incidence table ; 3=IAM matrix)

Required: False. Automatically set to [3,3,3,3] if not assigned explicitly or loaded from defaults.

Type:

sequence

p_start

Collector startup energy, per SCA [kWhe]

Required: True

Type:

float

sf_hdr_diams

Custom header diameters [m]

Required: True

Type:

sequence[sequence]

sf_hdr_lengths

Custom header lengths [m]

Required: True

Type:

sequence[sequence]

sf_hdr_wallthicks

Custom header wall thicknesses [m]

Required: True

Type:

sequence[sequence]

sf_rnr_diams

Custom runner diameters [m]

Required: True

Type:

sequence[sequence]

sf_rnr_lengths

Custom runner lengths [m]

Required: True

Type:

sequence[sequence]

sf_rnr_wallthicks

Custom runner wall thicknesses [m]

Required: True

Type:

sequence[sequence]

theta_dep

Deploy angle [deg]

Required: True

Type:

float

theta_stow

Stow angle [deg]

Required: True

Type:

float

tilt

Tilt angle of surface/axis [none]

Required: True

Type:

float

use_abs_or_rel_mdot_limit

Use mass flow abs (0) or relative (1) limits

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

Type:

float

wind_stow_speed

Trough wind stow speed [m/s]

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

Type:

float

Powerblock Group

class PySAM.TroughPhysical.TroughPhysical.Powerblock
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

Powerblock_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

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

Powerblock_vals = { var: val, ...}

CT

Flag for using dry cooling or wet cooling system [none]

Required: Required if pc_config=0

Type:

float

F_wc

Fraction indicating wet cooling use for hybrid system [none]

Options: constant=[0,0,0,0,0,0,0,0,0]

Required: Required if pc_config=0

Type:

sequence

L_rnr_pb

Length of runner pipe in power block [m]

Required: True

Type:

float

P_boil

Boiler operating pressure [bar]

Type:

float

P_cond_min

Minimum condenser pressure [inHg]

Required: Required if pc_config=0

Type:

float

P_cond_ratio

Condenser pressure ratio [none]

Required: Required if pc_config=0

Type:

float

P_ref

Rated plant capacity [MWe]

Required: True

Type:

float

T_ITD_des

ITD at design for dry system [C]

Required: Required if pc_config=0

Type:

float

T_amb_des

Reference ambient temperature at design point [C]

Required: Required if pc_config=0

Type:

float

T_approach

Cooling tower approach temperature [C]

Required: Required if pc_config=0

Type:

float

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

dT_cw_ref

Reference condenser cooling water inlet/outlet T diff [C]

Required: Required if pc_config=0

Type:

float

eta_ref

Power cycle efficiency at design [none]

Required: True

Type:

float

n_pl_inc

Number of part-load increments for the heat rejection system [none]

Required: Required if pc_config=0

Type:

float

pb_bd_frac

Power block blowdown steam fraction [none]

Required: Required if pc_config=0

Type:

float

pb_pump_coef

Pumping power to move 1kg of HTF through PB loop [kW/kg]

Required: True

Type:

float

pc_config

Steam Rankine (224), 1: user defined [-]

Constraints: INTEGER

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

Type:

float

Type:

0

q_sby_frac

Fraction of thermal power required for standby mode [none]

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

tech_type

Turbine inlet pressure control flag (sliding=user, fixed=trough) [1/2/3]

Info: tower/trough/user

Required: Required if pc_config=0

Type:

float

ud_f_W_dot_cool_des

Percent of user-defined power cycle design gross output consumed by cooling [%]

Required: Required 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: Required if pc_config=1

Type:

sequence[sequence]

ud_is_sco2_regr

(default) simple max htf mass flow correction; 1: sco2 heuristic regression; 2: no correction

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

Type:

float

Type:

0

ud_m_dot_water_cool_des

Mass flow rate of water required at user-defined power cycle design point [kg/s]

Required: Required if pc_config=1

Type:

float

TES Group

class PySAM.TroughPhysical.TroughPhysical.TES
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

TES_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

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

TES_vals = { var: val, ...}

cold_tank_Thtr

Minimum allowable cold tank HTF temp [C]

Required: Required if tes_type=1|tes_type=3

Type:

float

cold_tank_max_heat

Rated heater capacity for cold tank heating [MWe]

Required: Required if tes_type=1|tes_type=3

Type:

float

d_tank_in

Tank diameter input [m]

Required: Required if is_h_tank_fixed=0|is_h_tank_fixed=2

Type:

float

dt_hot

Hot side HX approach temp [C]

Required: Required if tes_type=1

Type:

float

h_tank_in

Total height of tank input (height of HTF when tank is full [m]

Required: Required if is_h_tank_fixed=1

Type:

float

h_tank_min

Minimum allowable HTF height in storage tank [m]

Required: Required if tes_type=1|tes_type=3

Type:

float

hot_tank_Thtr

Minimum allowable hot tank HTF temp [C]

Required: Required if tes_type=1|tes_type=3

Type:

float

hot_tank_max_heat

Rated heater capacity for hot tank heating [MWe]

Required: Required if tes_type=1|tes_type=3

Type:

float

init_hot_htf_percent

Initial fraction of avail. vol that is hot [%]

Required: True

Type:

float

is_h_tank_fixed

[1] Use fixed height (calculate diameter) [0] Use fixed diameter [2] Use fixed d and h (for packed bed) [-]

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

Type:

float

store_fl_props

User defined storage fluid property data [-]

Required: Required if tes_type=1

Type:

sequence[sequence]

store_fluid

Material number for storage fluid [-]

Required: Required if tes_type=1

Type:

float

tank_pairs

Number of equivalent tank pairs [-]

Constraints: INTEGER

Required: True

Type:

float

tes_cyl_piston_loss_poly

Polynomial coefficients describing piston heat loss function (f(kg/s)=%)

Required: Required if tes_type=3

Type:

sequence

tes_cyl_tank_cp

Tank wall cp (used for Piston Cylinder) [kJ/kg-K]

Required: Required if tes_type=3

Type:

float

tes_cyl_tank_dens

Tank wall thickness (used for Piston Cylinder) [kg/m3]

Required: Required if tes_type=3

Type:

float

tes_cyl_tank_insul_percent

Percent additional wall mass due to insulation (used for Piston Cylinder) [%]

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

Type:

float

tes_cyl_tank_thick

Tank wall thickness (used for Piston Cylinder) [m]

Required: Required if tes_type=3

Type:

float

tes_n_tsteps

Number of subtimesteps (for NT and packed bed)

Required: tes_type>1

Type:

float

tes_pb_T_charge_min

Min charge temp [C]

Required: Required if tes_type=2

Type:

float

tes_pb_T_cold_delta

Max allowable increase in cold discharge temp [C]

Required: Required if tes_type=2

Type:

float

tes_pb_T_hot_delta

Max allowable decrease in hot discharge temp [C]

Required: Required if tes_type=2

Type:

float

tes_pb_cp_solid

TES particle specific heat [kJ/kg K]

Required: Required if tes_type=2

Type:

float

tes_pb_dens_solid

TES packed bed media density [kg/m3]

Required: Required if tes_type=2

Type:

float

tes_pb_f_oversize

Packed bed oversize factor

Required: Required if tes_type=2

Type:

float

tes_pb_k_eff

TES packed bed effective conductivity [W/m K]

Required: Required if tes_type=2

Type:

float

tes_pb_n_xsteps

Number of spatial segments

Required: Required if tes_type=2

Type:

float

tes_pb_void_frac

TES packed bed void fraction

Required: Required if tes_type=2

Type:

float

tes_type

Standard two tank (1), Packed Bed (2), Piston Cylinder (3) [-]

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

Type:

float

tshours

Equivalent full-load thermal storage hours [hr]

Required: True

Type:

float

u_tank

Loss coefficient from the tank [W/m2-K]

Required: Required if tes_type=1|tes_type=3

Type:

float

Controller Group

class PySAM.TroughPhysical.TroughPhysical.Controller
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

Controller_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

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

Controller_vals = { var: val, ...}

DP_SGS

Pressure drop within the steam generator [bar]

Required: True

Type:

float

T_tank_hot_inlet_min

Minimum hot tank htf inlet temperature [C]

Required: True

Type:

float

V_tes_des

Design-point velocity to size the TES pipe diameters [m/s]

Required: True

Type:

float

custom_tes_p_loss

TES pipe losses are based on custom lengths and coeffs [-]

Required: True

Type:

float

custom_tes_pipe_sizes

Use custom TES pipe diams, wallthks, and lengths [-]

Required: True

Type:

float

has_hot_tank_bypass

Bypass valve connects field outlet to cold tank [-]

Required: True

Type:

float

k_tes_loss_coeffs

Minor loss coeffs for the coll, gen, and bypass loops [-]

Required: True

Type:

sequence[sequence]

non_solar_field_land_area_multiplier

non_solar_field_land_area_multiplier [-]

Required: True

Type:

float

specified_solar_multiple

specified_solar_multiple [-]

Required: True

Type:

float

specified_total_aperture

specified_total_aperture [-]

Required: True

Type:

float

tanks_in_parallel

Tanks are in parallel, not in series, with solar field [-]

Required: Required if tes_type=1

Type:

float

tes_diams

Custom TES diameters [m]

Required: Required if custom_tes_pipe_sizes=1

Type:

sequence[sequence]

tes_lengths

Custom TES lengths [m]

Required: Required if custom_tes_pipe_sizes=1

Type:

sequence[sequence]

tes_pump_coef

Pumping power to move 1kg of HTF through tes loop [kW/(kg/s)]

Required: True

Type:

float

tes_wallthicks

Custom TES wall thicknesses [m]

Required: Required if custom_tes_pipe_sizes=1

Type:

sequence[sequence]

trough_loop_control

trough_loop_control [-]

Required: True

Type:

sequence

use_solar_mult_or_aperture_area

Use solar multiple or total field aperture area [-]

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

Type:

float

Tou Group

class PySAM.TroughPhysical.TroughPhysical.Tou
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

Tou_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

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

Tou_vals = { var: val, ...}

can_cycle_use_standby

Can the cycle use standby operation?

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

Type:

float

disp_csu_cost_rel

Cycle startup cost [$/MWe-cycle/start]

Required: Required if is_dispatch=1

Type:

float

disp_frequency

Frequency for dispatch optimization calculations [hour]

Required: Required if is_dispatch=1

Type:

float

disp_horizon

Time horizon for dispatch optimization [hour]

Required: Required if is_dispatch=1

Type:

float

disp_max_iter

Max. no. dispatch optimization iterations [-]

Required: Required if is_dispatch=1

Type:

float

disp_mip_gap

Dispatch optimization solution tolerance [-]

Required: Required if is_dispatch=1

Type:

float

disp_pen_delta_w

Dispatch cycle production change penalty [$/kWe-change]

Type:

float

disp_pen_ramping

Dispatch cycle production change penalty [$/MWe-change]

Required: Required if is_dispatch=1

Type:

float

disp_reporting

Dispatch optimization reporting level [-]

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

Type:

float

disp_rsu_cost_rel

Receiver startup cost [$/MWt/start]

Required: Required if is_dispatch=1

Type:

float

disp_spec_bb

Dispatch optimization B&B heuristic [-]

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

Type:

float

disp_spec_presolve

Dispatch optimization presolve heuristic [-]

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

Type:

float

disp_spec_scaling

Dispatch optimization scaling heuristic [-]

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

Type:

float

disp_steps_per_hour

Time steps per hour for dispatch optimization calculations [-]

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

Type:

float

disp_time_weighting

Dispatch optimization future time discounting factor [-]

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

Type:

float

disp_timeout

Max. dispatch optimization solve duration [s]

Required: Required if is_dispatch=1

Type:

float

dispatch_factors_ts

Dispatch payment factor array

Required: Required if sim_type=1&ppa_multiplier_model=1&csp_financial_model<5&is_dispatch=1

Type:

sequence

dispatch_sched_weekday

12x24 PPA pricing Weekday schedule

Required: Required if sim_type=1&ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1

Type:

sequence[sequence]

dispatch_sched_weekend

12x24 PPA pricing Weekend schedule

Required: Required if sim_type=1&ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1

Type:

sequence[sequence]

f_turb_tou_periods

Dispatch logic for turbine load fraction [-]

Required: True

Type:

sequence

is_dispatch

Allow dispatch optimization? [-]

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

Type:

float

is_timestep_load_fractions

Use turbine load fraction for each timestep instead of block dispatch?

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

Type:

float

is_tod_pc_target_also_pc_max

Is the TOD target cycle heat input also the max cycle heat input?

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

Type:

float

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: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

Type:

PPA multiplier model 0

q_rec_heattrace

Receiver heat trace energy consumption during startup [kWhe]

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

Type:

float

q_rec_standby

Receiver standby energy consumption [kWt]

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

Type:

float

timestep_load_fractions

Turbine load fraction for each timestep, alternative to block dispatch

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

Type:

sequence

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]

FinancialModel Group

class PySAM.TroughPhysical.TroughPhysical.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: False. Automatically set to 1 if not assigned explicitly or loaded from defaults.

Type:

float

FinancialSolutionMode Group

class PySAM.TroughPhysical.TroughPhysical.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: Required if sim_type=1&ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1

Type:

float

ElectricityRates Group

class PySAM.TroughPhysical.TroughPhysical.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: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

TimeOfDeliveryFactors Group

class PySAM.TroughPhysical.TroughPhysical.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_tod_factors

TOD factors for periods 1 through 9

Info: We added this array input after SAM 2022.12.21 to replace the functionality of former single value inputs dispatch_factor1 through dispatch_factor9

Required: Required if sim_type=1&ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1

Type:

sequence

start_day_of_year

Start day of year for TOD periods [0..6]

Options: 0=Monday, 6=Sunday

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

Type:

float

Revenue Group

class PySAM.TroughPhysical.TroughPhysical.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: Required if sim_type=1&csp_financial_model=6&is_dispatch=1

Type:

sequence[sequence]

ppa_price_input

PPA prices - yearly [$/kWh]

Required: Required if sim_type=1&ppa_multiplier_model=0&csp_financial_model<5&is_dispatch=1

Type:

sequence

System Group

class PySAM.TroughPhysical.TroughPhysical.System
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

System_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

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

System_vals = { var: val, ...}

aux_array

Auxiliary heater, mult frac and const, linear and quad coeff

Required: True

Type:

sequence

bop_array

Balance of plant parasitic power fraction, mult frac and const, linear and quad coeff

Required: True

Type:

sequence

gross_net_conversion_factor

Estimated gross to net conversion factor

Required: True

Type:

float

pb_fixed_par

Fraction of rated gross power constantly consumed [MWe/MWcap]

Required: True

Type:

float

washing_frequency

Mirror washing frequency [-/year]

Required: True

Type:

float

water_usage_per_wash

Water usage per wash [L/m2_aper]

Required: True

Type:

float

TowerAndReceiver Group

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

piping_loss

Thermal loss per meter of piping [Wt/m]

Type:

float

CapitalCosts Group

class PySAM.TroughPhysical.TroughPhysical.CapitalCosts
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

CapitalCosts_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

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

CapitalCosts_vals = { var: val, ...}

csp_dtr_cost_bop_per_kwe

Balance of Plant Cost per kWe [$/kWe]

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

Type:

float

csp_dtr_cost_contingency_percent

Contingency Percent [%]

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

Type:

float

csp_dtr_cost_epc_fixed

Fixed EPC Cost [$]

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

Type:

float

csp_dtr_cost_epc_per_acre

EPC Costs per acre [$/acre]

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

Type:

float

csp_dtr_cost_epc_per_watt

EPC Cost Wac [$/Wac]

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

Type:

float

csp_dtr_cost_epc_percent

EPC Costs % direct [%]

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

Type:

float

csp_dtr_cost_fossil_backup_cost_per_kwe

Fossil Backup Cost per kWe [$/kWe]

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

Type:

float

csp_dtr_cost_htf_system_cost_per_m2

HTF System Cost Per m2 [$/m2]

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

Type:

float

csp_dtr_cost_plm_fixed

Fixed Land Cost [$]

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

Type:

float

csp_dtr_cost_plm_per_acre

Land Cost per acre [$/acre]

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

Type:

float

csp_dtr_cost_plm_per_watt

Land Cost Wac [$/Wac]

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

Type:

float

csp_dtr_cost_plm_percent

Land Cost % direct [%]

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

Type:

float

csp_dtr_cost_power_plant_cost_per_kwe

Power Plant Cost per kWe [$/kWe]

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

Type:

float

csp_dtr_cost_sales_tax_percent

Sales Tax Percentage of Direct Cost [%]

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

Type:

float

csp_dtr_cost_site_improvements_cost_per_m2

Site Improvement Cost per m2 [$/m2]

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

Type:

float

csp_dtr_cost_solar_field_cost_per_m2

Solar Field Cost per m2 [$/m2]

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

Type:

float

csp_dtr_cost_storage_cost_per_kwht

Storage cost per kWht [$/kWht]

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

Type:

float

sales_tax_rate

Sales Tax Rate [%]

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

Type:

float

FinancialParameters Group

class PySAM.TroughPhysical.TroughPhysical.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: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_interest_rate2

Interest rate, loan 2 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_interest_rate3

Interest rate, loan 3 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_interest_rate4

Interest rate, loan 4 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_interest_rate5

Interest rate, loan 5 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_months1

Months prior to operation, loan 1

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_months2

Months prior to operation, loan 2

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_months3

Months prior to operation, loan 3

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_months4

Months prior to operation, loan 4

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_months5

Months prior to operation, loan 5

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_percent1

Percent of total installed cost, loan 1 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_percent2

Percent of total installed cost, loan 2 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_percent3

Percent of total installed cost, loan 3 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_percent4

Percent of total installed cost, loan 4 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_percent5

Percent of total installed cost, loan 5 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_upfront_rate1

Upfront fee on principal, loan 1 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_upfront_rate2

Upfront fee on principal, loan 2 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_upfront_rate3

Upfront fee on principal, loan 3 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_upfront_rate4

Upfront fee on principal, loan 4 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

const_per_upfront_rate5

Upfront fee on principal, loan 5 [%]

Required: Required if csp_financial_model<5|csp_financial_model=6

Type:

float

AdjustmentFactors Group

class PySAM.TroughPhysical.TroughPhysical.AdjustmentFactors
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values.

AdjustmentFactors_vals = { var: val, ...}

export() → dict

Export attributes into dictionary.

replace(dict) → None

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

AdjustmentFactors_vals = { var: val, ...}

adjust_constant

Constant loss adjustment [%]

Info: ‘adjust’ and ‘constant’ separated by _ instead of : after SAM 2022.12.21

Constraints: MAX=100

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

Type:

float

adjust_en_periods

Enable period-based adjustment factors [0/1]

Info: ‘adjust’ and ‘en_periods’ separated by _ instead of : after SAM 2022.12.21

Constraints: BOOLEAN

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

Type:

float

adjust_en_timeindex

Enable lifetime adjustment factors [0/1]

Info: ‘adjust’ and ‘en_timeindex’ separated by _ instead of : after SAM 2022.12.21

Constraints: BOOLEAN

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

Type:

float

adjust_periods

Period-based adjustment factors [%]

Info: Syntax: n x 3 matrix [ start, end, loss ]; Version upgrade: ‘adjust’ and ‘periods’ separated by _ instead of : after SAM 2022.12.21

Constraints: COLS=3

Required: Required if adjust_en_periods=1

Type:

sequence[sequence]

adjust_timeindex

Lifetime adjustment factors [%]

Info: ‘adjust’ and ‘timeindex’ separated by _ instead of : after SAM 2022.12.21

Required: Required if adjust_en_timeindex=1

Type:

sequence

Outputs Group

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

CosTh_ave

Field collector cosine efficiency

Type:

sequence

D_cpnt

Inner diameters of the components in each loop interconnect [m]

Type:

sequence[sequence]

EndLoss_ave

Field collector optical end loss

Type:

sequence

EqOpteff

Field optical efficiency before defocus

Type:

sequence

K_cpnt

Minor loss coefficients of the components in each loop interconnect

Type:

sequence[sequence]

L_cpnt

Lengths of the components in each loop interconnect [m]

Type:

sequence[sequence]

P_cooling_tower_tot

Parasitic power condenser operation [MWe]

Type:

sequence

P_cycle

gross [MWe]

Type:

sequence

Type:

PC electrical power output

P_fixed

Parasitic power fixed load [MWe]

Type:

sequence

P_out_net

System net electrical power [MWe]

Type:

sequence

P_plant_balance_tot

Parasitic power generation-dependent load [MWe]

Type:

sequence

RowShadow_ave

Field collector row shadowing loss

Type:

sequence

SCADefocusArray

Order in which the SCA’s should be defocused

Type:

sequence

SCAInfoArray

Receiver (,1) and collector (,2) type for each assembly in loop

Type:

sequence[sequence]

SCAs_def

Field fraction of focused SCAs

Type:

sequence

T_field_cold_in

Field timestep-averaged inlet temperature [C]

Type:

sequence

T_field_hot_out

Field timestep-averaged outlet temperature [C]

Type:

sequence

T_grad_0

TES Temperature gradient 0 indice [C]

Type:

sequence

T_grad_1

TES Temperature gradient 1 indice [C]

Type:

sequence

T_grad_2

TES Temperature gradient 2 indice [C]

Type:

sequence

T_grad_3

TES Temperature gradient 3 indice [C]

Type:

sequence

T_grad_4

TES Temperature gradient 4 indice [C]

Type:

sequence

T_grad_5

TES Temperature gradient 5 indice [C]

Type:

sequence

T_grad_6

TES Temperature gradient 6 indice [C]

Type:

sequence

T_grad_7

TES Temperature gradient 7 indice [C]

Type:

sequence

T_grad_8

TES Temperature gradient 8 indice [C]

Type:

sequence

T_grad_9

TES Temperature gradient 9 indice [C]

Type:

sequence

T_in_loop_final

Final loop inlet, cold header and cold runner fluid temperature [-]

Type:

sequence

T_out_loop_final

Final loop outlet, hot header and hot runner fluid temperature [-]

Type:

sequence

T_out_scas_last_final

Final SCA outlet temperatures [-]

Type:

sequence

T_pc_in

PC HTF inlet temperature [C]

Type:

sequence

T_pc_out

PC HTF outlet temperature [C]

Type:

sequence

T_rec_cold_in

Loop timestep-averaged inlet temperature [C]

Type:

sequence

T_rec_hot_out

Loop timestep-averaged outlet temperature [C]

Type:

sequence

T_tes_cold

TES cold temperature [C]

Type:

sequence

T_tes_hot

TES hot temperature [C]

Type:

sequence

Theta_ave

Field collector solar incidence angle [deg]

Type:

sequence

Type_cpnt

Type of component in each loop interconnect [0=fitting | 1=pipe | 2=flex_hose] [Wm]

Type:

sequence[sequence]

V_tank_hot_ini

Initial hot tank volume [m3]

Type:

float

W_dot_field_pump

Field htf pumping power [MWe]

Type:

sequence

W_dot_pump_SS

Steady State pumping power [MWe]

Type:

float

W_dot_sca_track

Field collector tracking power [MWe]

Type:

sequence

annual_W_cycle_gross

Electrical source - Power cycle gross output [kWhe]

Type:

float

annual_energy

Annual net electrical energy w/ avail. derate [kWhe]

Type:

float

annual_field_freeze_protection

Annual thermal power for field freeze protection [kWht]

Type:

float

annual_tes_freeze_protection

Annual thermal power for TES freeze protection [kWht]

Type:

float

annual_thermal_consumption

Annual thermal freeze protection required [kWht]

Type:

float

annual_total_water_use

Total Annual Water Usage [m^3]

Type:

float

aux_design

Aux parasitic at design [MWe]

Type:

float

avg_suboptimal_rel_mip_gap

Average suboptimal relative MIP gap [%]

Type:

float

beam

Resource Beam normal irradiance [W/m2]

Type:

sequence

bop_design

BOP parasitic at design [MWe]

Type:

float

capacity_factor

Capacity factor [%]

Type:

float

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

cp_battery_nameplate

Battery nameplate [MWe]

Type:

float

cp_system_nameplate

System capacity for capacity payments [MWe]

Type:

float

csp_dtr_cost_bop

Balance of plant cost [$]

Type:

float

csp_dtr_cost_contingency

Contingency cost [$]

Type:

float

csp_dtr_cost_epc_total

EPC total cost [$]

Type:

float

csp_dtr_cost_fossil_backup

Fossil backup cost [$]

Type:

float

csp_dtr_cost_htf_system

HTF system cost [$]

Type:

float

csp_dtr_cost_installed_per_capacity

Estimated total installed cost per net capacity ($/kW) [$/kW]

Type:

float

csp_dtr_cost_plm_total

Total land cost [$]

Type:

float

csp_dtr_cost_power_plant

Power plant cost [$]

Type:

float

csp_dtr_cost_sales_tax_total

Sales tax total [$]

Type:

float

csp_dtr_cost_site_improvements

Site improvements cost [$]

Type:

float

csp_dtr_cost_solar_field

Solar field cost [$]

Type:

float

csp_dtr_cost_storage

Thermal storage cost [$]

Type:

float

csp_dtr_hce_design_heat_losses

Heat loss at design [W/m]

Type:

sequence

csp_dtr_hce_optical_effs

HCE optical efficiencies at design

Type:

sequence

csp_dtr_loop_hce_heat_loss

Loop Heat Loss from HCE at Design [W/m]

Type:

float

csp_dtr_sca_ap_lengths

Length of single module [m]

Type:

sequence[sequence]

csp_dtr_sca_calc_costh

Calculated costheta

Type:

float

csp_dtr_sca_calc_end_gains

End gain factor

Type:

sequence[sequence]

csp_dtr_sca_calc_end_losses

Use time-series net electricity generation limits

Type:

sequence[sequence]

csp_dtr_sca_calc_iams

IAM at summer solstice

Type:

sequence[sequence]

csp_dtr_sca_calc_latitude

Latitude [degree]

Type:

float

csp_dtr_sca_calc_sca_effs

SCA optical efficiencies at design

Type:

sequence

csp_dtr_sca_calc_theta

Calculated theta [degree]

Type:

float

csp_dtr_sca_calc_zenith

Calculated zenith [degree]

Type:

float

csp_pt_tes_htf_density

Storage htf density [kg/m3]

Type:

float

csp_pt_tes_tank_diameter

Tank diameter [m]

Type:

float

csp_pt_tes_tank_height

Tank height [m]

Type:

float

cycle_Tdb_table

Normalized cycle efficiency and condenser power vs. ambient temperature

Type:

sequence[sequence]

cycle_eff_load_table

Cycle efficiency vs. load

Type:

sequence[sequence]

cycle_htf_pump_power

PC HTF pump power [MWe]

Type:

sequence

dP_sf_SS

Steady State field pressure drop [bar]

Type:

float

defocus

Field optical focus fraction

Type:

sequence

defocus_final

Defocus final [-]

Type:

sequence

deltaP_field

Field pressure drop [bar]

Type:

sequence

direct_subtotal

Direct subtotal [$]

Type:

float

disp_obj_relax

Dispatch objective function - relaxed max

Type:

sequence

disp_objective

Dispatch objective function value

Type:

sequence

disp_pceff_expected

Dispatch expected power cycle efficiency adj.

Type:

sequence

disp_presolve_nconstr

Dispatch number of constraints in problem

Type:

sequence

disp_presolve_nvar

Dispatch number of variables in problem

Type:

sequence

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 energy [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_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

dni_costh

Field collector DNI-cosine product [W/m2]

Type:

sequence

e_ch_tes

TES charge state [MWht]

Type:

sequence

e_dot_field_int_energy

Field change in material/htf internal energy [MWt]

Type:

sequence

eta

gross

Type:

sequence

Type:

PC efficiency

f_htfmax_actual

Actual maximum loop mass flow rate fraction of design

Type:

float

f_htfmin_actual

Actual minimum loop mass flow rate fraction of design

Type:

float

field_htf_cp_avg_des

Field average htf cp at design [kJ/kgK]

Type:

float

field_htf_max_temp

Maximum field htf temp [C]

Type:

float

field_htf_min_temp

Minimum field htf temp [C]

Type:

float

field_thermal_output_actual

Design-point thermal power from the solar field limited by mass flow [MW]

Type:

float

field_thermal_output_ideal

Design-point thermal power from the solar field with no limit [MW]

Type:

float

fixed_land_area

Fixed Land Area [acre]

Type:

float

gen

System net electrical power w/ avail. derate [kWe]

Type:

sequence

hot_tank_htf_percent_final

Final percent fill of available hot tank mass [%]

Type:

sequence

hour_day

Resource Hour of Day

Type:

sequence

is_hx

System has heat exchanger no/yes (0/1)

Type:

float

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

loop_optical_efficiency

Loop total optical effiency at design

Type:

float

m_dot_balance

Relative mass flow balance error

Type:

sequence

m_dot_cold_tank_to_hot_tank

cold tank to hot tank [kg/s]

Type:

sequence

Type:

Mass flow

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_delivered

Field total mass flow delivered [kg/s]

Type:

sequence

m_dot_field_recirc

Field total mass flow recirculated [kg/s]

Type:

sequence

m_dot_field_to_cycle

field to cycle [kg/s]

Type:

sequence

Type:

Mass flow

m_dot_htf_cycle_des

PC mass flow rate at design [kg/s]

Type:

float

m_dot_htfmax_actual

Actual maximum loop HTF flow rate [kg/s]

Type:

float

m_dot_htfmin_actual

Actual minimum loop HTF flow rate [kg/s]

Type:

float

m_dot_loop

Receiver 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_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

makeup + cooling [kg/s]

Type:

sequence

Type:

PC water consumption

mass_tes_cold

TES cold tank mass (end) [kg]

Type:

sequence

mass_tes_hot

TES hot tank mass (end) [kg]

Type:

sequence

max_field_flow_velocity

Maximum field flow velocity [m/s]

Type:

float

max_loop_flow_vel_des

Maximum loop flow velocity at design [m/s]

Type:

float

min_field_flow_velocity

Minimum field flow velocity [m/s]

Type:

float

min_inner_diameter

Minimum absorber inner diameter in loop [m]

Type:

float

min_loop_flow_vel_des

Minimum loop flow velocity at design [m/s]

Type:

float

month

Resource Month

Type:

sequence

monthly_energy

Monthly AC energy in Year 1 [kWh]

Type:

sequence

nLoops

Number of loops in the field

Type:

float

nSCA

Number of SCAs in a loop [none]

Type:

float

n_op_modes

Operating modes in reporting timestep

Type:

sequence

nameplate

Nameplate capacity [MWe]

Type:

float

op_mode_1

1st operating mode

Type:

sequence

op_mode_2

2nd op. mode, if applicable

Type:

sequence

op_mode_3

3rd op. 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

opt_derate_ave

Field collector optical derate modifier

Type:

sequence

pc_op_mode_final

startup, 1:on, 2:standby, 3:off, 4:startup_controlled [-]

Type:

sequence

Type:

Final cycle operation mode 0

pc_startup_energy_remain_final

Final cycle startup energy remaining [kwh]

Type:

sequence

pc_startup_time_remain_final

Final cycle startup time remaining [hr]

Type:

sequence

pipe_header_P_dsn

Field piping header pressure at design [bar]

Type:

sequence

pipe_header_T_dsn

Field piping header temperature at design [C]

Type:

sequence

pipe_header_diams

Field piping header diameters [m]

Type:

sequence

pipe_header_expansions

Number of field piping header expansions [-]

Type:

sequence

pipe_header_lengths

Field piping header lengths [m]

Type:

sequence

pipe_header_mdot_dsn

Field piping header mass flow at design [kg/s]

Type:

sequence

pipe_header_vel_dsn

Field piping header velocity at design [m/s]

Type:

sequence

pipe_header_wallthk

Field piping header wall thicknesses [m]

Type:

sequence

pipe_loop_P_dsn

Field piping loop pressure at design [bar]

Type:

sequence

pipe_loop_T_dsn

Field piping loop temperature at design [C]

Type:

sequence

pipe_runner_P_dsn

Field piping runner pressure at design [bar]

Type:

sequence

pipe_runner_T_dsn

Field piping runner temperature at design [C]

Type:

sequence

pipe_runner_diams

Field piping runner diameters [m]

Type:

sequence

pipe_runner_expansions

Number of field piping runner expansions [-]

Type:

sequence

pipe_runner_lengths

Field piping runner lengths [m]

Type:

sequence

pipe_runner_mdot_dsn

Field piping runner mass flow at design [kg/s]

Type:

sequence

pipe_runner_vel_dsn

Field piping runner velocity at design [m/s]

Type:

sequence

pipe_runner_wallthk

Field piping runner wall thicknesses [m]

Type:

sequence

pipe_tes_P_dsn

Pressure in TES pipes at design conditions [bar]

Type:

sequence

pipe_tes_T_dsn

Temperature in TES pipes at design conditions [C]

Type:

sequence

pipe_tes_diams

Pipe diameters in TES [m]

Type:

sequence

pipe_tes_lengths

Pipe lengths in TES [m]

Type:

sequence

pipe_tes_mdot_dsn

Mass flow TES pipes at design conditions [kg/s]

Type:

sequence

pipe_tes_vel_dsn

Velocity in TES pipes at design conditions [m/s]

Type:

sequence

pipe_tes_wallthk

Pipe wall thickness in TES [m]

Type:

sequence

pres

Resource Pressure [mbar]

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_cycle_des

Cycle thermal power at design [MWt]

Type:

float

q_dot_est_cr_on

Estimate rec. thermal power TO HTF [MWt]

Type:

sequence

q_dot_est_cr_su

Estimate rec. startup thermal power [MWt]

Type:

sequence

q_dot_est_tes_ch

Estimate max TES charge thermal power [MWt]

Type:

sequence

q_dot_est_tes_dc

Estimate max TES discharge thermal power [MWt]

Type:

sequence

q_dot_freeze_prot

Field freeze protection required [MWt]

Type:

sequence

q_dot_htf_sf_out

Field thermal power leaving in 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_piping_loss

Field piping thermal losses [MWt]

Type:

sequence

q_dot_rec_abs

Receiver thermal power absorbed [MWt]

Type:

sequence

q_dot_rec_inc

Receiver thermal power incident [MWt]

Type:

sequence

q_dot_rec_thermal_loss

Receiver thermal losses [MWt]

Type:

sequence

q_dot_tes_est

Estimated TES Heat Loss [MW]

Type:

float

q_inc_sf_tot

Field thermal power incident [MWt]

Type:

sequence

q_pb

PC input energy [MWt]

Type:

sequence

q_pc_startup

PC startup thermal energy [MWht]

Type:

sequence

q_tes

TES design capacity [MWt-hr]

Type:

float

q_tes_heater

TES freeze protection power [MWe]

Type:

sequence

qinc_costh

Field thermal power incident after cosine [MWt]

Type:

sequence

rec_op_mode_final

off, 1: startup, 2: on [-]

Type:

sequence

Type:

Final receiver operating mode 0

rec_time_in_startup

Field time at startup [min]

Type:

sequence

recirculating

Field recirculating (bypass valve open) [-]

Type:

sequence

required_number_of_loops_for_SM1

Heat loss at design

Type:

float

rh

Resource Relative Humidity [%]

Type:

sequence

sim_duration

Computational time of timeseries simulation [s]

Type:

float

single_loop_aperture

Single loop aperture [m2]

Type:

float

solar_mult

Actual solar multiple

Type:

float

solazi

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

tes_SA_cold

TES cold side surface area [m2]

Type:

sequence

tes_SA_hot

TES hot side surface area [m2]

Type:

sequence

tes_SA_tot

TES total surface area [m2]

Type:

sequence

tes_avail_vol

Available HTF volume [m3]

Type:

float

tes_cold_vol_frac

TES volume fraction of cold over total

Type:

sequence

tes_error

TES energy balance error [MWt]

Type:

sequence

tes_error_corrected

TES energy balance error, accounting for wall and temperature assumption error [MWt]

Type:

sequence

tes_error_percent

TES energy balance error percent [%]

Type:

sequence

tes_htf_avg_temp

HTF Average Temperature at Design [C]

Type:

float

tes_htf_max_temp

Maximum storage htf temp [C]

Type:

float

tes_htf_min_temp

Minimum storage htf temp [C]

Type:

float

tes_htf_pump_power

TES HTF pump power [MWe]

Type:

sequence

tes_leak_error

TES energy balance error due to leakage assumption [MWt]

Type:

sequence

tes_mass_tot

TES total fluid mass [kg]

Type:

sequence

tes_piston_frac

TES piston fraction of cold distance over total

Type:

sequence

tes_piston_loc

TES piston distance from left (cold) side [m]

Type:

sequence

tes_wall_error

TES energy balance error due to wall temperature assumption [MWt]

Type:

sequence

time_hr

Time at end of timestep [hr]

Type:

sequence

total_aperture

Total field aperture area [m2]

Type:

float

total_direct_cost

Total direct cost [$]

Type:

float

total_indirect_cost

Total direct cost [$]

Type:

float

total_installed_cost

Total installed cost [$]

Type:

float

total_land_area

Total Land Area [acre]

Type:

float

total_loop_conversion_efficiency

Total Loop Conversion Efficiency at Design

Type:

float

total_required_aperture_for_SM1

Aperture required for solar mult = 1 [m2]

Type:

float

total_tracking_power

Total Tracking Power [MWe]

Type:

float

tou_value

CSP operating Time-of-use value

Type:

sequence

twet

Resource Wet bulb temperature [C]

Type:

sequence

vel_loop_max

Receiver max HTF velocity in loop [m/s]

Type:

sequence

vel_loop_min

Receiver min HTF velocity in loop [m/s]

Type:

sequence

vol_min

Minimum Fluid Volume [m3]

Type:

float

vol_tank

Total tank volume [m3]

Type:

float

vol_tes_cold

TES cold fluid volume [m3]

Type:

sequence

vol_tes_hot

TES hot fluid volume [m3]

Type:

sequence

vol_tes_tot

TES total fluid volume [m3]

Type:

sequence

wspd

Resource Wind Speed [m/s]

Type:

sequence