EtesPtes

Pumped thermal energy storage

PySAM.EtesPtes.default(config) EtesPtes

Load defaults for the configuration config. Available configurations are:

  • “PTESSingleOwner”

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.EtesPtes.from_existing(data, optional config) EtesPtes

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

PySAM.EtesPtes.new() EtesPtes
PySAM.EtesPtes.wrap(ssc_data_t) EtesPtes

Load data from a PySSC object.

Warning

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

EtesPtes is a wrapper for the SSC compute module cmod_etes_ptes.cpp

Interdependent Variables

The variables listed below are interdependent with other variables. If you change the value of one of these variables, you may need to change values of other variables. The SAM user interface manages these interdependent variables, but in PySAM, it is up to you change the value of all interdependent variables so they are consistent. See Interdependent Variables for examples and details.

  • const_per_interest_rate1

  • const_per_interest_rate2

  • const_per_interest_rate3

  • const_per_interest_rate4

  • const_per_interest_rate5

  • const_per_months1

  • const_per_months2

  • const_per_months3

  • const_per_months4

  • const_per_months5

  • const_per_percent1

  • const_per_percent2

  • const_per_percent3

  • const_per_percent4

  • const_per_percent5

  • const_per_upfront_rate1

  • const_per_upfront_rate2

  • const_per_upfront_rate3

  • const_per_upfront_rate4

  • const_per_upfront_rate5

Functions

class PySAM.EtesPtes.EtesPtes

This class contains all the variable information for running a simulation. Variables are grouped together in the subclasses as properties. If property assignments are the wrong type, an error is thrown.

assign(dict) None

Assign attributes from nested dictionary, except for Outputs

nested_dict = { 'Solar Resource': { var: val, ...}, ...}

execute(int verbosity) None

Execute simulation with verbosity level 0 (default) or 1

export() dict

Export attributes into nested dictionary

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

SolarResource Group

class PySAM.EtesPtes.EtesPtes.SolarResource
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

SolarResource_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

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

SolarResource_vals = { var: val, ...}

solar_resource_file

Local weather file path

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

SystemControl Group

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

bop_par

Balance of plant parasitic power fraction [MWe/MWcap]

Required: True

Type:

float

bop_par_0

Balance of plant parasitic power fraction - const coeff

Required: True

Type:

float

bop_par_1

Balance of plant parasitic power fraction - linear coeff

Required: True

Type:

float

bop_par_2

Balance of plant parasitic power fraction - quadratic coeff

Required: True

Type:

float

bop_par_f

Balance of plant parasitic power fraction - mult frac

Required: True

Type:

float

disp_csu_cost

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

Required: Required if is_dispatch=1

Type:

float

disp_down_time_min

Minimum time requirement for cycle to not generate power [hr]

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_hsu_cost

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

Required: Required if is_dispatch=1

Type:

float

disp_max_iter

