Utilityrateforecast

Utilityrateforecast

PySAM.Utilityrateforecast.default(config) Utilityrateforecast

Load defaults for the configuration config. Available configurations are:

  • None

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.Utilityrateforecast.from_existing(data, optional config) Utilityrateforecast

Share data with an existing PySAM class. If optional config is a valid configuration name, load the module’s defaults for that configuration.

PySAM.Utilityrateforecast.new() Utilityrateforecast
PySAM.Utilityrateforecast.wrap(ssc_data_t) Utilityrateforecast

Load data from a PySSC object.

Warning

Do not call PySSC.data_free on the ssc_data_t provided to wrap()

Utilityrateforecast is a wrapper for the SSC compute module cmod_utilityrateforecast.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.

  • None

Functions

class PySAM.Utilityrateforecast.Utilityrateforecast

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

get_data_ptr() Pointer

Get ssc_data_t pointer

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 = { 'Electricity Rates': { var: val, ...}, ...}

setup() None

Setup parameters in simulation

unassign(name) None

Unassign a value in any of the variable groups.

value(name, optional value) None | float | dict | sequence | str

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

ElectricityRates Group

class PySAM.Utilityrateforecast.Utilityrateforecast.ElectricityRates
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

ElectricityRates_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

Replace attributes from dictionary, unassigning values not present in input dict.

ElectricityRates_vals = { var: val, ...}

en_electricity_rates

Optionally enable/disable electricity_rate [years]

Constraints: INTEGER,MIN=0,MAX=1

Type:

float

gen

Lifetime generation forecast

Type:

sequence

grid_power

Electricity to/from grid

Type:

sequence

load

Lifetime load forecast

Type:

sequence

rate_escalation

Annual electricity rate escalation [%/year]

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

sequence

ur_annual_min_charge

Annual minimum charge [$]

Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.

Type:

float

ur_billing_demand_lookback_percentages

Billing demand lookback percentages by month and consider actual peak demand [%]

Info: 12x2

Required: Required if ur_enable_billing_demand=1

Type:

sequence[sequence]

ur_billing_demand_lookback_period

Billing demand lookback period [mn]

Constraints: INTEGER,MIN=0,MAX=12

Required: Required if ur_enable_billing_demand=1

Type:

float

ur_billing_demand_minimum

Minimum billing demand [kW]

Required: Required if ur_enable_billing_demand=1

Type:

float

ur_dc_billing_demand_periods

Billing demand applicability to a given demand charge time of use period

Required: Required if ur_enable_billing_demand=1

Type:

sequence[sequence]

ur_dc_enable

Enable demand charge [0/1]

Options: 0=disable,1=enable

Constraints: BOOLEAN

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

ur_dc_flat_mat

Demand rates (flat) table [col 0=month, col 1=tier no, col 2=tier peak (kW), col 3=charge ($/kW)]

Info: nx4

Required: Required if ur_dc_enable=1

Type:

sequence[sequence]

ur_dc_peaks

Peak demand by month and period

INOUT: This variable is both an input and an output to the compute module.

Type:

sequence[sequence]

ur_dc_sched_weekday

Demand charge weekday schedule [Periods defined in ur_dc_tou_mat]

Info: 12x24

Type:

sequence[sequence]

ur_dc_sched_weekend

Demand charge weekend schedule [Periods defined in ur_dc_tou_mat]

Info: 12x24

Type:

sequence[sequence]

ur_dc_tou_mat

Demand rates (TOU) table [col 0=period no, col 1=tier no, col 2=tier peak (kW), col 3=charge ($/kW)]

Info: nx4

Required: Required if ur_dc_enable=1

Type:

sequence[sequence]

ur_ec_sched_weekday

Energy charge weekday schedule [Periods defined in ur_ec_tou_mat]

Info: 12x24

Type:

sequence[sequence]

ur_ec_sched_weekend

Energy charge weekend schedule [Periods defined in ur_ec_tou_mat]

Info: 12x24

Type:

sequence[sequence]

ur_ec_tou_mat

Energy rates table [col 0=period no, col 1=tier no, col 2=max usage, col 3=max usage units (0=kWh, 1=kWh/kW, 2=kWh daily, 3=kWh/kW daily), col 4=buy rate ($/kWh), col 5=sell rate ($/kWh)]

Info: nx6

Type:

sequence[sequence]

ur_en_ts_buy_rate

Enable time step buy rates [0/1]

Options: 0=disable,1=enable

Constraints: BOOLEAN

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

ur_en_ts_sell_rate

Enable time step sell rates [0/1]

Options: 0=disable,1=enable

Constraints: BOOLEAN

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

ur_enable_billing_demand

Enable billing demand ratchets [0/1]

Options: 0=disable,1=enable

Constraints: INTEGER,MIN=0,MAX=1

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

ur_energy_use

Energy use or surplus by month and period

INOUT: This variable is both an input and an output to the compute module.

Type:

sequence[sequence]

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: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

ur_monthly_fixed_charge

Monthly fixed charge [$]

Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.

Type:

float

ur_monthly_min_charge

Monthly minimum charge [$]

Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.

Type:

float

ur_nm_credit_month

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

Constraints: INTEGER,MIN=0,MAX=11

Required: False. Automatically set to 11 if not assigned explicitly or loaded from defaults.

Type:

float

ur_nm_credit_rollover

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

Options: 0=disable,1=enable

Constraints: INTEGER,MIN=0,MAX=1

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

ur_nm_yearend_sell_rate

Net metering true-up credit sell rate [$/kWh]

Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.

Type:

float

ur_sell_eq_buy

Set sell rate equal to buy rate [0/1]

Info: Optional override

Constraints: BOOLEAN

Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.

Type:

float

ur_ts_buy_rate

Time step buy rates [$/kWh]

Type:

sequence

ur_ts_sell_rate

Time step sell rates [$/kWh]

Type:

sequence

ur_yearzero_usage_peaks

Peak usage by month for year zero [kW]

Info: 12

Required: Required if ur_enable_billing_demand=1

Type:

sequence

Lifetime Group

class PySAM.Utilityrateforecast.Utilityrateforecast.Lifetime
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

Lifetime_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

Replace attributes from dictionary, unassigning values not present in input dict.

Lifetime_vals = { var: val, ...}

analysis_period

Number of years in escalation and forecast [years]

Constraints: INTEGER,POSITIVE

Required: True

Type:

float

inflation_rate

Inflation rate [%]

Constraints: MIN=-99

Required: True

Type:

float

Controls Group

class PySAM.Utilityrateforecast.Utilityrateforecast.Controls
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

Controls_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

Replace attributes from dictionary, unassigning values not present in input dict.

Controls_vals = { var: val, ...}

idx

Starting index (lifetime)

INOUT: This variable is both an input and an output to the compute module.

Type:

float

steps_per_hour

Steps per hour [hr]

Required: True

Type:

float

Outputs Group

class PySAM.Utilityrateforecast.Utilityrateforecast.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, ...}

ur_price_series

Estimated cost of each timestep [$]

Type:

sequence

ur_total_bill

Total cost for the calculated period [$]

Type:

float