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