forked from MODFLOW-USGS/modflow6
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(prt): fix duplicate particles, tidier release mechanism (MODFLOW-…
…USGS#1928) Introduce a module/type to manage the particle release schedule. This uses the time and time step selection (MODFLOW-USGS#1923) types recently added, allowing cleaner release logic in the PRP package. Make some quality of life improvements to the time selection type for easier usage. Add utilities arange and linspace to the math utility module, modeled after the eponymous NumPy functions. Use these in the PRP package to support regularly spaced release times via a new RELEASE_TIME_FREQUENCY option. This includes a few breaking changes, which address correctness and/or do not involve a loss of functionality. 1. Remove the FRACTION period-block release setting option. The RELEASETIMES block (MODFLOW-USGS#1989) can achieve the same explicitly. This brings period-block settings to equivalence with (and shares the implementation of) OC settings: - ALL - FIRST - LAST - STEPS - FREQUENCY If FRACTION is provided, the simulation will now fail. Add a removal notice to the DFN which will get picked up at release time by the automation and an entry will be inserted into the deprecations/removals table in the release notes. 2. Clarify the conceptual model for release points and fix some potential issues with the release mechanism. Previously a release was made for the union of explicit release times and period-block settings, even if an explicitly provided release time happened to coincide with a period block release setting's time. This could introduce duplicate particles, which is a bug given that we describe particles as uniquely identifiable via composite key consisting of model ID, PRP ID, release point ID, and release time. Only allow one release from each point at a time — by default within machine tolerance * 10^9, configurable via new RELEASE_TIME_TOLERANCE option. The release schedule is now the union of times explicitly provided in the RELEASETIMES block, regularly spaced times configured via RELEASE_TIME_FREQUENCY, and period-block time settings, where times within the configured tolerance of one another are merged into a single release time.
- Loading branch information
Showing
37 changed files
with
864 additions
and
413 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file removed
BIN
-21.5 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[0.5-0-prtreltsgl].npy
Binary file not shown.
Binary file removed
BIN
-42.6 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[0.5-1-prtreltdbl].npy
Binary file not shown.
Binary file removed
BIN
-42.6 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[0.5-2-prtreltopen].npy
Binary file not shown.
Binary file removed
BIN
-21.5 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[0.5-3-prtreltall].npy
Binary file not shown.
Binary file removed
BIN
-21.5 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[0.5-4-prtreltfrst].npy
Binary file not shown.
Binary file removed
BIN
-21.5 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[0.5-5-prtreltstps].npy
Binary file not shown.
Binary file removed
BIN
-21.5 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[0.5-6-prtreltfreq].npy
Binary file not shown.
Binary file added
BIN
+21.5 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[prtreltall].npy
Binary file not shown.
Binary file added
BIN
+42.6 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[prtreltboth].npy
Binary file not shown.
Binary file added
BIN
+42.6 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[prtreltdbl].npy
Binary file not shown.
Binary file added
BIN
+21.5 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[prtreltdupe].npy
Binary file not shown.
Binary file added
BIN
+106 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[prtreltfreq].npy
Binary file not shown.
Binary file added
BIN
+21.5 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[prtreltfrst].npy
Binary file not shown.
Binary file added
BIN
+42.6 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[prtreltopen].npy
Binary file not shown.
Binary file added
BIN
+21.5 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[prtreltsgl].npy
Binary file not shown.
Binary file added
BIN
+21.5 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[prtreltstps].npy
Binary file not shown.
Binary file added
BIN
+21.5 KB
autotest/__snapshots__/test_prt_release_timing/test_mf6model[prtrelttol].npy
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.