Utilityrate5¶
Wrapper for SAM Simulation Core model: cmod_utilityrate5.cpp
Creating an Instance¶
There are three methods to create a new instance of a PySAM module. Using default
populates the newclass’ attributes with default values specific to a config
. Each technology-financialconfiguration corresponds to a SAM GUI configuration. Using new
creates an instance with empty attributes. The wrap
function allows compatibility with PySSC, for details, refer to PySSC.
Utilityrate5 model description
Retail electricity bill calculator
-
PySAM.Utilityrate5.
default
(config) → Utilityrate5¶ Use financial config-specific default attributes config options:
- “DSLFCommercial”
- “DishStirlingCommercial”
- “EmpiricalTroughCommercial”
- “FlatPlatePVCommercial”
- “FlatPlatePVHostDeveloper”
- “FlatPlatePVResidential”
- “FlatPlatePVThirdParty”
- “FuelCellCommercial”
- “FuelCellSingleOwner”
- “GenericBatteryCommercial”
- “GenericBatteryHostDeveloper”
- “GenericBatteryResidential”
- “GenericBatterySingleOwner”
- “GenericBatteryThirdParty”
- “GenericCSPSystemCommercial”
- “GenericSystemCommercial”
- “GenericSystemHostDeveloper”
- “GenericSystemResidential”
- “GenericSystemThirdParty”
- “MSLFCommercial”
- “PVBatteryCommercial”
- “PVBatteryHostDeveloper”
- “PVBatteryResidential”
- “PVBatterySingleOwner”
- “PVBatteryThirdParty”
- “PVWattsBatteryCommercial”
- “PVWattsBatteryHostDeveloper”
- “PVWattsBatteryResidential”
- “PVWattsBatteryThirdParty”
- “PVWattsCommercial”
- “PVWattsHostDeveloper”
- “PVWattsResidential”
- “PVWattsThirdParty”
- “PhysicalTroughCommercial”
- “SolarWaterHeatingCommercial”
- “SolarWaterHeatingResidential”
- “WindPowerCommercial”
- “WindPowerResidential”
-
PySAM.Utilityrate5.
from_existing
(data, optional config) → Utilityrate5¶ Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.
-
PySAM.Utilityrate5.
new
() → Utilityrate5¶
-
PySAM.Utilityrate5.
wrap
(ssc_data_t) → Utilityrate5¶ Use existing PySSC data
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap
Functions¶
-
class
PySAM.Utilityrate5.
Utilityrate5
¶ 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 = { 'Electricity Rates': { var: val, ...}, ...}
-
execute
(int verbosity) → None¶ Execute simulation with verbosity level 0 (default) or 1
-
export
() → dict¶ Export attributes into nested dictionary
-
value
(name, optional value) → Union[None, float, dict, sequence, str]¶ Get or set by name a value in any of the variable groups.
-
ElectricityRates Group¶
-
class
PySAM.Utilityrate5.Utilityrate5.
ElectricityRates
¶ -
assign
() → None¶ Assign attributes from dictionary
ElectricityRates_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
TOU_demand_single_peak
¶ Use single monthly peak for TOU demand charge [0/1]
Options: 0=use TOU peak,1=use flat peak
Constraints: INTEGER,MIN=0,MAX=1
Required: If not provided, assumed to be 0
Type: float
-
en_electricity_rates
¶ Optionally enable/disable electricity_rate [years]
Constraints: INTEGER,MIN=0,MAX=1
Type: float
-
rate_escalation
¶ Annual electricity rate escalation [%/year]
Required: If not provided, assumed to be 0
Type: sequence
-
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_en_ts_sell_rate
¶ Enable time step sell rates [0/1]
Constraints: BOOLEAN
Required: If not provided, assumed to be 0
Type: float
-
ur_metering_option
¶ Metering options [0=net energy metering,1=net energy metering with $ credits,2=net billing,3=net billing with carryover to next month,4=buy all - sell all]
Info: Net metering monthly excess
Constraints: INTEGER,MIN=0,MAX=4
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
-
ur_ts_buy_rate
¶ Time step buy rates [0/1]
Type: sequence
-
ur_ts_sell_rate
¶ Time step sell rates [0/1]
Type: sequence
-
Lifetime Group¶
-
class
PySAM.Utilityrate5.Utilityrate5.
Lifetime
¶ -
assign
() → None¶ Assign attributes from dictionary
Lifetime_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
analysis_period
¶ Number of years in analysis [years]
Constraints: INTEGER,POSITIVE
Required: True
Type: float
-
inflation_rate
¶ Inflation rate [%]
Constraints: MIN=-99
Required: True
Type: float
-
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
-
SystemOutput Group¶
-
class
PySAM.Utilityrate5.Utilityrate5.
SystemOutput
¶ -
assign
() → None¶ Assign attributes from dictionary
SystemOutput_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
degradation
¶ Annual energy degradation [%]
Required: True
Type: sequence
-
gen
¶ System power generated [kW]
Required: True
Type: sequence
-
Load Group¶
-
class
PySAM.Utilityrate5.Utilityrate5.
Load
¶ -
assign
() → None¶ Assign attributes from dictionary
Load_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
load
¶ Electricity load (year 1) [kW]
Type: sequence
-
load_escalation
¶ Annual load escalation [%/year]
Required: If not provided, assumed to be 0
Type: sequence
-
Outputs Group¶
-
class
PySAM.Utilityrate5.Utilityrate5.
Outputs
¶ -
assign
() → None¶ Assign attributes from dictionary
Outputs_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
annual_electric_load
¶ Electricity load total in each year [kWh]
Type: sequence
-
annual_energy_value
¶ Energy value in each year [$]
Type: sequence
-
bill_load
¶ Bill load (year 1) [kWh]
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_gross_ym
¶ Energy charge with system before credits [$]
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]
-
excess_dollars_applied_ym
¶ Excess generation $ credit applied [$]
Type: sequence[sequence]
-
excess_dollars_earned_ym
¶ Excess generation $ credit earned [$]
Type: sequence[sequence]
-
excess_kwhs_applied_ym
¶ Excess generation kWh credit applied [kWh]
Type: sequence[sequence]
-
excess_kwhs_earned_ym
¶ Excess generation kWh credit earned [kWh]
Type: sequence[sequence]
-
lifetime_load
¶ Lifetime electricity load [kW]
Type: sequence
-
monthly_tou_demand_charge_w_sys
¶ Demand peak charge with system [$]
Type: sequence[sequence]
-
monthly_tou_demand_charge_wo_sys
¶ Demand peak charge without system [$]
Type: sequence[sequence]
-
monthly_tou_demand_peak_w_sys
¶ Demand peak with system [kW]
Type: sequence[sequence]
-
monthly_tou_demand_peak_wo_sys
¶ Demand peak without system [kW]
Type: sequence[sequence]
-
savings_year1
¶ Electricity bill 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
¶ Electricity bill with system [$]
Type: sequence
-
utility_bill_w_sys_ym
¶ Electricity bill with system [$]
Type: sequence[sequence]
-
utility_bill_wo_sys
¶ Electricity bill without system [$]
Type: sequence
-
utility_bill_wo_sys_ym
¶ Electricity bill without system [$]
Type: sequence[sequence]
-
year1_electric_load
¶ Electricity load total (year 1) [kWh/yr]
Type: float
-
year1_excess_dollars_applied
¶ Excess generation $ credit applied [$/mo]
Type: sequence
-
year1_excess_dollars_earned
¶ Excess generation $ credit earned [$/mo]
Type: sequence
-
year1_excess_kwhs_applied
¶ Excess generation kWh credit applied [kWh/mo]
Type: sequence
-
year1_excess_kwhs_earned
¶ Excess generation kWh credit earned [kWh/mo]
Type: sequence
-
year1_hourly_dc_peak_per_period
¶ Electricity peak from grid per TOU period (year 1 hourly) [kW]
Type: sequence
-
year1_hourly_dc_tou_schedule
¶ TOU period for demand charges (year 1 hourly)
Type: sequence
-
year1_hourly_dc_with_system
¶ Demand charge with system (year 1 hourly) [$]
Type: sequence
-
year1_hourly_dc_without_system
¶ Demand charge without system (year 1 hourly) [$]
Type: sequence
-
year1_hourly_e_fromgrid
¶ Electricity from grid (year 1 hourly) [kWh]
Type: sequence
-
year1_hourly_e_tofromgrid
¶ Electricity to/from grid (year 1 hourly) [kWh]
Type: sequence
-
year1_hourly_e_togrid
¶ Electricity to grid (year 1 hourly) [kWh]
Type: sequence
-
year1_hourly_ec_tou_schedule
¶ TOU period for energy charges (year 1 hourly)
Type: sequence
-
year1_hourly_ec_with_system
¶ Energy charge with system (year 1 hourly) [$]
Type: sequence
-
year1_hourly_ec_without_system
¶ Energy charge without system (year 1 hourly) [$]
Type: sequence
-
year1_hourly_p_system_to_load
¶ Electricity peak from system to load (year 1 hourly) [kW]
Type: sequence
-
year1_hourly_p_tofromgrid
¶ Electricity to/from grid peak (year 1 hourly) [kW]
Type: sequence
-
year1_hourly_salespurchases_with_system
¶ Electricity sales/purchases with system (year 1 hourly) [$]
Type: sequence
-
year1_hourly_salespurchases_without_system
¶ Electricity sales/purchases without system (year 1 hourly) [$]
Type: sequence
-
year1_hourly_system_to_load
¶ Electricity from system to load (year 1 hourly) [kWh]
Type: sequence
-
year1_monthly_cumulative_excess_dollars
¶ Excess generation cumulative $ credit earned [$/mo]
Type: sequence
-
year1_monthly_cumulative_excess_generation
¶ Excess generation cumulative kWh credit earned [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_gross_with_system
¶ Energy charge with system before credits [$/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
¶ Demand peak with system [kW/mo]
Type: sequence
-
year1_monthly_peak_wo_system
¶ Demand peak without system [kW/mo]
Type: sequence
-
year1_monthly_use_w_system
¶ Electricity use with system [kWh/mo]
Type: sequence
-
year1_monthly_use_wo_system
¶ Electricity use without system [kWh/mo]
Type: sequence
-
year1_monthly_utility_bill_w_sys
¶ Electricity bill with system [$/mo]
Type: sequence
-
year1_monthly_utility_bill_wo_sys
¶ Electricity bill without system [$/mo]
Type: sequence
-