GenericSystem

Wrapper for SAM Simulation Core model: cmod_generic_system.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:

  • conv_eff
  • heat_rate

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.

GenericSystem model description

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

Use default attributes config options:

  • “GenericBatteryAllEquityPartnershipFlip”
  • “GenericBatteryCommercial”
  • “GenericBatteryHostDeveloper”
  • “GenericBatteryLeveragedPartnershipFlip”
  • “GenericBatteryMerchantPlant”
  • “GenericBatteryResidential”
  • “GenericBatterySaleLeaseback”
  • “GenericBatterySingleOwner”
  • “GenericBatteryThirdParty”
  • “GenericSystemAllEquityPartnershipFlip”
  • “GenericSystemCommercial”
  • “GenericSystemHostDeveloper”
  • “GenericSystemLCOECalculator”
  • “GenericSystemLeveragedPartnershipFlip”
  • “GenericSystemMerchantPlant”
  • “GenericSystemNone”
  • “GenericSystemResidential”
  • “GenericSystemSaleLeaseback”
  • “GenericSystemSingleOwner”
  • “GenericSystemThirdParty”
PySAM.GenericSystem.from_existing(data, optional config) → GenericSystem

Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.

PySAM.GenericSystem.new() → GenericSystem
PySAM.GenericSystem.wrap(ssc_data_t) → GenericSystem

Use existing PySSC data

Warning

Do not call PySSC.data_free on the ssc_data_t provided to wrap

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

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.

Plant Group

class PySAM.GenericSystem.GenericSystem.Plant
assign() → None

Assign attributes from dictionary

Plant_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

conv_eff

Conversion Efficiency [%]

Required: True

This variable may need to be updated if the values of the following have changed:
  • heat_rate
Type:float
derate

Derate [%]

Required: True

Type:float
energy_output_array

Array of Energy Output Profile [kW]

Required: True if spec_mode=1

Type:sequence
heat_rate

Heat Rate [MMBTUs/MWhe]

Required: True

Changes to this variable may require updating the values of the following:
  • conv_eff
Type:float
spec_mode

0=constant CF,1=profile

Required: True

Type:float
Type:Spec mode
system_capacity

Nameplace Capcity [kW]

Required: True

Type:float
user_capacity_factor

Capacity Factor [%]

Required: True

Type:float

Lifetime Group

class PySAM.GenericSystem.GenericSystem.Lifetime
assign() → None

Assign attributes from dictionary

Lifetime_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

analysis_period

Lifetime analysis period [years]

Required: True if system_use_lifetime_output=1

Type:float
generic_degradation

Annual AC degradation [%/year]

Required: True if system_use_lifetime_output=1

Type:sequence
system_use_lifetime_output

Generic lifetime simulation [0/1]

Constraints: INTEGER,MIN=0,MAX=1

Required: If not provided, assumed to be 0

Type:float

AdjustmentFactors Group

class PySAM.GenericSystem.GenericSystem.AdjustmentFactors
assign() → None

Assign attributes from dictionary

export() → Dict

Export attributes into dictionary

constant

float

Type:type
dc_constant

DC Constant loss adjustment [%]

dc_hourly

DC Hourly Adjustment Factors [%]

dc_periods

DC Period-based Adjustment Factors [%]

hourly

AC Hourly Adjustment Factors [%]

periods

AC Period-based Adjustment Factors [%]

sf_constant

DC Constant loss adjustment [%]

sf_hourly

DC Hourly Adjustment Factors [%]

sf_periods

DC Period-based Adjustment Factors [%]

Outputs Group

class PySAM.GenericSystem.GenericSystem.Outputs
assign() → None

Assign attributes from dictionary

Outputs_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

annual_energy

Annual Energy [kWh]

Type:float
annual_fuel_usage

Annual Fuel Usage [kWht]

Type:float
capacity_factor

Capacity factor [%]

Type:float
gen

System power generated [kW]

Type:sequence
kwh_per_kw

First year kWh/kW [kWh/kW]

Type:float
monthly_energy

Monthly Energy [kWh]

Type:sequence
system_heat_rate

Heat Rate Conversion Factor [MMBTUs/MWhe]

Type:float
water_usage

Annual Water Usage

Type:float