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
-
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) → Union[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
-