TcstroughEmpirical¶
Wrapper for SAM Simulation Core model: cmod_tcstrough_empirical.cpp
Creating an Instance¶
There are three methods to create a new instance of a PySAM module. Using default
populates the newclass’ attributes with default values specific to a config
. Each technology-financialconfiguration corresponds to a SAM GUI configuration. Using new
creates an instance with empty attributes. The wrap
function allows compatibility with PySSC, for details, refer to PySSC.
TcstroughEmpirical model description
CSP parabolic trough model based on empirically-derived coefficients and equations for power generation
-
PySAM.TcstroughEmpirical.
default
(config) → TcstroughEmpirical¶ Use financial model-specific default attributes config options:
- “EmpiricalTroughAllEquityPartnershipFlip”
- “EmpiricalTroughCommercial”
- “EmpiricalTroughCommercialPPA”
- “EmpiricalTroughIndependentPowerProducer”
- “EmpiricalTroughLCOECalculator”
- “EmpiricalTroughLeveragedPartnershipFlip”
- “EmpiricalTroughNone”
- “EmpiricalTroughSaleLeaseback”
- “EmpiricalTroughSingleOwner”
-
PySAM.TcstroughEmpirical.
new
() → TcstroughEmpirical¶
-
PySAM.TcstroughEmpirical.
wrap
(ssc_data_t) → TcstroughEmpirical¶ Use existing PySSC data
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap
Functions¶
-
class
PySAM.TcstroughEmpirical.
TcstroughEmpirical
¶ 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
-
Weather Group¶
-
class
PySAM.TcstroughEmpirical.TcstroughEmpirical.
Weather
¶ -
assign
() → None¶ Assign attributes from dictionary
Weather_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
azimuth
¶ float: Azimuth angle of surface/axis
Required: True
-
file_name
¶ str: local weather file path
Constraints: LOCAL_FILE
Required: True
-
tilt
¶ float: Tilt angle of surface/axis
Required: True
-
track_mode
¶ float: Tracking mode
Required: True
-
Trough Group¶
TouTranslator Group¶
-
class
PySAM.TcstroughEmpirical.TcstroughEmpirical.
TouTranslator
¶ -
assign
() → None¶ Assign attributes from dictionary
TouTranslator_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
weekday_schedule
¶ sequence[sequence]: 12x24 Time of Use Values for week days
Required: True
-
weekend_schedule
¶ sequence[sequence]: 12x24 Time of Use Values for week end days
Required: True
-
Solarfield Group¶
-
class
PySAM.TcstroughEmpirical.TcstroughEmpirical.
Solarfield
¶ -
assign
() → None¶ Assign attributes from dictionary
Solarfield_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
DepAngle
¶ float: Deployment Angle [deg]
Required: True
-
Distance_SCA
¶ float: Distance between SCAs in Row [m]
Required: True
-
HTFFluid
¶ float: Type of Heat Transfer Fluid used
Constraints: INTEGER
Required: True
-
HtfGalArea
¶ float: HTF Fluids in Gallons per Field Area [gal/m2]
Required: True
-
MinHtfTemp
¶ float: Minimum Heat Transfer Fluid Temperature [C]
Required: True
-
NumScas
¶ float: Number of SCAs per Row
Required: True
-
Row_Distance
¶ float: Distance between Rows of SCAs [m]
Required: True
-
SFTempInit
¶ float: Solar Field Initial Temperature [C]
Required: True
-
SfInTempD
¶ float: Solar Field Design Inlet Temperature [C]
Required: True
-
SfOutTempD
¶ float: Solar Field Design Outlet Temperature [C]
Required: True
-
SfPipeHl1
¶ float: Solar field piping heat loss at reduced temp. - linear term [C^(-1)]
Required: True
-
SfPipeHl2
¶ float: Solar field piping heat loss at reduced temp. - quadratic term [C^(-2)]
Required: True
-
SfPipeHl3
¶ float: Solar field piping heat loss at reduced temp. - cubic term [C^(-3)]
Required: True
-
SfPipeHl300
¶ float: Solar field piping heat loss at design [W/m2]
Required: True
-
Solar_Field_Area
¶ float: Solar Field Area [m2]
Required: True
-
Solar_Field_Mult
¶ float: Solar Field Multiple
Required: True
-
Stow_Angle
¶ float: Night-Time Trough Stow Angle [deg]
Required: True
-
i_SfTi
¶ float: Solar Field HTF inlet Temperature (if -999, calculated) [C]
Required: True
-
Sca Group¶
-
class
PySAM.TcstroughEmpirical.TcstroughEmpirical.
Sca
¶ -
assign
() → None¶ Assign attributes from dictionary
Sca_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
Ave_Focal_Length
¶ float: Label
Required: True
-
ConcFac
¶ float: Label
Required: True
-
GeoAcc
¶ float: Label
Required: True
-
IamF0
¶ float: Label
Required: True
-
IamF1
¶ float: Label
Required: True
-
IamF2
¶ float: Label
Required: True
-
MirCln
¶ float: Label
Required: True
-
MirRef
¶ float: Label
Required: True
-
SCA_aper
¶ float: Label
Required: True
-
ScaLen
¶ float: Label
Required: True
-
SfAvail
¶ float: Label
Required: True
-
TrkTwstErr
¶ float: Label
Required: True
-
Hce Group¶
-
class
PySAM.TcstroughEmpirical.TcstroughEmpirical.
Hce
¶ -
assign
() → None¶ Assign attributes from dictionary
Hce_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
HCEBelShad
¶ sequence: label
Required: True
-
HCEEnvTrans
¶ sequence: label
Required: True
-
HCEFrac
¶ sequence: Fraction of field that is this type of HCE
Required: True
-
HCE_A0
¶ sequence: label
Required: True
-
HCE_A1
¶ sequence: label
Required: True
-
HCE_A2
¶ sequence: label
Required: True
-
HCE_A3
¶ sequence: label
Required: True
-
HCE_A4
¶ sequence: label
Required: True
-
HCE_A5
¶ sequence: label
Required: True
-
HCE_A6
¶ sequence: label
Required: True
-
HCEabs
¶ sequence: label
Required: True
-
HCEdust
¶ sequence: label
Required: True
-
HCEmisc
¶ sequence: label
Required: True
-
HCEtype
¶ sequence: Number indicating the receiver type
Required: True
-
NumHCETypes
¶ float: Number of HCE types
Constraints: INTEGER
Required: True
-
PerfFac
¶ sequence: label
Required: True
-
RefMirrAper
¶ sequence: label
Required: True
-
Pwrb Group¶
-
class
PySAM.TcstroughEmpirical.TcstroughEmpirical.
Pwrb
¶ -
assign
() → None¶ Assign attributes from dictionary
Pwrb_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
E2TPLF0
¶ float: Label
Required: True
-
E2TPLF1
¶ float: Label
Required: True
-
E2TPLF2
¶ float: Label
Required: True
-
E2TPLF3
¶ float: Label
Required: True
-
E2TPLF4
¶ float: Label
Required: True
-
LHVBoilEff
¶ float: Label
Required: True
-
MaxGrOut
¶ float: Label
Required: True
-
MinGrOut
¶ float: Label
Required: True
-
PTTMAX
¶ float: Label
Required: True
-
PTTMIN
¶ float: Label
Required: True
-
T2EPLF0
¶ float: Label
Required: True
-
T2EPLF1
¶ float: Label
Required: True
-
T2EPLF2
¶ float: Label
Required: True
-
T2EPLF3
¶ float: Label
Required: True
-
T2EPLF4
¶ float: Label
Required: True
-
TempCorr0
¶ float: Label
Required: True
-
TempCorr1
¶ float: Label
Required: True
-
TempCorr2
¶ float: Label
Required: True
-
TempCorr3
¶ float: Label
Required: True
-
TempCorr4
¶ float: Label
Required: True
-
TempCorrF
¶ float: Temp Correction Mode (0=wetbulb 1=drybulb basis)
Constraints: INTEGER
Required: True
-
TurSUE
¶ float: Label
Required: True
-
TurbEffG
¶ float: Label
Required: True
-
TurbOutG
¶ float: Label
Required: True
-
Tes Group¶
-
class
PySAM.TcstroughEmpirical.TcstroughEmpirical.
Tes
¶ -
assign
() → None¶ Assign attributes from dictionary
Tes_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
E_tes_ini
¶ float: Initial TES energy - fraction of max
Required: True
-
FossilFill
¶ sequence: Label
Required: True
-
NUMTOU
¶ float: Label
Required: True
-
PFSmax
¶ float: Label
Required: True
-
PTSmax
¶ float: Label
Required: True
-
TSHOURS
¶ float: Label
Required: True
-
TSLogic
¶ sequence[sequence]: Label
Required: True
-
TnkHL
¶ float: Label
Required: True
-
TurTesEffAdj
¶ float: Label
Required: True
-
TurTesOutAdj
¶ float: Label
Required: True
-
Parasitic Group¶
-
class
PySAM.TcstroughEmpirical.TcstroughEmpirical.
Parasitic
¶ -
assign
() → None¶ Assign attributes from dictionary
Parasitic_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
AntiFrPar
¶ float: Label
Required: True
-
BOPPar
¶ float: Label
Required: True
-
BOPParF0
¶ float: Label
Required: True
-
BOPParF1
¶ float: Label
Required: True
-
BOPParF2
¶ float: Label
Required: True
-
BOPParPF
¶ float: Label
Required: True
-
CHTFParF0
¶ float: Label
Required: True
-
CHTFParF1
¶ float: Label
Required: True
-
CHTFParF2
¶ float: Label
Required: True
-
ChtfPar
¶ float: Label
Required: True
-
ChtfParPF
¶ float: Label
Required: True
-
CtOpF
¶ float: Label
Constraints: INTEGER
Required: True
-
CtPar
¶ float: Label
Required: True
-
CtParF0
¶ float: Label
Required: True
-
CtParF1
¶ float: Label
Required: True
-
CtParF2
¶ float: Label
Required: True
-
CtParPF
¶ float: Label
Required: True
-
HhtfPar
¶ float: Label
Required: True
-
HhtfParF0
¶ float: Label
Required: True
-
HhtfParF1
¶ float: Label
Required: True
-
HhtfParF2
¶ float: Label
Required: True
-
HhtfParPF
¶ float: Label
Required: True
-
HtrPar
¶ float: Label
Required: True
-
HtrParF0
¶ float: Label
Required: True
-
HtrParF1
¶ float: Label
Required: True
-
HtrParF2
¶ float: Label
Required: True
-
HtrParPF
¶ float: Label
Required: True
-
PbFixPar
¶ float: Label
Required: True
-
SfPar
¶ float: Label
Required: True
-
SfParPF
¶ float: Label
Required: True
-
AdjustmentFactors Group¶
-
class
PySAM.TcstroughEmpirical.TcstroughEmpirical.
AdjustmentFactors
¶ -
assign
() → None¶ Assign attributes from dictionary
-
export
() → Dict¶ Export attributes into dictionary
-
constant
¶ type: float
-
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.TcstroughEmpirical.TcstroughEmpirical.
Outputs
¶ -
assign
() → None¶ Assign attributes from dictionary
Outputs_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
AveSfTemp
¶ sequence: Field HTF temperature average [C]
-
ColEff
¶ sequence: Field collector thermal and optical efficiency
-
CosTheta
¶ sequence: Field collector cosine efficiency
-
Egr
¶ sequence: Cycle electrical power output (gross) [MWe]
-
EgrFos
¶ sequence: Cycle electrical power output (gross, fossil share) [MWe]
-
EgrSol
¶ sequence: Cycle electrical power output (gross, solar share) [MWe]
-
EndLoss
¶ sequence: Field collector optical end loss
-
Enet
¶ sequence: Cycle electrical power output (net) [MWe]
-
Epar
¶ sequence: Parasitic power total consumption [MWe]
-
EparAnti
¶ sequence: Parasitic power freeze protection pump [MWe]
-
EparBOP
¶ sequence: Parasitic power generation-dependent load [MWe]
-
EparCHTF
¶ sequence: Parasitic power solar field HTF pump [MWe]
-
EparCT
¶ sequence: Parasitic power condenser operation [MWe]
-
EparHhtf
¶ sequence: Parasitic power TES and Cycle HTF pump [MWe]
-
EparHtr
¶ sequence: Parasitic power auxiliary heater operation [MWe]
-
EparOffLine
¶ sequence: Parasitic power - offline total [MWe]
-
EparOnLine
¶ sequence: Parasitic power - online total [MWe]
-
EparPB
¶ sequence: Parasitic power fixed load [MWe]
-
EparSf
¶ sequence: Parasitic power field collector drives [MWe]
-
Ets
¶ sequence: TES thermal energy available [MWht]
-
Ftrack
¶ sequence: Field collector fraction of time period tracking
-
IAM
¶ sequence: Field collector incidence angle modifier
-
QTsFull
¶ sequence: Cycle thermal energy dumped - TES is full [MWt]
-
QTsHl
¶ sequence: TES thermal losses from tank(s) [MWt]
-
QTurSu
¶ sequence: Cycle thermal startup energy [MWt]
-
Qdni
¶ sequence: Field thermal power total incident [MWt]
-
Qdump
¶ sequence: Cycle thermal energy dumped - solar field [MWt]
-
Qfts
¶ sequence: TES thermal energy from storage [MWt]
-
Qgas
¶ sequence: Fossil thermal power produced [MWt]
-
QhtfFpHtr
¶ sequence: Fossil freeze protection provided [MWt]
-
QhtfFpTES
¶ sequence: Parasitic thermal TES freeze protection [MWt]
-
QhtfFreezeProt
¶ sequence: Parasitic thermal field freeze protection [MWt]
-
Qmin
¶ sequence: Cycle thermal energy dumped - min. load requirement [MWt]
-
QnipCosTh
¶ sequence: Field collector DNI-cosine product [W/m2]
-
Qsf
¶ sequence: Field thermal power total produced [MWt]
-
QsfAbs
¶ sequence: Field thermal power absorbed [MWt]
-
QsfHceHL
¶ sequence: Field thermal power receiver total loss [MWt]
-
QsfPipeHL
¶ sequence: Field thermal power pipe losses [MWt]
-
QsfWarmup
¶ sequence: Field HTF energy inertial (consumed) [MWht]
-
Qsfnipcosth
¶ sequence: Field thermal power incident after cosine [MWt]
-
Qtpb
¶ sequence: Cycle thermal power input [MWt]
-
Qtts
¶ sequence: TES thermal energy into storage [MWt]
-
RecHl
¶ sequence: Field thermal power receiver heat loss [kJ/hr-m2]
-
RowShadow
¶ sequence: Field collector row shadowing loss
-
SfMassFlow
¶ sequence: Field HTF mass flow rate total [kg/s]
-
SfTo
¶ sequence: Field HTF temperature hot header outlet [C]
-
Theta
¶ sequence: Field collector solar incidence angle [deg]
-
TrackAngle
¶ sequence: Field collector tracking angle [deg]
-
annual_W_cycle_gross
¶ float: Electrical source - Power cycle gross output [kWh]
-
annual_energy
¶ float: Annual energy [kWh]
-
annual_fuel_usage
¶ float: Annual fuel usage [kWh]
-
beam
¶ sequence: Resource Beam normal irradiance [W/m2]
-
capacity_factor
¶ float: Capacity factor [%]
-
conversion_factor
¶ float: Gross to Net Conversion Factor [%]
-
gen
¶ sequence: System power generated [kW]
-
hour
¶ sequence: Resource Hour of Day
-
kwh_per_kw
¶ float: First year kWh/kW [kWh/kW]
-
month
¶ sequence: Resource Month
-
o_SfTi
¶ sequence: Field HTF temperature cold header inlet [C]
-
pres
¶ sequence: Resource Pressure [mbar]
-
solazi
¶ sequence: Resource Solar Azimuth [deg]
-
solzen
¶ sequence: Resource Solar Zenith [deg]
-
system_heat_rate
¶ float: System heat rate [MMBtu/MWh]
-
system_use_lifetime_output
¶ float: Use lifetime output [0/1]
-
tdry
¶ sequence: Resource Dry bulb temperature [C]
-
tou_value
¶ sequence: Resource time-of-use value
-
twet
¶ sequence: Resource Wet bulb temperature [C]
-
wspd
¶ sequence: Resource Wind Speed [m/s]
-