TcsgenericSolar
CSP power system model with solar field characterized using a table of optical efficiency values
- PySAM.TcsgenericSolar.default(config) TcsgenericSolar
Load defaults for the configuration
config
. Available configurations are:“GenericCSPSystemAllEquityPartnershipFlip”
“GenericCSPSystemCommercial”
“GenericCSPSystemLCOECalculator”
“GenericCSPSystemLeveragedPartnershipFlip”
“GenericCSPSystemMerchantPlant”
“GenericCSPSystemNone”
“GenericCSPSystemSaleLeaseback”
“GenericCSPSystemSingleOwner”
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.TcsgenericSolar.from_existing(data, optional config) TcsgenericSolar
Share data with an existing PySAM class. If
optional config
is a valid configuration name, load the module’s defaults for that configuration.
- PySAM.TcsgenericSolar.new() TcsgenericSolar
- PySAM.TcsgenericSolar.wrap(ssc_data_t) TcsgenericSolar
Load data from a PySSC object.
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap()
TcsgenericSolar is a wrapper for the SSC compute module cmod_tcsgeneric_solar.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.
eta_des
qsf_des
solarm
system_capacity
w_des
Functions
- class PySAM.TcsgenericSolar.TcsgenericSolar
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 = { 'weather': { 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 = { 'weather': { 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.
Weather Group
- class PySAM.TcsgenericSolar.TcsgenericSolar.Weather
- assign(dict) None
Assign attributes from dictionary, overwriting but not removing values.
Weather_vals = { var: val, ...}
- export() dict
Export attributes into dictionary.
- replace(dict) None
Replace attributes from dictionary, unassigning values not present in input
dict
.Weather_vals = { var: val, ...}
- azimuth
Azimuth angle of surface/axis
Required: True
- Type:
float
- file_name
local weather file path
Constraints: LOCAL_FILE
Required: True
- Type:
str
- tilt
Tilt angle of surface/axis
Required: True
- Type:
float
- track_mode
Tracking mode
Required: True
- Type:
float
GenericSolar Group
- class PySAM.TcsgenericSolar.TcsgenericSolar.GenericSolar
- assign(dict) None
Assign attributes from dictionary, overwriting but not removing values.
GenericSolar_vals = { var: val, ...}
- export() dict
Export attributes into dictionary.
- replace(dict) None
Replace attributes from dictionary, unassigning values not present in input
dict
.GenericSolar_vals = { var: val, ...}
- system_capacity
Nameplate capacity [kW]
Required: True
The value of
system_capacity
depends on the following variables:w_des
- Type:
float
TouTranslator Group
- class PySAM.TcsgenericSolar.TcsgenericSolar.TouTranslator
- assign(dict) None
Assign attributes from dictionary, overwriting but not removing values.
TouTranslator_vals = { var: val, ...}
- export() dict
Export attributes into dictionary.
- replace(dict) None
Replace attributes from dictionary, unassigning values not present in input
dict
.TouTranslator_vals = { var: val, ...}
- weekday_schedule
12x24 Time of Use Values for week days
Required: True
- Type:
sequence[sequence]
- weekend_schedule
12x24 Time of Use Values for week end days
Required: True
- Type:
sequence[sequence]
Type260 Group
- class PySAM.TcsgenericSolar.TcsgenericSolar.Type260
- assign(dict) None
Assign attributes from dictionary, overwriting but not removing values.
Type260_vals = { var: val, ...}
- export() dict
Export attributes into dictionary.
- replace(dict) None
Replace attributes from dictionary, unassigning values not present in input
dict
.Type260_vals = { var: val, ...}
- OpticalTable
Optical table [none]
Required: True
- Type:
sequence[sequence]
- PC_T_corr
Power conversion temperature correction mode (1=wetb, 2=dryb) [none]
Constraints: INTEGER
Required: True
- Type:
float
- T_pcdes
Power conversion reference temperature [C]
Required: True
- Type:
float
- T_sfdes
Solar field design point temperature (dry bulb) [C]
Required: True
- Type:
float
- Wpar_prodD_coefs
DNI-based production parasitic adjustment coefs. [m2/W]
Required: True
- Type:
sequence
- Wpar_prodQ_coefs
Part-load production parasitic adjustment coefs. [1/MWe]
Required: True
- Type:
sequence
- Wpar_prodT_coefs
Temp.-based production parasitic adjustment coefs. [1/C]
Required: True
- Type:
sequence
- diswos
Time-of-dispatch control for without-solar conditions [none]
Required: True
- Type:
sequence
- disws
Time-of-dispatch control for with-solar conditions [none]
Required: True
- Type:
sequence
- etaQ_coefs
Part-load power conversion efficiency adjustment coefficients [1/MWt]
Required: True
- Type:
sequence
- etaT_coefs
Temp.-based power conversion efficiency adjustment coefs. [1/C]
Required: True
- Type:
sequence
- eta_des
Design power cycle gross efficiency [none]
Required: True
The value of the following variables depends on
eta_des
:qsf_des
- Type:
float
- eta_lhv
Fossil backup lower heating value efficiency [none]
Required: True
- Type:
float
- eta_opt_gen
General/other optical derate [none]
Required: True
- Type:
float
- eta_opt_soil
Soiling optical derate factor [none]
Required: True
- Type:
float
- exergy_table
Exergy table [none]
Required: True
- Type:
sequence[sequence]
- f_Wpar_fixed
Fixed capacity-based parasitic loss fraction [MWe/MWcap]
Required: True
- Type:
float
- f_Wpar_prod
Production-based parasitic loss fraction [MWe/MWe]
Required: True
- Type:
float
- f_charge
Storage charging energy derate [none]
Required: True
- Type:
float
- f_disch
Storage discharging energy derate [none]
Required: True
- Type:
float
- f_etes_0
Initial fractional charge level of thermal storage (0..1) [none]
Required: True
- Type:
float
- f_sfhl_ref
Reference solar field thermal loss fraction [MW/MWcap]
Required: True
- Type:
float
- f_startup
Equivalent full-load hours required for power system startup [hours]
Required: True
- Type:
float
- f_teshl_ref
Reference heat loss from storage per max stored capacity [kWt/MWhr-stored]
Required: True
- Type:
float
- f_wmax
Maximum over-design power cycle operation fraction [none]
Required: True
- Type:
float
- f_wmin
Minimum part-load power cycle operation fraction [none]
Required: True
- Type:
float
- fdisp
Fossil backup output control factors [none]
Required: True
- Type:
sequence
- hrs_tes
Equivalent full-load hours of storage [hours]
Required: True
- Type:
float
- ibh
Beam-horizontal irradiation [kJ/hr-m^2]
Required: True
- Type:
float
- ibn
Beam-normal (DNI) irradiation [kJ/hr-m^2]
Required: True
- Type:
float
- interp_arr
Interpolate the array or find nearest neighbor? (1=interp,2=no) [none]
Constraints: INTEGER
Required: True
- Type:
float
- irr_des
Irradiation design point [W/m2]
Required: True
- Type:
float
- istableunsorted
Is optical table unsorted format? [none]
Required: True
- Type:
float
- itoth
Total horizontal irradiation [kJ/hr-m^2]
Required: True
- Type:
float
- latitude
Site latitude
Required: True
- Type:
float
- longitude
Site longitude
Required: True
- Type:
float
- ntod
Number of time-of-dispatch periods in the dispatch schedule [none]
Required: True
- Type:
float
- qdisp
TOD power output control factors [none]
Required: True
- Type:
sequence
- qsf_des
Solar field thermal production at design [MWt]
Required: True
The value of
qsf_des
depends on the following variables:eta_des
solarm
w_des
- Type:
float
- rad_type
Solar resource radiation type (1=DNI,2=horiz.beam,3=tot.horiz) [none]
Constraints: INTEGER
Required: True
- Type:
float
- sfhlQ_coefs
Irr-based solar field thermal loss adjustment coefficients [1/MWt]
Required: True
- Type:
sequence
- sfhlT_coefs
Temp.-based solar field thermal loss adjustment coefficients [1/C]
Required: True
- Type:
sequence
- sfhlV_coefs
Wind-based solar field thermal loss adjustment coefficients [1/(m/s)]
Required: True
- Type:
sequence
- solarm
Solar multiple [none]
Required: True
The value of the following variables depends on
solarm
:qsf_des
- Type:
float
- storage_config
Thermal storage configuration [none]
Required: True
- Type:
float
- tdb
Ambient dry-bulb temperature [C]
Required: True
- Type:
float
- teshlT_coefs
Temp.-based thermal loss adjustment - constant coef. [1/C]
Required: True
- Type:
sequence
- teshlX_coefs
Charge-based thermal loss adjustment - constant coef. [1/MWhr-stored]
Required: True
- Type:
sequence
- theta_dep
Solar elevation angle at which the solar field begins operating [deg]
Required: True
- Type:
float
- theta_stow
Solar elevation angle at which the solar field stops operating [deg]
Required: True
- Type:
float
- timezone
Site timezone [hr]
Required: True
- Type:
float
- twb
Ambient wet-bulb temperature [C]
Required: True
- Type:
float
- vwind
Wind velocity [m/s]
Required: True
- Type:
float
- w_des
Design power cycle gross output [MWe]
Required: True
The value of the following variables depends on
w_des
:qsf_des
system_capacity
- Type:
float
AdjustmentFactors Group
- class PySAM.TcsgenericSolar.TcsgenericSolar.AdjustmentFactors
- assign(dict) None
Assign attributes from dictionary, overwriting but not removing values.
AdjustmentFactors_vals = { var: val, ...}
- export() dict
Export attributes into dictionary.
- replace(dict) None
Replace attributes from dictionary, unassigning values not present in input
dict
.AdjustmentFactors_vals = { var: val, ...}
- adjust_constant
Constant loss adjustment [%]
Info: ‘adjust’ and ‘constant’ separated by _ instead of : after SAM 2022.12.21
Constraints: MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
- adjust_en_periods
Enable period-based adjustment factors [0/1]
Info: ‘adjust’ and ‘en_periods’ separated by _ instead of : after SAM 2022.12.21
Constraints: BOOLEAN
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
- adjust_en_timeindex
Enable lifetime adjustment factors [0/1]
Info: ‘adjust’ and ‘en_timeindex’ separated by _ instead of : after SAM 2022.12.21
Constraints: BOOLEAN
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
- adjust_periods
Period-based adjustment factors [%]
Info: Syntax: n x 3 matrix [ start, end, loss ]; Version upgrade: ‘adjust’ and ‘periods’ separated by _ instead of : after SAM 2022.12.21
Constraints: COLS=3
Required: Required if adjust_en_periods=1
- Type:
sequence[sequence]
- adjust_timeindex
Lifetime adjustment factors [%]
Info: ‘adjust’ and ‘timeindex’ separated by _ instead of : after SAM 2022.12.21
Required: Required if adjust_en_timeindex=1
- Type:
sequence
- sf_adjust_constant
SF Constant loss adjustment [%]
Info: ‘sf_adjust’ and ‘constant’ separated by _ instead of : after SAM 2022.12.21
Constraints: MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
- sf_adjust_en_periods
Enable period-based adjustment factors [0/1]
Constraints: BOOLEAN
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
- sf_adjust_en_timeindex
Enable lifetime adjustment factors [0/1]
Constraints: BOOLEAN
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
- sf_adjust_periods
SF Period-based Adjustment Factors [%]
Info: n x 3 matrix [ start, end, loss ]
Constraints: COLS=3
Required: Required if sf_adjust_en_periods=1
- Type:
sequence[sequence]
- sf_adjust_timeindex
SF Lifetime Adjustment Factors [%]
Required: Required if sf_adjust_en_timeindex=1
- Type:
sequence
Outputs Group
- class PySAM.TcsgenericSolar.TcsgenericSolar.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 AC energy in Year 1 [kWh]
- Type:
float
- annual_energy_distribution_time
Annual energy production as function of time [kW]
- Type:
sequence[sequence]
- annual_fuel_usage
Annual fuel usage [kWh]
- Type:
float
- annual_q_dump_tot
Total dumped energy [MWht]
- Type:
float
- annual_q_fossil
Thermal energy supplied from aux firing [MWht]
- Type:
float
- annual_q_from_tes
Thermal energy from storage [MWht]
- Type:
float
- annual_q_hl_sf
Solar field thermal losses [MWht]
- Type:
float
- annual_q_hl_tes
Thermal losses from storage [MWht]
- Type:
float
- annual_q_sf
Solar field delivered thermal power [MWht]
- Type:
float
- annual_q_startup
Power conversion startup energy [MWht]
- Type:
float
- annual_q_to_pb
Thermal energy to the power conversion system [MWht]
- Type:
float
- annual_q_to_tes
Thermal energy into storage [MWht]
- Type:
float
- annual_w_gr
Total gross power production [kWh]
- Type:
float
- beam
Resource Beam normal irradiance [W/m2]
- Type:
sequence
- capacity_factor
Capacity factor [%]
- Type:
float
- conversion_factor
Gross to Net Conversion Factor [%]
- Type:
float
- diff
Resource Diffuse horizontal irradiance [W/m2]
- Type:
sequence
- e_in_tes
TES thermal energy available [MWht]
- Type:
sequence
- enet
Cycle electrical power output (net) [MWe]
- Type:
sequence
- eta_cycle
Cycle efficiency (gross)
- Type:
sequence
- eta_opt_sf
Field collector optical efficiency [none]
- Type:
sequence
- f_effpc_qtpb
Cycle efficiency load-based correction
- Type:
sequence
- f_effpc_tamb
Cycle efficiency temperature-based correction
- Type:
sequence
- f_sfhl_qdni
Field thermal power load-based loss correction [none]
- Type:
sequence
- f_sfhl_tamb
Field thermal power temp.-based loss correction [none]
- Type:
sequence
- f_sfhl_vwind
Field thermal power wind-based loss correction [none]
- Type:
sequence
- gen
System power generated [kW]
- Type:
sequence
- global
Resource Global horizontal irradiance [W/m2]
- Type:
sequence
- hour
Resource Hour of Day
- Type:
sequence
- kwh_per_kw
First year kWh/kW [kWh/kW]
- Type:
float
- month
Resource Month
- Type:
sequence
- monthly_energy
Monthly AC energy in Year 1 [kWh]
- Type:
sequence
- monthly_q_dump_tot
Total dumped energy [MWt]
- Type:
sequence
- monthly_q_fossil
Thermal energy supplied from aux firing [MWt]
- Type:
sequence
- monthly_q_from_tes
Thermal energy from storage [MWt]
- Type:
sequence
- monthly_q_hl_sf
Solar field thermal losses [MWt]
- Type:
sequence
- monthly_q_hl_tes
Thermal losses from storage [MWt]
- Type:
sequence
- monthly_q_sf
Solar field delivered thermal power [MWt]
- Type:
sequence
- monthly_q_startup
Power conversion startup energy [MWt]
- Type:
sequence
- monthly_q_to_pb
Thermal energy to the power conversion system [MWt]
- Type:
sequence
- monthly_q_to_tes
Thermal energy into storage [MWt]
- Type:
sequence
- monthly_w_gr
Total gross power production [kWh]
- Type:
sequence
- pres
Resource Pressure [mbar]
- Type:
sequence
- q_dump_teschg
Cycle thermal energy dumped - solar field [MWt]
- Type:
sequence
- q_dump_tesfull
Cycle thermal energy dumped - TES is full [MWt]
- Type:
sequence
- q_dump_tot
Cycle thermal energy dumped total [MWt]
- Type:
sequence
- q_dump_umin
Cycle thermal energy dumped - min. load requirement [MWt]
- Type:
sequence
- q_fossil
Fossil thermal power produced [MWt]
- Type:
sequence
- q_from_tes
TES thermal energy from storage [MWt]
- Type:
sequence
- q_gas
Fossil fuel used [MWt]
- Type:
sequence
- q_hl_sf
Field thermal power loss total [MWt]
- Type:
sequence
- q_hl_tes
TES thermal losses from tank(s) [MWt]
- Type:
sequence
- q_inc
Field thermal power incident [MWt]
- Type:
sequence
- q_sf
Field thermal power total produced [MWt]
- Type:
sequence
- q_startup
Cycle thermal startup energy [MWt]
- Type:
sequence
- q_to_pb
Cycle thermal power input [MWt]
- Type:
sequence
- q_to_tes
TES thermal energy into storage [MWt]
- Type:
sequence
- solazi
Resource Solar Azimuth [deg]
- Type:
sequence
- solzen
Resource Solar Zenith [deg]
- Type:
sequence
- system_heat_rate
System heat rate [MMBtu/MWh]
- Type:
float
- tdry
Resource Dry bulb temperature [C]
- Type:
sequence
- twet
Resource Wet bulb temperature [C]
- Type:
sequence
- w_gr
Cycle electrical power output (gross) [MWe]
- Type:
sequence
- w_gr_fossil
Cycle electrical power output (gross, fossil share) [MWe]
- Type:
sequence
- w_gr_solar
Cycle electrical power output (gross, solar share) [MWe]
- Type:
sequence
- w_par_fixed
Fixed parasitic losses [MWh]
- Type:
sequence
- w_par_offline
Offline parasitics [MWh]
- Type:
sequence
- w_par_online
Online parasitics [MWh]
- Type:
sequence
- w_par_prod
Production-based parasitic losses [MWh]
- Type:
sequence
- w_par_tot
Total parasitic losses [MWh]
- Type:
sequence
- wspd
Resource Wind Speed [m/s]
- Type:
sequence