Configuration#
The FGEM workflow requires the user to input a configuration file to describe the project components, i.e., metadata, finanical parameters, subsurface reservoir, wellbore, weather, power plant, energy storage (thermal and/or electrochemical), and power markets (wholesale, capacity, green credits, and/or PPA). For a given run, only the relevant components are required to be configured. FGEM validates the input configuration and sets default paramters where paramters are missing. FGEM then simulates the project lifetime, stores records, computes economics, and visualizes data. Herein, we describe the main configuration paramters.
metadata#
Unit |
Values |
Description |
Default |
|
|---|---|---|---|---|
time_init |
str |
project start date |
“2025-01-01” |
|
L |
years |
int |
project lifetime |
30 |
d |
float |
nominal discount rate |
0.07 |
|
inflation |
float |
inflation rate |
0.02 |
|
itc |
float |
investment tax credit, which is assumed to be recovered from the total project capital expenditure. |
0.3 |
|
project_data_dir |
str |
If data were to be used, this variable indicates the directory where it can be found |
|
subsurface#
Unit |
Values |
Description |
Default |
|
|---|---|---|---|---|
drilling_cost |
USD/meter |
bool |
geothermal well drilling cost in USD/meter. If not specified, correlations are used to estimate drilling cost as a function of measured depth. |
|
reservoir_type |
str |
type of reservoir model. Options are (1) “percentage_decline” for PercentageDecline, (2) “energy_decline” for EnergyDecline, (3) “diffusion_convection” for DiffusionConvection, and (4) “uloop” for ULoop. For simulating conventional geothermal or enhanced geothermal systems, we recommend “diffusion_convection” as it is an anlytical solution. Models “percentage_decline” and “energy_decline” are conceptual. Meanwhile, “uloop” is used to simulate U-Loop closed loop systems. |
“diffusion_convection” |
|
Tres_init |
deg C |
float |
initial reservoir temperature |
225 |
Pres_init |
bar |
float |
initial reservoir pressure |
40 |
V_res |
\(m^3\) |
float |
bulk reservoir volume |
5 |
phi_res |
float |
reservoir porosity |
0.1 |
|
res_thickness |
meters |
float |
reservoir thickness |
300 |
krock |
W/m-K |
float |
reservoir themral conductivity |
30 |
drawdp |
float |
property of the PercentageDecline reservoir model indicating the fixed annual rate at which reservoir temperature declines |
0.005 |
|
plateau_length |
years |
float |
property of the PercentageDecline reservoir model indicating the fixed number of years for which the reservoir temperature does not drop initially. |
3 |
rock_energy_recovery |
float |
property of the EnergyDecline reservoir model indicating the recovarable fraction of the total heat contained in the bulk rock volume in the subsurface. |
1 |
|
surface_temp |
deg C |
float |
near-surface temperauture (it could be identical to the ambient temperature) |
20 |
well_depth |
meters |
float |
true vertical depth of production and injection wells. |
3000 |
prd_well_diam |
meters |
float |
diameter of production wells. |
0.3115 |
inj_well_diam |
meters |
float |
diameter of injection wells. |
0.3115 |
numberoflaterals |
int |
number of laterals for each producer-injector doublet. |
1 |
|
num_prd |
int |
total number of producers in the project. |
||
inj_prd_ratio |
float |
ratio of injector-to-producer wells in the project. |
1 |
|
waterloss |
float |
fraction of water that is lost to the reservoir. |
0.05 |
|
pumpeff |
float |
efficiency of production and injection pumps |
0.75 |
|
DSR |
float |
drilling success rate |
1 |
|
SSR |
float |
well stimulation success rate |
1 |
|
PI |
kg/s/bar |
float |
injectivity at production wells |
20 |
II |
kg/s/bar |
float |
injectivity at injection wells |
20 |
lateral_diam |
meters |
float |
property of the Uloop reservoir model indicating when the lateral diameter to allow for it to be different from the diameter of the vertical sections at the producer and injector. |
0.3115 |
lateral_spacing |
meters |
float |
property of the Uloop reservoir model indicating the spacing between each two laterals |
100 |
closedloop_design |
str |
property of the Uloop reservoir model indicating the closedloop design to be used. If set to “default”, it constructs typical multilateral Uloop systems. If set to “eavor”, it constructs a design similar to what is proposed by Eavor Deep 2.0. |
||
dx |
meters |
int |
property of the Uloop reservoir model indicating the size of each mesh cell for the numerical solution. |
|
ramey |
bool |
whether or not to use Ramey’s heat loss/gain across the wellbore. |
FALSE |
|
reservoir_simulator_settings |
dict |
advanced settings used to expedite the reservoir simulation runs by enhancing or decreasing the timeframe at which the reservoir module is updated. |
||
reservoir_filename |
str |
CSV file with tabular reservoir data including three columns [“Date”, “Tres_deg_C”, “m_kg_per_sec”] to indicate timestamp, reservoir temperature, and total field flow rate. (one value per year throughout the project lifetime). For instance, refer to |
powerplant#
Unit |
Values |
Description |
Default |
|
|---|---|---|---|---|
powerplant_interconnection_cost |
USD/kW |
float |
capital cost for power plant grid interconnection |
130 |
powerplant_type |
str |
type of power plant. Options: (1) “Flash” for single flash power plant , (2) “Binary” for subcritical ORC power plant |
“Binary” |
|
powerplant_capacity |
MW |
float |
power plant nameplate capacity |
10 |
cf |
float |
powerplant capacity factor related to regular maintenance. Note that this does not include decrease in capacity factors due to ambient temperautre variations, reservoir temperature decline, etc. |
0.99 |
|
pipinglength |
km |
float |
length of piping network required for the power plant |
5 |
bypass |
bool |
whether or not bypassing the power plant or turbine is allowed in this simulation. If set to True, it automatically bypasses flow away from power plant during hours of negative pricing. It also allows the user to specify other occasios when to bypass the power plant as desired. |
FALSE |
market#
Unit |
Values |
Description |
Default |
|
|---|---|---|---|---|
ambient_temperature |
deg C |
float |
ambient temperature |
20 |
weather_filename |
str |
CSV file with hourly weather data for one full year (i.e., total of 8760 horus) . For instance, refer to |
||
energy_price |
USD/MWh |
float |
energy price |
40 |
recs_price |
USD/MWh |
float |
value of renewable energy credits (RECs) or green credits |
10 |
capacity_price |
USD/kW-year |
float |
capacity value |
100 |
energy_market_filename |
str |
CSV file with energy market data, spanning the entire project lifetime. For instance, refer to |
||
capacity_market_filename |
str |
CSV file with capacity value (one value per year throughout the project lifetime). For instance, refer to |
||
fat_factor |
float |
multiplier of mean diversion to make the arbitrage opportunity more pronounced in wholesale power markets. Value of 1.0 means that this parameter has no effect. |
1 |
|
resample |
str |
timeframe to which project market data is resampled (Options: “1Y”, “1m”, “1w”, “1d”, “1h” for yearly, monthly, weekly, daily, or hourly timestepping) |
None |
battery#
Unit |
Values |
Description |
Default |
|
|---|---|---|---|---|
battery_interconnection_cost |
USD/kW |
float |
capital cost for battery grid interconnection |
|
battery_energy_cost |
USD/MWh |
float |
battery energy capital cost |
200 |
battery_power_cost |
USD/kW |
float |
battery power capital cost |
300 |
battery_fom |
USD/kW |
float |
battery annual fixed operation expenditure |
10 |
battery_energy_augmentation |
USD/MWh |
float |
battery energy augmentation cost, such that the battery efficiency does not change throughout its lifetime thanks to spending this augmentation cost |
3 |
battery_power_augmentation |
USD/kW |
float |
battery power augmentation cost, such that the battery efficiency does not change throughout its lifetime thanks to spending this augmentation cost |
0.5 |
battery_elcc |
float |
battery effective load carrying capacity |
1 |
|
battery_lifetime |
years |
int |
battery lifetime |
15 |
battery_roundtrip_eff |
float |
battery roundtrip efficiency |
0.85 |
|
battery_duration |
[hrs, hrs] |
list |
battery duration for two units where the second battery unit is installed after the first is retired. |
[0, 0] |
battery_power_capacity |
[MW, MW] |
list |
battery power capacity for two units where the second battery unit is installed after the first is retired. |
[0, 0] |
battery_costs_filename |
str |
CSV file with battery costs and effective load carrying capacity (i.e., one set of values for each year throughout the project lifetime). For instance, refer to |
tank#
Unit |
Values |
Description |
Default |
|
|---|---|---|---|---|
tank_cost |
\(USD/m^3\) |
float |
capital cost for thermal energy storage tank |
0.00143453 |
tank_diameter |
m |
float |
diameter of the thermal energy storage tank |
0 |
tank_height |
m |
float |
height of the thermal energy storage tank |
0 |