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