|
305 | 305 | "cell_type": "markdown",
|
306 | 306 | "metadata": {},
|
307 | 307 | "source": [
|
308 |
| - "Well thats ok, but we dont really want pilot points in the inactive zones, do we? Let's try this again, this time pass the `idomain` as the \"zone\" array:" |
| 308 | + "Well that's ok, but we dont really want pilot points in the inactive zones, do we? Let's try this again, this time pass the `idomain` as the \"zone\" array:" |
309 | 309 | ]
|
310 | 310 | },
|
311 | 311 | {
|
|
338 | 338 | "cell_type": "markdown",
|
339 | 339 | "metadata": {},
|
340 | 340 | "source": [
|
341 |
| - "Mucho gusto! Thats better. We can also pass other array quantities to this simple helper if we want to sample arrays to the pilot point values (including the quantities we modify for the pilot point below). Let's do something fun (and quasi-geologic?): Let's assume that in the vicinity of the SFR boundary, there are buried meander-shaped deposits, but that as we move away from the SFR boundary, more traditional two-point geostatistical heterogeneity exists. Sounds fancy right? We can do this with spatially varying geostatistical hyper-parameters..." |
| 341 | + "Mucho gusto! That's better. We can also pass other array quantities to this simple helper if we want to sample arrays to the pilot point values (including the quantities we modify for the pilot point below). Let's do something fun (and quasi-geologic?): Let's assume that in the vicinity of the SFR boundary, there are buried meander-shaped deposits, but that as we move away from the SFR boundary, more traditional two-point geostatistical heterogeneity exists. Sounds fancy right? We can do this with spatially varying geostatistical hyper-parameters..." |
342 | 342 | ]
|
343 | 343 | },
|
344 | 344 | {
|
|
476 | 476 | "cell_type": "markdown",
|
477 | 477 | "metadata": {},
|
478 | 478 | "source": [
|
479 |
| - "Ok, thats pretty awesome. So now lets proceed as usual with `PstFrom`" |
| 479 | + "Ok, that's pretty awesome. So now lets proceed as usual with `PstFrom`" |
480 | 480 | ]
|
481 | 481 | },
|
482 | 482 | {
|
|
515 | 515 | "\n",
|
516 | 516 | "Let's setup grid-scale multiplier parameters and fancy pilot point multipliers for HK in all layers. Typically, we would want pass a `geostruct` to `PstFrom.add_parameters()` for the grid-scale parameters to that later when we generate the prior parameter ensemble, grid-scale parameter realizations would get some spatial correlation. But in this notebook, we are focused on using `pypestutils`, so when we get to the prior parameter ensemble generation, we will use `pypestutils` to generate spatially correlated grid-scale parameter realizations.\n",
|
517 | 517 | "\n",
|
518 |
| - "To start with, lets make sure to reset the \"value\" column in `ppdf` to 1.0 so we can use it as a multiplier...and...this where it gets deep: we need to have some spatial correlation on the pilot point spatial correlation attributes - yeesh! This is where the term \"hyper-parameter\" comes from: We are treating the controling attributes of the pilot point interpolation as \"parameters\" in the PEST sense, which means we want those attributes to have some spatial structure to them, otherwise, the resulting property fields will have implausible bearing, aniso, and/or correlation length variability (that is, those quantities will vary sharply over short distances, which we dont want). So we need to define, you guessed it, a geostatistical structure for...the...geostatistical structure?! #inception" |
| 518 | + "To start with, lets make sure to reset the \"value\" column in `ppdf` to 1.0 so we can use it as a multiplier...and...this where it gets deep: we need to have some spatial correlation on the pilot point spatial correlation attributes - yeesh! This is where the term \"hyper-parameter\" comes from: We are treating the controlling attributes of the pilot point interpolation as \"parameters\" in the PEST sense, which means we want those attributes to have some spatial structure to them, otherwise, the resulting property fields will have implausible bearing, aniso, and/or correlation length variability (that is, those quantities will vary sharply over short distances, which we dont want). So we need to define, you guessed it, a geostatistical structure for...the...geostatistical structure?! #inception" |
519 | 519 | ]
|
520 | 520 | },
|
521 | 521 | {
|
|
622 | 622 | "cell_type": "markdown",
|
623 | 623 | "metadata": {},
|
624 | 624 | "source": [
|
625 |
| - "### Getting the `pypestutils` pilot point interpolation into the foward run process\n", |
| 625 | + "### Getting the `pypestutils` pilot point interpolation into the forward run process\n", |
626 | 626 | "\n",
|
627 |
| - "So we added extra fancy pilot points to our pest interface with the smoothness of `PstFrom`. But we still need to interpolate the pilot point values using the associated (estimated) hyper-parameters to the model grid at runtime. To do this, we have setup a little helper funtion in a python script called \"ppu_helpers.py\". This helper function will read the \".grb\" file at runtime so we need to make sure it always available. So let's copy the current \".grb\" file to a file for safe keeping (in case MODFLOW-6 fails to run to competion and we lose the \".grb\" file for the next run!)" |
| 627 | + "So we added extra fancy pilot points to our pest interface with the smoothness of `PstFrom`. But we still need to interpolate the pilot point values using the associated (estimated) hyper-parameters to the model grid at runtime. To do this, we have setup a little helper function in a python script called \"ppu_helpers.py\". This helper function will read the \".grb\" file at runtime so we need to make sure it always available. So let's copy the current \".grb\" file to a file for safe keeping (in case MODFLOW-6 fails to run to completion and we lose the \".grb\" file for the next run!)" |
628 | 628 | ]
|
629 | 629 | },
|
630 | 630 | {
|
|
0 commit comments