-
Notifications
You must be signed in to change notification settings - Fork 108
Tensor interpolation for non-stationary geostat fields #641
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: develop
Are you sure you want to change the base?
Conversation
…tensor and changed the config_func_str in pst_from to use it instead of value interpolation. this avoids issues with interpolating angles and I believe is more propa.
…rything 2d for easier comprehension
…is messed up, probably generate_from_files
…d examples. normalize weights in _moving_average_field still open question.
briochh
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.
A lot of new stuff here @wkitlasten, it may sit better in its own module at some point (or in ppu). For now I would support bringing it into pyemu under a prototypes sub-module while under development and getting tests sorted out. I think you could create a new prototypes dir under pyemu:
prototypes/
|--tests/
| nsaf_tests.py
|--src/
| |--nsaf/
| nsaf_utils.py
| nsaf_helpers.py
|--examples/
| |--Wairau/
| |--HBHP/
| pstfrom_mf6_ppu_tensor.ipynb
we can then add some specific GitHub Actions triggers (or just trigger requests) to run a specific suite over these without compromising the existing tests
| # self.extra_py_imports.append("pypestutils") | ||
| print(config_df_filename) | ||
| config_func_str = "pyemu.utils.pp_utils.apply_ppu_hyperpars('{0}')".\ | ||
| config_func_str = "pyemu.utils.pp_utils.apply_ppu_hyperpars_tensor('{0}')".\ |
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.
breaks current non-stationary hyper par implementation... I think best to option "tensor" (at least until it is proven)
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.
wondering if these nsaf funcs would fit better within pypestutils or a stand alone library (or submodule here). For now might be good to move into a prototypes submodule here. That way you we can keep reasonably contained (incl. dependancies) while refined and testing funcs better targeted.
| import os | ||
| import matplotlib as mpl | ||
|
|
||
| mpl.use('Tkagg') |
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.
this will cause failure on some CI platform (on import)
| "import numpy as np\n", | ||
| "import pandas as pd\n", | ||
| "import matplotlib\n", | ||
| "matplotlib.use('Qt5Agg')\n", |
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.
CI might not like this line
| "shutil.copy(r'C:\\bin\\modflow\\mf6.6.2_win64\\bin\\mf6.exe', os.path.join(tmp_model_ws,'mf6.exe'))\n", | ||
| "shutil.copy(r'C:\\bin\\pestpp\\pestpp-ies.exe', os.path.join(tmp_model_ws,'pestpp-ies.exe'))\n", |
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.
Will need to be smarter here with bin/exe definition for x-platform and CI
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.
much safer to clean notebook outputs before adding to git!
Some utilities to perform log-Euclidean interpolation of anisotropic variance tensors from conceptual points to a regular grid. Also performs spatial convolution to create non-stationary geostatistical fields from variance tensors. Uses pypestutils where possible, with fallback to python implementation of moving average if needed (e.g., pypestutils fieldgen2d_sva does not accept external iid fields).