Thirdpartyownership

Third party ownership with PPA or lease agreement financial model from host perspective

PySAM.Thirdpartyownership.default(config) Thirdpartyownership

Load defaults for the configuration config. Available configurations are:

  • “FlatPlatePVThirdParty”

  • “GenericBatteryThirdParty”

  • “GenericSystemThirdParty”

  • “PVBatteryThirdParty”

  • “PVWattsBatteryThirdParty”

  • “PVWattsThirdParty”

  • “StandaloneBatteryThirdParty”

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

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

PySAM.Thirdpartyownership.new() Thirdpartyownership
PySAM.Thirdpartyownership.wrap(ssc_data_t) Thirdpartyownership

Load data from a PySSC object.

Warning

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

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

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

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.

Depreciation Group

class PySAM.Thirdpartyownership.Thirdpartyownership.Depreciation
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

Depreciation_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

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

Depreciation_vals = { var: val, ...}

depr_fed_custom

Federal custom depreciation [%/year]

Required: Required if depr_fed_type=3

Type:

sequence

depr_fed_sl_years

Federal depreciation straight-line Years [years]

Constraints: INTEGER,POSITIVE

Required: Required if depr_fed_type=2

Type:

float

depr_fed_type

Federal depreciation type

Options: 0=none,1=macrs_half_year,2=sl,3=custom

Constraints: INTEGER,MIN=0,MAX=3

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

Type:

float

depr_sta_custom

State custom depreciation [%/year]

Required: Required if depr_sta_type=3

Type:

sequence

depr_sta_sl_years

State depreciation straight-line years [years]

Constraints: INTEGER,POSITIVE

Required: Required if depr_sta_type=2

Type:

float

depr_sta_type

State depreciation type

Options: 0=none,1=macrs_half_year,2=sl,3=custom

Constraints: INTEGER,MIN=0,MAX=3

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

Type:

float

Financials Group

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

analysis_period

Analyis period [years]

Constraints: INTEGER,MIN=0,MAX=50

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

Type:

float

inflation_rate

Inflation rate [%]

Constraints: MIN=-99

Required: True

Type:

float

real_discount_rate

Real discount rate [%]

Constraints: MIN=-99

Required: True

Type:

float

FinancialThirdPartyOwnership Group

class PySAM.Thirdpartyownership.Thirdpartyownership.FinancialThirdPartyOwnership
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

FinancialThirdPartyOwnership_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

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

FinancialThirdPartyOwnership_vals = { var: val, ...}

lease_or_ppa

Lease or PPA agreement [0/1]

Options: 0=lease,1=ppa

Constraints: INTEGER,MIN=0,MAX=1

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

Type:

float

Common Group

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

annual_energy_value

Energy value [$]

Required: True

Type:

sequence

gen

Power generated by renewable resource [kW]

Required: True

Type:

sequence

AnnualOutput Group

class PySAM.Thirdpartyownership.Thirdpartyownership.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 degradation [%]

Required: True

Type:

sequence

system_use_lifetime_output

Lifetime hourly system outputs [0/1]

Options: 0=hourly first year,1=hourly lifetime

Constraints: INTEGER,MIN=0

Required: True

Type:

float

CashFlow Group

class PySAM.Thirdpartyownership.Thirdpartyownership.CashFlow
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

CashFlow_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

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

CashFlow_vals = { var: val, ...}

lease_escalation

Monthly lease escalation [%/year]

Required: Required if lease_or_ppa=0

Type:

float

lease_price

Monthly lease price [$/month]

Required: Required if lease_or_ppa=0

Type:

float

ppa_escalation

Monthly lease escalation [%/year]

Required: Required if lease_or_ppa=1

Type:

float

ppa_price

Monthly lease price [$/month]

Required: Required if lease_or_ppa=1

Type:

float

ElectricityCost Group

class PySAM.Thirdpartyownership.Thirdpartyownership.ElectricityCost
assign(dict) None

Assign attributes from dictionary, overwriting but not removing values.

ElectricityCost_vals = { var: val, ...}

export() dict

Export attributes into dictionary.

replace(dict) None

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

ElectricityCost_vals = { var: val, ...}

elec_cost_with_system

Energy value [$]

Required: True

Type:

sequence

elec_cost_without_system

Energy value [$]

Required: True

Type:

sequence

Outputs Group

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

cf_after_tax_cash_flow

After-tax cash flow [$]

Type:

sequence

cf_after_tax_net_equity_cost_flow

After-tax annual costs [$]

Type:

sequence

cf_agreement_cost

Agreement cost [$]

Type:

sequence

cf_cumulative_payback_with_expenses

Cumulative simple payback with expenses [$]

Type:

sequence

cf_energy_net

Electricity net generation [kWh]

Type:

sequence

cf_energy_purchases

Electricity from grid to system [kWh]

Type:

sequence

cf_energy_sales

Electricity generation [kWh]

Type:

sequence

cf_length

Agreement period

Type:

float

cf_nte

Host indifference point by year [cents/kWh]

Type:

sequence

cf_payback_with_expenses

Simple payback with expenses [$]

Type:

sequence

lnte_nom

Host indifference point real levelized value [cents/kWh]

Type:

float

lnte_real

Host indifference point nominal levelized value [cents/kWh]

Type:

float

npv

NPV Net present value [$]

Type:

float

year1_nte

Host indifference point in Year 1 [cents/kWh]

Type:

float