forked from NREL/GEOPHIRES-X
-
Notifications
You must be signed in to change notification settings - Fork 1
Client caching fix (ImmutableGeophiresInputParameters); Fervo_Project_Cape-4 Multilaterals & Reservoir Volume #79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
softwareengineerprogrammer
merged 40 commits into
main
from
immutable-geophires-input-parameters
Jun 23, 2025
Merged
Client caching fix (ImmutableGeophiresInputParameters); Fervo_Project_Cape-4 Multilaterals & Reservoir Volume #79
softwareengineerprogrammer
merged 40 commits into
main
from
immutable-geophires-input-parameters
Jun 23, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…eophiresXClient (GeophiresInputParameters faulty hashing implementation prevents caching from working)
…don't have to manage singletons
…well when max number of allowed wells)
…ertical and horizontal costs are lumped for better result clarity. TODO to investigate using a deviated drilling correlation to possibly 'better' represent costs
…ling_and_completion_costs_per_well in Economics
…s revealing why ruff's complaint about it was valid - https://github.com/softwareengineerprogrammer/GEOPHIRES/actions/runs/15786817152/job/44504920698)
…gs support to BaseTestCase._get_test_file_content
… apparently erroneously multiplied 108 * 102 instead of _118_ * 102). Corresponding and additional verifications in FervoProjectCape4TestCase
…behavior prior to the introduction of ImmutableGeophiresInputParameters, and we want to minimize the risk of caching-by-default causing unforeseen issues for existing consumers
…behavior prior to the introduction of ImmutableGeophiresInputParameters, and we want to minimize the risk of caching-by-default causing unforeseen issues for existing consumers
…cape-4-multilaterals_2 Fervo_Project_Cape-4 minor corrections: multilaterals, number of fractures
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Client caching fix: ImmutableGeophiresInputParameters
Description
Add
ImmutableGeophiresInputParameters
to enable caching behavior in GeophiresXClient.GeophiresInputParameters existing hashing implementation is faulty and therefore currently prevents caching from working despite caching being enabled in the client by default. I investigated fixing this faulty implementation in GeophiresInputParameters (as opposed to adding the new ImmutableGeophiresInputParameters) but there are some theoretical edge cases where backwards compatibility could be broken, so the existing
GeophiresInputParameters
class/implementation is retained. However, we will likely replace GeophiresInputParameters implementation with ImmutableGeophiresInputParameters in v4.0 in order to soft-force migration, since any backwards-incompatible behavior existing consumers are relying on would be undesirable. (This can itself be seamlessly backwards-compatibly achieved by aliasingImmutableGeophiresInputParameters = GeophiresInputParameters
)Note: caching is now disabled by default to prevent risk of unforeseen issues associated with cross-process resource sharing. It may be enabled by default in v4.0 once we have a bit more confidence that the risk of impact to existing users is negligible.
Testing & Verification
Fervo_Project_Cape-4 Multilaterals & Reservoir Volume
Number of Multilaterals
to zero with comment: "This parameter is set to 0 because, for this case study, the cost of horizontal drilling (which would otherwise account for approximately 118 multilateral sections) is included within the 'vertical drilling cost.' This approach allows us to more directly convey the overall well drilling and completion cost, which is under $4 million." https://github.com/softwareengineerprogrammer/GEOPHIRES/pull/80/files#diff-4c74f5cca6c379d27c945d138d703e4ef20d0abb1cd07282659e5b336e45ce2dR79Reservoir Volume Option
1 (FRAC_NUM_SEP
), fixing previously slightly erroneous total number of fractures and reservoir volume (no functional effect on results) https://github.com/softwareengineerprogrammer/GEOPHIRES/pull/81/files#diff-4c74f5cca6c379d27c945d138d703e4ef20d0abb1cd07282659e5b336e45ce2dR53-R54. (Note this also makes the input better-suited for Monte Carlo simulations)Number of Multilateral Sections
: https://github.com/softwareengineerprogrammer/GEOPHIRES/pull/80/files#diff-3d85ef79807fc6c25a758a698fd3a7095750bd27ea52341700e1dad94885b5f6R950Drilling and completion costs per well
: https://github.com/softwareengineerprogrammer/GEOPHIRES/pull/80/files#diff-297987ad3d14c84ee6385298fa35b4691491b3cf35c15c45c23a1ea23b01c3ccR336(Originally #81)