Skip to content
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

Feature: General perimeter boundaries #34

Merged
merged 24 commits into from
May 14, 2021
Merged

Feature: General perimeter boundaries #34

merged 24 commits into from
May 14, 2021

Conversation

aleaf
Copy link
Collaborator

@aleaf aleaf commented May 12, 2021

Generalize perimeter boundary setup so that

  • inset model grid need not align with the parent model grid; values from the parent model solution are interpolated linearly to the cell centers along the inset model perimeter in the x, y and z directions
  • The perimeter may be irregular. For example, the edge of the model active area may follow a major surface water feature along the opposite side.

Refactor configuration file input so that perimeter boundaries are set up through a perimeter_boundary: sub-block within the block for a package.

Currently, specified head perimeter boundaries are supported via the MODFLOW 6 Constant Head (CHD) Package; specified flux boundaries using the MODFLOW 6 Well (WEL) Package are still in active development. It is envisioned that specified flux perimeter cells will follow the same basic structure/conceptualization as specified heads.

Progress towards #25

aleaf and others added 23 commits March 11, 2021 13:38
…nnection cells are now always located along the edge of the perimeter with cell values == 1
…erpolate.griddata) to populate boundary cell values from the parent model solution, instead of mapping values on a cell-by-cell basis
…ion based perimeter heads through CHD package block
…thod to new ic module;

* implement general 3d interpolation in ArraySourceData and MFBinarySourceData as alternative to having to manually specify layer mapping
* major speedup of 3d interpoation in tmr.py by subsetting parent model and computing factors separately
…ve_bcs function; implement for MFnwtModel as well

fix(interpolate.interp_weights): round barycentric weights, truncating floating point error so that the weights sum to 1. Weights not summing exactly to one seemed to be causing spurious values."
tests: test suite passes.
docs: still need to fill out section with description of CHD perimeter boundary input options.
…eriod_data cleaned by remove_inactive_bcs to external files for MF6 models where external files were specified
…imilar to how inflows are specified; refactor(MFsetupMixin.setup_sfr): consolidate flowline routing input
…ig file wasn't be used (default sfrmaker.Lines._original_routing was being used instead), which was leading to >50% of supplied runoff not being applied in shellmound test case (in the case of the Delta inset model ~75% of supplied runoff was being lost
… information; skip SFR_OBS package in checking for model equality since this input is handled by SFRmaker; a loaded model can have it (and a freshly made model not), with the models otherwise being the same
…mfnwt_inset): Flopy OC tuples are (kper, kstp), not (kstp, kper)
@codecov
Copy link

codecov bot commented May 14, 2021

Codecov Report

Merging #34 (0a9fb23) into develop (4726ee3) will decrease coverage by 0.12%.
The diff coverage is 90.12%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop      #34      +/-   ##
===========================================
- Coverage    86.13%   86.00%   -0.13%     
===========================================
  Files           59       62       +3     
  Lines        10601    11369     +768     
===========================================
+ Hits          9131     9778     +647     
- Misses        1470     1591     +121     
Impacted Files Coverage Δ
mfsetup/fileio.py 82.20% <ø> (ø)
mfsetup/discretization.py 92.43% <50.00%> (-0.30%) ⬇️
mfsetup/tests/test_mf6_tmr_shellmound.py 82.60% <65.07%> (-11.46%) ⬇️
mfsetup/tests/test_tmr.py 85.00% <77.27%> (-15.00%) ⬇️
mfsetup/lakes.py 94.00% <82.35%> (-0.78%) ⬇️
mfsetup/interpolate.py 80.15% <83.33%> (+1.49%) ⬆️
mfsetup/sourcedata.py 89.39% <86.56%> (-0.41%) ⬇️
mfsetup/mfmodel.py 91.66% <90.24%> (+0.45%) ⬆️
mfsetup/ic.py 91.48% <91.48%> (ø)
mfsetup/tmr.py 55.44% <91.73%> (+14.74%) ⬆️
... and 24 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4726ee3...0a9fb23. Read the comment docs.

@aleaf aleaf merged commit 2de0f7d into develop May 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant