Utilityrate4¶
Wrapper for SAM Simulation Core model: cmod_utilityrate4.cpp
Input Consistency Warning¶
As described in Possible Problems, some input parameters are interdependent but the equations that enforce consistency are not available in this PySAM module. Therefore, the onus is on the PySAM user to check that interdependencies are correctly handled. The variables which may require additional logic include:
Provided for each of these inputs is a list of other inputs that are potentially interdependent.
Creating an Instance¶
Refer to the Initializing a Model page for details on the different ways to create an instance of a PySAM class.
Utilityrate4 model description
Utilityrate4
-
PySAM.Utilityrate4.
default
(config) → Utilityrate4¶ Use default attributes None
-
PySAM.Utilityrate4.
from_existing
(data, optional config) → Utilityrate4¶ Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.
-
PySAM.Utilityrate4.
new
() → Utilityrate4¶
-
PySAM.Utilityrate4.
wrap
(ssc_data_t) → Utilityrate4¶ Use existing PySSC data
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap
Functions¶
-
class
PySAM.Utilityrate4.
Utilityrate4
¶ 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 = { 'Common': { 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 = { 'Common': { 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.
-
Common Group¶
-
class
PySAM.Utilityrate4.Utilityrate4.
Common
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
Common_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
Common_vals = { var: val, ...}
-
analysis_period
¶ Number of years in analysis [years]
Constraints: INTEGER,POSITIVE
Required: True
Type: float
-
load_escalation
¶ Annual load escalation [%/year]
Required: If not provided, assumed to be 0
Type: sequence
-
rate_escalation
¶ Annual electricity rate escalation [%/year]
Required: If not provided, assumed to be 0
Type: sequence
-
system_use_lifetime_output
¶ Lifetime hourly system outputs [0/1]
Options: 0=hourly first year,1=hourly lifetime
Constraints: INTEGER,MIN=0,MAX=1
Required: True
Type: float
-
ur_annual_min_charge
¶ Annual minimum charge [$]
Required: If not provided, assumed to be 0.0
Type: float
-
ur_dc_enable
¶ Enable demand charge [0/1]
Constraints: BOOLEAN
Required: If not provided, assumed to be 0
Type: float
-
ur_dc_flat_mat
¶ Demand rates (flat) table
Required: True if ur_dc_enable=1
Type: sequence[sequence]
-
ur_dc_sched_weekday
¶ Demand charge weekday schedule
Info: 12x24
Type: sequence[sequence]
-
ur_dc_sched_weekend
¶ Demand charge weekend schedule
Info: 12x24
Type: sequence[sequence]
-
ur_dc_tou_mat
¶ Demand rates (TOU) table
Required: True if ur_dc_enable=1
Type: sequence[sequence]
-
ur_ec_sched_weekday
¶ Energy charge weekday schedule
Info: 12x24
Required: True
Type: sequence[sequence]
-
ur_ec_sched_weekend
¶ Energy charge weekend schedule
Info: 12x24
Required: True
Type: sequence[sequence]
-
ur_ec_tou_mat
¶ Energy rates table
Required: True
Type: sequence[sequence]
-
ur_metering_option
¶ Metering options [0=Single meter with monthly rollover credits in kWh,1=Single meter with monthly rollover credits in $,2=Single meter with no monthly rollover credits,3=Two meters with all generation sold and all load purchased]
Info: Net metering monthly excess
Constraints: INTEGER
Required: If not provided, assumed to be 0
Type: float
-
ur_monthly_fixed_charge
¶ Monthly fixed charge [$]
Required: If not provided, assumed to be 0.0
Type: float
-
ur_monthly_min_charge
¶ Monthly minimum charge [$]
Required: If not provided, assumed to be 0.0
Type: float
-
ur_nm_yearend_sell_rate
¶ Year end sell rate [$/kWh]
Required: If not provided, assumed to be 0.0
Type: float
-
ur_sell_eq_buy
¶ Set sell rate equal to buy rate [0/1]
Info: Optional override
Constraints: BOOLEAN
Required: If not provided, assumed to be 0
Type: float
-
TimeSeries Group¶
-
class
PySAM.Utilityrate4.Utilityrate4.
TimeSeries
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
TimeSeries_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
TimeSeries_vals = { var: val, ...}
-
gen
¶ System power generated [kW]
Required: True
Type: sequence
-
load
¶ Electricity load (year 1) [kW]
Required: True
Type: sequence
-
Financials Group¶
-
class
PySAM.Utilityrate4.Utilityrate4.
Financials
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
Financials_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
Financials_vals = { var: val, ...}
-
inflation_rate
¶ Inflation rate [%]
Constraints: MIN=-99
Required: True
Type: float
-
AnnualOutput Group¶
-
class
PySAM.Utilityrate4.Utilityrate4.
AnnualOutput
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values
AnnualOutput_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input dict
AnnualOutput_vals = { var: val, ...}
-
degradation
¶ Annual energy degradation [%]
Required: True
Type: sequence
-
Outputs Group¶
-
class
PySAM.Utilityrate4.Utilityrate4.
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, ...}
-
annual_electric_load
¶ Electricity load total in each year [kWh]
Type: sequence
-
annual_energy_value
¶ Energy value in each year [$]
Type: sequence
-
charge_w_sys_dc_fixed
¶ Demand charge with system (flat) [$]
Type: sequence
-
charge_w_sys_dc_fixed_ym
¶ Demand charge with system (flat) [$]
Type: sequence[sequence]
-
charge_w_sys_dc_tou
¶ Demand charge with system (TOU) [$]
Type: sequence
-
charge_w_sys_dc_tou_ym
¶ Demand charge with system (TOU) [$]
Type: sequence[sequence]
-
charge_w_sys_ec
¶ Energy charge with system [$]
Type: sequence
-
charge_w_sys_ec_apr_tp
¶ Energy charge with system Apr [$]
Type: sequence[sequence]
-
charge_w_sys_ec_aug_tp
¶ Energy charge with system Aug [$]
Type: sequence[sequence]
-
charge_w_sys_ec_dec_tp
¶ Energy charge with system Dec [$]
Type: sequence[sequence]
-
charge_w_sys_ec_feb_tp
¶ Energy charge with system Feb [$]
Type: sequence[sequence]
-
charge_w_sys_ec_jan_tp
¶ Energy charge with system Jan [$]
Type: sequence[sequence]
-
charge_w_sys_ec_jul_tp
¶ Energy charge with system Jul [$]
Type: sequence[sequence]
-
charge_w_sys_ec_jun_tp
¶ Energy charge with system Jun [$]
Type: sequence[sequence]
-
charge_w_sys_ec_mar_tp
¶ Energy charge with system Mar [$]
Type: sequence[sequence]
-
charge_w_sys_ec_may_tp
¶ Energy charge with system May [$]
Type: sequence[sequence]
-
charge_w_sys_ec_nov_tp
¶ Energy charge with system Nov [$]
Type: sequence[sequence]
-
charge_w_sys_ec_oct_tp
¶ Energy charge with system Oct [$]
Type: sequence[sequence]
-
charge_w_sys_ec_sep_tp
¶ Energy charge with system Sep [$]
Type: sequence[sequence]
-
charge_w_sys_ec_ym
¶ Energy charge with system [$]
Type: sequence[sequence]
-
charge_w_sys_fixed
¶ Fixed monthly charge with system [$]
Type: sequence
-
charge_w_sys_fixed_ym
¶ Fixed monthly charge with system [$]
Type: sequence[sequence]
-
charge_w_sys_minimum
¶ Minimum charge with system [$]
Type: sequence
-
charge_w_sys_minimum_ym
¶ Minimum charge with system [$]
Type: sequence[sequence]
-
charge_wo_sys_dc_fixed
¶ Demand charge without system (flat) [$]
Type: sequence
-
charge_wo_sys_dc_fixed_ym
¶ Demand charge without system (flat) [$]
Type: sequence[sequence]
-
charge_wo_sys_dc_tou
¶ Demand charge without system (TOU) [$]
Type: sequence
-
charge_wo_sys_dc_tou_ym
¶ Demand charge without system (TOU) [$]
Type: sequence[sequence]
-
charge_wo_sys_ec
¶ Energy charge without system [$]
Type: sequence
-
charge_wo_sys_ec_apr_tp
¶ Energy charge without system Apr [$]
Type: sequence[sequence]
-
charge_wo_sys_ec_aug_tp
¶ Energy charge without system Aug [$]
Type: sequence[sequence]
-
charge_wo_sys_ec_dec_tp
¶ Energy charge without system Dec [$]
Type: sequence[sequence]
-
charge_wo_sys_ec_feb_tp
¶ Energy charge without system Feb [$]
Type: sequence[sequence]
-
charge_wo_sys_ec_jan_tp
¶ Energy charge without system Jan [$]
Type: sequence[sequence]
-
charge_wo_sys_ec_jul_tp
¶ Energy charge without system Jul [$]
Type: sequence[sequence]
-
charge_wo_sys_ec_jun_tp
¶ Energy charge without system Jun [$]
Type: sequence[sequence]
-
charge_wo_sys_ec_mar_tp
¶ Energy charge without system Mar [$]
Type: sequence[sequence]
-
charge_wo_sys_ec_may_tp
¶ Energy charge without system May [$]
Type: sequence[sequence]
-
charge_wo_sys_ec_nov_tp
¶ Energy charge without system Nov [$]
Type: sequence[sequence]
-
charge_wo_sys_ec_oct_tp
¶ Energy charge without system Oct [$]
Type: sequence[sequence]
-
charge_wo_sys_ec_sep_tp
¶ Energy charge without system Sep [$]
Type: sequence[sequence]
-
charge_wo_sys_ec_ym
¶ Energy charge without system [$]
Type: sequence[sequence]
-
charge_wo_sys_fixed
¶ Fixed monthly charge without system [$]
Type: sequence
-
charge_wo_sys_fixed_ym
¶ Fixed monthly charge without system [$]
Type: sequence[sequence]
-
charge_wo_sys_minimum
¶ Minimum charge without system [$]
Type: sequence
-
charge_wo_sys_minimum_ym
¶ Minimum charge without system [$]
Type: sequence[sequence]
-
elec_cost_with_system
¶ Electricity bill with system [$/yr]
Type: sequence
-
elec_cost_with_system_year1
¶ Electricity bill with system (year 1) [$/yr]
Type: float
-
elec_cost_without_system
¶ Electricity bill without system [$/yr]
Type: sequence
-
elec_cost_without_system_year1
¶ Electricity bill without system (year 1) [$/yr]
Type: float
-
energy_w_sys_ec_apr_tp
¶ Electricity usage with system Apr [kWh]
Type: sequence[sequence]
-
energy_w_sys_ec_aug_tp
¶ Electricity usage with system Aug [kWh]
Type: sequence[sequence]
-
energy_w_sys_ec_dec_tp
¶ Electricity usage with system Dec [kWh]
Type: sequence[sequence]
-
energy_w_sys_ec_feb_tp
¶ Electricity usage with system Feb [kWh]
Type: sequence[sequence]
-
energy_w_sys_ec_jan_tp
¶ Electricity usage with system Jan [kWh]
Type: sequence[sequence]
-
energy_w_sys_ec_jul_tp
¶ Electricity usage with system Jul [kWh]
Type: sequence[sequence]
-
energy_w_sys_ec_jun_tp
¶ Electricity usage with system Jun [kWh]
Type: sequence[sequence]
-
energy_w_sys_ec_mar_tp
¶ Electricity usage with system Mar [kWh]
Type: sequence[sequence]
-
energy_w_sys_ec_may_tp
¶ Electricity usage with system May [kWh]
Type: sequence[sequence]
-
energy_w_sys_ec_nov_tp
¶ Electricity usage with system Nov [kWh]
Type: sequence[sequence]
-
energy_w_sys_ec_oct_tp
¶ Electricity usage with system Oct [kWh]
Type: sequence[sequence]
-
energy_w_sys_ec_sep_tp
¶ Electricity usage with system Sep [kWh]
Type: sequence[sequence]
-
energy_wo_sys_ec_apr_tp
¶ Electricity usage without system Apr [kWh]
Type: sequence[sequence]
-
energy_wo_sys_ec_aug_tp
¶ Electricity usage without system Aug [kWh]
Type: sequence[sequence]
-
energy_wo_sys_ec_dec_tp
¶ Electricity usage without system Dec [kWh]
Type: sequence[sequence]
-
energy_wo_sys_ec_feb_tp
¶ Electricity usage without system Feb [kWh]
Type: sequence[sequence]
-
energy_wo_sys_ec_jan_tp
¶ Electricity usage without system Jan [kWh]
Type: sequence[sequence]
-
energy_wo_sys_ec_jul_tp
¶ Electricity usage without system Jul [kWh]
Type: sequence[sequence]
-
energy_wo_sys_ec_jun_tp
¶ Electricity usage without system Jun [kWh]
Type: sequence[sequence]
-
energy_wo_sys_ec_mar_tp
¶ Electricity usage without system Mar [kWh]
Type: sequence[sequence]
-
energy_wo_sys_ec_may_tp
¶ Electricity usage without system May [kWh]
Type: sequence[sequence]
-
energy_wo_sys_ec_nov_tp
¶ Electricity usage without system Nov [kWh]
Type: sequence[sequence]
-
energy_wo_sys_ec_oct_tp
¶ Electricity usage without system Oct [kWh]
Type: sequence[sequence]
-
energy_wo_sys_ec_sep_tp
¶ Electricity usage without system Sep [kWh]
Type: sequence[sequence]
-
lifetime_load
¶ Lifetime electricity load [kW]
Type: sequence
-
savings_year1
¶ Electricity net savings with system (year 1) [$/yr]
Type: float
-
surplus_w_sys_ec_apr_tp
¶ Electricity exports with system Apr [kWh]
Type: sequence[sequence]
-
surplus_w_sys_ec_aug_tp
¶ Electricity exports with system Aug [kWh]
Type: sequence[sequence]
-
surplus_w_sys_ec_dec_tp
¶ Electricity exports with system Dec [kWh]
Type: sequence[sequence]
-
surplus_w_sys_ec_feb_tp
¶ Electricity exports with system Feb [kWh]
Type: sequence[sequence]
-
surplus_w_sys_ec_jan_tp
¶ Electricity exports with system Jan [kWh]
Type: sequence[sequence]
-
surplus_w_sys_ec_jul_tp
¶ Electricity exports with system Jul [kWh]
Type: sequence[sequence]
-
surplus_w_sys_ec_jun_tp
¶ Electricity exports with system Jun [kWh]
Type: sequence[sequence]
-
surplus_w_sys_ec_mar_tp
¶ Electricity exports with system Mar [kWh]
Type: sequence[sequence]
-
surplus_w_sys_ec_may_tp
¶ Electricity exports with system May [kWh]
Type: sequence[sequence]
-
surplus_w_sys_ec_nov_tp
¶ Electricity exports with system Nov [kWh]
Type: sequence[sequence]
-
surplus_w_sys_ec_oct_tp
¶ Electricity exports with system Oct [kWh]
Type: sequence[sequence]
-
surplus_w_sys_ec_sep_tp
¶ Electricity exports with system Sep [kWh]
Type: sequence[sequence]
-
utility_bill_w_sys
¶ Utility bill with system [$]
Type: sequence
-
utility_bill_w_sys_ym
¶ Utility bill with system [$]
Type: sequence[sequence]
-
utility_bill_wo_sys
¶ Utility bill without system [$]
Type: sequence
-
utility_bill_wo_sys_ym
¶ Utility bill without system [$]
Type: sequence[sequence]
-
year1_electric_load
¶ Electricity load total (year 1) [kWh/yr]
Type: float
-
year1_hourly_dc_peak_per_period
¶ Electricity peak from grid per TOU period [kW]
Type: sequence
-
year1_hourly_dc_tou_schedule
¶ TOU period for demand charges
Type: sequence
-
year1_hourly_dc_with_system
¶ Demand charge with system [$]
Type: sequence
-
year1_hourly_dc_without_system
¶ Demand charge without system [$]
Type: sequence
-
year1_hourly_e_fromgrid
¶ Electricity from grid [kWh]
Type: sequence
-
year1_hourly_e_tofromgrid
¶ Electricity to/from grid [kWh]
Type: sequence
-
year1_hourly_e_togrid
¶ Electricity to grid [kWh]
Type: sequence
-
year1_hourly_ec_tou_schedule
¶ TOU period for energy charges
Type: sequence
-
year1_hourly_ec_with_system
¶ Energy charge with system [$]
Type: sequence
-
year1_hourly_ec_without_system
¶ Energy charge without system [$]
Type: sequence
-
year1_hourly_p_system_to_load
¶ Electricity peak from system to load [kW]
Type: sequence
-
year1_hourly_p_tofromgrid
¶ Electricity to/from grid peak [kW]
Type: sequence
-
year1_hourly_salespurchases_with_system
¶ Electricity sales/purchases with sytem [$]
Type: sequence
-
year1_hourly_salespurchases_without_system
¶ Electricity sales/purchases without sytem [$]
Type: sequence
-
year1_hourly_system_to_load
¶ Electricity from system to load [kWh]
Type: sequence
-
year1_monthly_cumulative_excess_dollars
¶ Net metering credit in $ [$/mo]
Type: sequence
-
year1_monthly_cumulative_excess_generation
¶ Net metering credit in kWh [kWh/mo]
Type: sequence
-
year1_monthly_dc_fixed_with_system
¶ Demand charge (flat) with system [$/mo]
Type: sequence
-
year1_monthly_dc_fixed_without_system
¶ Demand charge (flat) without system [$/mo]
Type: sequence
-
year1_monthly_dc_tou_with_system
¶ Demand charge (TOU) with system [$/mo]
Type: sequence
-
year1_monthly_dc_tou_without_system
¶ Demand charge (TOU) without system [$/mo]
Type: sequence
-
year1_monthly_ec_charge_with_system
¶ Energy charge with system [$/mo]
Type: sequence
-
year1_monthly_ec_charge_without_system
¶ Energy charge without system [$/mo]
Type: sequence
-
year1_monthly_electricity_to_grid
¶ Electricity to/from grid [kWh/mo]
Type: sequence
-
year1_monthly_fixed_with_system
¶ Fixed monthly charge with system [$/mo]
Type: sequence
-
year1_monthly_fixed_without_system
¶ Fixed monthly charge without system [$/mo]
Type: sequence
-
year1_monthly_load
¶ Electricity load [kWh/mo]
Type: sequence
-
year1_monthly_minimum_with_system
¶ Minimum charge with system [$/mo]
Type: sequence
-
year1_monthly_minimum_without_system
¶ Minimum charge without system [$/mo]
Type: sequence
-
year1_monthly_peak_w_system
¶ Peak demand with system [kW/mo]
Type: sequence
-
year1_monthly_peak_wo_system
¶ Peak demand without system [kW/mo]
Type: sequence
-
year1_monthly_use_w_system
¶ Energy use with system [kWh/mo]
Type: sequence
-
year1_monthly_use_wo_system
¶ Energy use without system [kWh/mo]
Type: sequence
-
year1_monthly_utility_bill_w_sys
¶ Utility bill with system [$/mo]
Type: sequence
-
year1_monthly_utility_bill_wo_sys
¶ Utility bill without system [$/mo]
Type: sequence
-