Skip to content

Commit c7f8fb4

Browse files
Surface power plant costs figure reference, tooltip var interpolation; various minor TODO cleanup
1 parent 04347d5 commit c7f8fb4

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

src/geophires_x/Economics.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1841,11 +1841,14 @@ def __init__(self, model: Model):
18411841
)
18421842

18431843
# TODO switch order to align with theoretical basis, which lists indirect costs first
1844-
contingency_and_indirect_costs_tooltip = (
1845-
f'plus {self.contingency_percentage.quantity().to(convertible_unit("%")).magnitude:g}% contingency '
1844+
contingency_and_indirect_costs_tooltip_stem = (
1845+
f'{self.contingency_percentage.quantity().to(convertible_unit("%")).magnitude:g}% contingency '
18461846
f'plus {self.indirect_capital_cost_percentage.quantity().to(convertible_unit("%")).magnitude}% '
18471847
f'indirect costs'
18481848
)
1849+
contingency_and_indirect_costs_tooltip = (
1850+
f'plus {contingency_and_indirect_costs_tooltip_stem}'
1851+
)
18491852

18501853
self.Cexpl = self.OutputParameterDict[self.Cexpl.Name] = OutputParameter(
18511854
Name="Exploration cost",
@@ -1888,11 +1891,11 @@ def __init__(self, model: Model):
18881891
UnitType=Units.CURRENCYFREQUENCY,
18891892
PreferredUnits=CurrencyFrequencyUnit.MDOLLARSPERYEAR,
18901893
CurrentUnits=CurrencyFrequencyUnit.MDOLLARSPERYEAR,
1894+
# TODO parameterize relevant constants in tooltip text
18911895
ToolTipText='The built-in correlation for the wellfield O&M costs is similar as the surface plant O&M '
18921896
'costs: it assumes that it consists of 1% of the total wellfield plus field gathering system '
18931897
'costs (for annual non-labor costs) and 25% of the labor costs (the other 75% of the labor '
18941898
'costs are assigned to the surface plant O&M costs).'
1895-
# TODO parameterize relevant constants
18961899
)
18971900

18981901
self.redrilling_annual_cost = self.OutputParameterDict[self.redrilling_annual_cost.Name] = OutputParameter(
@@ -1906,23 +1909,25 @@ def __init__(self, model: Model):
19061909
f'The total is then divided over {model.surfaceplant.plant_lifetime.Name} years to calculate '
19071910
f'Redrilling costs per year.'
19081911
)
1912+
# noinspection SpellCheckingInspection
19091913
self.Cplant = self.OutputParameterDict[self.Cplant.Name] = OutputParameter(
19101914
Name="Surface Plant cost",
19111915
display_name='Surface power plant costs',
19121916
UnitType=Units.CURRENCY,
19131917
PreferredUnits=CurrencyUnit.MDOLLARS,
19141918
CurrentUnits=CurrencyUnit.MDOLLARS,
1919+
# TODO incorporate direct references to relevant parameters for adjusting correlation in tooltip text
1920+
# TODO interpolate relevant constants (that are currently hardcoded) in tooltip text
19151921
ToolTipText='The built-in power plant cost correlations are based on the original correlations developed '
19161922
'by Beckers (2016), indexed to 2017 using the IHS Markit North American Power Capital Costs '
19171923
'Index (NAPCCI) excluding nuclear plants (IHS 2018). The ORC power plant cost data have been '
19181924
'updated with data from the 2016 GETEM tool (DOE 2016) and the geothermal binary power plants '
19191925
# 'study by Verkís (2014). '
19201926
'study by Verkis (2014). ' # unicode accented i may cause unexpected problems in consumers...
1921-
# TODO incorporate reference to figure (commented out for now)
1922-
# 'Figure 4 shows the power plant capital cost expressed in $ kWe−1 as a function of plant
1923-
# size and initial production temperature for subcritical ORC and double-flash power plants. '
1924-
# TODO use tooltip var
1925-
'The correlations in GEOPHIRES include 12% for indirect costs and 15% contingency. '
1927+
'Figure 4 in the Theoretical Basis shows the power plant capital cost expressed in $ kWe−1 '
1928+
'as a function of plant size and initial production temperature for subcritical ORC and '
1929+
'double-flash power plants. '
1930+
f'The default correlations in GEOPHIRES include {contingency_and_indirect_costs_tooltip_stem}. '
19261931
'For the same plant size and production temperature, double-flash power plants are considered '
19271932
'about 25% more expensive than single-flash power plants (Zeyghami 2010), and supercritical '
19281933
'ORC plants are roughly 10% more than subcritical ORC plants (Astolfi et al. 2014). A wide '
@@ -1943,16 +1948,15 @@ def __init__(self, model: Model):
19431948
'However, users are encouraged to provide their own cost figures for '
19441949
'their specific application. Beckers and Young (2017) collected several cost figures to '
19451950
'estimate the surface equipment cost for geothermal district-heating systems.'
1946-
# TODO incorporate direct references to relevant parameters for adjusting correlation
19471951
)
19481952
self.Coamplant = self.OutputParameterDict[self.Coamplant.Name] = OutputParameter(
19491953
Name="O&M Surface Plant costs",
19501954
display_name='Power plant maintenance costs',
19511955
UnitType=Units.CURRENCYFREQUENCY,
19521956
PreferredUnits=CurrencyFrequencyUnit.MDOLLARSPERYEAR,
19531957
CurrentUnits=CurrencyFrequencyUnit.MDOLLARSPERYEAR,
1954-
# TODO parameterize relevant constants
1955-
# TODO update index year and/or make indexing parameterizable
1958+
# TODO parameterize relevant constants in tooltip text
1959+
# TODO update index year and/or make indexing parameterizable in tooltip text
19561960
ToolTipText='GEOPHIRES estimates the annual surface plant O&M costs as the sum of 1.5% of the total plant '
19571961
'capital cost (for annual non-labor costs), and 75% of the annual labor costs. The other 25% '
19581962
'of the labor costs are assigned to the wellfield O&M cost. The labor costs are calculated '
@@ -1969,7 +1973,7 @@ def __init__(self, model: Model):
19691973
UnitType=Units.CURRENCY,
19701974
PreferredUnits=CurrencyUnit.MDOLLARS,
19711975
CurrentUnits=CurrencyUnit.MDOLLARS,
1972-
# TODO interpolate constant values in tooltip text instead of hardcoding
1976+
# TODO interpolate constant values in tooltip text instead of hardcoding in tooltip text
19731977
ToolTipText='The built-in cost correlation for estimating the field gathering system cost includes '
19741978
'the cost for surface piping from each well to the plant and pumps for production and '
19751979
'injection wells. The length of the surface piping is assumed 750 m per well at a cost of '

src/geophires_x_schema_generator/geophires-result.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@
410410
"Stimulation costs (for redrilling)": {},
411411
"Surface power plant costs": {
412412
"type": "number",
413-
"description": "Surface Plant cost. The built-in power plant cost correlations are based on the original correlations developed by Beckers (2016), indexed to 2017 using the IHS Markit North American Power Capital Costs Index (NAPCCI) excluding nuclear plants (IHS 2018). The ORC power plant cost data have been updated with data from the 2016 GETEM tool (DOE 2016) and the geothermal binary power plants study by Verkis (2014). The correlations in GEOPHIRES include 12% for indirect costs and 15% contingency. For the same plant size and production temperature, double-flash power plants are considered about 25% more expensive than single-flash power plants (Zeyghami 2010), and supercritical ORC plants are roughly 10% more than subcritical ORC plants (Astolfi et al. 2014). A wide range in power plant specific cost values is reported in academic and popular literature. The GEOPHIRES built-in surface plant cost correlations represent typical values. However, the user is recommended to provide their own power plant cost data if available for their case study. The ORC plant specific cost decreases only moderately at higher temperatures. The reasons are that when increasing the temperature, the ORC plant design also changes: (1) a different organic fluid is selected, (2) piping, pump, heat exchangers, and other equipment are designed to handle the higher temperature (and potentially also pressure), requiring thicker walls, potentially different materials, etc., and (3) additional components may be implemented, such as a heat recuperator, making the design and operation more complex. Unlike flash power plants, ORC plants are a small, niche market, typically case specific, and rely on relatively young technology, which has not been subject yet to decades of technological advancement. The cost for direct-use heat applications is highly dependent on the type of application. A generic cost of $250 kWth\u22121 is assumed plus 15% contingency plus 12% indirect costs. However, users are encouraged to provide their own cost figures for their specific application. Beckers and Young (2017) collected several cost figures to estimate the surface equipment cost for geothermal district-heating systems.",
413+
"description": "Surface Plant cost. The built-in power plant cost correlations are based on the original correlations developed by Beckers (2016), indexed to 2017 using the IHS Markit North American Power Capital Costs Index (NAPCCI) excluding nuclear plants (IHS 2018). The ORC power plant cost data have been updated with data from the 2016 GETEM tool (DOE 2016) and the geothermal binary power plants study by Verkis (2014). Figure 4 in the Theoretical Basis shows the power plant capital cost expressed in $ kWe\u22121 as a function of plant size and initial production temperature for subcritical ORC and double-flash power plants. The default correlations in GEOPHIRES include 15% contingency plus 12% indirect costs. For the same plant size and production temperature, double-flash power plants are considered about 25% more expensive than single-flash power plants (Zeyghami 2010), and supercritical ORC plants are roughly 10% more than subcritical ORC plants (Astolfi et al. 2014). A wide range in power plant specific cost values is reported in academic and popular literature. The GEOPHIRES built-in surface plant cost correlations represent typical values. However, the user is recommended to provide their own power plant cost data if available for their case study. The ORC plant specific cost decreases only moderately at higher temperatures. The reasons are that when increasing the temperature, the ORC plant design also changes: (1) a different organic fluid is selected, (2) piping, pump, heat exchangers, and other equipment are designed to handle the higher temperature (and potentially also pressure), requiring thicker walls, potentially different materials, etc., and (3) additional components may be implemented, such as a heat recuperator, making the design and operation more complex. Unlike flash power plants, ORC plants are a small, niche market, typically case specific, and rely on relatively young technology, which has not been subject yet to decades of technological advancement. The cost for direct-use heat applications is highly dependent on the type of application. A generic cost of $250 kWth\u22121 is assumed plus 15% contingency plus 12% indirect costs. However, users are encouraged to provide their own cost figures for their specific application. Beckers and Young (2017) collected several cost figures to estimate the surface equipment cost for geothermal district-heating systems.",
414414
"units": "MUSD"
415415
},
416416
"of which Absorption Chiller Cost": {},

0 commit comments

Comments
 (0)