GenericSystem
Basic power system model using either capacity, capacity factor, and heat rate, or an hourly power generation profile as input
- PySAM.GenericSystem.default(config) GenericSystem
Load defaults for the configuration
config
. Available configurations are:“GenericBatteryAllEquityPartnershipFlip”
“GenericBatteryCommercial”
“GenericBatteryHostDeveloper”
“GenericBatteryLeveragedPartnershipFlip”
“GenericBatteryMerchantPlant”
“GenericBatteryResidential”
“GenericBatterySaleLeaseback”
“GenericBatterySingleOwner”
“GenericBatteryThirdParty”
“GenericPVWattsWindFuelCellBatteryHybridHostDeveloper”
“GenericPVWattsWindFuelCellBatteryHybridSingleOwner”
“GenericSystemAllEquityPartnershipFlip”
“GenericSystemCommercial”
“GenericSystemHostDeveloper”
“GenericSystemLCOECalculator”
“GenericSystemLeveragedPartnershipFlip”
“GenericSystemMerchantPlant”
“GenericSystemNone”
“GenericSystemResidential”
“GenericSystemSaleLeaseback”
“GenericSystemSingleOwner”
“GenericSystemThirdParty”
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.GenericSystem.from_existing(data, optional config) GenericSystem
Share data with an existing PySAM class. If
optional config
is a valid configuration name, load the module’s defaults for that configuration.
- PySAM.GenericSystem.new() GenericSystem
- PySAM.GenericSystem.wrap(ssc_data_t) GenericSystem
Load data from a PySSC object.
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap()
GenericSystem is a wrapper for the SSC compute module cmod_generic_system.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.
conv_eff
heat_rate
system_capacity
Functions
- class PySAM.GenericSystem.GenericSystem
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 = { 'Plant': { 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 = { 'Plant': { 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.
Plant Group
- class PySAM.GenericSystem.GenericSystem.Plant
- assign(dict) None
Assign attributes from dictionary, overwriting but not removing values.
Plant_vals = { var: val, ...}
- export() dict
Export attributes into dictionary.
- replace(dict) None
Replace attributes from dictionary, unassigning values not present in input
dict
.Plant_vals = { var: val, ...}
- conv_eff
Conversion Efficiency [%]
Required: True
The value of
conv_eff
depends on the following variables:heat_rate
- Type:
float
- derate
Derate [%]
Required: True
- Type:
float
- energy_output_array
Array of Energy Output Profile [kW]
Required: Required if spec_mode=1
- Type:
sequence
- heat_rate
Heat Rate [MMBTUs/MWhe]
Required: True
The value of the following variables depends on
heat_rate
:conv_eff
- Type:
float
- spec_mode
0=constant CF,1=profile
Required: True
- Type:
float
- Type:
Spec mode
- system_capacity
Nameplace Capcity [kW]
INOUT: This variable is both an input and an output to the compute module.
Required: True
- Type:
float
- user_capacity_factor
Capacity Factor [%]
Required: True
- Type:
float
Lifetime Group
- class PySAM.GenericSystem.GenericSystem.Lifetime
- assign(dict) None
Assign attributes from dictionary, overwriting but not removing values.
Lifetime_vals = { var: val, ...}
- export() dict
Export attributes into dictionary.
- replace(dict) None
Replace attributes from dictionary, unassigning values not present in input
dict
.Lifetime_vals = { var: val, ...}
- analysis_period
Lifetime analysis period [years]
Required: Required if system_use_lifetime_output=1
- Type:
float
- generic_degradation
Annual AC degradation [%/year]
Required: Required if system_use_lifetime_output=1
- Type:
sequence
- system_use_lifetime_output
Generic lifetime simulation [0/1]
Constraints: INTEGER,MIN=0,MAX=1
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
AdjustmentFactors Group
- class PySAM.AdjustmentFactors.AdjustmentFactors
- assign() None
Assign attributes from dictionary
- export() Dict
Export attributes into dictionary
- constant
AC Constant loss adjustment [%]
- dc_constant
DC Constant loss adjustment [%]
- dc_en_hourly
Enable DC hourly-based adjustment factors [0/1]
- dc_en_periods
Enable DC period-based adjustment factors [0/1]
- dc_en_timeindex
Enable DC lfetime adjustment factors [0/1]
- dc_hourly
DC Hourly Adjustment Factors [%]
- dc_periods
DC Period-based Adjustment Factors [%]
- dc_timeindex
DC Lifetime Adjustment Factors [%]
- en_hourly
Enable AC hourly-based adjustment factors [0/1]
- en_periods
Enable AC period-based adjustment factors [0/1]
- en_timeindex
Enable AC lfetime adjustment factors [0/1]
- hourly
AC Hourly Adjustment Factors [%]
- periods
AC Period-based Adjustment Factors [%]
- sf_constant
DC Constant loss adjustment [%]
- sf_en_hourly
Enable SF hourly-based adjustment factors [0/1]
- sf_en_periods
Enable SF period-based adjustment factors [0/1]
- sf_en_timeindex
Enable SF lfetime adjustment factors [0/1]
- sf_hourly
SF Hourly Adjustment Factors [%]
- sf_periods
SF Period-based Adjustment Factors [%]
- sf_timeindex
SF Lifetime Adjustment Factors [%]
- timeindex
AC Lifetime Adjustment Factors [%]
HybridCosts Group
- class PySAM.GenericSystem.GenericSystem.HybridCosts
- assign(dict) None
Assign attributes from dictionary, overwriting but not removing values.
HybridCosts_vals = { var: val, ...}
- export() dict
Export attributes into dictionary.
- replace(dict) None
Replace attributes from dictionary, unassigning values not present in input
dict
.HybridCosts_vals = { var: val, ...}
- annual_fuel_usage_lifetime
Fuel usage (lifetime) [kWht]
Info: generic_system,fuelcell,tcslinearfresnel,tcstroughempirical,tcsgenericsolar,fresnelphysical
- Type:
sequence
- degradation
Annual AC degradation [%]
Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.
- Type:
sequence
- land_area
Total land area [acres]
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
The value of
land_area
depends on the following variables:system_capacity
- Type:
float
- om_capacity
Capacity-based O&M amount [$/kWcap]
Info: !battery,!fuelcell
Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.
- Type:
sequence
- om_capacity_escal
Capacity-based O&M escalation [%/year]
Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.
- Type:
float
- om_fixed
Fixed O&M annual amount [$/year]
Info: !battery,!fuelcell
Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.
- Type:
sequence
- om_fixed_escal
Fixed O&M escalation [%/year]
Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.
- Type:
float
- om_fuel_cost
Fuel cost [$/MMBtu]
Info: generic_system,fuelcell,tcslinearfresnel,tcstroughempirical,tcsgenericsolar,fresnelphysical
Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.
- Type:
sequence
- om_fuel_cost_escal
Fuel cost escalation [%/year]
Info: generic_system,fuelcell,tcslinearfresnel,tcstroughempirical,tcsgenericsolar,fresnelphysical
Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.
- Type:
float
- om_land_lease
Land lease cost [$/acre]
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
sequence
- om_land_lease_escal
Land lease cost escalation [%/yr]
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
- om_production
Production-based O&M amount [$/MWh]
Info: !battery,!fuelcell
Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.
- Type:
sequence
- om_production_escal
Production-based O&M escalation [%/year]
Required: False. Automatically set to 0.0 if not assigned explicitly or loaded from defaults.
- Type:
float
- total_installed_cost
Total installed cost [$]
Required: True
The value of
total_installed_cost
depends on the following variables:system_capacity
- Type:
float
Outputs Group
- class PySAM.GenericSystem.GenericSystem.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, ...}
- annual_energy
Annual Energy [kWh]
- Type:
float
- annual_energy_distribution_time
Annual energy production as function of time [kW]
- Type:
sequence[sequence]
- annual_fuel_usage
Annual Fuel Usage [kWht]
- Type:
float
- capacity_factor
Capacity factor [%]
- Type:
float
- cf_battery_replacement_cost_schedule
replacement O&M costs [$]
- Type:
sequence
- cf_energy_net
annual energy [kWh]
- Type:
sequence
- cf_fuelcell_replacement_cost_schedule
replacement O&M costs [$]
- Type:
sequence
- cf_land_lease_expense
Land lease expense [$]
- Type:
sequence
- cf_om_capacity
capacity O&M costs [$]
- Type:
sequence
- cf_om_fixed
fixed O&M costs [$]
- Type:
sequence
- cf_om_fuel_cost
fossil fuel O&M costs [$]
- Type:
sequence
- cf_om_land_lease
land lease O&M costs [$]
- Type:
sequence
- cf_om_production
production O&M costs [$]
- Type:
sequence
- gen
System power generated [kW]
- Type:
sequence
- kwh_per_kw
First year kWh/kW [kWh/kW]
- Type:
float
- monthly_energy
Monthly Energy Gross [kWh]
- Type:
sequence
- system_heat_rate
Heat Rate Conversion Factor [MMBTUs/MWhe]
- Type:
float
- water_usage
Annual Water Usage
- Type:
float