From af4d711c5a8df333ab03cd6b68a879f07baece57 Mon Sep 17 00:00:00 2001 From: wpbonelli Date: Thu, 16 May 2024 23:29:18 -0400 Subject: [PATCH 1/3] refactor(prt-prp): require exit solve tolerance option --- .../test_mf6model[0-prtvor1l2r].npy | Bin 19384 -> 19384 bytes autotest/test_prt_disv1.py | 1 + autotest/test_prt_triangle.py | 1 + autotest/test_prt_voronoi1.py | 3 ++- autotest/test_prt_voronoi2.py | 1 + src/Model/ParticleTracking/prt-prp.f90 | 20 ++++++++++++------ 6 files changed, 19 insertions(+), 7 deletions(-) diff --git a/autotest/__snapshots__/test_prt_voronoi1/test_mf6model[0-prtvor1l2r].npy b/autotest/__snapshots__/test_prt_voronoi1/test_mf6model[0-prtvor1l2r].npy index e63c1a1be397525043b986ceed0952dbd9fb75ce..d231c921e53aa931d214ecd78c40a1fed5f3edc6 100644 GIT binary patch delta 33 ocmdlnopHx>#tqqQY?^f#tqqQY&sf&uUq9e7qXplV${oh3@HEr diff --git a/autotest/test_prt_disv1.py b/autotest/test_prt_disv1.py index 36169fae7cd..8bd2d8b674f 100644 --- a/autotest/test_prt_disv1.py +++ b/autotest/test_prt_disv1.py @@ -235,6 +235,7 @@ def build_prt_sim(idx, gwf_ws, prt_ws, mf6): boundnames=True, print_input=True, dev_forceternary=i == 1, + exit_solve_tolerance=1e-10 ) # create output control package diff --git a/autotest/test_prt_triangle.py b/autotest/test_prt_triangle.py index 82337363c7e..fa6444276c6 100644 --- a/autotest/test_prt_triangle.py +++ b/autotest/test_prt_triangle.py @@ -186,6 +186,7 @@ def build_prt_sim(idx, name, gwf_ws, prt_ws, targets): perioddata={0: ["FIRST"]}, boundnames=True, stop_at_weak_sink=True, # currently required for this problem + exit_solve_tolerance=1e-5 ) prt_track_file = f"{prtname}.trk" prt_track_csv_file = f"{prtname}.trk.csv" diff --git a/autotest/test_prt_voronoi1.py b/autotest/test_prt_voronoi1.py index 11027d03e23..3674bc14f76 100644 --- a/autotest/test_prt_voronoi1.py +++ b/autotest/test_prt_voronoi1.py @@ -334,7 +334,7 @@ def build_prt_sim(idx, name, gwf_ws, prt_ws, targets, cell_ids): prpdata = [ # index, (layer, cell index), x, y, z (i, (0, vgrid.intersect(p[0], p[1])), p[0], p[1], p[2]) - for i, p in enumerate(rpts) # first release point crashes + for i, p in enumerate(rpts) ] prp_track_file = f"{prt_name}.prp.trk" prp_track_csv_file = f"{prt_name}.prp.trk.csv" @@ -349,6 +349,7 @@ def build_prt_sim(idx, name, gwf_ws, prt_ws, targets, cell_ids): trackcsv_filerecord=[prp_track_csv_file], boundnames=True, stop_at_weak_sink=True, + exit_solve_tolerance=1e-10 ) prt_track_file = f"{prt_name}.trk" prt_track_csv_file = f"{prt_name}.trk.csv" diff --git a/autotest/test_prt_voronoi2.py b/autotest/test_prt_voronoi2.py index bc93a44491a..eac10ef10a9 100644 --- a/autotest/test_prt_voronoi2.py +++ b/autotest/test_prt_voronoi2.py @@ -172,6 +172,7 @@ def build_prt_sim(name, gwf_ws, prt_ws, targets, cell_ids): trackcsv_filerecord=[prp_track_csv_file], boundnames=True, stop_at_weak_sink=True, # currently required for this problem + exit_solve_tolerance=1e-10 ) prt_track_file = f"{prt_name}.trk" prt_track_csv_file = f"{prt_name}.trk.csv" diff --git a/src/Model/ParticleTracking/prt-prp.f90 b/src/Model/ParticleTracking/prt-prp.f90 index 8a393dccd4b..2d99353afa2 100644 --- a/src/Model/ParticleTracking/prt-prp.f90 +++ b/src/Model/ParticleTracking/prt-prp.f90 @@ -66,6 +66,7 @@ module PrtPrpModule integer(I4B), pointer :: ifrctrn => null() !< force ternary solution for quad grids integer(I4B), pointer :: iexmethod => null() !< method for iterative solution of particle exit location and time in generalized Pollock's method real(DP), pointer :: extol => null() !< tolerance for iterative solution of particle exit location and time in generalized Pollock's method + logical(LGP), pointer :: found_tol => null() !< whether tolerance option was found contains procedure :: prp_allocate_arrays @@ -160,6 +161,7 @@ subroutine prp_da(this) call mem_deallocate(this%ifrctrn) call mem_deallocate(this%iexmethod) call mem_deallocate(this%extol) + call mem_deallocate(this%found_tol) ! -- deallocate arrays call mem_deallocate(this%rptx) @@ -259,6 +261,7 @@ subroutine prp_allocate_scalars(this) call mem_allocate(this%ifrctrn, 'IFRCTRN', this%memoryPath) call mem_allocate(this%iexmethod, 'IEXMETHOD', this%memoryPath) call mem_allocate(this%extol, 'IEXTOL', this%memoryPath) + call mem_allocate(this%found_tol, 'FOUNDTOL', this%memoryPath) ! -- Set values this%rlsall = .false. @@ -280,6 +283,7 @@ subroutine prp_allocate_scalars(this) this%ifrctrn = 0 this%iexmethod = 1 this%extol = DZERO + this%found_tol = .false. ! exit_solve_tolerance is a required option end subroutine prp_allocate_scalars !> @ brief Allocate and read period data @@ -698,7 +702,7 @@ subroutine prp_options(this, option, found) ! -- dummy class(PrtPrpType), intent(inout) :: this character(len=*), intent(inout) :: option - logical, intent(inout) :: found + logical(LGP), intent(inout) :: found ! -- locals real(DP) :: dval integer(I4B) :: i, ios, nlines @@ -818,20 +822,20 @@ subroutine prp_options(this, option, found) found = .true. case ('DEV_EXIT_SOLVE_METHOD') this%iexmethod = this%parser%GetInteger() - if (this%iexmethod /= 1 .and. this%iexmethod /= 2) then + if (.not. (this%iexmethod /= 1 .or. this%iexmethod /= 2)) & call store_error('DEV_EXIT_SOLVE_METHOD MUST BE & &1 (BRENT) OR 2 (CHANDRUPATLA)') - end if found = .true. case ('EXIT_SOLVE_TOLERANCE') this%extol = this%parser%GetDouble() - if (this%extol <= DZERO) then - call store_error('EXIT_SOLVE_TOLERANCE MUST BE STRICTLY POSITIVE') - end if + if (this%extol <= DZERO) & + call store_error('EXIT_SOLVE_TOLERANCE MUST BE POSITIVE') found = .true. + this%found_tol = .true. case default found = .false. end select + end subroutine prp_options !> @brief Read the packagedata for this package @@ -983,6 +987,10 @@ subroutine prp_read_dimensions(this) integer(I4B) :: ierr logical :: isfound, endOfBlock + if (index(this%fmi%dis%input_mempath, 'DISV') > 0 & + .and. .not. this%found_tol) & + call store_error('EXIT_SOLVE_TOLERANCE MISSING, VALUE REQUIRED') + ! -- get dimension block call this%parser%GetBlock('DIMENSIONS', isfound, ierr, & supportOpenClose=.true.) From e9cd823512a771caede3f83bf19b6a695ad18e92 Mon Sep 17 00:00:00 2001 From: wpbonelli Date: Fri, 17 May 2024 12:15:51 -0400 Subject: [PATCH 2/3] make required for all grids, update/optimize/format tests --- .../test_mf6model[0-prtvor1l2r].npy | Bin 19384 -> 19384 bytes .../test_mf6model[1-prtvor1welp].npy | Bin 19367 -> 19367 bytes autotest/prt_test_utils.py | 5 +- autotest/test_prt_budget.py | 3 +- autotest/test_prt_disv1.py | 2 +- autotest/test_prt_drape.py | 8 +- autotest/test_prt_exg.py | 8 +- autotest/test_prt_fmi.py | 2 + autotest/test_prt_release_timing.py | 2 + autotest/test_prt_stop_zones.py | 2 + autotest/test_prt_ternary_methods.py | 21 +- autotest/test_prt_track_events.py | 2 + autotest/test_prt_triangle.py | 2 +- autotest/test_prt_voronoi1.py | 222 +++++++++++++++++- autotest/test_prt_voronoi2.py | 2 +- autotest/test_prt_weak_sinks.py | 2 + src/Model/ParticleTracking/prt-prp.f90 | 13 +- 17 files changed, 265 insertions(+), 31 deletions(-) diff --git a/autotest/__snapshots__/test_prt_voronoi1/test_mf6model[0-prtvor1l2r].npy b/autotest/__snapshots__/test_prt_voronoi1/test_mf6model[0-prtvor1l2r].npy index d231c921e53aa931d214ecd78c40a1fed5f3edc6..e811788fa2519ec51f3be91fb5f7a432b6c4f4dc 100644 GIT binary patch delta 4459 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 Z7Txky%9NSEj?o^br2v null() !< force ternary solution for quad grids integer(I4B), pointer :: iexmethod => null() !< method for iterative solution of particle exit location and time in generalized Pollock's method real(DP), pointer :: extol => null() !< tolerance for iterative solution of particle exit location and time in generalized Pollock's method - logical(LGP), pointer :: found_tol => null() !< whether tolerance option was found + logical(LGP), pointer :: foundtol => null() !< whether tolerance option was found contains procedure :: prp_allocate_arrays @@ -161,7 +161,7 @@ subroutine prp_da(this) call mem_deallocate(this%ifrctrn) call mem_deallocate(this%iexmethod) call mem_deallocate(this%extol) - call mem_deallocate(this%found_tol) + call mem_deallocate(this%foundtol) ! -- deallocate arrays call mem_deallocate(this%rptx) @@ -261,7 +261,7 @@ subroutine prp_allocate_scalars(this) call mem_allocate(this%ifrctrn, 'IFRCTRN', this%memoryPath) call mem_allocate(this%iexmethod, 'IEXMETHOD', this%memoryPath) call mem_allocate(this%extol, 'IEXTOL', this%memoryPath) - call mem_allocate(this%found_tol, 'FOUNDTOL', this%memoryPath) + call mem_allocate(this%foundtol, 'FOUNDTOL', this%memoryPath) ! -- Set values this%rlsall = .false. @@ -283,7 +283,7 @@ subroutine prp_allocate_scalars(this) this%ifrctrn = 0 this%iexmethod = 1 this%extol = DZERO - this%found_tol = .false. ! exit_solve_tolerance is a required option + this%foundtol = .false. ! exit_solve_tolerance is a required option end subroutine prp_allocate_scalars !> @ brief Allocate and read period data @@ -831,7 +831,7 @@ subroutine prp_options(this, option, found) if (this%extol <= DZERO) & call store_error('EXIT_SOLVE_TOLERANCE MUST BE POSITIVE') found = .true. - this%found_tol = .true. + this%foundtol = .true. case default found = .false. end select @@ -987,8 +987,7 @@ subroutine prp_read_dimensions(this) integer(I4B) :: ierr logical :: isfound, endOfBlock - if (index(this%fmi%dis%input_mempath, 'DISV') > 0 & - .and. .not. this%found_tol) & + if (.not. this%foundtol) & call store_error('EXIT_SOLVE_TOLERANCE MISSING, VALUE REQUIRED') ! -- get dimension block From ab58e4532b4471ca489439fc5be0cacf77e67993 Mon Sep 17 00:00:00 2001 From: wpbonelli Date: Fri, 17 May 2024 17:05:36 -0400 Subject: [PATCH 3/3] fix double comma in bib file --- doc/MODFLOW6References.bib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/MODFLOW6References.bib b/doc/MODFLOW6References.bib index 0cab9e59186..501fcf77295 100644 --- a/doc/MODFLOW6References.bib +++ b/doc/MODFLOW6References.bib @@ -3046,7 +3046,7 @@ @article{bakker2016flopy doi = {https://doi.org/10.1111/gwat.12413}} @book{flopysoftware, - author = {Bakker, M and Post, V and Hughes, J D and Langevin, C D and White, J T and Leaf, A T and Paulinski, S R and Bellino, J C and Morway, E D and Toews, M W and Larsen, J D and Fienen, M N and Starn, J J and Brenhoff, D A and Bonelli, W P},, + author = {Bakker, M and Post, V and Hughes, J D and Langevin, C D and White, J T and Leaf, A T and Paulinski, S R and Bellino, J C and Morway, E D and Toews, M W and Larsen, J D and Fienen, M N and Starn, J J and Brenhoff, D A and Bonelli, W P}, Date-Added = {2024-05-16 00:00:00 +0000}, Series = {{U.S. Geological Survey Software Release}}, Title = {FloPy v3.7.0dev0 (preliminary)},