Thirdpartyownership

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

Thirdpartyownership model description

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

PySAM.Thirdpartyownership.default(config) → Thirdpartyownership

Use financial model-specific default attributes config options:

  • “FlatPlatePVThirdParty”
  • “GenericSystemThirdParty”
  • “PVWattsThirdParty”
PySAM.Thirdpartyownership.new() → Thirdpartyownership
PySAM.Thirdpartyownership.wrap(ssc_data_t) → Thirdpartyownership

Use existing PySSC data

Warning

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

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

Depreciation Group

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

Assign attributes from dictionary

Depreciation_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

depr_fed_custom

sequence: Federal custom depreciation [%/year]

Required: set to 3 if not provided.

depr_fed_sl_years

float: Federal depreciation straight-line Years [years]

Constraints: INTEGER,POSITIVE

Required: set to 2 if not provided.

depr_fed_type

float: Federal depreciation type

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

Constraints: INTEGER,MIN=0,MAX=3

Required: set to 0 if not provided.

depr_sta_custom

sequence: State custom depreciation [%/year]

Required: set to 3 if not provided.

depr_sta_sl_years

float: State depreciation straight-line years [years]

Constraints: INTEGER,POSITIVE

Required: set to 2 if not provided.

depr_sta_type

float: State depreciation type

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

Constraints: INTEGER,MIN=0,MAX=3

Required: set to 0 if not provided.

Financials Group

class PySAM.Thirdpartyownership.Thirdpartyownership.Financials
assign() → None

Assign attributes from dictionary

Financials_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

analysis_period

float: Analyis period [years]

Constraints: INTEGER,MIN=0,MAX=50

Required: set to 30 if not provided.

inflation_rate

float: Inflation rate [%]

Constraints: MIN=-99

Required: True

real_discount_rate

float: Real discount rate [%]

Constraints: MIN=-99

Required: True

FinancialThirdPartyOwnership Group

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

Assign attributes from dictionary

FinancialThirdPartyOwnership_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

lease_or_ppa

float: Lease or PPA agreement [0/1]

Options: 0=lease,1=ppa

Constraints: INTEGER,MIN=0,MAX=1

Required: set to 0 if not provided.

Common Group

class PySAM.Thirdpartyownership.Thirdpartyownership.Common
assign() → None

Assign attributes from dictionary

Common_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

annual_energy_value

sequence: Energy value [$]

Required: True

gen

sequence: Power generated by renewable resource [kW]

Required: True

AnnualOutput Group

class PySAM.Thirdpartyownership.Thirdpartyownership.AnnualOutput
assign() → None

Assign attributes from dictionary

AnnualOutput_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

degradation

sequence: Annual degradation [%]

Required: True

system_use_lifetime_output

float: Lifetime hourly system outputs [0/1]

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

Constraints: INTEGER,MIN=0

Required: True

CashFlow Group

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

Assign attributes from dictionary

CashFlow_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

lease_escalation

float: Monthly lease escalation [%/year]

Required: set to 0 if not provided.

lease_price

float: Monthly lease price [$/month]

Required: set to 0 if not provided.

ppa_escalation

float: Monthly lease escalation [%/year]

Required: set to 1 if not provided.

ppa_price

float: Monthly lease price [$/month]

Required: set to 1 if not provided.

ElectricityCost Group

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

Assign attributes from dictionary

ElectricityCost_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

elec_cost_with_system

sequence: Energy value [$]

Required: True

elec_cost_without_system

sequence: Energy value [$]

Required: True

Outputs Group

class PySAM.Thirdpartyownership.Thirdpartyownership.Outputs
assign() → None

Assign attributes from dictionary

Outputs_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

cf_after_tax_cash_flow

sequence: After-tax cash flow [$]

cf_after_tax_net_equity_cost_flow

sequence: After-tax annual costs [$]

cf_agreement_cost

sequence: Agreement cost [$]

cf_cumulative_payback_with_expenses

sequence: Cumulative simple payback with expenses [$]

cf_energy_net

sequence: Energy [kWh]

cf_length

float: Agreement period

cf_nte

sequence: Host indifference point by year [cents/kWh]

cf_payback_with_expenses

sequence: Simple payback with expenses [$]

lnte_nom

float: Host indifference point real levelized value [cents/kWh]

lnte_real

float: Host indifference point nominal levelized value [cents/kWh]

npv

float: Net present value [$]

year1_nte

float: Host indifference point in Year 1 [cents/kWh]