Thirdpartyownership¶
Wrapper for SAM Simulation Core model: cmod_thirdpartyownership.cpp
Input Consistency Warning¶
As described in Possible Problems, some input parameters are interdependent but the equations that enforce consistency are not available in this PySAM module. Therefore, the onus is on the PySAM user to check that interdependencies are correctly handled. The variables which may require additional logic include:
Provided for each of these inputs is a list of other inputs that are potentially interdependent.
Creating an Instance¶
Refer to the Initializing a Model page for details on the different ways to create an instance of a PySAM class.
Thirdpartyownership model description
Third party ownership with PPA or lease agreement financial model from host perspective
-
PySAM.Thirdpartyownership.
default
(config) → Thirdpartyownership¶ Use default attributes config options:
- “FlatPlatePVThirdParty”
- “GenericBatteryThirdParty”
- “GenericSystemThirdParty”
- “PVBatteryThirdParty”
- “PVWattsBatteryThirdParty”
- “PVWattsThirdParty”
-
PySAM.Thirdpartyownership.
from_existing
(data, optional config) → Thirdpartyownership¶ Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.
-
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
-
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: True if depr_fed_type=3
Type: sequence
-
depr_fed_sl_years
¶ Federal depreciation straight-line Years [years]
Constraints: INTEGER,POSITIVE
Required: True 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: If not provided, assumed to be 0
Type: float
-
depr_sta_custom
¶ State custom depreciation [%/year]
Required: True if depr_sta_type=3
Type: sequence
-
depr_sta_sl_years
¶ State depreciation straight-line years [years]
Constraints: INTEGER,POSITIVE
Required: True 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: If not provided, assumed to be 0
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: If not provided, assumed to be 30
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: If not provided, assumed to be 0
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: True if lease_or_ppa=0
Type: float
-
lease_price
¶ Monthly lease price [$/month]
Required: True if lease_or_ppa=0
Type: float
-
ppa_escalation
¶ Monthly lease escalation [%/year]
Required: True if lease_or_ppa=1
Type: float
-
ppa_price
¶ Monthly lease price [$/month]
Required: True 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
¶ Energy [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
¶ Net present value [$]
Type: float
-
year1_nte
¶ Host indifference point in Year 1 [cents/kWh]
Type: float
-