Max number of 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 [$/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_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: Required if is_dispatch=1

Type:

float

disp_timeout

Max dispatch optimization solve duration [s]

Required: Required if is_dispatch=1

Type:

float

disp_up_time_min

Minimum time requirement for cycle to generate power [hr]

Required: Required if is_dispatch=1

Type:

float

is_dispatch

Allow dispatch optimization?

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

Type:

float

pb_fixed_par

Fixed parasitic load that don’t generate heat - runs at all times [MWe/MWcap]

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

FinancialModel Group

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

etes_financial_model

[1-8]

Constraints: INTEGER,MIN=0

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

Type:

float

SystemDesign Group

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

T_CT_cold_htf_des

CT TES cold temperature [C]

Required: True

Type:

float

T_CT_hot_htf_des

CT TES hot temperature [C]

Required: True

Type:

float

T_HT_cold_htf_des

HT TES cold temperature [C]

Required: True

Type:

float

T_HT_hot_htf_des

HT TES hot temperature [C]

Required: True

Type:

float

W_dot_pc_thermo_des

PC design thermodynamic power [MWe]

Required: True

Type:

float

cop_hp_thermo_des

Heat pump design thermodynamic heat COP [-]

Required: True

Type:

float

eta_pc_thermo_des

PC design thermodynamic efficiency [-]

Required: True

Type:

float

f_hp_parasitic_des

Heat pump parasitics as fraction of design thermo power in [-]

Required: True

Type:

float

f_pc_parasitic_des

PC parasitics as fraction of design thermo power out [-]

Required: True

Type:

float

heater_mult

Heater multiple relative to design cycle thermal power [-]

Required: True

Type:

float

tshours

Equivalent full-load thermal storage hours [hr]

Required: True

Type:

float

ThermalStorage Group

class PySAM.EtesPtes.EtesPtes.ThermalStorage
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

ThermalStorage_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

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

ThermalStorage_vals = { var: val, ...}

cold_htf_code

Cold HTF code - see htf_props.h for list

Required: True

Type:

float

hot_htf_code

Hot HTF code - see htf_props.h for list

Required: True

Type:

float

ud_cold_htf_props

User-defined Cold HTF fluid property data [-]

Required: Required if cold_htf_code=50

Type:

sequence[sequence]

ud_hot_htf_props

User-defined Hot HTF fluid property data [-]

Required: Required if hot_htf_code=50

Type:

sequence[sequence]

Heater Group

class PySAM.EtesPtes.EtesPtes.Heater
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

Heater_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

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

Heater_vals = { var: val, ...}

f_q_dot_des_allowable_su

Fraction of design power allowed during startup [-]

Required: True

Type:

float

f_q_dot_heater_min

Minimum allowable heater output as fraction of design

Required: True

Type:

float

hrs_startup_at_max_rate

Duration of startup at max startup power [hr]

Required: True

Type:

float

PowerCycle Group

class PySAM.EtesPtes.EtesPtes.PowerCycle
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

PowerCycle_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

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

PowerCycle_vals = { var: val, ...}

CT_pb_pump_coef

COLD TES pumping power to move 1kg of HTF through PB loop [kW/kg/s]

Required: True

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

heat_pump_CT_HTF_pump_coef

Cold temp HX pumping power to move 1 kg/s [kW/kg/s]

Required: True

Type:

float

heat_pump_HT_HTF_pump_coef

High temp HX pumping power to move 1 kg/s [kW/kg/s]

Required: True

Type:

float

pb_pump_coef

COLD TES pumping power to move 1kg of HTF through PB loop [kW/kg/s]

Required: True

Type:

float

q_sby_frac

Fraction of thermal power required for standby

Required: True

Type:

float

startup_frac

Fraction of design thermal power needed for startup [none]

Required: True

Type:

float

startup_time

Time needed for power block startup [hr]

Required: True

Type:

float

HotThermalStorage Group

class PySAM.EtesPtes.EtesPtes.HotThermalStorage
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

HotThermalStorage_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

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

HotThermalStorage_vals = { var: val, ...}

cold_tank_Thtr

HOT TES Minimum allowable cold tank HTF temperature [C]

Required: True

Type:

float

cold_tank_max_heat

HOT TES Rated heater capacity for cold tank heating [MW]

Required: True

Type:

float

h_tank

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

Required: True

Type:

float

h_tank_min

HOT TES Minimum allowable HTF height in storage tank [m]

Required: True

Type:

float

hot_tank_Thtr

HOT TES Minimum allowable hot tank HTF temperature [C]

Required: True

Type:

float

hot_tank_max_heat

HOT TES Rated heater capacity for hot tank heating [MW]

Required: True

Type:

float

tank_pairs

HOT TES Number of equivalent tank pairs

Constraints: INTEGER

Required: True

Type:

float

tes_init_hot_htf_percent

HOT TES Initial fraction of available volume that is hot [%]

Required: True

Type:

float

u_tank

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

Required: True

Type:

float

ColdThermalStorage Group

class PySAM.EtesPtes.EtesPtes.ColdThermalStorage
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

ColdThermalStorage_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

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

ColdThermalStorage_vals = { var: val, ...}

CT_h_tank

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

Required: True

Type:

float

CT_h_tank_min

COLD TES Minimum allowable HTF height in storage tank [m]

Required: True

Type:

float

CT_tank_pairs

COLD TES Number of equivalent tank pairs

Constraints: INTEGER

Required: True

Type:

float

CT_u_tank

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

Required: True

Type:

float

TimeOfDeliveryFactors Group

class PySAM.EtesPtes.EtesPtes.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_factors_ts

Dispatch payment factor timeseries array

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

Type:

sequence

dispatch_sched_weekday

PPA pricing weekday schedule, 12x24

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

Type:

sequence[sequence]

dispatch_sched_weekend

PPA pricing weekend schedule, 12x24

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

Type:

sequence[sequence]

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 ppa_multiplier_model=0&etes_financial_model<5&is_dispatch=1&sim_type=1

Type:

sequence

ppa_multiplier_model

PPA multiplier model [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

Revenue Group

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

ppa_price_input

PPA prices - yearly [$/kWh]

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

Type:

sequence

SystemCosts Group

class PySAM.EtesPtes.EtesPtes.SystemCosts
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

SystemCosts_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

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

SystemCosts_vals = { var: val, ...}

CT_tes_spec_cost

Cold Temp thermal energy storage specific cost [$/kWht]

Required: True

Type:

float

bop_spec_cost

Balance of plant specific cost [$/kWe]

Required: True

Type:

float

contingency_rate

Contingency for cost overrun [%]

Required: True

Type:

float

cycle_spec_cost

Power cycle specific cost [$/kWe]

Required: True

Type:

float

epc_cost_fixed

EPC fixed [$]

Required: True

Type:

float

epc_cost_per_watt

EPC cost per watt [$/W]

Required: True

Type:

float

epc_cost_perc_of_direct

EPC cost percent of direct [%]

Required: True

Type:

float

heat_pump_spec_cost

Heater pump specific cost [$/kWht]

Required: True

Type:

float

land_cost_fixed

Land fixed [$]

Required: True

Type:

float

land_cost_per_watt

Land cost per watt [$/W]

Required: True

Type:

float

land_cost_perc_of_direct

Land cost percent of direct [%]

Required: True

Type:

float

sales_tax_frac

Percent of cost to which sales tax applies [%]

Required: True

Type:

float

tes_spec_cost

Hot Temp thermal energy storage specific cost [$/kWht]

Required: True

Type:

float

FinancialParameters Group

class PySAM.EtesPtes.EtesPtes.FinancialParameters
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

FinancialParameters_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

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

FinancialParameters_vals = { var: val, ...}

const_per_interest_rate1

Interest rate, loan 1 [%]

Required: True

Type:

float

const_per_interest_rate2

Interest rate, loan 2 [%]

Required: True

Type:

float

const_per_interest_rate3

Interest rate, loan 3 [%]

Required: True

Type:

float

const_per_interest_rate4

Interest rate, loan 4 [%]

Required: True

Type:

float

const_per_interest_rate5

Interest rate, loan 5 [%]

Required: True

Type:

float

const_per_months1

Months prior to operation, loan 1

Required: True

Type:

float

const_per_months2

Months prior to operation, loan 2

Required: True

Type:

float

const_per_months3

Months prior to operation, loan 3

Required: True

Type:

float

const_per_months4

Months prior to operation, loan 4

Required: True

Type:

float

const_per_months5

Months prior to operation, loan 5

Required: True

Type:

float

const_per_percent1

Percent of total installed cost, loan 1 [%]

Required: True

Type:

float

const_per_percent2

Percent of total installed cost, loan 2 [%]

Required: True

Type:

float

const_per_percent3

Percent of total installed cost, loan 3 [%]

Required: True

Type:

float

const_per_percent4

Percent of total installed cost, loan 4 [%]

Required: True

Type:

float

const_per_percent5

Percent of total installed cost, loan 5 [%]

Required: True

Type:

float

const_per_upfront_rate1

Upfront fee on principal, loan 1 [%]

Required: True

Type:

float

const_per_upfront_rate2

Upfront fee on principal, loan 2 [%]

Required: True

Type:

float

const_per_upfront_rate3

Upfront fee on principal, loan 3 [%]

Required: True

Type:

float

const_per_upfront_rate4

Upfront fee on principal, loan 4 [%]

Required: True

Type:

float

const_per_upfront_rate5

Upfront fee on principal, loan 5 [%]

Required: True

Type:

float

sales_tax_rate

Sales tax rate [%]

Required: True

Type:

float

AdjustmentFactors Group

class PySAM.AdjustmentFactors.AdjustmentFactors
assign() None

Assign attributes from dictionary

export() Dict

Export attributes into dictionary

constant

AC Constant loss adjustment [%]

dc_constant

DC Constant loss adjustment [%]

dc_en_hourly

Enable DC hourly-based adjustment factors [0/1]

dc_en_periods

Enable DC period-based adjustment factors [0/1]

dc_en_timeindex

Enable DC lfetime adjustment factors [0/1]

dc_hourly

DC Hourly Adjustment Factors [%]

dc_periods

DC Period-based Adjustment Factors [%]

dc_timeindex

DC Lifetime Adjustment Factors [%]

en_hourly

Enable AC hourly-based adjustment factors [0/1]

en_periods

Enable AC period-based adjustment factors [0/1]

en_timeindex

Enable AC lfetime adjustment factors [0/1]

hourly

AC Hourly Adjustment Factors [%]

periods

AC Period-based Adjustment Factors [%]

sf_constant

DC Constant loss adjustment [%]

sf_en_hourly

Enable SF hourly-based adjustment factors [0/1]

sf_en_periods

Enable SF period-based adjustment factors [0/1]

sf_en_timeindex

Enable SF lfetime adjustment factors [0/1]

sf_hourly

SF Hourly Adjustment Factors [%]

sf_periods

SF Period-based Adjustment Factors [%]

sf_timeindex

SF Lifetime Adjustment Factors [%]

timeindex

AC Lifetime Adjustment Factors [%]

Outputs Group

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

COP_net_des

Heat pump net COP [MWe]

Type:

float

CT_tes_cost_calc

Cold TES cost [$]

Type:

float

E_hp_su_des

Heat pump startup energy [MWt-hr]

Type:

float

Q_CT_tes_des

Cold TES design capacity [MWt-hr]

Type:

float

Q_tes_des

TES design capacity [MWt-hr]

Type:

float

T_CT_tes_cold

TES cold temperature [C]

Type:

sequence

T_CT_tes_hot

TES hot temperature [C]

Type:

sequence

T_hp_CT_htf_cold_out

Heat pump cold tes HTF outlet temperature [C]

Type:

sequence

T_hp_CT_htf_hot_in

Heat pump cold tes HTF inlet temperature [C]

Type:

sequence

T_hp_HT_htf_cold_in

Heat pump hot tes HTF inlet temperature [C]

Type:

sequence

T_hp_HT_htf_hot_out

Heat pump hot tes HTF outlet temperature [C]

Type:

sequence

T_pc_CT_htf_cold_in

PC cold tes HTF inlet temperature [C]

Type:

sequence

T_pc_CT_htf_hot_out

PC cold tes HTF outlet temperature [C]

Type:

sequence

T_pc_HT_htf_cold_out

PC hot tes HTF outlet temperature [C]

Type:

sequence

T_pc_HT_htf_hot_in

PC hot tes HTF inlet temperature [C]

Type:

sequence

T_tes_cold

TES cold temperature [C]

Type:

sequence

T_tes_hot

TES hot temperature [C]

Type:

sequence

V_CT_tes_htf_avail

Volume of cold TES HTF available for heat transfer [m3]

Type:

float

V_CT_tes_htf_total

Total cold TES HTF volume [m3]

Type:

float

V_tes_htf_avail

Volume of TES HTF available for heat transfer [m3]

Type:

float

V_tes_htf_total

Total TES HTF volume [m3]

Type:

float

W_dot_bop_design

BOP parasitics at design [MWe]

Type:

float

W_dot_bop_parasitics

Parasitic power plant generation-dependent laod [MWe]

Type:

sequence

W_dot_fixed

Fixed parasitic at design [MWe]

Type:

float

W_dot_fixed_parasitics

Parasitic power plant fixed load [MWe]

Type:

sequence

W_dot_hp_CT_htf_pump

Heat pump cold tes HTF pump power [MWe]

Type:

sequence

W_dot_hp_CT_htf_pump_des

Heat pump CT HTF pump power [MWe]

Type:

float

W_dot_hp_HT_htf_pump

Heat pump hot tes HTF pump power [MWe]

Type:

sequence

W_dot_hp_HT_htf_pump_des

Heat pump HT HTF pump power [MWe]

Type:

float

W_dot_hp_elec_parasitic_des

Heat pump parasitic power [MWe]

Type:

float

W_dot_hp_in_net_des

Heat pump total power consumption [MWe]

Type:

float

W_dot_hp_in_thermo_des

Heat pump power into working fluid [MWe]

Type:

float

W_dot_hp_net

Heat pump total power in [MWe]

Type:

sequence

W_dot_hp_parasitics

Heat pump thermodynamic parasitics [MWe]

Type:

sequence

W_dot_hp_thermo

Heat pump thermodynamic power in [MWe]

Type:

sequence

W_dot_out_net

Total electric power to grid [MWe]

Type:

sequence

W_dot_pc_CT_htf_pump

PC cold tes HTF pump power [MWe]

Type:

sequence

W_dot_pc_CT_htf_pump_des

Cycle CT HTF pump power [MWe]

Type:

float

W_dot_pc_HT_htf_pump

PC hot tes HTF pump power [MWe]

Type:

sequence

W_dot_pc_HT_htf_pump_des

Cycle HT HTF pump power [MWe]

Type:

float

W_dot_pc_elec_parasitic_des

Cycle parasitic power [MWe]

Type:

float

W_dot_pc_net_des

Cycle net power generation [MWe]

Type:

float

W_dot_pc_parasitics

PC parasitics including cooling power [MWe]

Type:

sequence

W_dot_pc_thermo_out

PC thermodynamic power out [MWe]

Type:

sequence

annual_energy

Annual total electric power to grid [kWhe]

Type:

float

annual_energy_distribution_time

Annual energy production as function of time [kW]

Type:

sequence[sequence]

avg_suboptimal_rel_mip_gap

Average suboptimal relative MIP gap [%]

Type:

float

bop_cost_calc

BOP cost [$]

Type:

float

charge_capacity

Total electricity consumption at design-point charge [MWe]

Type:

float

construction_financing_cost

Total construction financing cost [$]

Type:

float

contingency_cost_calc

Contingency cost [$]

Type:

float

cop_hot_hp_thermo

Heat pump thermodynamic hot COP

Type:

sequence

cp_battery_nameplate

Battery nameplate [MWe]

Type:

float

cp_system_nameplate

System capacity for capacity payments [MWe]

Type:

float

cycle_cost_calc

Cycle cost [$]

Type:

float

d_CT_tank_tes

Diameter of cold TES tank [m]

Type:

float

d_tank_tes

Diameter of TES tank [m]

Type:

float

direct_subtotal_cost_calc

Direct subtotal cost [$]

Type:

float

disp_iter_ann

Annual sum of dispatch solver iterations

Type:

float

disp_obj_relax

Dispatch objective function - relaxed max

Type:

sequence

disp_objective

Dispatch objective function value

Type:

sequence

disp_objective_ann

Annual sum of dispatch objective function value [$]

Type:

float

disp_pceff_expected

Dispatch expected power cycle efficiency adj.

Type:

sequence

disp_presolve_nconstr

Dispatch number of constraints in problem

Type:

sequence

disp_presolve_nconstr_ann

Annual sum of dispatch problem constraint count

Type:

float

disp_presolve_nvar

Dispatch number of variables in problem

Type:

sequence

disp_presolve_nvar_ann

Annual sum of dispatch problem variable count

Type:

float

disp_qpbsu_expected

Dispatch expected power cycle startup energy [MWht]

Type:

sequence

disp_qsfprod_expected

Dispatch expected heat pump heat generation [MWt]

Type:

sequence

disp_qsfsu_expected

Dispatch expected heat pump startup enegy [MWt]

Type:

sequence

disp_rel_mip_gap

Dispatch relative MIP gap

Type:

sequence

disp_rev_expected

Dispatch expected revenue factor

Type:

sequence

disp_solve_iter

Dispatch iterations count

Type:

sequence

disp_solve_state

Dispatch solver state

Type:

sequence

disp_solve_state_ann

Annual sum of dispatch solve state

Type:

float

disp_solve_time

Dispatch solver time [sec]

Type:

sequence

disp_solve_time_ann

Annual sum of dispatch solver time [sec]

Type:

float

disp_subopt_flag

Dispatch suboptimal solution flag

Type:

sequence

disp_tes_expected

Dispatch expected TES charge level [MWht]

Type:

sequence

disp_wpb_expected

Dispatch expected power generation [MWe]

Type:

sequence

e_ch_tes

TES charge state [MWht]

Type:

sequence

elec_purchase_price_mult

Electricity purchase price multiplier

Type:

sequence

epc_cost_calc

EPC cost [$]

Type:

float

eta_pc_net_des

Cycle net efficiency [-]

Type:

float

eta_pc_thermo

PC thermodynamic efficiency

Type:

sequence

flip_target_percent

After-tax IRR target [%]

Type:

float

gen

Total electric power to grid with available derate [kWe]

Type:

sequence

heater_cost_calc

Heater cost [$]

Type:

float

installed_per_cap_cost_calc

Installed cost per capacity [$/kWe]

Type:

float

land_cost_calc

Land cost [$]

Type:

float

m_dot_balance

Relative mass flow balance error

Type:

sequence

m_dot_hp_CT_htf

Heat pump cold tes HTF mass flow rate [kg/s]

Type:

sequence

m_dot_hp_CT_htf_des

Heat pump CT HTF mass flow rate [kg/s]

Type:

float

m_dot_hp_HT_htf

Heat pump hot tes HTF mass flow rate [kg/s]

Type:

sequence

m_dot_hp_HT_htf_des

Heat pump HT HTF mass flow rate [kg/s]

Type:

float

m_dot_pc_CT_htf

PC cold tes HTF mass flow rate [kg/s]

Type:

sequence

m_dot_pc_CT_htf_des

Cycle CT HTF mass flow rate [kg/s]

Type:

float

m_dot_pc_HT_htf

PC hot tes HTF mass flow rate [kg/s]

Type:

sequence

m_dot_pc_HT_htf_des

Cycle HT HTF mass flow rate [kg/s]

Type:

float

mass_CT_tes_cold

TES cold tank mass (end) [kg]

Type:

sequence

mass_CT_tes_hot

TES hot tank mass (end) [kg]

Type:

sequence

mass_tes_cold

TES cold tank mass (end) [kg]

Type:

sequence

mass_tes_hot

TES hot tank mass (end) [kg]

Type:

sequence

n_op_modes

Operating modes in reporting timestep

Type:

sequence

nameplate

Nameplate capacity (discharge) [MWe]

Type:

float

op_mode_1

1st operating mode

Type:

sequence

op_mode_2

2nd operating mode, if applicable

Type:

sequence

op_mode_3

3rd operating mode, if applicable

Type:

sequence

operating_modes_a

First 3 operating modes tried

Type:

sequence

operating_modes_b

Next 3 operating modes tried

Type:

sequence

operating_modes_c

Final 3 operating modes tried

Type:

sequence

ppa_soln_mode

PPA solution mode [0/1]

Type:

float

q_balance

Relative energy balance error

Type:

sequence

q_dot_CT_tes_heater

TES freeze protection power [MWe]

Type:

sequence

q_dot_CT_tes_losses

TES thermal losses [MWt]

Type:

sequence

q_dot_ch_tes

TES charge thermal power [MWt]

Type:

sequence

q_dot_dc_tes

TES discharge thermal power [MWt]

Type:

sequence

q_dot_hp_cold_in_des

Heat pump heat input [MWt]

Type:

float

q_dot_hp_from_CT_htf

Heat pump thermal power from cold tes HTF [MWt]

Type:

sequence

q_dot_hp_hot_out_des

Heat pump heat output [MWt]

Type:

float

q_dot_hp_startup

Heat pump startup power [MWt]

Type:

sequence

q_dot_hp_to_HT_htf

Heat pump thermal power to hot tes HTF [MWt]

Type:

sequence

q_dot_loss_CT_tes_des

Cold TES thermal loss at design [MWt]

Type:

float

q_dot_loss_tes_des

TES thermal loss at design [MWt]

Type:

float

q_dot_pc_cold_out_thermo_des

Cycle total heat rejection [MWt]

Type:

float

q_dot_pc_cold_to_CTES_des

Cycle heat to cold TES [MWt]

Type:

float

q_dot_pc_cold_to_surroundings_des

Cycle heat to surroundings [MWt]

Type:

float

q_dot_pc_from_HT_htf

PC thermal power from hot tes HTF [MWt]

Type:

sequence

q_dot_pc_hot_in_des

Cycle heat input [MWt]

Type:

float

q_dot_pc_rejected

PC thermal power rejected to surroundings [MWt]

Type:

sequence

q_dot_pc_startup

PC startup power [MWt]

Type:

sequence

q_dot_pc_thermo_out

PC total heat leaving cycle [MWt]

Type:

sequence

q_dot_pc_to_CT_htf

PC thermal power to cold tes HTF [MWt]

Type:

sequence

q_dot_tes_heater

TES freeze protection power [MWe]

Type:

sequence

q_dot_tes_losses

TES thermal losses [MWt]

Type:

sequence

q_pc_target

Controller target pc heat input [MWt]

Type:

sequence

rte_net

Net round-trip efficiency considering all parasitics [MWe]

Type:

float

rte_thermo

Round-trip efficiency of working fluid cycles [MWe]

Type:

float

sales_tax_cost_calc

Sales tax cost [$]

Type:

float

system_capacity

System capacity (discharge) [kWe]

Type:

float

tdry

Resource dry Bulb temperature [C]

Type:

sequence

tes_cost_calc

TES cost [$]

Type:

float

time_hr

Time at end of timestep [hr]

Type:

sequence

total_direct_cost_calc

Total direct cost [$]

Type:

float

total_indirect_cost_calc

Total indirect cost [$]

Type:

float

total_installed_cost

Total installed cost [$]

Type:

float

tou_period

Time of use period

Type:

sequence

tshours_heater

Hours of TES relative to heater output [hr]

Type:

float

twet

Resource wet Bulb temperature [C]

Type:

sequence