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
-