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 [%]