TroughPhysicalProcessHeat

Wrapper for SAM Simulation Core model: cmod_trough_physical_process_heat.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.

TroughPhysicalProcessHeat model description

Parabolic trough for industrial process heat applications

PySAM.TroughPhysicalProcessHeat.default(config) → TroughPhysicalProcessHeat

Use default attributes config options:

  • “PhysicalTroughIPHLCOHCalculator”
  • “PhysicalTroughIPHNone”
PySAM.TroughPhysicalProcessHeat.from_existing(data, optional config) → TroughPhysicalProcessHeat

Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.

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

Use existing PySSC data

Warning

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

Functions

class PySAM.TroughPhysicalProcessHeat.TroughPhysicalProcessHeat

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

Weather Group

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

azimuth

Azimuth angle of surface/axis [none]

Required: True

Type:float
file_name

Local weather file with path [none]

Constraints: LOCAL_FILE

Required: True

Type:str
solar_resource_data

Weather resource data in memory

Required: False

Type:dict
tilt

Tilt angle of surface/axis [none]

Required: True

Type:float
track_mode

Tracking mode [none]

Required: True

Type:float

SolarField Group

class PySAM.TroughPhysicalProcessHeat.TroughPhysicalProcessHeat.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_cpnt

Interconnect component diameters, row=intc, col=cpnt [none]

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
K_cpnt

Interconnect component minor loss coefficients, row=intc, col=cpnt [none]

Required: True

Type:sequence[sequence]
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_cpnt

Interconnect component lengths, row=intc, col=cpnt [none]

Required: True

Type:sequence[sequence]
L_heat_sink_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
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

Roughness of the internal surface [m]

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
Tau_envelope

Envelope transmittance [none]

Required: True

Type:sequence[sequence]
TrackingError

User-defined tracking error derate [none]

Required: True

Type:sequence
Type_cpnt

Interconnect component type, row=intc, col=cpnt [none]

Required: True

Type:sequence[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]
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
is_model_heat_sink_piping

Should model consider piping through heat sink? [none]

Required: True

Type:float
m_dot_htfmax

Maximum loop HTF flow rate [kg/s]

Required: True

Type:float
m_dot_htfmin

Minimum loop HTF flow rate [kg/s]

Required: True

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
nLoops

Number of loops in the field [none]

Required: True

Type:float
nSCA

