Geothermal¶
Wrapper for SAM Simulation Core model: cmod_geothermal.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.
Geothermal model description
Geothermal power model for hydrothermal and EGS systems with flash or binary conversion
-
PySAM.Geothermal.
default
(config) → Geothermal¶ Use financial model-specific default attributes config options:
- “GeothermalPowerAllEquityPartnershipFlip”
- “GeothermalPowerIndependentPowerProducer”
- “GeothermalPowerLCOECalculator”
- “GeothermalPowerLeveragedPartnershipFlip”
- “GeothermalPowerNone”
- “GeothermalPowerSaleLeaseback”
- “GeothermalPowerSingleOwner”
-
PySAM.Geothermal.
new
() → Geothermal¶
-
PySAM.Geothermal.
wrap
(ssc_data_t) → Geothermal¶ Use existing PySSC data
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap
Functions¶
-
class
PySAM.Geothermal.
Geothermal
¶ 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 = { 'GeoHourly': { var: val, ...}, ...}
-
execute
(int verbosity) → None¶ Execute simulation with verbosity level 0 (default) or 1
-
export
() → dict¶ Export attributes into nested dictionary
-
GeoHourly Group¶
-
class
PySAM.Geothermal.Geothermal.
GeoHourly
¶ -
assign
() → None¶ Assign attributes from dictionary
GeoHourly_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
CT
¶ float: Condenser type (Wet, Dry,Hybrid) [(1-3)]
Constraints: INTEGER
Required: set to 0 if not provided.
-
HTF
¶ float: Heat trans fluid type ID [(1-27)]
Constraints: INTEGER
Required: set to 0 if not provided.
-
P_boil
¶ float: Design Boiler Pressure [bar]
Required: set to 0 if not provided.
-
P_cond_min
¶ float: Minimum condenser pressure [in Hg]
Required: set to 0 if not provided.
-
P_cond_ratio
¶ float: Condenser pressure ratio
Required: set to 0 if not provided.
-
T_ITD_des
¶ float: Design ITD for dry system [C]
Required: set to 0 if not provided.
-
T_amb_des
¶ float: Design ambient temperature [C]
Required: set to 0 if not provided.
-
T_approach
¶ float: Approach Temperature [C]
Required: set to 0 if not provided.
-
T_htf_cold_ref
¶ float: Outlet design temp [C]
Required: set to 0 if not provided.
-
T_htf_hot_ref
¶ float: Inlet design temp [C]
Required: set to 0 if not provided.
-
ambient_pressure
¶ float: Ambient pressure [psi]
Required: True
-
analysis_type
¶ float: Analysis Type
Constraints: INTEGER
Required: True
-
casing_size
¶ float: Production pump casing size [in]
Required: True
-
conversion_subtype
¶ float: Conversion Subtype
Constraints: INTEGER
Required: True
-
conversion_type
¶ float: Conversion Type
Constraints: INTEGER
Required: True
-
dT_cw_ref
¶ float: Design condenser cooling water inlet/outlet T diff [C]
Required: set to 0 if not provided.
-
decline_type
¶ float: Temp decline Type
Constraints: INTEGER
Required: True
-
delta_pressure_equip
¶ float: Delta pressure across surface equipment [psi]
Required: True
-
design_temp
¶ float: Power block design temperature [C]
Required: True
-
eta_ref
¶ float: Desgin conversion efficiency [%]
Required: set to 0 if not provided.
-
excess_pressure_pump
¶ float: Excess pressure @ pump suction [psi]
Required: True
-
fracture_angle
¶ float: Fracture angle [deg]
Required: True
-
fracture_aperature
¶ float: Fracture aperature [m]
Required: True
-
fracture_width
¶ float: Fracture width [m]
Required: True
-
geothermal_analysis_period
¶ float: Analysis Lifetime [years]
Constraints: INTEGER
Required: True
-
hc_ctl1
¶ float: HC Control 1
Required: set to 0 if not provided.
-
hc_ctl2
¶ float: HC Control 2
Required: set to 0 if not provided.
-
hc_ctl3
¶ float: HC Control 3
Required: set to 0 if not provided.
-
hc_ctl4
¶ float: HC Control 4
Required: set to 0 if not provided.
-
hc_ctl5
¶ float: HC Control 5
Required: set to 0 if not provided.
-
hc_ctl6
¶ float: HC Control 6
Required: set to 0 if not provided.
-
hc_ctl7
¶ float: HC Control 7
Required: set to 0 if not provided.
-
hc_ctl8
¶ float: HC Control 8
Required: set to 0 if not provided.
-
hc_ctl9
¶ float: HC Control 9
Required: set to 0 if not provided.
-
hr_pl_nlev
¶ float: # part-load increments [(0-9)]
Constraints: INTEGER
Required: set to 0 if not provided.
-
hybrid_dispatch_schedule
¶ str: Daily dispatch schedule
Constraints: TOUSCHED
Required: set to 0 if not provided.
-
inj_prod_well_distance
¶ float: Distance from injection to production wells [m]
Required: True
-
inj_well_diam
¶ float: Injection well diameter [in]
Required: True
-
model_choice
¶ float: Which model to run (0,1,2)
Constraints: INTEGER
Required: True
-
nameplate
¶ float: Desired plant output [kW]
Required: True
-
num_fractures
¶ float: Number of fractures
Constraints: INTEGER
Required: True
-
num_wells
¶ float: Number of Wells
Required: True
-
num_wells_getem
¶ float: Number of Wells GETEM calc’d
Required: set to 0 if not provided.
-
pb_bd_frac
¶ float: Blowdown steam fraction [%]
Required: set to 0 if not provided.
-
plant_efficiency_input
¶ float: Plant efficiency
Required: True
-
pump_efficiency
¶ float: Pump efficiency [%]
Required: True
-
q_sby_frac
¶ float: % thermal power for standby mode [%]
Required: set to 0 if not provided.
-
reservoir_height
¶ float: Reservoir height [m]
Required: True
-
reservoir_permeability
¶ float: Reservoir Permeability [darcys]
Required: True
-
reservoir_pressure_change
¶ float: Pressure change [psi-h/1000lb]
Required: True
-
reservoir_pressure_change_type
¶ float: Reservoir pressure change type
Constraints: INTEGER
Required: True
-
reservoir_width
¶ float: Reservoir width [m]
Required: True
-
resource_depth
¶ float: Resource Depth [m]
Required: True
-
resource_potential
¶ float: Resource Potential [MW]
Required: set to 0 if not provided.
-
resource_temp
¶ float: Resource Temperature [C]
Required: True
-
resource_type
¶ float: Type of Resource
Constraints: INTEGER
Required: True
-
rock_density
¶ float: Rock density [kg/m^3]
Required: True
-
rock_specific_heat
¶ float: Rock specific heat [J/kg-C]
Required: True
-
rock_thermal_conductivity
¶ float: Rock thermal conductivity [J/m-day-C]
Required: True
-
specified_pump_work_amount
¶ float: Pump work specified by user [MW]
Required: True
-
specify_pump_work
¶ float: Did user specify pump work? [0 or 1]
Constraints: INTEGER
Required: True
-
startup_frac
¶ float: % thermal power for startup [%]
Required: set to 0 if not provided.
-
startup_time
¶ float: Hours to start power block [hours]
Required: set to 0 if not provided.
-
subsurface_water_loss
¶ float: Subsurface water loss [%]
Required: True
-
temp_decline_max
¶ float: Maximum temperature decline [C]
Required: True
-
temp_decline_rate
¶ float: Temperature decline rate [%/yr]
Required: True
-
ui_calculations_only
¶ float: If = 1, only run UI calculations
Required: True
-
well_diameter
¶ float: Production well diameter [in]
Required: True
-
well_flow_rate
¶ float: Production flow rate per well [kg/s]
Required: True
-
wet_bulb_temp
¶ float: Wet Bulb Temperature [C]
Required: True
-
AdjustmentFactors Group¶
-
class
PySAM.Geothermal.Geothermal.
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.Geothermal.Geothermal.
Outputs
¶ -
assign
() → None¶ Assign attributes from dictionary
Outputs_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary
-
GF_flowrate
¶ float: GF Flow Rate [lb/h]
-
annual_energy
¶ float: Annual Energy [kWh]
-
bottom_hole_pressure
¶ float: Bottom hole pres calculated by GETEM
-
capacity_factor
¶ float: Capacity factor
-
condensate_pump_power
¶ float: hp
-
cw_pump_head
¶ float: Cooling Water Pump Head [lb/h]
-
cw_pump_work
¶ float: CW Pump Work [kW]
-
cwflow
¶ float: Cooling Water Flow [lb/h]
-
eff_secondlaw
¶ float: Second Law Efficiency [C]
-
first_year_output
¶ float: First Year Output [kWh]
-
flash_count
¶ float: Flash Count [(1 -2)]
-
gross_output
¶ float: Gross output from GETEM
-
hp_flash_pressure
¶ float: HP Flash Pressure [psia]
-
kwh_per_kw
¶ float: First year kWh/kW
-
lifetime_output
¶ float: Lifetime Output [kWh]
-
lp_flash_pressure
¶ float: LP Flash Pressure [psia]
-
monthly_energy
¶ sequence: Monthly energy before performance adjustments [kWh]
-
monthly_power
¶ sequence: Monthly power [kW]
-
monthly_resource_temperature
¶ sequence: Monthly avg resource temperature [C]
-
ncg_condensate_pump
¶ float: Condensate Pump Work [kW]
-
num_wells_getem_output
¶ float: Number of wells calculated by GETEM
-
plant_brine_eff
¶ float: Plant Brine Efficiency
-
pressure_ratio_1
¶ float: Suction Steam Ratio 1
-
pressure_ratio_2
¶ float: Suction Steam Ratio 2
-
pressure_ratio_3
¶ float: Suction Steam Ratio 3
-
pump_depth_ft
¶ float: Pump depth calculated by GETEM [ft]
-
pump_hp
¶ float: Pump hp calculated by GETEM [hp]
-
pump_work
¶ float: Pump work calculated by GETEM [MW]
-
qCondenser
¶ float: Condenser Heat Rejected [btu/h]
-
qRejectByStage_1
¶ float: Heat Rejected by NCG Condenser Stage 1 [BTU/h]
-
qRejectByStage_2
¶ float: Heat Rejected by NCG Condenser Stage 2 [BTU/h]
-
qRejectByStage_3
¶ float: Heat Rejected by NCG Condenser Stage 3 [BTU/h]
-
qRejectTotal
¶ float: Total Heat Rejection [btu/h]
-
reservoir_avg_temp
¶ float: Avg reservoir temp calculated by GETEM [C]
-
reservoir_pressure
¶ float: Reservoir pres calculated by GETEM
-
spec_vol
¶ float: HP Specific Volume [cft/lb]
-
spec_vol_lp
¶ float: LP Specific Volume [cft/lb]
-
system_lifetime_recapitalize
¶ sequence: Resource replacement? (1=yes)
-
timestep_dry_bulb
¶ sequence: Dry bulb temperature in each time step [C]
-
timestep_power
¶ sequence: Power in each time step [kW]
-
timestep_pressure
¶ sequence: Atmospheric pressure in each time step [atm]
-
timestep_resource_temperature
¶ sequence: Resource temperature in each time step [C]
-
timestep_test_values
¶ sequence: Test output values in each time step
-
timestep_wet_bulb
¶ sequence: Wet bulb temperature in each time step [C]
-
v_stage_1
¶ float: Vacumm Pump Stage 1 [kW]
-
v_stage_2
¶ float: Vacumm Pump Stage 2 [kW]
-
v_stage_3
¶ float: Vacumm Pump Stage 3 [kW]
-
x_hp
¶ float: HP Mass Fraction [%]
-
x_lp
¶ float: LP Mass Fraction [%]
-