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

replace(dict) → None

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

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

unassign(name) → None

Unassign a value in any of the variable groups.

value(name, optional value) → Union[None, float, dict, sequence, str]

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

SolarResource Group

class PySAM.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_factor1

Dispatch payment factor 1

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

Type:float
dispatch_factor2

Dispatch payment factor 2

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

Type:float
dispatch_factor3

Dispatch payment factor 3

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

Type:float
dispatch_factor4

Dispatch payment factor 4

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

Type:float
dispatch_factor5

Dispatch payment factor 5

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

Type:float
dispatch_factor6

Dispatch payment factor 6

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

Type:float
dispatch_factor7

Dispatch payment factor 7

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

Type:float
dispatch_factor8

Dispatch payment factor 8

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

Type:float
dispatch_factor9

Dispatch payment factor 9

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

Type:float
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]
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.EtesPtes.EtesPtes.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.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_capacity

Battery nameplate [MWe]

Type:float
cp_system_capacity

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