Number of SCAs in a loop [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
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
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
wind_stow_speed

Trough wind stow speed [m/s]

Required: If not provided, assumed to be 50

Type:float

Controller Group

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

disp_wlim_maxspec

disp_wlim_maxspec [-]

Required: True

Type:float
field_fl_props

User defined field fluid property data [-]

Required: True

Type:sequence[sequence]
non_solar_field_land_area_multiplier

non_solar_field_land_area_multiplier [-]

Required: True

Type:float
pb_pump_coef

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

Required: True

Type:float
q_pb_design

Design heat input to power block [MWt]

Required: True

Type:float
specified_solar_multiple

specified_solar_multiple [-]

Required: True

Type:float
tanks_in_parallel

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

Required: True

Type:float
trough_loop_control

trough_loop_control [-]

Required: True

Type:sequence

SystemDesign Group

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

tshours

Equivalent full-load thermal storage hours [hr]

Required: True

Type:float

TES Group

class PySAM.TroughPhysicalProcessHeat.TroughPhysicalProcessHeat.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: True

Type:float
cold_tank_max_heat

Rated heater capacity for cold tank heating [MW]

Required: True

Type:float
h_tank

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

Required: True

Type:float
init_hot_htf_percent

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

Required: True

Type:float
tank_pairs

Number of equivalent tank pairs [-]

Constraints: INTEGER

Required: True

Type:float
u_tank

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

Required: True

Type:float

TES2tank Group

class PySAM.TroughPhysicalProcessHeat.TroughPhysicalProcessHeat.TES2tank
assign(dict) → None

Assign attributes from dictionary, overwriting but not removing values

TES2tank_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

replace(dict) → None

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

TES2tank_vals = { var: val, ...}

h_tank_min

Minimum allowable HTF height in storage tank [m]

Required: True

Type:float
hot_tank_Thtr

Minimum allowable hot tank HTF temp [C]

Required: True

Type:float
hot_tank_max_heat

Rated heater capacity for hot tank heating [MW]

Required: True

Type:float

Tou Group

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

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
disp_csu_cost

Heat sink 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_max_iter

Max. no. 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 heat production change penalty [$/kWt-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_factor1

Dispatch payment factor 1

Required: If not provided, assumed to be 1

Type:float
dispatch_factor2

Dispatch payment factor 2

Required: If not provided, assumed to be 1

Type:float
dispatch_factor3

Dispatch payment factor 3

Required: If not provided, assumed to be 1

Type:float
dispatch_factor4

Dispatch payment factor 4

Required: If not provided, assumed to be 1

Type:float
dispatch_factor5

Dispatch payment factor 5

Required: If not provided, assumed to be 1

Type:float
dispatch_factor6

Dispatch payment factor 6

Required: If not provided, assumed to be 1

Type:float
dispatch_factor7

Dispatch payment factor 7

Required: If not provided, assumed to be 1

Type:float
dispatch_factor8

Dispatch payment factor 8

Required: If not provided, assumed to be 1

Type:float
dispatch_factor9

Dispatch payment factor 9

Required: If not provided, assumed to be 1

Type:float
dispatch_factors_ts

Dispatch payment factor array

Required: True if ppa_multiplier_model=1

Type:sequence
dispatch_sched_weekday

12x24 PPA pricing Weekday schedule

Required: If not provided, assumed to be 1

Type:sequence[sequence]
dispatch_sched_weekend

12x24 PPA pricing Weekend schedule

Required: If not provided, assumed to be 1

Type:sequence[sequence]
dispatch_series

Time series dispatch factors

Type:sequence
f_turb_tou_periods

Dispatch logic for heat sink 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 1

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 heat 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
ppa_multiplier_model

PPA multiplier model [0/1]

Options: 0=diurnal,1=timestep

Constraints: INTEGER,MIN=0

Required: If not provided, assumed to be 0

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
timestep_load_fractions

Turbine load fraction for each timestep, alternative to block dispatch

Required: False

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]
wlim_series

Time series net heat generation limits [kWt]

Required: True if is_wlim_series=1

Type:sequence

System Group

class PySAM.TroughPhysicalProcessHeat.TroughPhysicalProcessHeat.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
pb_fixed_par

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

Required: True

Type:float

Powerblock Group

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

L_rnr_pb

Length of runner pipe in power block [m]

Required: True

Type:float

AdjustmentFactors Group

class PySAM.TroughPhysicalProcessHeat.TroughPhysicalProcessHeat.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.TroughPhysicalProcessHeat.TroughPhysicalProcessHeat.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
EndLoss_ave

Field collector optical end loss

Type:sequence
EqOpteff

Field optical efficiency before defocus

Type:sequence
IAM_ave

Field collector incidence angle modifier

Type:sequence
RowShadow_ave

Field collector row shadowing loss

Type: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_heat_sink_in

Heat sink HTF inlet temp [C]

Type:sequence
T_heat_sink_out

Heat sink HTF outlet temp [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
W_dot_field_pump

Field htf pumping power [MWe]

Type:sequence
W_dot_parasitic_tot

System total electrical parasitic [MWe]

Type:sequence
W_dot_pc_pump

Heat sink pumping power [MWe]

Type:sequence
W_dot_sca_track

Field collector tracking power [MWe]

Type:sequence
annual_electricity_consumption

Annual electricity consumption w/ avail derate [kWe-hr]

Type:float
annual_energy

Annual Net Thermal Energy Production w/ avail derate [kWt-hr]

Type:float
annual_field_freeze_protection

Annual thermal power for field freeze protection [kWt-hr]

Type:float
annual_gross_energy

Annual Gross Thermal Energy Production w/ avail derate [kWt-hr]

Type:float
annual_tes_freeze_protection

Annual thermal power for TES freeze protection [kWt-hr]

Type:float
annual_thermal_consumption

Annual thermal freeze protection required [kWt-hr]

Type:float
annual_total_water_use

Total Annual Water Usage [m^3]

Type:float
beam

Resource Beam normal irradiance [W/m2]

Type:sequence
capacity_factor

Capacity factor [%]

Type:float
deltaP_field

Field pressure drop [bar]

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
hour_day

Resource Hour of Day

Type:sequence
kwh_per_kw

First year kWh/kW [kWht/kWt]

Type:float
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_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_heat_sink

Heat sink HTF mass flow [kg/s]

Type:sequence
m_dot_loop

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

TES cold tank mass (end) [kg]

Type:sequence
mass_tes_hot

TES hot tank mass (end) [kg]

Type:sequence
month

Resource Month

Type:sequence
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
pres

Resource Pressure [mbar]

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

Heat sink thermal power [MWt]

Type:sequence
q_inc_sf_tot

Field thermal power incident [MWt]

Type:sequence
q_tes_heater

TES freeze protection power [MWe]

Type:sequence
qinc_costh

Field thermal power incident after cosine [MWt]

Type:sequence
solar_multiple_actual

Actual solar multiple of system [-]

Type:float
solazi

Resource Solar Azimuth [deg]

Type:sequence
solzen

Resource Solar Zenith [deg]

Type:sequence
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
twet

Resource Wet bulb temperature [C]

Type:sequence
wspd

Resource Wind Speed [m/s]

Type:sequence