Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(rct): renamed SRB to RCT, and created IMD Package (#68)
* feat(GwtSrbModule): created new sorption package for transport model First crack at the sorption package. The GwtSrbModule has been implemented, but has not yet been added to the gwt model. The source compiles and existing tests run and pass so the new code doesn't break anything. * feat(GwtSrbModule) : finished up much of the Sorption Package structure Sorption package is up and running and has a test, input instructions, and flopy support. Right now it only has equilibrium-control linear sorption. Should also add Freundlich, Langmuir and the nonequilibrium options that are in MT3D. And what about dual-domain? Does that go here? And there may still be a question about the volume that should be used for calculating sorption. Right now, we are using Vcell, but this might need another look. Also still need to add and test observations. * test(GwtSrbModule): removed a hard coded assert False Removed a statement that was left in by accident. * docs(readme): fix directory name * fix(GwfModule): fix to apply ptc to problems with the STO package Fix to apply ptc during steady-state stress periods to models using the Newton-Raphson formulation and including the STO package. Previously ptc was only applied to models using the Newton-Raphson formulation and no STO package - this is not the intended behaviour. Also migrated DEV_NO_PTC option to NO_PTC option. Added autotest (test_gwf_ptc01) that tests that the same results are achieved for problems with and without the STO packages (this test is identical to MODFLOW-NWT Problem 3 - low recharge). closes #47 * refactor(pre-commit.py): use OrderdedDict to load and write code.json Updated the code.json writer to use an ordered dictionary so that the order is always the same. This will minimize the number of changes that appear in the changelog due to ordering changes that do not change content. * refactor(InputOutputModule): refactor dclosetest (#49) Refactor dclosetest and replace with IS_SAME in GenericUtilities. Convert IS_SAME to logical function and allow passing of evaluation value (eps). If eps is not passed then DSAME is used. Modified calls to dclosetest to IS_SAME but did not pass an eps value (unlike what was done previously). All tests pass so current tests are not sensitive to a passed eps value. Need to monitor this for timeseries functionality which used dclosetest. * refactor(pre-commit.py): use OrderdedDict to load and write code.json (#50) Updated the code.json writer to use an ordered dictionary so that the order is always the same. This will minimize the number of changes that appear in the changelog due to ordering changes that do not change content. * perf(GwfModule): improvements to ptc (#53) Small improvements to ptc to reduce the ptcdel value loaded on the diagonal. * fix(GwfGwfExchangeModule): specific discharge not updated correctly for LGR The sign for the face normal needed to be flipped for model 2 so that specific discharge would be calculated correctly. Added a test to make sure that the velocities are correct. Addresses #51. * fix(GwfGwfExchangeModule): specific discharge not updated correctly for LGR Updated the release notes and added some docstrings to the autotest. * fix(ObsModule): implemented non-advancing output (#55) Modified the pbservation process to use non-advancing output instead of fixed length strings when writing ascii output. The previous use of fixed length strings resulted in truncation of ascii observation output when the product of user-specified digits + 7 and the number of observations exceeded 5000. Closes #54 * fix(GwfGwfExchangeModule): correct specific discharge calculation for LGR (#56) * refactor(pre-commit.py): use OrderdedDict to load and write code.json Updated the code.json writer to use an ordered dictionary so that the order is always the same. This will minimize the number of changes that appear in the changelog due to ordering changes that do not change content. * fix(GwfGwfExchangeModule): specific discharge not updated correctly for LGR The sign for the face normal needed to be flipped for model 2 so that specific discharge would be calculated correctly. Added a test to make sure that the velocities are correct. Addresses #51. * fix(GwfGwfExchangeModule): specific discharge not updated correctly for LGR Updated the release notes and added some docstrings to the autotest. * docs(dfn): fix 3 dfn typos (#59) - `double` → `double precision` - `valid_values` → `valid` - `in_record = false` → `in_record false` * docs(mf6ivar): readme.md needed a description of the valid keyword * docs(mf6ivar): readme.md updated to include valid keyword (#60) * refactor(pre-commit.py): use OrderdedDict to load and write code.json Updated the code.json writer to use an ordered dictionary so that the order is always the same. This will minimize the number of changes that appear in the changelog due to ordering changes that do not change content. * fix(GwfGwfExchangeModule): specific discharge not updated correctly for LGR The sign for the face normal needed to be flipped for model 2 so that specific discharge would be calculated correctly. Added a test to make sure that the velocities are correct. Addresses #51. * fix(GwfGwfExchangeModule): specific discharge not updated correctly for LGR Updated the release notes and added some docstrings to the autotest. * docs(mf6ivar): readme.md needed a description of the valid keyword * fix(ssm): added trap for case where flows are not available to transport model * feat(gwt): first and zero order reactions implemented plus other minor changes Also added additional checks to make sure that ssm is used if there are sources/sinks in the model; fixed a problem with pointers in the dispersion package (we need to revisit the memory manager for the mem_setptr case because the underlying mt object isn't being updated if a pointer is reset. * Corrected misspelling of execution in the release notes. * docs(releasenotes): corrected spelling error in release notes (#64) * refactor(pre-commit.py): use OrderdedDict to load and write code.json Updated the code.json writer to use an ordered dictionary so that the order is always the same. This will minimize the number of changes that appear in the changelog due to ordering changes that do not change content. * fix(GwfGwfExchangeModule): specific discharge not updated correctly for LGR The sign for the face normal needed to be flipped for model 2 so that specific discharge would be calculated correctly. Added a test to make sure that the velocities are correct. Addresses #51. * fix(GwfGwfExchangeModule): specific discharge not updated correctly for LGR Updated the release notes and added some docstrings to the autotest. * docs(mf6ivar): readme.md needed a description of the valid keyword * Corrected misspelling of execution in the release notes. * Cleanup on reactions in preparation for getting dual domain into the code. * fix(rct): fixed porosity error in sorbtion equation * feat(srb): dual domain formulate is implemented but results are wrong and budget not implemented yet * feat(srb): dual domain mass transfer working now including budget Still need to break the budget into the individual components, not just the transfer to the immobile domain * feat(imd): first commit of immobile domain package (IMD) By making the IMD Package a BndType Package, users can add as many immobile domains as desired. This means that triple porosity systems can be simulated by specifying two immobile domain packages. Or the user can specify n number of IMD Packages. Still more to do. Need ability to output immobile domain concentration. Need to refactor the Reactions Package to remove the immobile domain capability. Need to update the definition files and add one for IMD. Need to add tests. * feat(imd): added printing of an immobile domain budget to the listing file * feat(rct): changed SRB to RCT and added dfn for IMD Package * feat(rct): added source file for reaction package
- Loading branch information