Utilityrate5

Wrapper for SAM Simulation Core model: cmod_utilityrate5.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.

Utilityrate5 model description

Retail electricity bill calculator

PySAM.Utilityrate5.default(config) → Utilityrate5

Use default attributes config options:

  • “DSLFCommercial”
  • “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

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.

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

Type:sequence[sequence]
ur_ec_sched_weekend

Energy charge weekend schedule

Info: 12x24

Type:sequence[sequence]
ur_ec_tou_mat

Energy rates table

Type:sequence[sequence]
ur_en_ts_buy_rate

Enable time step buy rates [0/1]

Constraints: BOOLEAN

Required: If not provided, assumed to be 0

Type:float
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_credit_month

Month of year end payout (true-up) [mn]

Constraints: INTEGER,MIN=0,MAX=11

Required: If not provided, assumed to be 11

Type:float
ur_nm_credit_rollover

Apply net metering true-up credits to future bills [0/1]

Constraints: INTEGER,MIN=0,MAX=1

Required: If not provided, assumed to be 0

Type:float
ur_nm_yearend_sell_rate

Net metering true-up credit 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_kwhs_earned_ym

Excess generation [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]
net_billing_credits_ym

Net billing credit [$]

Type:sequence[sequence]
nm_dollars_applied_ym

Net metering credit [$]

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

Net annual true-up payments [$]

Type:sequence[sequence]
two_meter_sales_ym

Buy all sell all electricity sales to grid [$]

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_kwhs_earned

Excess generation [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_generation

Net metering cumulative credit for annual true-up [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
year1_net_billing_credits

Net billing credit [$/mo]

Type:sequence
year1_nm_dollars_applied

Net metering credit [$/mo]

Type:sequence
year1_true_up_credits

Net annual true-up payments [$/mo]

Type:sequence
year1_two_meter_sales

Buy all sell all electricity sales to grid [$/mo]

Type:sequence