Skip to content

Commit 256a030

Browse files
Coerce equal injection and production well costs required for stimulation cost per well output display heuristic
1 parent 98becb1 commit 256a030

1 file changed

Lines changed: 20 additions & 2 deletions

File tree

src/geophires_x/Economics.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3179,8 +3179,26 @@ def calculate_stimulation_costs(self, model: Model) -> PlainQuantity:
31793179
self.stimulation_cost_per_fracture_surface_area.quantity())
31803180
inj_to_prod_cost_ratio = 1 if not production_wells_stimulated else \
31813181
model.wellbores.ninj.value / (model.wellbores.nprod.value + model.wellbores.ninj.value)
3182-
self.stimulation_cost_per_injection_well.value = quantity(inj_to_prod_cost_ratio * direct_stim_cost_q / model.wellbores.ninj.value, self.stimulation_cost_per_fracture_surface_area.CurrentUnits.get_currency_unit_str()).to(self.stimulation_cost_per_injection_well.CurrentUnits).magnitude
3183-
self.stimulation_cost_per_production_well.value = quantity((1 - inj_to_prod_cost_ratio) * direct_stim_cost_q / model.wellbores.nprod.value, self.stimulation_cost_per_fracture_surface_area.CurrentUnits.get_currency_unit_str()).to(self.stimulation_cost_per_production_well.CurrentUnits).magnitude
3182+
3183+
# Coerces equal injection and production well costs required for stimulation cost per well output
3184+
# display heuristic
3185+
per_well_cost_precision = 2
3186+
3187+
self.stimulation_cost_per_injection_well.value = round(
3188+
quantity(
3189+
inj_to_prod_cost_ratio * direct_stim_cost_q / model.wellbores.ninj.value,
3190+
self.stimulation_cost_per_fracture_surface_area.CurrentUnits.get_currency_unit_str()
3191+
).to(self.stimulation_cost_per_injection_well.CurrentUnits).magnitude,
3192+
per_well_cost_precision
3193+
)
3194+
3195+
self.stimulation_cost_per_production_well.value = round(
3196+
quantity(
3197+
(1 - inj_to_prod_cost_ratio) * direct_stim_cost_q / model.wellbores.nprod.value,
3198+
self.stimulation_cost_per_fracture_surface_area.CurrentUnits.get_currency_unit_str()
3199+
).to(self.stimulation_cost_per_production_well.CurrentUnits).magnitude,
3200+
per_well_cost_precision
3201+
)
31843202

31853203
direct_stim_cost_per_injection_well_cstim_u = self.stimulation_cost_per_injection_well.quantity().to(
31863204
self.Cstim.CurrentUnits).magnitude

0 commit comments

Comments
 (0)