-
Notifications
You must be signed in to change notification settings - Fork 1
Sherrboldt/TOUGH-updates #111
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
base: main
Are you sure you want to change the base?
Sherrboldt/TOUGH-updates #111
Conversation
…me, reading FOFT and GOFT files (WIP)
… PI/II calculation
…rid of errors. Ran into an error when reading FOFT files, possibly an issue on TOUGH's end.
… size to 5 or reservoirthickness/5, this is more inline with the original. Was calculating PI/II in kg/s/kPa when it should be kg/s/bar. In WellBores.py, "def get_hydrostatic_pressure_kPa" used the parameter "gradient_C_per_km" when the actual float value was in C/m. Changed parameter "gradient_C_per_km" to "gradient_C_per_m".
…I/II from kg/s/kPa to kg/s/bar
…d deletion of example6.out
src/geophires_x/WellBores.py
Outdated
| Tsurf_degC: float, | ||
| depth_m: float, | ||
| gradient_C_per_km: float, | ||
| gradient_C_per_m: float, # converted from C/km to C/m |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: verify
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: Probable bug in overpressure
| self.injection_cell = self.ParameterDict[self.injection_cell.Name] = strParameter( | ||
| "Vertical Injection Well Cell ID", | ||
| DefaultValue='A3Q23', | ||
| UnitType=Units.NONE, | ||
| ) | ||
| self.production_cell = self.ParameterDict[self.production_cell.Name] = strParameter( | ||
| "Vertical Production Well Cell ID", | ||
| DefaultValue='A3Q28', | ||
| UnitType=Units.NONE, | ||
| ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: tooltip texts
| self.hrz_inj1 = self.ParameterDict[self.hrz_inj1.Name] = strParameter( | ||
| "Horizontal Injection Well Cell ID 1", | ||
| DefaultValue='A3R23', | ||
| UnitType=Units.NONE, | ||
| ) | ||
| self.hrz_inj2 = self.ParameterDict[self.hrz_inj2.Name] = strParameter( | ||
| "Horizontal Injection Well Cell ID 2", | ||
| DefaultValue='A3S23', | ||
| UnitType=Units.NONE, | ||
| ) | ||
| self.hrz_inj3 = self.ParameterDict[self.hrz_inj3.Name] = strParameter( | ||
| "Horizontal Injection Well Cell ID 3", | ||
| DefaultValue='A3T23', | ||
| UnitType=Units.NONE, | ||
| ) | ||
| self.hrz_inj4 = self.ParameterDict[self.hrz_inj4.Name] = strParameter( | ||
| "Horizontal Injection Well Cell ID 4", | ||
| DefaultValue='A3U23', | ||
| UnitType=Units.NONE, | ||
| ) | ||
| self.hrz_inj5 = self.ParameterDict[self.hrz_inj5.Name] = strParameter( | ||
| "Horizontal Injection Well Cell ID 5", | ||
| DefaultValue='A3V23', | ||
| UnitType=Units.NONE, | ||
| ) | ||
| self.numhprodcell = self.ParameterDict[self.numhprodcell.Name] = intParameter( | ||
| "Number of Horizontal Production Well Cells", | ||
| DefaultValue=0, | ||
| AllowableRange=[0, 1, 2, 3, 4, 5], | ||
| UnitType=Units.NONE, | ||
| Required=True, | ||
| ErrMessage="Assume no horizontal production well", | ||
| ToolTipText="Number of cells assumed as horizontal production wells" | ||
| ) | ||
| self.hrz_prod1 = self.ParameterDict[self.hrz_prod1.Name] = strParameter( | ||
| "Horizontal Production Well Cell ID 1", | ||
| DefaultValue='A3R28', | ||
| UnitType=Units.NONE, | ||
| ) | ||
| self.hrz_prod2 = self.ParameterDict[self.hrz_prod2.Name] = strParameter( | ||
| "Horizontal Production Well Cell ID 2", | ||
| DefaultValue='A3S28', | ||
| UnitType=Units.NONE, | ||
| ) | ||
| self.hrz_prod3 = self.ParameterDict[self.hrz_prod3.Name] = strParameter( | ||
| "Horizontal Production Well Cell ID 3", | ||
| DefaultValue='A3T28', | ||
| UnitType=Units.NONE, | ||
| ) | ||
| self.hrz_prod4 = self.ParameterDict[self.hrz_prod4.Name] = strParameter( | ||
| "Horizontal Production Well Cell ID 4", | ||
| DefaultValue='A3U28', | ||
| UnitType=Units.NONE, | ||
| ) | ||
| self.hrz_prod5 = self.ParameterDict[self.hrz_prod5.Name] = strParameter( | ||
| "Horizontal Production Well Cell ID 5", | ||
| DefaultValue='A3V28', | ||
| UnitType=Units.NONE, | ||
| ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: tooltip texts
| print('Reservoir parameters passed to TOUGH from Reservoir.py \n') | ||
| print("Initial Temperature = ", initialtemp) | ||
| print("Rock Density = ", rockdensity) | ||
| print("Roch Heat Capacity = ", rockheatcap) | ||
| print("Rock Permeability = ", rockperm) | ||
| print("Rock Porosity = ", rockpor) | ||
| print("Rock Thermal Conductivity = ", rockthermalcond) | ||
| print("Reservoir Thickness = ", reservoirthickness) | ||
| print("Reservoir Width = ", reservoirwidth) | ||
| print("Well Separation = ", wellseperation) | ||
| print("Grid X = ", DeltaXgrid) | ||
| print("Grid Y = ", DeltaYgrid) | ||
| print("Grid Z = ", DeltaZgrid) | ||
| print("") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: should be log statements instead of prints
| outfile = str('tough2output.out') | ||
| outfile = str('Doublet.out') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: probably arbitrary and should be reverted, but might be TOUGH2 vs. TOUGH3 naming change requiring parameterization/conditionalization
softwareengineerprogrammer
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
High-level tasks (in addition to comments):
- Verify existing example5/example6 cases pass (and haven't been backwards-incompatibly broken)
- Review parameterization schema to ensure it's appropriately generic (e.g. single production/injection cell IDs, 6 horizontals, etc.)
Adapted from https://github.com/SHerrboldt/GEOPHIRES-X/tree/TOUGH-updates
Instructions for @SHerrboldt:
git checkout maingit pullgit remote add softwareengineerprogrammer [email protected]:softwareengineerprogrammer/GEOPHIRES.gitgit fetch softwareengineerprogrammergit checkout softwareengineerprogrammer/softwareengineerprogrammer_sherrboldt_tough-updatesgit checkout -b TOUGH-updates-2git push -u <your remote, possibly fork or SHerrboldt> TOUGH-updates-2git pushand then create PR from SHerrboldt/TOUGH-updates-2 to SHerrboldt/main, then notify @softwareengineerprogrammer (me).