-
Notifications
You must be signed in to change notification settings - Fork 117
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
fix(csub): Report NODATA for CSUB observ. not calculated in steady-state #359
Merged
Conversation
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
CSUB source has been modified to report NODATA values for observations that are not calculated during steady-state stress periods. Observations that are not calculated for steady-state stress periods include SKE, SK, SKE-CELL, SK-CELL, DELAY-HEAD, DELAY-PRECONSTRESS, DELAY-GSTRESS, DELAY-ESTRESS, PRECONSTRESS-CELL. Update mfio to reflect these changes. Also modified CSUB observations so that thick-cell observation is correctly calculated during steady-state stress periods. Closes #300
jdhughes-usgs
added a commit
that referenced
this pull request
Apr 10, 2020
* Initial changes to address #36. Still need to test and perform clean up. * Updates to OBS to deallocate internal members with gfortran-8. Clean up of constants specified in code (DZERO and DONE) instead of relying on constants module. * Cleanup of variable definitions. Still more cleaning required. * Fixed compile issue with mf5to6...added contiguous to vectors/arrays allocated using the memory manager. Also fixed issue with SEGFAULT in mf5to6 that was related to a pointer in ChdPackageWriter that was not pointed to null (=> null()) in definition. * Proposed fix for denormal results occurring with gfortran-8 and test016_Keating_disu_250. * Proposed fix for denormal results occurring with gfortran-8 and test016_Keating_disu_250. (2) * Additional cleanup of variable definitions. Modified .travis.yml to require successful testing of gfortran-7 and gfortran-8 environments. * docs(ReleaseNotes): Updated release notes Added section for current release and added header for 6.0.3 version changes. * docs: updates and additions Updated CONTRIBUTING.md and added DEVELOPER.md. DEVELOPER.md probably still needs additional work. * fix(ArrayReaders): Fix issue reading binary 2d arrays Fix issue reading binary 2d arrays. read_binary_header was imbedded in the row loop of the 2d readers. Modify test_gwf_binaryinput01 to create binary files for strt, idomain, botm, and icelltype for models with layered and non-layered cases. * test(test_gwf_binaryinput01): write discretization top to binary file and read binary file with open/close statement Reading of the botm discretization array from a binary file had already been tested. This change now tests the model top array being read from a binary file. * docs(gwf-sfr.dfn): corrected typo The SFR Newton-Raphson iteration description had a typo in it. * docs(gwf-lak.dfn): fixed error in description of rough The variable rough was incorrectly described in the period block, though it was correct in the outlet block. * feat(tdis): error check for invalid time step lengths Added a new error check for very small time steps. If the value of startime plus the time step length is equal to endtime, then the time step is too small to be differentiated by the program based on the precision of floating point numbers. The program will terminate with an error in this case. The program will also terminate if the storage package and a transient stress period has a time step length of zero. Closes #42. * test:(test_gwf_utl) : renamed two of the autotests Renamed the binary file and time series autotests to be of the form test_gwf_utlxx_purpose. These tests are testing the utility parts of the code, so they are grouped now into a gwf_utl category. We should continue to name our tests in a consistent manner so that we use wildcards with nosetests to test only the things we are working on. * 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 * 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. * fix(docs): maximum_iterations in gwf-sfr.dfn should be of type integer (#71) fixes #70. * fix(inputoutput): columns and width were not be checked properly for the print_format (#72) Fixes #69. This patch also includes some changes to the OutputControlData object so that it can be used directly in a package other than the output control package. This new functionality is being used for the transport model as a way to save immobile domain concentrations in a manner similar to how heads are saved. * test(test000_setup): download a zip file of modflow executables for testing purposes (#75) Download a zip file of binary executables from https://github.com/MODFLOW-USGS/executables and unzip into autotest/temp/mfexes. These binary executables can be used to help with testing, and reduces the amount of build time on Travis. The getmfexes function will download the correct executables depending on the operating system, which can be either windows, mac, or linux. * docs(hooks): update pre-commit hook (#76) Update pre-commit hook to evaluate if repo is a fork of the main repository. If it is a fork, the branch name is parsed from README.md rather than using 'git status'. This will make pre-commit hooks work as expected for fix-branch/pull request approach currently being used. * fix(typos): fixed a variety of typos throughout project (#82) * feat(maw): program head limit and rate scaling to work for injection wells Updated code, added a new test, updated readme and mf6io files. Also fix a few minor typos in the definition files. And remove the PRECISION keyword from observation options since it is not supported. * fix(src_cc): Add SFR convergence check (#85) Add OUTER_RCLOSEBND variable to IMS that is used when performing final convergence checks on model packages that solve a separate equation not solved by the IMS linear solver. Add stage and residual convergence checks to the SFR package to make sure that stage and upstream flow changes between successive outer iterations are less than OUTER_HCLOSE and OUTER_RCLOSEBND, respectively. Modify the final convergence check for the LAK package to use OUTER_HCLOSE when evaluating lake stage changes between successive outer iterations. Modify the final convergence check for the UZF package to use OUTER_RCLOSEBND when evaluating rejected infiltration, groundwater recharge, and groundwater seepage changes between successive outer iterations. * refactor(mover): refactor and clean up water mover for possible BOUNDNAME support (#86) This is some minor clean up to the water mover that improves some of the comments, and eliminates storage of a 20-character string for each water mover, and instead replaces it with an integer. Reading of the reach id is now done using the IO utility, extract_idnum_or_bndname. * docs(uzf): clarified dfn descriptions for nuzfcells and ivertcon (#90) closes #84 * docs(dfn): improve description of ANGLDEGX and CDIST (#91) closes #51 * refactor(autotest): refactor nightly build autotest scripts (#89) Refactor nightly build autotest scripts to find appropriate directories rather than having them predefined. * refactor(MemoryManager): add mem_reassignptr functions and clean up (#92) * Completed the mem_reassignptr routines so there are versions for int1d, int2d, dbl1d, dbl2d * Adding optional name and origin arguments to the other array deallocate routines. In general, we should be passing name and origin to the mem_deallocate routine. Ultimately, I think we will want to make this mandatory. * Discovered that rclose was not being deallocated and made the fix. * NPF variables K22 and K33 are now reassigned to K11 if they are not specified. * The memory manager type now has a new logical attribute called "master". If true, then this means this this variable is the master version, and should be deallocated. If this memory type is just a copy to another variable, then master should be set to zero. This information is used for deallocation and for determining memory usage. * closes #65 * refactor(BndType): Generalized BndType pointer to NPF ICELLTYPE to be model agnostic (#93) ICELLTYPE is a member of BndType, which is supposed to be a general package class for GWF and other models. But ICELLTYPE is an NPF thing. This PR generalizes the ICELLTYPE member by allowing packages to set the origin of this variable. For the GWF Boundary packages, the ictorigin value is set to "NPF". If ictorigin is not set, then BndType will not try to set ICELLTYPE, and it will remain null(). Closes #67 * docs(dfn): update information on when vertices and cell2d information is required (#94) * Closes issue #52 * refactor(Xt3dAlgorithmModule): reformatted source to look like MF6 source (#95) * Closes issue #38 * fix(gwf3): correct error message to mention DISV6 (#97) Close #96 * fix(listreader): corrected two typos to the word exist, which was spelled as exit (#98) * docs(releasenotes): minor changes for release (#99) * fix(comarg): exe cannot be in file path with a space (#101) This is in reference to issue #100. This PR also contains a small typo fix in uzf dfn * fix(comarg): restored cexe to be executable basename instead of full exe path (#103) Also restored the update_flopy script to remove all existing mf6 classes except mfsimulation.py. Closes #103 * fix(disu): fixed error message for disu connectiondata block (#104) * feat(compile): added gfortran compile flags to bomb if source code isn't clean * Updated MODFLOW-USG download link * removed the character-truncation flag. Not clear how to get this to work for the fpp file. * Reverting the size of words in namefile * Had to turn off extra code error checking; was getting an error on linux that couldn't be resolved. * small latex change * Release 6.0.4. * Fixed small bug in numericalsolution.f90. Rereleasing this as version 6.0.4. * small change to distribution script * feat(release): updated develop with master * fix(ci): fix to pre-commit when working on a fork * fix(update_flopy): there is a new flopy.dfn file that cannot be removed (#112) * refactor(tests): to work with recent flopy changes (#113) * refactor(tests): to work with recent flopy changes * fix(test_gwf_utl02): added the time series filename due to possible bug in flopy * fix(disvdfn): corrected top shape to (ncpl) (#115) * refactor(test000_setup.py): cleaning up the build process using new pymake functionality (#117) * fix(dis/disv): terminate with error if all IDOMAIN values less than or equal to zero (#124) * fix(dis/disv): terminate with error if all IDOMAIN values less than or equal to zero * couple fixes to get tests running with new flopy code * refactor(make-release): refactor updates to version numbers (#126) * test(test000_setup): fallback for when os.path.relpath throws (#45) Happens on Windows only. It is only used for logging, so no functional change. * test(idomain): add zero idomain autotest (#129) * fix(mover): added better error trapping for mover entries (#131) * fix(mover): added better error trapping for mover entries * more refactoring to eliminate use of memory manager in the mover object * added characters to error message line length in memory manager * Added mover test with a variety of mover options active * some final cleanups on this mover patch closes #130 This required some fairly substantial refactoring of the mover object. Instead of looking up information in the memory manager, the mover object is now passed packagemover objects, which should be much more efficient. * test(returncodes): add mf6 return codes and command args autotest (#132) Add mf6 return codes and command args autotest. Update return codes to use select case. * feat(ims): Add no_ptc_option FIRST and ALL to no_ptc options keyword (#134) Add no_ptc_option FIRST and ALL to no_ptc options keyword. Add autotest (test_gwf_noptc01.py) to test new option against simulation with PTC. * docs(gwf.tex): minor fix (#135) * ci(z01/z02): minor change to look for examples with .git extension (#136) * fix(z02): correcting mistake from last commit (#139) * ci(slack): add slack notifications * fix(auxiliary): corrected advanced package auxiliary variables (#146) * fix(auxiliary): corrected inconsistencies and bugs advanced package aux variables Added a new test to make sure the aux variables are being carried correctly into the binary budget files. * More on the auxiliary fix * Another fix to get MAW right * fix(ims): Allow for optional nonlinear and linear block (#147) * ci(travis): Add simple test of Newton-Raphson with known solution (#149) * fix(oc): error message causing runtime error (#152) Close #151 * Update gwf-dis.dfn Corrected a dfn typo as first reported here: https://github.com/modflowpy/flopy/pull/574/files * fix(mkdist): error output problem in the make distribution script (#162) Close #154 * docs(disu.dfn): small typo fix * fix(evt): fixed error in evapotranspiration rate calculation (#169) Closes #168 * refact(sync dfns): Disu dfn synced with flopy. (#188) * refactor(sfr): move SfrDataType members into flat arrays (#194) * refactor(sfr): converted the first 12 entries of SfrDataType to flat arrays * refactor(sfr): ustrf flattening * refactor(sfr): ftotnd flattening * refactor(sfr): usflow flattening * refactor(sfr): dsflow flattening * refactor(sfr): depth flattening * refactor(sfr): stage and gwflow flattening * refactor(sfr): simevap flattening * refactor(sfr): simrunoff flattening * refactor(sfr): stage0 flattening * refactor(sfr): flattening usflow0 * refactor(sfr): ndiv flattening * refactor(gwf): cleaning up call statements and arguments(#202) * refactor(gnc): removed mention of iasln as it was not used and named wrong * refactor(gwf): cleaning up model%ia/ja confusion in gwf * refactor(gwf): cleaning up call statements and arguments * refactor(xt3d): minor comment cleanup This is in preparation to be able to mask a primary connection between two model cells so that an interface model can be used to connect two models * refactor(griddata): refactor grid data to isolate read and constructor (#197) * fix(gwf3lak8): error trap for outlet lakein incorrectly compared against noutlet instead of nlak (#214) Addresses issue #200 * fix(npf): reset lastedge to zero (#217) * fix(npf): reset lastedge to zero This change addresses issue #216 * test_gwf_npf04_spdis.py updated to multiple stress periods to test this fix * fix(ListReaderType): initialize attributes in declaration (#220) close #120 * feat(maxerrors): limit the number of errors stored to maxerrors (#221) Error messages are stored in memory. If something goes terribly wrong, the number of errors can be so large that memory runs out. Limit the number of errors stored, by default, to 1000. The user can control this maximum number by specifying MAXERRORS in the mfsim.nam options block. Number of errors and number of errors above maxerrors are not written to mfsim.lst and to terminal. Closes #106 * test(gwf_errors): new test to make sure mf6 is failing correctly (#222) * test(gwf_errors): new test to make sure mf6 is failing correctly * cleanup of model testing script * feat(cmask): add mask for calculation of amat terms (#215) * feat(cmask): skip calculation of amat terms in *_fc and *_fn for masked connections The purpose of this PR is to allow another package or module to shutoff the flow connection between two cells. A connection can be masked by calling set_mask with the position within the ja and amat arrays of the masked connection. A value of zero means the connection is masked. If not used, the masked array points to ja, which has non-zero values for all connections. The first call to set_mask allocates new memory for the masked array of size nja and initializes all values to one. * ci(.travis.yml) Commenting out the "conda update conda" line to see what is causing Travis to fail * ci(.travis.yml): add back conda update conda Try adding back the conda update conda command to see if updating the cache fixed the issue. * ci(.travis.yml): upgrade to xenial, replace miniconda with apt-get (#226) * reduce repetition in matrix * remove inactive features like sudo and cache: apt * install packages with apt-get rather than miniconda * feat(disu): ensure cell elevations decrease with depth (#224) Closes #108 * docs(mf6io/ReleaseNotes): updates to describe changes for next release (#227) * Closes #133. * Closes #141. * Closes #184. * Add summary of issue #145 to ReleaseNotes * feat(dis): add get_cellxy procedure to DisBaseType #204 (#228) * Expose cell x,y values for all DIS - add 'pure virtual' get_cellxy() to DisBaseType plus implementations in DIS, DISV, DISU. * Expose cell x,y values for all DIS, continue - redirect to appropriate type-bound procedures Closes #204. * fix(dis): cellxy in DIS (#239) - fixed how celly is determined from column numbers * ci(.travis.yml): use change branch of modflow6-examples (#242) if modflow6-examples has a branch with the same name as the modflow6 branch that is being tested, then checkout that branch of modflow6-examples for the z01 autotest * refactor(fortran): turned on gfortran flags for better error checking (#246) * refactor(fortran): turned on gfortran flags for better error checking * Close #182 * removed the min_satthk variable from xt3d as it is not needed * fix(fortran): turn on gfortran 2008 standard check (#248) Closes #183 Added -pedantic -std=f2008 flags for gfortran compiling * test(rch): add test for reported issue #181 (#249) bug could not be reproduced close #181 * feat(anistropy): add anisotropy input option for NPF (#253) * close #34 * added K22OVERK and K33OVERK NPF options * added test for anisotropy and updated definition files * refactored routine in InputOutput.f90 to eliminate antiquated computed goto statement * updated release notes * fix(getblock): many of the parser%getblock calls did not have supportopenclose=.true. (#254) added supportopenclose=.true. to many getblock calls close #163 * fix(mf5to6): fix converter for multiple mnw2 wells (#256) * converter had multiple bugs for multiple MNW2 wells that spanned multiple model layers * closes #185 * added history to converter document * refactor(dfn): turn off default for maxerrors (#257) * feat(disu idomain): add support for disu idomain (#261) * feat(disu): adding idomain capability to disu * couple of fixes to get disu working for non-reduced grids * Found another place in disu where a conversion to user node number is required * change variable name todo list: still need to consider converting iac to ia right away change usr to input for variable names so as not to conflict with iausr/jausr in connections add more comprehensive test add idomain validity check support idomain < 0 values * more cleanup on disu idomain support * more disu cleanup and idomain testing * cleanup comments * Updated release notes * docs(version): update doc information and version (#264) * Updated a couple doc files for DISU IDOMAIN changes * Updated version to reflect the upcoming 6.1.0 release * feat(csub): Add csub package to develop (#262) * refactor(uzf): converting to large vector storage (#265) * change from UzfBndKinematic to UzfCellGroup * updated release notes * deallocate a couple NPF variables * close #107 This change converts the array of structures implemented for UZF into a structure of arrays (contained in UzfCellGroupType) in order to prevent excessive memory requirements. * docs(release notes): few small changes to get ready for release (#266) * ci(mkdist): getting 6.1 distribution ready (#267) * docs(csub): corrected a few typos and updated date (#270) * 6.1.0 release * merge master into develop and update version to 6.1.1 * fix(uzf): fix indexing error in UZF (#274) * Error introduced as part of recent UZF refactoring * Closes #273 * fix(memory): some variables not deallocated (#278) Implemented new check in develop mode so code bombs with error if memory manager variable not deallocated * refactor(budobj): new budget object for advanced packages (#279) * single code base for writing binary budget files for advanced packages * single code base for creating and writing budget tables to list file for advanced packages * implemented for MAW, UZF, LAK, SFR, and MVR * closes #277 * update mf6exes from 2.0 to 3.0 * will allow generalized transport calculations for advanced packages * refactor(advanced packages): read static data as part of df() (#281) * refactor(advanced packages): modify advanced packages to read all static data as part of df() * modify setup_budobj to include the connectivity so that it is available to other models * fix(budterm): initialize nlist to zero (#283) * initialize nlist to zero (#284) * fix(lak): initialize chdratin and chdratout to zero (#286) * fix(lak): added sign checks for user specified lak flow terms (#288) * User-specified values for RAINFALL, EVAPORATION, RUNOFF, INFLOW, and WITHDRAWAL must be positive. The program worked if these values were negative, but that doesn't necessarily make sense and is probably an input error. * Updated definition file to reflect these changes * Corrected minor typo in lake definition file * Updated release notes to reflect this change * Close #287 * feat(sfr): add storage term to sfr budget (#293) * Also includes a reach volume term written as an aux variable. This is needed for transport. * initialize str so non-ascii characters don't show up in output files * updated notes for these changes * * fix(csub): Fix CSUB binary budget data saved as IMETH=6 datatype closes #290 * refactor(sfr): Refactor SFR Package to remove use of Geometry objects (#296) * refactor(sfr): Refactor SFR Package to remove use of Geometry objects * doc(pak-ts): update description of package timeseries variables. * ci(yml): update yml to clone shallow copy of flopy and pymake repos * doc(release): Update release notes * Closes #276, and #289 * refactor(xt3d): accumulate flowja instead of set (#306) This change is required for transport, which accumulates terms in flowja * fix(dis): corrected connection vector error in DIS package (#308) Code was incorrectly calculating cell center elevations when nozee was .false. This error would have affected XT3D simulations with unconfined flow and non-zero values specified for ANGLE2 in the NPF Package. It also would affect dispersive transport with XT3D for unconfined conditions. * Update sln-ims-example.dat * refactor(maw): refactor MAW conductance calculation for issue 305 (#310) Add traps to catch 1) skin factors that are <= 0 when using the SKIN conductance equation and 2) and negative saturated conductances values. Closes #305 * feat(tableobj): Add a generic table object for lst file output (#303) Full implementation for SFR package. Partial implementation for LAK, MAW, and UZF packages. * feat(tableobj): update MAW package to use tableobj for data output (#315) Also fix some budget reporting issues in the MAW package * fix(auxmult): auxmult fix when auxmult and bound are in time series (#316) * change order of time series interpolation so aux is done first in case it is an auxmult column * partially addresses #314 * updated release notes * refactor(BoundaryPackage): Add use of TableObject for print_flows option (#317) * feat(lnf): update n-point geometry package data * Revert "feat(lnf): update n-point geometry package data" This reverts commit 3460cfb. * fix(lak): revise the way outlet to-mvr flows are stored in budobj (#321) * fix(lak): revise the way outlet to-mvr flows are stored in budobj * updated release notes * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file (#329) * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file * update release notes * fix(maw): new headtable corrected to have mawwells rows instead of maxbound (#332) * fix(sfr): Remove upstream_fraction check from PACKAGEDATA block (#334) closes #324 * feat(transport): update develop with some general routines needed for transport (#339) * feat(transport): update develop with some general routines needed for transport * fix(mover): correct typo in error message * closes #336 * refactor(disu): correct type in disu error message * closes #635 * fix(csub): Allow interbed observations when no interbeds specified (#338) DNODATA values reported if 1) delay interbed observations are specified and no delay interbeds are specified and 2) interbed observations are specified and the number of interbeds is zero. Added test of all observation types to test_gwf_csub_sk01.py which has no interbeds. closes #298 * ci(travis): update travis.yml to install miniconda instead of apt python (#346) * refactor(mf6): standardize output to STDOUT to use istdout variable * refactor(mf6): standardize output to STDOUT to use istdout variable Modify mf5to6 to use standard SimVariables.f90 in mf6 src and add ListType variables in original mf5to6 SimVariables.f90 file to SimListVariables.f90 and update use statements. * feat(npf): add save saturation option to NPF (#351) * changed some things to public in lak, uzf, sfr * fixed minor bug in uzf * updated release notes and dfn files * modified lak to store hlak and clak in the bound array * refactor(sim_message): Refactor to have independent sim_message (#353) * bug(csub): Write better cellid format to strain csv files (#355) Write integer cellids to csv files instead of string. Add method to discretization classes to return array of user indices. Refactored table output to use table object instead of UWWORD. closes #299 * fix(csub): Add additional inelastic- and elastic-compaction-cell obs. (#356) Closes #302 * fix(csub): Report NODATA for CSUB observ. not calculated in steady-state (#359) CSUB source has been modified to report NODATA values for observations that are not calculated during steady-state stress periods. Observations that are not calculated for steady-state stress periods include SKE, SK, SKE-CELL, SK-CELL, DELAY-HEAD, DELAY-PRECONSTRESS, DELAY-GSTRESS, DELAY-ESTRESS, PRECONSTRESS-CELL. Update mfio to reflect these changes. Also modified CSUB observations so that thick-cell observation is correctly calculated during steady-state stress periods. Closes #300 * Merge refactor-src into develop (#361) * refactor(ListReader): Refactor ListReader to use table object (#362) * fix(npf): remove isavsat hardwire (#364) * refactor(src): remove unused variables (#366) * update mkdist.py to copy additional MSVS solutions and projects * refactor(uzf): refactor uzf to use table object instead of UWWORD (#367) * refactor(uzf): refactor uzf to use table object instead of UWWORD Also simplify table object to write tables of unknown length. * refactor(uzf): refactor uzf to use table object instead of UWWORD Simplify table object to write tables of unknown length. Update observations to use table object when PRINT_INPUT (iprpak=1) is specified to write input observation data. * fix(uzf): flowjaface is not ordered for uzf (#372) * fix(bnd_cf): make another call to bnd_cf routines in gwf bnd_bd (#378) * boundary budgets were being calculated using hcof and rhs values from the previous iteration. This could cause drain flows to be into the aquifer, for example. This fix recalculates the package hcof and rhs values in bd using the final head solution. * update release notes to reflect this change * docs(sfr/lak): couple minor doc changes (#380) * refactor(src): remove unused variables * update mkdist.py to copy additional MSVS solutions and projects * docs(sfr/lak): couple minor doc changes * feature(ims): add additional solver output (#375) Closes #375 * refactor(lak package dfn - perioddata): combined all perioddata into one recarray (#381) * refactor(lak package dfn - perioddata): combined lakeperioddata and outletperioddata into perioddata * refactor(lak stress period data): updated dfn * feature(ims): refactor package convergence check (#382) * Introduce end-of-line normalization (#386) * refactor(xt3d): update develop with minor changes needed for transport (#388) * feature(ims): update inner iteration summary (#389) * Add .gitattributes * Introduce end-of-line normalization * update to mfio data Co-authored-by: langevin-usgs <langevin@usgs.gov> Co-authored-by: Martijn Visser <mgvisser@gmail.com> Co-authored-by: Mike Taves <mwtoews@gmail.com> Co-authored-by: spaulins-usgs <spaulinski@usgs.gov> Co-authored-by: mjr-deltares <45555666+mjr-deltares@users.noreply.github.com>
langevin-usgs
added a commit
that referenced
this pull request
Apr 14, 2020
* Initial changes to address #36. Still need to test and perform clean up. * Updates to OBS to deallocate internal members with gfortran-8. Clean up of constants specified in code (DZERO and DONE) instead of relying on constants module. * Cleanup of variable definitions. Still more cleaning required. * Fixed compile issue with mf5to6...added contiguous to vectors/arrays allocated using the memory manager. Also fixed issue with SEGFAULT in mf5to6 that was related to a pointer in ChdPackageWriter that was not pointed to null (=> null()) in definition. * Proposed fix for denormal results occurring with gfortran-8 and test016_Keating_disu_250. * Proposed fix for denormal results occurring with gfortran-8 and test016_Keating_disu_250. (2) * Additional cleanup of variable definitions. Modified .travis.yml to require successful testing of gfortran-7 and gfortran-8 environments. * docs(ReleaseNotes): Updated release notes Added section for current release and added header for 6.0.3 version changes. * docs: updates and additions Updated CONTRIBUTING.md and added DEVELOPER.md. DEVELOPER.md probably still needs additional work. * fix(ArrayReaders): Fix issue reading binary 2d arrays Fix issue reading binary 2d arrays. read_binary_header was imbedded in the row loop of the 2d readers. Modify test_gwf_binaryinput01 to create binary files for strt, idomain, botm, and icelltype for models with layered and non-layered cases. * test(test_gwf_binaryinput01): write discretization top to binary file and read binary file with open/close statement Reading of the botm discretization array from a binary file had already been tested. This change now tests the model top array being read from a binary file. * docs(gwf-sfr.dfn): corrected typo The SFR Newton-Raphson iteration description had a typo in it. * docs(gwf-lak.dfn): fixed error in description of rough The variable rough was incorrectly described in the period block, though it was correct in the outlet block. * feat(tdis): error check for invalid time step lengths Added a new error check for very small time steps. If the value of startime plus the time step length is equal to endtime, then the time step is too small to be differentiated by the program based on the precision of floating point numbers. The program will terminate with an error in this case. The program will also terminate if the storage package and a transient stress period has a time step length of zero. Closes #42. * test:(test_gwf_utl) : renamed two of the autotests Renamed the binary file and time series autotests to be of the form test_gwf_utlxx_purpose. These tests are testing the utility parts of the code, so they are grouped now into a gwf_utl category. We should continue to name our tests in a consistent manner so that we use wildcards with nosetests to test only the things we are working on. * 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 * 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. * fix(docs): maximum_iterations in gwf-sfr.dfn should be of type integer (#71) fixes #70. * fix(inputoutput): columns and width were not be checked properly for the print_format (#72) Fixes #69. This patch also includes some changes to the OutputControlData object so that it can be used directly in a package other than the output control package. This new functionality is being used for the transport model as a way to save immobile domain concentrations in a manner similar to how heads are saved. * test(test000_setup): download a zip file of modflow executables for testing purposes (#75) Download a zip file of binary executables from https://github.com/MODFLOW-USGS/executables and unzip into autotest/temp/mfexes. These binary executables can be used to help with testing, and reduces the amount of build time on Travis. The getmfexes function will download the correct executables depending on the operating system, which can be either windows, mac, or linux. * docs(hooks): update pre-commit hook (#76) Update pre-commit hook to evaluate if repo is a fork of the main repository. If it is a fork, the branch name is parsed from README.md rather than using 'git status'. This will make pre-commit hooks work as expected for fix-branch/pull request approach currently being used. * fix(typos): fixed a variety of typos throughout project (#82) * feat(maw): program head limit and rate scaling to work for injection wells Updated code, added a new test, updated readme and mf6io files. Also fix a few minor typos in the definition files. And remove the PRECISION keyword from observation options since it is not supported. * fix(src_cc): Add SFR convergence check (#85) Add OUTER_RCLOSEBND variable to IMS that is used when performing final convergence checks on model packages that solve a separate equation not solved by the IMS linear solver. Add stage and residual convergence checks to the SFR package to make sure that stage and upstream flow changes between successive outer iterations are less than OUTER_HCLOSE and OUTER_RCLOSEBND, respectively. Modify the final convergence check for the LAK package to use OUTER_HCLOSE when evaluating lake stage changes between successive outer iterations. Modify the final convergence check for the UZF package to use OUTER_RCLOSEBND when evaluating rejected infiltration, groundwater recharge, and groundwater seepage changes between successive outer iterations. * refactor(mover): refactor and clean up water mover for possible BOUNDNAME support (#86) This is some minor clean up to the water mover that improves some of the comments, and eliminates storage of a 20-character string for each water mover, and instead replaces it with an integer. Reading of the reach id is now done using the IO utility, extract_idnum_or_bndname. * docs(uzf): clarified dfn descriptions for nuzfcells and ivertcon (#90) closes #84 * docs(dfn): improve description of ANGLDEGX and CDIST (#91) closes #51 * refactor(autotest): refactor nightly build autotest scripts (#89) Refactor nightly build autotest scripts to find appropriate directories rather than having them predefined. * refactor(MemoryManager): add mem_reassignptr functions and clean up (#92) * Completed the mem_reassignptr routines so there are versions for int1d, int2d, dbl1d, dbl2d * Adding optional name and origin arguments to the other array deallocate routines. In general, we should be passing name and origin to the mem_deallocate routine. Ultimately, I think we will want to make this mandatory. * Discovered that rclose was not being deallocated and made the fix. * NPF variables K22 and K33 are now reassigned to K11 if they are not specified. * The memory manager type now has a new logical attribute called "master". If true, then this means this this variable is the master version, and should be deallocated. If this memory type is just a copy to another variable, then master should be set to zero. This information is used for deallocation and for determining memory usage. * closes #65 * refactor(BndType): Generalized BndType pointer to NPF ICELLTYPE to be model agnostic (#93) ICELLTYPE is a member of BndType, which is supposed to be a general package class for GWF and other models. But ICELLTYPE is an NPF thing. This PR generalizes the ICELLTYPE member by allowing packages to set the origin of this variable. For the GWF Boundary packages, the ictorigin value is set to "NPF". If ictorigin is not set, then BndType will not try to set ICELLTYPE, and it will remain null(). Closes #67 * docs(dfn): update information on when vertices and cell2d information is required (#94) * Closes issue #52 * refactor(Xt3dAlgorithmModule): reformatted source to look like MF6 source (#95) * Closes issue #38 * fix(gwf3): correct error message to mention DISV6 (#97) Close #96 * fix(listreader): corrected two typos to the word exist, which was spelled as exit (#98) * docs(releasenotes): minor changes for release (#99) * fix(comarg): exe cannot be in file path with a space (#101) This is in reference to issue #100. This PR also contains a small typo fix in uzf dfn * fix(comarg): restored cexe to be executable basename instead of full exe path (#103) Also restored the update_flopy script to remove all existing mf6 classes except mfsimulation.py. Closes #103 * fix(disu): fixed error message for disu connectiondata block (#104) * feat(compile): added gfortran compile flags to bomb if source code isn't clean * Updated MODFLOW-USG download link * removed the character-truncation flag. Not clear how to get this to work for the fpp file. * Reverting the size of words in namefile * Had to turn off extra code error checking; was getting an error on linux that couldn't be resolved. * small latex change * Release 6.0.4. * Fixed small bug in numericalsolution.f90. Rereleasing this as version 6.0.4. * small change to distribution script * feat(release): updated develop with master * fix(ci): fix to pre-commit when working on a fork * fix(update_flopy): there is a new flopy.dfn file that cannot be removed (#112) * refactor(tests): to work with recent flopy changes (#113) * refactor(tests): to work with recent flopy changes * fix(test_gwf_utl02): added the time series filename due to possible bug in flopy * fix(disvdfn): corrected top shape to (ncpl) (#115) * refactor(test000_setup.py): cleaning up the build process using new pymake functionality (#117) * fix(dis/disv): terminate with error if all IDOMAIN values less than or equal to zero (#124) * fix(dis/disv): terminate with error if all IDOMAIN values less than or equal to zero * couple fixes to get tests running with new flopy code * refactor(make-release): refactor updates to version numbers (#126) * test(test000_setup): fallback for when os.path.relpath throws (#45) Happens on Windows only. It is only used for logging, so no functional change. * test(idomain): add zero idomain autotest (#129) * fix(mover): added better error trapping for mover entries (#131) * fix(mover): added better error trapping for mover entries * more refactoring to eliminate use of memory manager in the mover object * added characters to error message line length in memory manager * Added mover test with a variety of mover options active * some final cleanups on this mover patch closes #130 This required some fairly substantial refactoring of the mover object. Instead of looking up information in the memory manager, the mover object is now passed packagemover objects, which should be much more efficient. * test(returncodes): add mf6 return codes and command args autotest (#132) Add mf6 return codes and command args autotest. Update return codes to use select case. * feat(ims): Add no_ptc_option FIRST and ALL to no_ptc options keyword (#134) Add no_ptc_option FIRST and ALL to no_ptc options keyword. Add autotest (test_gwf_noptc01.py) to test new option against simulation with PTC. * docs(gwf.tex): minor fix (#135) * ci(z01/z02): minor change to look for examples with .git extension (#136) * fix(z02): correcting mistake from last commit (#139) * ci(slack): add slack notifications * fix(auxiliary): corrected advanced package auxiliary variables (#146) * fix(auxiliary): corrected inconsistencies and bugs advanced package aux variables Added a new test to make sure the aux variables are being carried correctly into the binary budget files. * More on the auxiliary fix * Another fix to get MAW right * fix(ims): Allow for optional nonlinear and linear block (#147) * ci(travis): Add simple test of Newton-Raphson with known solution (#149) * fix(oc): error message causing runtime error (#152) Close #151 * Update gwf-dis.dfn Corrected a dfn typo as first reported here: https://github.com/modflowpy/flopy/pull/574/files * fix(mkdist): error output problem in the make distribution script (#162) Close #154 * docs(disu.dfn): small typo fix * fix(evt): fixed error in evapotranspiration rate calculation (#169) Closes #168 * refact(sync dfns): Disu dfn synced with flopy. (#188) * refactor(sfr): move SfrDataType members into flat arrays (#194) * refactor(sfr): converted the first 12 entries of SfrDataType to flat arrays * refactor(sfr): ustrf flattening * refactor(sfr): ftotnd flattening * refactor(sfr): usflow flattening * refactor(sfr): dsflow flattening * refactor(sfr): depth flattening * refactor(sfr): stage and gwflow flattening * refactor(sfr): simevap flattening * refactor(sfr): simrunoff flattening * refactor(sfr): stage0 flattening * refactor(sfr): flattening usflow0 * refactor(sfr): ndiv flattening * refactor(gwf): cleaning up call statements and arguments(#202) * refactor(gnc): removed mention of iasln as it was not used and named wrong * refactor(gwf): cleaning up model%ia/ja confusion in gwf * refactor(gwf): cleaning up call statements and arguments * refactor(xt3d): minor comment cleanup This is in preparation to be able to mask a primary connection between two model cells so that an interface model can be used to connect two models * refactor(griddata): refactor grid data to isolate read and constructor (#197) * fix(gwf3lak8): error trap for outlet lakein incorrectly compared against noutlet instead of nlak (#214) Addresses issue #200 * fix(npf): reset lastedge to zero (#217) * fix(npf): reset lastedge to zero This change addresses issue #216 * test_gwf_npf04_spdis.py updated to multiple stress periods to test this fix * fix(ListReaderType): initialize attributes in declaration (#220) close #120 * feat(maxerrors): limit the number of errors stored to maxerrors (#221) Error messages are stored in memory. If something goes terribly wrong, the number of errors can be so large that memory runs out. Limit the number of errors stored, by default, to 1000. The user can control this maximum number by specifying MAXERRORS in the mfsim.nam options block. Number of errors and number of errors above maxerrors are not written to mfsim.lst and to terminal. Closes #106 * test(gwf_errors): new test to make sure mf6 is failing correctly (#222) * test(gwf_errors): new test to make sure mf6 is failing correctly * cleanup of model testing script * feat(cmask): add mask for calculation of amat terms (#215) * feat(cmask): skip calculation of amat terms in *_fc and *_fn for masked connections The purpose of this PR is to allow another package or module to shutoff the flow connection between two cells. A connection can be masked by calling set_mask with the position within the ja and amat arrays of the masked connection. A value of zero means the connection is masked. If not used, the masked array points to ja, which has non-zero values for all connections. The first call to set_mask allocates new memory for the masked array of size nja and initializes all values to one. * ci(.travis.yml) Commenting out the "conda update conda" line to see what is causing Travis to fail * ci(.travis.yml): add back conda update conda Try adding back the conda update conda command to see if updating the cache fixed the issue. * ci(.travis.yml): upgrade to xenial, replace miniconda with apt-get (#226) * reduce repetition in matrix * remove inactive features like sudo and cache: apt * install packages with apt-get rather than miniconda * feat(disu): ensure cell elevations decrease with depth (#224) Closes #108 * docs(mf6io/ReleaseNotes): updates to describe changes for next release (#227) * Closes #133. * Closes #141. * Closes #184. * Add summary of issue #145 to ReleaseNotes * feat(dis): add get_cellxy procedure to DisBaseType #204 (#228) * Expose cell x,y values for all DIS - add 'pure virtual' get_cellxy() to DisBaseType plus implementations in DIS, DISV, DISU. * Expose cell x,y values for all DIS, continue - redirect to appropriate type-bound procedures Closes #204. * fix(dis): cellxy in DIS (#239) - fixed how celly is determined from column numbers * ci(.travis.yml): use change branch of modflow6-examples (#242) if modflow6-examples has a branch with the same name as the modflow6 branch that is being tested, then checkout that branch of modflow6-examples for the z01 autotest * refactor(fortran): turned on gfortran flags for better error checking (#246) * refactor(fortran): turned on gfortran flags for better error checking * Close #182 * removed the min_satthk variable from xt3d as it is not needed * fix(fortran): turn on gfortran 2008 standard check (#248) Closes #183 Added -pedantic -std=f2008 flags for gfortran compiling * test(rch): add test for reported issue #181 (#249) bug could not be reproduced close #181 * feat(anistropy): add anisotropy input option for NPF (#253) * close #34 * added K22OVERK and K33OVERK NPF options * added test for anisotropy and updated definition files * refactored routine in InputOutput.f90 to eliminate antiquated computed goto statement * updated release notes * fix(getblock): many of the parser%getblock calls did not have supportopenclose=.true. (#254) added supportopenclose=.true. to many getblock calls close #163 * fix(mf5to6): fix converter for multiple mnw2 wells (#256) * converter had multiple bugs for multiple MNW2 wells that spanned multiple model layers * closes #185 * added history to converter document * refactor(dfn): turn off default for maxerrors (#257) * feat(disu idomain): add support for disu idomain (#261) * feat(disu): adding idomain capability to disu * couple of fixes to get disu working for non-reduced grids * Found another place in disu where a conversion to user node number is required * change variable name todo list: still need to consider converting iac to ia right away change usr to input for variable names so as not to conflict with iausr/jausr in connections add more comprehensive test add idomain validity check support idomain < 0 values * more cleanup on disu idomain support * more disu cleanup and idomain testing * cleanup comments * Updated release notes * docs(version): update doc information and version (#264) * Updated a couple doc files for DISU IDOMAIN changes * Updated version to reflect the upcoming 6.1.0 release * feat(csub): Add csub package to develop (#262) * refactor(uzf): converting to large vector storage (#265) * change from UzfBndKinematic to UzfCellGroup * updated release notes * deallocate a couple NPF variables * close #107 This change converts the array of structures implemented for UZF into a structure of arrays (contained in UzfCellGroupType) in order to prevent excessive memory requirements. * docs(release notes): few small changes to get ready for release (#266) * ci(mkdist): getting 6.1 distribution ready (#267) * docs(csub): corrected a few typos and updated date (#270) * 6.1.0 release * merge master into develop and update version to 6.1.1 * fix(uzf): fix indexing error in UZF (#274) * Error introduced as part of recent UZF refactoring * Closes #273 * fix(memory): some variables not deallocated (#278) Implemented new check in develop mode so code bombs with error if memory manager variable not deallocated * refactor(budobj): new budget object for advanced packages (#279) * single code base for writing binary budget files for advanced packages * single code base for creating and writing budget tables to list file for advanced packages * implemented for MAW, UZF, LAK, SFR, and MVR * closes #277 * update mf6exes from 2.0 to 3.0 * will allow generalized transport calculations for advanced packages * refactor(advanced packages): read static data as part of df() (#281) * refactor(advanced packages): modify advanced packages to read all static data as part of df() * modify setup_budobj to include the connectivity so that it is available to other models * fix(budterm): initialize nlist to zero (#283) * initialize nlist to zero (#284) * fix(lak): initialize chdratin and chdratout to zero (#286) * fix(lak): added sign checks for user specified lak flow terms (#288) * User-specified values for RAINFALL, EVAPORATION, RUNOFF, INFLOW, and WITHDRAWAL must be positive. The program worked if these values were negative, but that doesn't necessarily make sense and is probably an input error. * Updated definition file to reflect these changes * Corrected minor typo in lake definition file * Updated release notes to reflect this change * Close #287 * feat(sfr): add storage term to sfr budget (#293) * Also includes a reach volume term written as an aux variable. This is needed for transport. * initialize str so non-ascii characters don't show up in output files * updated notes for these changes * * fix(csub): Fix CSUB binary budget data saved as IMETH=6 datatype closes #290 * refactor(sfr): Refactor SFR Package to remove use of Geometry objects (#296) * refactor(sfr): Refactor SFR Package to remove use of Geometry objects * doc(pak-ts): update description of package timeseries variables. * ci(yml): update yml to clone shallow copy of flopy and pymake repos * doc(release): Update release notes * Closes #276, and #289 * refactor(xt3d): accumulate flowja instead of set (#306) This change is required for transport, which accumulates terms in flowja * fix(dis): corrected connection vector error in DIS package (#308) Code was incorrectly calculating cell center elevations when nozee was .false. This error would have affected XT3D simulations with unconfined flow and non-zero values specified for ANGLE2 in the NPF Package. It also would affect dispersive transport with XT3D for unconfined conditions. * Update sln-ims-example.dat * refactor(maw): refactor MAW conductance calculation for issue 305 (#310) Add traps to catch 1) skin factors that are <= 0 when using the SKIN conductance equation and 2) and negative saturated conductances values. Closes #305 * feat(tableobj): Add a generic table object for lst file output (#303) Full implementation for SFR package. Partial implementation for LAK, MAW, and UZF packages. * feat(tableobj): update MAW package to use tableobj for data output (#315) Also fix some budget reporting issues in the MAW package * fix(auxmult): auxmult fix when auxmult and bound are in time series (#316) * change order of time series interpolation so aux is done first in case it is an auxmult column * partially addresses #314 * updated release notes * refactor(BoundaryPackage): Add use of TableObject for print_flows option (#317) * feat(lnf): update n-point geometry package data * Revert "feat(lnf): update n-point geometry package data" This reverts commit 3460cfb. * fix(lak): revise the way outlet to-mvr flows are stored in budobj (#321) * fix(lak): revise the way outlet to-mvr flows are stored in budobj * updated release notes * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file (#329) * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file * update release notes * fix(maw): new headtable corrected to have mawwells rows instead of maxbound (#332) * fix(sfr): Remove upstream_fraction check from PACKAGEDATA block (#334) closes #324 * feat(transport): update develop with some general routines needed for transport (#339) * feat(transport): update develop with some general routines needed for transport * fix(mover): correct typo in error message * closes #336 * refactor(disu): correct type in disu error message * closes #635 * fix(csub): Allow interbed observations when no interbeds specified (#338) DNODATA values reported if 1) delay interbed observations are specified and no delay interbeds are specified and 2) interbed observations are specified and the number of interbeds is zero. Added test of all observation types to test_gwf_csub_sk01.py which has no interbeds. closes #298 * ci(travis): update travis.yml to install miniconda instead of apt python (#346) * refactor(mf6): standardize output to STDOUT to use istdout variable * refactor(mf6): standardize output to STDOUT to use istdout variable Modify mf5to6 to use standard SimVariables.f90 in mf6 src and add ListType variables in original mf5to6 SimVariables.f90 file to SimListVariables.f90 and update use statements. * feat(npf): add save saturation option to NPF (#351) * changed some things to public in lak, uzf, sfr * fixed minor bug in uzf * updated release notes and dfn files * modified lak to store hlak and clak in the bound array * refactor(sim_message): Refactor to have independent sim_message (#353) * bug(csub): Write better cellid format to strain csv files (#355) Write integer cellids to csv files instead of string. Add method to discretization classes to return array of user indices. Refactored table output to use table object instead of UWWORD. closes #299 * fix(csub): Add additional inelastic- and elastic-compaction-cell obs. (#356) Closes #302 * fix(csub): Report NODATA for CSUB observ. not calculated in steady-state (#359) CSUB source has been modified to report NODATA values for observations that are not calculated during steady-state stress periods. Observations that are not calculated for steady-state stress periods include SKE, SK, SKE-CELL, SK-CELL, DELAY-HEAD, DELAY-PRECONSTRESS, DELAY-GSTRESS, DELAY-ESTRESS, PRECONSTRESS-CELL. Update mfio to reflect these changes. Also modified CSUB observations so that thick-cell observation is correctly calculated during steady-state stress periods. Closes #300 * Merge refactor-src into develop (#361) * refactor(ListReader): Refactor ListReader to use table object (#362) * fix(npf): remove isavsat hardwire (#364) * refactor(src): remove unused variables (#366) * update mkdist.py to copy additional MSVS solutions and projects * refactor(uzf): refactor uzf to use table object instead of UWWORD (#367) * refactor(uzf): refactor uzf to use table object instead of UWWORD Also simplify table object to write tables of unknown length. * refactor(uzf): refactor uzf to use table object instead of UWWORD Simplify table object to write tables of unknown length. Update observations to use table object when PRINT_INPUT (iprpak=1) is specified to write input observation data. * fix(uzf): flowjaface is not ordered for uzf (#372) * fix(bnd_cf): make another call to bnd_cf routines in gwf bnd_bd (#378) * boundary budgets were being calculated using hcof and rhs values from the previous iteration. This could cause drain flows to be into the aquifer, for example. This fix recalculates the package hcof and rhs values in bd using the final head solution. * update release notes to reflect this change * docs(sfr/lak): couple minor doc changes (#380) * refactor(src): remove unused variables * update mkdist.py to copy additional MSVS solutions and projects * docs(sfr/lak): couple minor doc changes * feature(ims): add additional solver output (#375) Closes #375 * refactor(lak package dfn - perioddata): combined all perioddata into one recarray (#381) * refactor(lak package dfn - perioddata): combined lakeperioddata and outletperioddata into perioddata * refactor(lak stress period data): updated dfn * feature(ims): refactor package convergence check (#382) * Introduce end-of-line normalization (#386) * refactor(xt3d): update develop with minor changes needed for transport (#388) * feature(ims): update inner iteration summary (#389) * refactor(NumericalSolution): refactor csv output (#395) * refactor(NumericalSolution): refactor csv output Refactor csv output to save at the end of the each outer iteration. Add options to save separate outer and inner iteration data. closes #172 * refactor(NumericalSolution): refactor *_cc() methods (#396) Refactor *_cc() methods to pass package integer (ipak) location information and the total number of inner iterations. The ipak variable simplifies construction of the solution outer iteration information for the csv file. The total number of inner iterations makes package convergence csv files consistent with the outer iteration csv file. Update the release notes to reflect recent changes to csv convergence output. Also moved changes for previous versions to release notes appendix (Appendix A). Co-authored-by: jdhughes-usgs <jdhughes@usgs.gov> Co-authored-by: Martijn Visser <mgvisser@gmail.com> Co-authored-by: Mike Taves <mwtoews@gmail.com> Co-authored-by: spaulins-usgs <spaulinski@usgs.gov> Co-authored-by: mjr-deltares <45555666+mjr-deltares@users.noreply.github.com>
langevin-usgs
added a commit
that referenced
this pull request
May 6, 2020
* fix(uzf): fix indexing error in UZF (#274) * Error introduced as part of recent UZF refactoring * Closes #273 * fix(memory): some variables not deallocated (#278) Implemented new check in develop mode so code bombs with error if memory manager variable not deallocated * refactor(budobj): new budget object for advanced packages (#279) * single code base for writing binary budget files for advanced packages * single code base for creating and writing budget tables to list file for advanced packages * implemented for MAW, UZF, LAK, SFR, and MVR * closes #277 * update mf6exes from 2.0 to 3.0 * will allow generalized transport calculations for advanced packages * refactor(advanced packages): read static data as part of df() (#281) * refactor(advanced packages): modify advanced packages to read all static data as part of df() * modify setup_budobj to include the connectivity so that it is available to other models * fix(budterm): initialize nlist to zero (#283) * initialize nlist to zero (#284) * fix(lak): initialize chdratin and chdratout to zero (#286) * fix(lak): added sign checks for user specified lak flow terms (#288) * User-specified values for RAINFALL, EVAPORATION, RUNOFF, INFLOW, and WITHDRAWAL must be positive. The program worked if these values were negative, but that doesn't necessarily make sense and is probably an input error. * Updated definition file to reflect these changes * Corrected minor typo in lake definition file * Updated release notes to reflect this change * Close #287 * feat(sfr): add storage term to sfr budget (#293) * Also includes a reach volume term written as an aux variable. This is needed for transport. * initialize str so non-ascii characters don't show up in output files * updated notes for these changes * * fix(csub): Fix CSUB binary budget data saved as IMETH=6 datatype closes #290 * refactor(sfr): Refactor SFR Package to remove use of Geometry objects (#296) * refactor(sfr): Refactor SFR Package to remove use of Geometry objects * doc(pak-ts): update description of package timeseries variables. * ci(yml): update yml to clone shallow copy of flopy and pymake repos * doc(release): Update release notes * Closes #276, and #289 * refactor(xt3d): accumulate flowja instead of set (#306) This change is required for transport, which accumulates terms in flowja * fix(dis): corrected connection vector error in DIS package (#308) Code was incorrectly calculating cell center elevations when nozee was .false. This error would have affected XT3D simulations with unconfined flow and non-zero values specified for ANGLE2 in the NPF Package. It also would affect dispersive transport with XT3D for unconfined conditions. * Update sln-ims-example.dat * refactor(maw): refactor MAW conductance calculation for issue 305 (#310) Add traps to catch 1) skin factors that are <= 0 when using the SKIN conductance equation and 2) and negative saturated conductances values. Closes #305 * feat(tableobj): Add a generic table object for lst file output (#303) Full implementation for SFR package. Partial implementation for LAK, MAW, and UZF packages. * feat(tableobj): update MAW package to use tableobj for data output (#315) Also fix some budget reporting issues in the MAW package * fix(auxmult): auxmult fix when auxmult and bound are in time series (#316) * change order of time series interpolation so aux is done first in case it is an auxmult column * partially addresses #314 * updated release notes * refactor(BoundaryPackage): Add use of TableObject for print_flows option (#317) * feat(lnf): update n-point geometry package data * Revert "feat(lnf): update n-point geometry package data" This reverts commit 3460cfb. * fix(lak): revise the way outlet to-mvr flows are stored in budobj (#321) * fix(lak): revise the way outlet to-mvr flows are stored in budobj * updated release notes * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file (#329) * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file * update release notes * fix(maw): new headtable corrected to have mawwells rows instead of maxbound (#332) * fix(sfr): Remove upstream_fraction check from PACKAGEDATA block (#334) closes #324 * feat(transport): update develop with some general routines needed for transport (#339) * feat(transport): update develop with some general routines needed for transport * fix(mover): correct typo in error message * closes #336 * refactor(disu): correct type in disu error message * closes #635 * fix(csub): Allow interbed observations when no interbeds specified (#338) DNODATA values reported if 1) delay interbed observations are specified and no delay interbeds are specified and 2) interbed observations are specified and the number of interbeds is zero. Added test of all observation types to test_gwf_csub_sk01.py which has no interbeds. closes #298 * ci(travis): update travis.yml to install miniconda instead of apt python (#346) * refactor(mf6): standardize output to STDOUT to use istdout variable * refactor(mf6): standardize output to STDOUT to use istdout variable Modify mf5to6 to use standard SimVariables.f90 in mf6 src and add ListType variables in original mf5to6 SimVariables.f90 file to SimListVariables.f90 and update use statements. * feat(npf): add save saturation option to NPF (#351) * changed some things to public in lak, uzf, sfr * fixed minor bug in uzf * updated release notes and dfn files * modified lak to store hlak and clak in the bound array * refactor(sim_message): Refactor to have independent sim_message (#353) * bug(csub): Write better cellid format to strain csv files (#355) Write integer cellids to csv files instead of string. Add method to discretization classes to return array of user indices. Refactored table output to use table object instead of UWWORD. closes #299 * fix(csub): Add additional inelastic- and elastic-compaction-cell obs. (#356) Closes #302 * fix(csub): Report NODATA for CSUB observ. not calculated in steady-state (#359) CSUB source has been modified to report NODATA values for observations that are not calculated during steady-state stress periods. Observations that are not calculated for steady-state stress periods include SKE, SK, SKE-CELL, SK-CELL, DELAY-HEAD, DELAY-PRECONSTRESS, DELAY-GSTRESS, DELAY-ESTRESS, PRECONSTRESS-CELL. Update mfio to reflect these changes. Also modified CSUB observations so that thick-cell observation is correctly calculated during steady-state stress periods. Closes #300 * Merge refactor-src into develop (#361) * refactor(ListReader): Refactor ListReader to use table object (#362) * fix(npf): remove isavsat hardwire (#364) * refactor(src): remove unused variables (#366) * update mkdist.py to copy additional MSVS solutions and projects * refactor(uzf): refactor uzf to use table object instead of UWWORD (#367) * refactor(uzf): refactor uzf to use table object instead of UWWORD Also simplify table object to write tables of unknown length. * refactor(uzf): refactor uzf to use table object instead of UWWORD Simplify table object to write tables of unknown length. Update observations to use table object when PRINT_INPUT (iprpak=1) is specified to write input observation data. * fix(uzf): flowjaface is not ordered for uzf (#372) * fix(bnd_cf): make another call to bnd_cf routines in gwf bnd_bd (#378) * boundary budgets were being calculated using hcof and rhs values from the previous iteration. This could cause drain flows to be into the aquifer, for example. This fix recalculates the package hcof and rhs values in bd using the final head solution. * update release notes to reflect this change * docs(sfr/lak): couple minor doc changes (#380) * refactor(src): remove unused variables * update mkdist.py to copy additional MSVS solutions and projects * docs(sfr/lak): couple minor doc changes * feature(ims): add additional solver output (#375) Closes #375 * refactor(lak package dfn - perioddata): combined all perioddata into one recarray (#381) * refactor(lak package dfn - perioddata): combined lakeperioddata and outletperioddata into perioddata * refactor(lak stress period data): updated dfn * feature(ims): refactor package convergence check (#382) * Introduce end-of-line normalization (#386) * refactor(xt3d): update develop with minor changes needed for transport (#388) * feature(ims): update inner iteration summary (#389) * refactor(NumericalSolution): refactor csv output (#395) * refactor(NumericalSolution): refactor csv output Refactor csv output to save at the end of the each outer iteration. Add options to save separate outer and inner iteration data. closes #172 * refactor(NumericalSolution): refactor *_cc() methods (#396) Refactor *_cc() methods to pass package integer (ipak) location information and the total number of inner iterations. The ipak variable simplifies construction of the solution outer iteration information for the csv file. The total number of inner iterations makes package convergence csv files consistent with the outer iteration csv file. Update the release notes to reflect recent changes to csv convergence output. Also moved changes for previous versions to release notes appendix (Appendix A). * refactor(Sim): Add MessageModule to containerize message functionality (#399) Add generic message functionality (in Message.f90) to standardize messages (errors, warnings, notes) written at the end of the simulation. Added initial warning messages in mf6. Warning messages and notes are not written if the 'SUMMARY' level command line switch is specified. Refactor IMS package to replace outer_hclose and inner_hclose with outer_dvclose and inner_dvclose. Using outer_hclose and inner_hclose will return warning messages. Added error messages for outer_rclosebnd and csv_output. * docs(gwf-mvr.dfn): clarify mvrtype definition (#408) Closes #393 * refactor(misc): bringing in changes made on transport branch (#409) * implemented table writer for mvr flows * turned on fpp preprocessing in vfproj for compilerversion.fpp * modifed obs table header in tex file * minor changes to budget and budgetobject to support transport * feat(ssm): divide ssm budget terms by package in GWT budget table * initialize maxbudterm to 1 instead of zero. GWF-GWF adds an entry * Output in bmi - writing stdout to file or screen is now configurable through bmi (cherry picked from commit ba98a37) * Cleaning up the bmi a bit... (cherry picked from commit 798afe9) * Introduced option to update storage (sc2) for each timestep (cherry picked from commit 93b5cc9) * and also update flag for sc1 now (cherry picked from commit c4ff085) * added dynamic array resizing to budget object * Little more error trapping to ssm test. Still failing due to flopy bug. * refactor(misc): add deprecated tag to dfn, refactor budget.f90 (#413) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 * updated mf6ivar readme.md to included deprecated description * fix for maw02 failure resulting from flopy updates * feat(DRN): add option for scaling drainage discharge * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn02) that compares cubic scaled drain discharge to groundwater seepage calculated by the UZF package. * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn01) that compares scaled drain discharge to calculated values. Update release notes with scaled drainage discharge option. * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * BMI work: writing bmi messages through generic utils * sorry, forgot width specifier... * * added flow_package_name option to advanced transport packages * added flow_package_auxiliary_name options to advanced transport packages * programmed buoyancy package to work with lake by adding a new density routine to lake package * need to program buy compatibility for sfr/maw/uzf next * updated buy_lak02 to work with latest code changes * docs(gwf-sfr.dfn): clarify 2nd idv definition (#418) Close #417 * * implement density terms for embedded lakes * add lak_activate_density() method to more cleanly turn on density effects * add buy_ar_bnd() methods * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): cleanup * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * moving toward new buoyancy package input format * refactor(advanced packages): minor changes to support buoyancy package (#422) * refactor(advanced packages): add minor changes to support buoyancy package * add change to boundarypackage.f90 to support the noupdateauxvar variable * fix for latests flopy changes * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() Fixed issue in HashTable when key does not exist and return from function with uninitialized indx. With gfortran indx was initialized by default to a value greater than 0. * refactor(lak): refactor timeseries to use read_value_or_time_series() Cleanup of error messages. * * full implementation of new buoyancy package input file * final step is to remove use of "density" auxiliary variable from boundary packages? * implemented consistent approach for determining stress package density updated buoyancy input instructions Co-authored-by: Hughes, J.D <jdhughes@usgs.gov> Co-authored-by: spaulins-usgs <spaulinski@usgs.gov> Co-authored-by: Eric Morway <emorway@usgs.gov> Co-authored-by: mjr-deltares <martijn.russcher@deltares.nl>
langevin-usgs
added a commit
that referenced
this pull request
May 8, 2020
* fix(uzf): fix indexing error in UZF (#274) * Error introduced as part of recent UZF refactoring * Closes #273 * fix(memory): some variables not deallocated (#278) Implemented new check in develop mode so code bombs with error if memory manager variable not deallocated * refactor(budobj): new budget object for advanced packages (#279) * single code base for writing binary budget files for advanced packages * single code base for creating and writing budget tables to list file for advanced packages * implemented for MAW, UZF, LAK, SFR, and MVR * closes #277 * update mf6exes from 2.0 to 3.0 * will allow generalized transport calculations for advanced packages * refactor(advanced packages): read static data as part of df() (#281) * refactor(advanced packages): modify advanced packages to read all static data as part of df() * modify setup_budobj to include the connectivity so that it is available to other models * fix(budterm): initialize nlist to zero (#283) * initialize nlist to zero (#284) * fix(lak): initialize chdratin and chdratout to zero (#286) * fix(lak): added sign checks for user specified lak flow terms (#288) * User-specified values for RAINFALL, EVAPORATION, RUNOFF, INFLOW, and WITHDRAWAL must be positive. The program worked if these values were negative, but that doesn't necessarily make sense and is probably an input error. * Updated definition file to reflect these changes * Corrected minor typo in lake definition file * Updated release notes to reflect this change * Close #287 * feat(sfr): add storage term to sfr budget (#293) * Also includes a reach volume term written as an aux variable. This is needed for transport. * initialize str so non-ascii characters don't show up in output files * updated notes for these changes * * fix(csub): Fix CSUB binary budget data saved as IMETH=6 datatype closes #290 * refactor(sfr): Refactor SFR Package to remove use of Geometry objects (#296) * refactor(sfr): Refactor SFR Package to remove use of Geometry objects * doc(pak-ts): update description of package timeseries variables. * ci(yml): update yml to clone shallow copy of flopy and pymake repos * doc(release): Update release notes * Closes #276, and #289 * refactor(xt3d): accumulate flowja instead of set (#306) This change is required for transport, which accumulates terms in flowja * fix(dis): corrected connection vector error in DIS package (#308) Code was incorrectly calculating cell center elevations when nozee was .false. This error would have affected XT3D simulations with unconfined flow and non-zero values specified for ANGLE2 in the NPF Package. It also would affect dispersive transport with XT3D for unconfined conditions. * Update sln-ims-example.dat * refactor(maw): refactor MAW conductance calculation for issue 305 (#310) Add traps to catch 1) skin factors that are <= 0 when using the SKIN conductance equation and 2) and negative saturated conductances values. Closes #305 * feat(tableobj): Add a generic table object for lst file output (#303) Full implementation for SFR package. Partial implementation for LAK, MAW, and UZF packages. * feat(tableobj): update MAW package to use tableobj for data output (#315) Also fix some budget reporting issues in the MAW package * fix(auxmult): auxmult fix when auxmult and bound are in time series (#316) * change order of time series interpolation so aux is done first in case it is an auxmult column * partially addresses #314 * updated release notes * refactor(BoundaryPackage): Add use of TableObject for print_flows option (#317) * feat(lnf): update n-point geometry package data * Revert "feat(lnf): update n-point geometry package data" This reverts commit 3460cfb. * fix(lak): revise the way outlet to-mvr flows are stored in budobj (#321) * fix(lak): revise the way outlet to-mvr flows are stored in budobj * updated release notes * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file (#329) * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file * update release notes * fix(maw): new headtable corrected to have mawwells rows instead of maxbound (#332) * fix(sfr): Remove upstream_fraction check from PACKAGEDATA block (#334) closes #324 * feat(transport): update develop with some general routines needed for transport (#339) * feat(transport): update develop with some general routines needed for transport * fix(mover): correct typo in error message * closes #336 * refactor(disu): correct type in disu error message * closes #635 * fix(csub): Allow interbed observations when no interbeds specified (#338) DNODATA values reported if 1) delay interbed observations are specified and no delay interbeds are specified and 2) interbed observations are specified and the number of interbeds is zero. Added test of all observation types to test_gwf_csub_sk01.py which has no interbeds. closes #298 * ci(travis): update travis.yml to install miniconda instead of apt python (#346) * refactor(mf6): standardize output to STDOUT to use istdout variable * refactor(mf6): standardize output to STDOUT to use istdout variable Modify mf5to6 to use standard SimVariables.f90 in mf6 src and add ListType variables in original mf5to6 SimVariables.f90 file to SimListVariables.f90 and update use statements. * feat(npf): add save saturation option to NPF (#351) * changed some things to public in lak, uzf, sfr * fixed minor bug in uzf * updated release notes and dfn files * modified lak to store hlak and clak in the bound array * refactor(sim_message): Refactor to have independent sim_message (#353) * bug(csub): Write better cellid format to strain csv files (#355) Write integer cellids to csv files instead of string. Add method to discretization classes to return array of user indices. Refactored table output to use table object instead of UWWORD. closes #299 * fix(csub): Add additional inelastic- and elastic-compaction-cell obs. (#356) Closes #302 * fix(csub): Report NODATA for CSUB observ. not calculated in steady-state (#359) CSUB source has been modified to report NODATA values for observations that are not calculated during steady-state stress periods. Observations that are not calculated for steady-state stress periods include SKE, SK, SKE-CELL, SK-CELL, DELAY-HEAD, DELAY-PRECONSTRESS, DELAY-GSTRESS, DELAY-ESTRESS, PRECONSTRESS-CELL. Update mfio to reflect these changes. Also modified CSUB observations so that thick-cell observation is correctly calculated during steady-state stress periods. Closes #300 * Merge refactor-src into develop (#361) * refactor(ListReader): Refactor ListReader to use table object (#362) * fix(npf): remove isavsat hardwire (#364) * refactor(src): remove unused variables (#366) * update mkdist.py to copy additional MSVS solutions and projects * refactor(uzf): refactor uzf to use table object instead of UWWORD (#367) * refactor(uzf): refactor uzf to use table object instead of UWWORD Also simplify table object to write tables of unknown length. * refactor(uzf): refactor uzf to use table object instead of UWWORD Simplify table object to write tables of unknown length. Update observations to use table object when PRINT_INPUT (iprpak=1) is specified to write input observation data. * fix(uzf): flowjaface is not ordered for uzf (#372) * fix(bnd_cf): make another call to bnd_cf routines in gwf bnd_bd (#378) * boundary budgets were being calculated using hcof and rhs values from the previous iteration. This could cause drain flows to be into the aquifer, for example. This fix recalculates the package hcof and rhs values in bd using the final head solution. * update release notes to reflect this change * docs(sfr/lak): couple minor doc changes (#380) * refactor(src): remove unused variables * update mkdist.py to copy additional MSVS solutions and projects * docs(sfr/lak): couple minor doc changes * feature(ims): add additional solver output (#375) Closes #375 * refactor(lak package dfn - perioddata): combined all perioddata into one recarray (#381) * refactor(lak package dfn - perioddata): combined lakeperioddata and outletperioddata into perioddata * refactor(lak stress period data): updated dfn * feature(ims): refactor package convergence check (#382) * Introduce end-of-line normalization (#386) * refactor(xt3d): update develop with minor changes needed for transport (#388) * feature(ims): update inner iteration summary (#389) * refactor(NumericalSolution): refactor csv output (#395) * refactor(NumericalSolution): refactor csv output Refactor csv output to save at the end of the each outer iteration. Add options to save separate outer and inner iteration data. closes #172 * refactor(NumericalSolution): refactor *_cc() methods (#396) Refactor *_cc() methods to pass package integer (ipak) location information and the total number of inner iterations. The ipak variable simplifies construction of the solution outer iteration information for the csv file. The total number of inner iterations makes package convergence csv files consistent with the outer iteration csv file. Update the release notes to reflect recent changes to csv convergence output. Also moved changes for previous versions to release notes appendix (Appendix A). * refactor(Sim): Add MessageModule to containerize message functionality (#399) Add generic message functionality (in Message.f90) to standardize messages (errors, warnings, notes) written at the end of the simulation. Added initial warning messages in mf6. Warning messages and notes are not written if the 'SUMMARY' level command line switch is specified. Refactor IMS package to replace outer_hclose and inner_hclose with outer_dvclose and inner_dvclose. Using outer_hclose and inner_hclose will return warning messages. Added error messages for outer_rclosebnd and csv_output. * docs(gwf-mvr.dfn): clarify mvrtype definition (#408) Closes #393 * refactor(misc): bringing in changes made on transport branch (#409) * implemented table writer for mvr flows * turned on fpp preprocessing in vfproj for compilerversion.fpp * modifed obs table header in tex file * minor changes to budget and budgetobject to support transport * Output in bmi - writing stdout to file or screen is now configurable through bmi (cherry picked from commit ba98a37) * Cleaning up the bmi a bit... (cherry picked from commit 798afe9) * Introduced option to update storage (sc2) for each timestep (cherry picked from commit 93b5cc9) * and also update flag for sc1 now (cherry picked from commit c4ff085) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 (#413) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 * updated mf6ivar readme.md to included deprecated description * fix for maw02 failure resulting from flopy updates * feat(DRN): add option for scaling drainage discharge * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn02) that compares cubic scaled drain discharge to groundwater seepage calculated by the UZF package. * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn01) that compares scaled drain discharge to calculated values. Update release notes with scaled drainage discharge option. * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * BMI work: writing bmi messages through generic utils * sorry, forgot width specifier... * docs(gwf-sfr.dfn): clarify 2nd idv definition (#418) Close #417 * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): cleanup * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(advanced packages): minor changes to support buoyancy package (#422) * refactor(advanced packages): add minor changes to support buoyancy package * add change to boundarypackage.f90 to support the noupdateauxvar variable * fix for latests flopy changes * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() Fixed issue in HashTable when key does not exist and return from function with uninitialized indx. With gfortran indx was initialized by default to a value greater than 0. * refactor(lak): refactor timeseries to use read_value_or_time_series() Cleanup of error messages. * fix(exg-mvr): dis object not associated for binary save flows (#425) * refactoring of the budget object resulted in an unassociated dis object when writing flows for exchange water mover * dis is no longer optional for mvr_cr() * closes #423 * Add option to save density to binary file Add new multi-species variable-density buoyancy test * Minor buy cleanup * refactor(sfr): use read_value_or_time_series_adv() for timeseries (#424) Co-authored-by: Hughes, J.D <jdhughes@usgs.gov> Co-authored-by: spaulins-usgs <spaulinski@usgs.gov> Co-authored-by: Eric Morway <emorway@usgs.gov> Co-authored-by: mjr-deltares <martijn.russcher@deltares.nl>
langevin-usgs
added a commit
that referenced
this pull request
May 14, 2020
* fix(uzf): fix indexing error in UZF (#274) * Error introduced as part of recent UZF refactoring * Closes #273 * fix(memory): some variables not deallocated (#278) Implemented new check in develop mode so code bombs with error if memory manager variable not deallocated * refactor(budobj): new budget object for advanced packages (#279) * single code base for writing binary budget files for advanced packages * single code base for creating and writing budget tables to list file for advanced packages * implemented for MAW, UZF, LAK, SFR, and MVR * closes #277 * update mf6exes from 2.0 to 3.0 * will allow generalized transport calculations for advanced packages * refactor(advanced packages): read static data as part of df() (#281) * refactor(advanced packages): modify advanced packages to read all static data as part of df() * modify setup_budobj to include the connectivity so that it is available to other models * fix(budterm): initialize nlist to zero (#283) * initialize nlist to zero (#284) * fix(lak): initialize chdratin and chdratout to zero (#286) * fix(lak): added sign checks for user specified lak flow terms (#288) * User-specified values for RAINFALL, EVAPORATION, RUNOFF, INFLOW, and WITHDRAWAL must be positive. The program worked if these values were negative, but that doesn't necessarily make sense and is probably an input error. * Updated definition file to reflect these changes * Corrected minor typo in lake definition file * Updated release notes to reflect this change * Close #287 * feat(sfr): add storage term to sfr budget (#293) * Also includes a reach volume term written as an aux variable. This is needed for transport. * initialize str so non-ascii characters don't show up in output files * updated notes for these changes * * fix(csub): Fix CSUB binary budget data saved as IMETH=6 datatype closes #290 * refactor(sfr): Refactor SFR Package to remove use of Geometry objects (#296) * refactor(sfr): Refactor SFR Package to remove use of Geometry objects * doc(pak-ts): update description of package timeseries variables. * ci(yml): update yml to clone shallow copy of flopy and pymake repos * doc(release): Update release notes * Closes #276, and #289 * refactor(xt3d): accumulate flowja instead of set (#306) This change is required for transport, which accumulates terms in flowja * fix(dis): corrected connection vector error in DIS package (#308) Code was incorrectly calculating cell center elevations when nozee was .false. This error would have affected XT3D simulations with unconfined flow and non-zero values specified for ANGLE2 in the NPF Package. It also would affect dispersive transport with XT3D for unconfined conditions. * Update sln-ims-example.dat * refactor(maw): refactor MAW conductance calculation for issue 305 (#310) Add traps to catch 1) skin factors that are <= 0 when using the SKIN conductance equation and 2) and negative saturated conductances values. Closes #305 * feat(tableobj): Add a generic table object for lst file output (#303) Full implementation for SFR package. Partial implementation for LAK, MAW, and UZF packages. * feat(tableobj): update MAW package to use tableobj for data output (#315) Also fix some budget reporting issues in the MAW package * fix(auxmult): auxmult fix when auxmult and bound are in time series (#316) * change order of time series interpolation so aux is done first in case it is an auxmult column * partially addresses #314 * updated release notes * refactor(BoundaryPackage): Add use of TableObject for print_flows option (#317) * feat(lnf): update n-point geometry package data * Revert "feat(lnf): update n-point geometry package data" This reverts commit 3460cfb. * fix(lak): revise the way outlet to-mvr flows are stored in budobj (#321) * fix(lak): revise the way outlet to-mvr flows are stored in budobj * updated release notes * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file (#329) * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file * update release notes * fix(maw): new headtable corrected to have mawwells rows instead of maxbound (#332) * fix(sfr): Remove upstream_fraction check from PACKAGEDATA block (#334) closes #324 * feat(transport): update develop with some general routines needed for transport (#339) * feat(transport): update develop with some general routines needed for transport * fix(mover): correct typo in error message * closes #336 * refactor(disu): correct type in disu error message * closes #635 * fix(csub): Allow interbed observations when no interbeds specified (#338) DNODATA values reported if 1) delay interbed observations are specified and no delay interbeds are specified and 2) interbed observations are specified and the number of interbeds is zero. Added test of all observation types to test_gwf_csub_sk01.py which has no interbeds. closes #298 * ci(travis): update travis.yml to install miniconda instead of apt python (#346) * refactor(mf6): standardize output to STDOUT to use istdout variable * refactor(mf6): standardize output to STDOUT to use istdout variable Modify mf5to6 to use standard SimVariables.f90 in mf6 src and add ListType variables in original mf5to6 SimVariables.f90 file to SimListVariables.f90 and update use statements. * feat(npf): add save saturation option to NPF (#351) * changed some things to public in lak, uzf, sfr * fixed minor bug in uzf * updated release notes and dfn files * modified lak to store hlak and clak in the bound array * refactor(sim_message): Refactor to have independent sim_message (#353) * bug(csub): Write better cellid format to strain csv files (#355) Write integer cellids to csv files instead of string. Add method to discretization classes to return array of user indices. Refactored table output to use table object instead of UWWORD. closes #299 * fix(csub): Add additional inelastic- and elastic-compaction-cell obs. (#356) Closes #302 * fix(csub): Report NODATA for CSUB observ. not calculated in steady-state (#359) CSUB source has been modified to report NODATA values for observations that are not calculated during steady-state stress periods. Observations that are not calculated for steady-state stress periods include SKE, SK, SKE-CELL, SK-CELL, DELAY-HEAD, DELAY-PRECONSTRESS, DELAY-GSTRESS, DELAY-ESTRESS, PRECONSTRESS-CELL. Update mfio to reflect these changes. Also modified CSUB observations so that thick-cell observation is correctly calculated during steady-state stress periods. Closes #300 * Merge refactor-src into develop (#361) * refactor(ListReader): Refactor ListReader to use table object (#362) * fix(npf): remove isavsat hardwire (#364) * refactor(src): remove unused variables (#366) * update mkdist.py to copy additional MSVS solutions and projects * refactor(uzf): refactor uzf to use table object instead of UWWORD (#367) * refactor(uzf): refactor uzf to use table object instead of UWWORD Also simplify table object to write tables of unknown length. * refactor(uzf): refactor uzf to use table object instead of UWWORD Simplify table object to write tables of unknown length. Update observations to use table object when PRINT_INPUT (iprpak=1) is specified to write input observation data. * fix(uzf): flowjaface is not ordered for uzf (#372) * fix(bnd_cf): make another call to bnd_cf routines in gwf bnd_bd (#378) * boundary budgets were being calculated using hcof and rhs values from the previous iteration. This could cause drain flows to be into the aquifer, for example. This fix recalculates the package hcof and rhs values in bd using the final head solution. * update release notes to reflect this change * docs(sfr/lak): couple minor doc changes (#380) * refactor(src): remove unused variables * update mkdist.py to copy additional MSVS solutions and projects * docs(sfr/lak): couple minor doc changes * feature(ims): add additional solver output (#375) Closes #375 * refactor(lak package dfn - perioddata): combined all perioddata into one recarray (#381) * refactor(lak package dfn - perioddata): combined lakeperioddata and outletperioddata into perioddata * refactor(lak stress period data): updated dfn * feature(ims): refactor package convergence check (#382) * Introduce end-of-line normalization (#386) * refactor(xt3d): update develop with minor changes needed for transport (#388) * feature(ims): update inner iteration summary (#389) * refactor(NumericalSolution): refactor csv output (#395) * refactor(NumericalSolution): refactor csv output Refactor csv output to save at the end of the each outer iteration. Add options to save separate outer and inner iteration data. closes #172 * refactor(NumericalSolution): refactor *_cc() methods (#396) Refactor *_cc() methods to pass package integer (ipak) location information and the total number of inner iterations. The ipak variable simplifies construction of the solution outer iteration information for the csv file. The total number of inner iterations makes package convergence csv files consistent with the outer iteration csv file. Update the release notes to reflect recent changes to csv convergence output. Also moved changes for previous versions to release notes appendix (Appendix A). * refactor(Sim): Add MessageModule to containerize message functionality (#399) Add generic message functionality (in Message.f90) to standardize messages (errors, warnings, notes) written at the end of the simulation. Added initial warning messages in mf6. Warning messages and notes are not written if the 'SUMMARY' level command line switch is specified. Refactor IMS package to replace outer_hclose and inner_hclose with outer_dvclose and inner_dvclose. Using outer_hclose and inner_hclose will return warning messages. Added error messages for outer_rclosebnd and csv_output. * docs(gwf-mvr.dfn): clarify mvrtype definition (#408) Closes #393 * refactor(misc): bringing in changes made on transport branch (#409) * implemented table writer for mvr flows * turned on fpp preprocessing in vfproj for compilerversion.fpp * modifed obs table header in tex file * minor changes to budget and budgetobject to support transport * Output in bmi - writing stdout to file or screen is now configurable through bmi (cherry picked from commit ba98a37) * Cleaning up the bmi a bit... (cherry picked from commit 798afe9) * Introduced option to update storage (sc2) for each timestep (cherry picked from commit 93b5cc9) * and also update flag for sc1 now (cherry picked from commit c4ff085) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 (#413) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 * updated mf6ivar readme.md to included deprecated description * fix for maw02 failure resulting from flopy updates * feat(DRN): add option for scaling drainage discharge * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn02) that compares cubic scaled drain discharge to groundwater seepage calculated by the UZF package. * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn01) that compares scaled drain discharge to calculated values. Update release notes with scaled drainage discharge option. * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * BMI work: writing bmi messages through generic utils * sorry, forgot width specifier... * docs(gwf-sfr.dfn): clarify 2nd idv definition (#418) Close #417 * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): cleanup * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(advanced packages): minor changes to support buoyancy package (#422) * refactor(advanced packages): add minor changes to support buoyancy package * add change to boundarypackage.f90 to support the noupdateauxvar variable * fix for latests flopy changes * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() Fixed issue in HashTable when key does not exist and return from function with uninitialized indx. With gfortran indx was initialized by default to a value greater than 0. * refactor(lak): refactor timeseries to use read_value_or_time_series() Cleanup of error messages. * fix(exg-mvr): dis object not associated for binary save flows (#425) * refactoring of the budget object resulted in an unassociated dis object when writing flows for exchange water mover * dis is no longer optional for mvr_cr() * closes #423 * refactor(sfr): use read_value_or_time_series_adv() for timeseries (#424) * refactor(uzf): use read_value_or_time_series_adv() for timeseries (#429) * docs(gwf-uzf.dfn): fix typo (#431) * refactor(maw): use read_value_or_time_series_adv() for timeseries (#430) * refactor(Memory): remove unused MemoryTSType (#434) * fix(sfr): fix error in upstream factor check with diversions (#435) Initialize diversion flow (divflow) to zero in the event that they are not defined in the first stress period. * fix(uzf): fix memory leak in UzfCellGroup (#437) close #436 * initialized a few variables to make Travis happy Co-authored-by: Hughes, J.D <jdhughes@usgs.gov> Co-authored-by: spaulins-usgs <spaulinski@usgs.gov> Co-authored-by: Eric Morway <emorway@usgs.gov> Co-authored-by: mjr-deltares <martijn.russcher@deltares.nl>
langevin-usgs
added a commit
that referenced
this pull request
May 16, 2020
* fix(uzf): fix indexing error in UZF (#274) * Error introduced as part of recent UZF refactoring * Closes #273 * fix(memory): some variables not deallocated (#278) Implemented new check in develop mode so code bombs with error if memory manager variable not deallocated * refactor(budobj): new budget object for advanced packages (#279) * single code base for writing binary budget files for advanced packages * single code base for creating and writing budget tables to list file for advanced packages * implemented for MAW, UZF, LAK, SFR, and MVR * closes #277 * update mf6exes from 2.0 to 3.0 * will allow generalized transport calculations for advanced packages * refactor(advanced packages): read static data as part of df() (#281) * refactor(advanced packages): modify advanced packages to read all static data as part of df() * modify setup_budobj to include the connectivity so that it is available to other models * fix(budterm): initialize nlist to zero (#283) * initialize nlist to zero (#284) * fix(lak): initialize chdratin and chdratout to zero (#286) * fix(lak): added sign checks for user specified lak flow terms (#288) * User-specified values for RAINFALL, EVAPORATION, RUNOFF, INFLOW, and WITHDRAWAL must be positive. The program worked if these values were negative, but that doesn't necessarily make sense and is probably an input error. * Updated definition file to reflect these changes * Corrected minor typo in lake definition file * Updated release notes to reflect this change * Close #287 * feat(sfr): add storage term to sfr budget (#293) * Also includes a reach volume term written as an aux variable. This is needed for transport. * initialize str so non-ascii characters don't show up in output files * updated notes for these changes * * fix(csub): Fix CSUB binary budget data saved as IMETH=6 datatype closes #290 * refactor(sfr): Refactor SFR Package to remove use of Geometry objects (#296) * refactor(sfr): Refactor SFR Package to remove use of Geometry objects * doc(pak-ts): update description of package timeseries variables. * ci(yml): update yml to clone shallow copy of flopy and pymake repos * doc(release): Update release notes * Closes #276, and #289 * refactor(xt3d): accumulate flowja instead of set (#306) This change is required for transport, which accumulates terms in flowja * fix(dis): corrected connection vector error in DIS package (#308) Code was incorrectly calculating cell center elevations when nozee was .false. This error would have affected XT3D simulations with unconfined flow and non-zero values specified for ANGLE2 in the NPF Package. It also would affect dispersive transport with XT3D for unconfined conditions. * Update sln-ims-example.dat * refactor(maw): refactor MAW conductance calculation for issue 305 (#310) Add traps to catch 1) skin factors that are <= 0 when using the SKIN conductance equation and 2) and negative saturated conductances values. Closes #305 * feat(tableobj): Add a generic table object for lst file output (#303) Full implementation for SFR package. Partial implementation for LAK, MAW, and UZF packages. * feat(tableobj): update MAW package to use tableobj for data output (#315) Also fix some budget reporting issues in the MAW package * fix(auxmult): auxmult fix when auxmult and bound are in time series (#316) * change order of time series interpolation so aux is done first in case it is an auxmult column * partially addresses #314 * updated release notes * refactor(BoundaryPackage): Add use of TableObject for print_flows option (#317) * feat(lnf): update n-point geometry package data * Revert "feat(lnf): update n-point geometry package data" This reverts commit 3460cfb. * fix(lak): revise the way outlet to-mvr flows are stored in budobj (#321) * fix(lak): revise the way outlet to-mvr flows are stored in budobj * updated release notes * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file (#329) * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file * update release notes * fix(maw): new headtable corrected to have mawwells rows instead of maxbound (#332) * fix(sfr): Remove upstream_fraction check from PACKAGEDATA block (#334) closes #324 * feat(transport): update develop with some general routines needed for transport (#339) * feat(transport): update develop with some general routines needed for transport * fix(mover): correct typo in error message * closes #336 * refactor(disu): correct type in disu error message * closes #635 * fix(csub): Allow interbed observations when no interbeds specified (#338) DNODATA values reported if 1) delay interbed observations are specified and no delay interbeds are specified and 2) interbed observations are specified and the number of interbeds is zero. Added test of all observation types to test_gwf_csub_sk01.py which has no interbeds. closes #298 * ci(travis): update travis.yml to install miniconda instead of apt python (#346) * refactor(mf6): standardize output to STDOUT to use istdout variable * refactor(mf6): standardize output to STDOUT to use istdout variable Modify mf5to6 to use standard SimVariables.f90 in mf6 src and add ListType variables in original mf5to6 SimVariables.f90 file to SimListVariables.f90 and update use statements. * feat(npf): add save saturation option to NPF (#351) * changed some things to public in lak, uzf, sfr * fixed minor bug in uzf * updated release notes and dfn files * modified lak to store hlak and clak in the bound array * refactor(sim_message): Refactor to have independent sim_message (#353) * bug(csub): Write better cellid format to strain csv files (#355) Write integer cellids to csv files instead of string. Add method to discretization classes to return array of user indices. Refactored table output to use table object instead of UWWORD. closes #299 * fix(csub): Add additional inelastic- and elastic-compaction-cell obs. (#356) Closes #302 * fix(csub): Report NODATA for CSUB observ. not calculated in steady-state (#359) CSUB source has been modified to report NODATA values for observations that are not calculated during steady-state stress periods. Observations that are not calculated for steady-state stress periods include SKE, SK, SKE-CELL, SK-CELL, DELAY-HEAD, DELAY-PRECONSTRESS, DELAY-GSTRESS, DELAY-ESTRESS, PRECONSTRESS-CELL. Update mfio to reflect these changes. Also modified CSUB observations so that thick-cell observation is correctly calculated during steady-state stress periods. Closes #300 * Merge refactor-src into develop (#361) * refactor(ListReader): Refactor ListReader to use table object (#362) * fix(npf): remove isavsat hardwire (#364) * refactor(src): remove unused variables (#366) * update mkdist.py to copy additional MSVS solutions and projects * refactor(uzf): refactor uzf to use table object instead of UWWORD (#367) * refactor(uzf): refactor uzf to use table object instead of UWWORD Also simplify table object to write tables of unknown length. * refactor(uzf): refactor uzf to use table object instead of UWWORD Simplify table object to write tables of unknown length. Update observations to use table object when PRINT_INPUT (iprpak=1) is specified to write input observation data. * fix(uzf): flowjaface is not ordered for uzf (#372) * fix(bnd_cf): make another call to bnd_cf routines in gwf bnd_bd (#378) * boundary budgets were being calculated using hcof and rhs values from the previous iteration. This could cause drain flows to be into the aquifer, for example. This fix recalculates the package hcof and rhs values in bd using the final head solution. * update release notes to reflect this change * docs(sfr/lak): couple minor doc changes (#380) * refactor(src): remove unused variables * update mkdist.py to copy additional MSVS solutions and projects * docs(sfr/lak): couple minor doc changes * feature(ims): add additional solver output (#375) Closes #375 * refactor(lak package dfn - perioddata): combined all perioddata into one recarray (#381) * refactor(lak package dfn - perioddata): combined lakeperioddata and outletperioddata into perioddata * refactor(lak stress period data): updated dfn * feature(ims): refactor package convergence check (#382) * Introduce end-of-line normalization (#386) * refactor(xt3d): update develop with minor changes needed for transport (#388) * feature(ims): update inner iteration summary (#389) * refactor(NumericalSolution): refactor csv output (#395) * refactor(NumericalSolution): refactor csv output Refactor csv output to save at the end of the each outer iteration. Add options to save separate outer and inner iteration data. closes #172 * refactor(NumericalSolution): refactor *_cc() methods (#396) Refactor *_cc() methods to pass package integer (ipak) location information and the total number of inner iterations. The ipak variable simplifies construction of the solution outer iteration information for the csv file. The total number of inner iterations makes package convergence csv files consistent with the outer iteration csv file. Update the release notes to reflect recent changes to csv convergence output. Also moved changes for previous versions to release notes appendix (Appendix A). * refactor(Sim): Add MessageModule to containerize message functionality (#399) Add generic message functionality (in Message.f90) to standardize messages (errors, warnings, notes) written at the end of the simulation. Added initial warning messages in mf6. Warning messages and notes are not written if the 'SUMMARY' level command line switch is specified. Refactor IMS package to replace outer_hclose and inner_hclose with outer_dvclose and inner_dvclose. Using outer_hclose and inner_hclose will return warning messages. Added error messages for outer_rclosebnd and csv_output. * docs(gwf-mvr.dfn): clarify mvrtype definition (#408) Closes #393 * refactor(misc): bringing in changes made on transport branch (#409) * implemented table writer for mvr flows * turned on fpp preprocessing in vfproj for compilerversion.fpp * modifed obs table header in tex file * minor changes to budget and budgetobject to support transport * Output in bmi - writing stdout to file or screen is now configurable through bmi (cherry picked from commit ba98a37) * Cleaning up the bmi a bit... (cherry picked from commit 798afe9) * Introduced option to update storage (sc2) for each timestep (cherry picked from commit 93b5cc9) * and also update flag for sc1 now (cherry picked from commit c4ff085) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 (#413) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 * updated mf6ivar readme.md to included deprecated description * fix for maw02 failure resulting from flopy updates * feat(DRN): add option for scaling drainage discharge * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn02) that compares cubic scaled drain discharge to groundwater seepage calculated by the UZF package. * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn01) that compares scaled drain discharge to calculated values. Update release notes with scaled drainage discharge option. * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * BMI work: writing bmi messages through generic utils * sorry, forgot width specifier... * docs(gwf-sfr.dfn): clarify 2nd idv definition (#418) Close #417 * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): cleanup * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(advanced packages): minor changes to support buoyancy package (#422) * refactor(advanced packages): add minor changes to support buoyancy package * add change to boundarypackage.f90 to support the noupdateauxvar variable * fix for latests flopy changes * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() Fixed issue in HashTable when key does not exist and return from function with uninitialized indx. With gfortran indx was initialized by default to a value greater than 0. * refactor(lak): refactor timeseries to use read_value_or_time_series() Cleanup of error messages. * fix(exg-mvr): dis object not associated for binary save flows (#425) * refactoring of the budget object resulted in an unassociated dis object when writing flows for exchange water mover * dis is no longer optional for mvr_cr() * closes #423 * refactor(sfr): use read_value_or_time_series_adv() for timeseries (#424) * refactor(uzf): use read_value_or_time_series_adv() for timeseries (#429) * docs(gwf-uzf.dfn): fix typo (#431) * refactor(maw): use read_value_or_time_series_adv() for timeseries (#430) * refactor(Memory): remove unused MemoryTSType (#434) * fix(sfr): fix error in upstream factor check with diversions (#435) Initialize diversion flow (divflow) to zero in the event that they are not defined in the first stress period. * fix(uzf): fix memory leak in UzfCellGroup (#437) close #436 * refactor(lak/sfr): changes for future support of density variations (#441) * feat(sfr): Add picard iteration loop in sfr_fc() (#440) Also cleanup sparse and remove as a sfrtype variables. * docs(gwf-drn.dfn): fix typo (#439) * refactor(csub): use read_value_or_time_series_adv() for timeseries (#442) Also error message cleanup. Co-authored-by: Hughes, J.D <jdhughes@usgs.gov> Co-authored-by: spaulins-usgs <spaulinski@usgs.gov> Co-authored-by: Eric Morway <emorway@usgs.gov> Co-authored-by: mjr-deltares <martijn.russcher@deltares.nl>
langevin-usgs
added a commit
that referenced
this pull request
Jun 3, 2020
* fix(uzf): fix indexing error in UZF (#274) * Error introduced as part of recent UZF refactoring * Closes #273 * fix(memory): some variables not deallocated (#278) Implemented new check in develop mode so code bombs with error if memory manager variable not deallocated * refactor(budobj): new budget object for advanced packages (#279) * single code base for writing binary budget files for advanced packages * single code base for creating and writing budget tables to list file for advanced packages * implemented for MAW, UZF, LAK, SFR, and MVR * closes #277 * update mf6exes from 2.0 to 3.0 * will allow generalized transport calculations for advanced packages * refactor(advanced packages): read static data as part of df() (#281) * refactor(advanced packages): modify advanced packages to read all static data as part of df() * modify setup_budobj to include the connectivity so that it is available to other models * fix(budterm): initialize nlist to zero (#283) * initialize nlist to zero (#284) * fix(lak): initialize chdratin and chdratout to zero (#286) * fix(lak): added sign checks for user specified lak flow terms (#288) * User-specified values for RAINFALL, EVAPORATION, RUNOFF, INFLOW, and WITHDRAWAL must be positive. The program worked if these values were negative, but that doesn't necessarily make sense and is probably an input error. * Updated definition file to reflect these changes * Corrected minor typo in lake definition file * Updated release notes to reflect this change * Close #287 * feat(sfr): add storage term to sfr budget (#293) * Also includes a reach volume term written as an aux variable. This is needed for transport. * initialize str so non-ascii characters don't show up in output files * updated notes for these changes * * fix(csub): Fix CSUB binary budget data saved as IMETH=6 datatype closes #290 * refactor(sfr): Refactor SFR Package to remove use of Geometry objects (#296) * refactor(sfr): Refactor SFR Package to remove use of Geometry objects * doc(pak-ts): update description of package timeseries variables. * ci(yml): update yml to clone shallow copy of flopy and pymake repos * doc(release): Update release notes * Closes #276, and #289 * refactor(xt3d): accumulate flowja instead of set (#306) This change is required for transport, which accumulates terms in flowja * fix(dis): corrected connection vector error in DIS package (#308) Code was incorrectly calculating cell center elevations when nozee was .false. This error would have affected XT3D simulations with unconfined flow and non-zero values specified for ANGLE2 in the NPF Package. It also would affect dispersive transport with XT3D for unconfined conditions. * Update sln-ims-example.dat * refactor(maw): refactor MAW conductance calculation for issue 305 (#310) Add traps to catch 1) skin factors that are <= 0 when using the SKIN conductance equation and 2) and negative saturated conductances values. Closes #305 * feat(tableobj): Add a generic table object for lst file output (#303) Full implementation for SFR package. Partial implementation for LAK, MAW, and UZF packages. * feat(tableobj): update MAW package to use tableobj for data output (#315) Also fix some budget reporting issues in the MAW package * fix(auxmult): auxmult fix when auxmult and bound are in time series (#316) * change order of time series interpolation so aux is done first in case it is an auxmult column * partially addresses #314 * updated release notes * refactor(BoundaryPackage): Add use of TableObject for print_flows option (#317) * feat(lnf): update n-point geometry package data * Revert "feat(lnf): update n-point geometry package data" This reverts commit 3460cfb. * fix(lak): revise the way outlet to-mvr flows are stored in budobj (#321) * fix(lak): revise the way outlet to-mvr flows are stored in budobj * updated release notes * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file (#329) * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file * update release notes * fix(maw): new headtable corrected to have mawwells rows instead of maxbound (#332) * fix(sfr): Remove upstream_fraction check from PACKAGEDATA block (#334) closes #324 * feat(transport): update develop with some general routines needed for transport (#339) * feat(transport): update develop with some general routines needed for transport * fix(mover): correct typo in error message * closes #336 * refactor(disu): correct type in disu error message * closes #635 * fix(csub): Allow interbed observations when no interbeds specified (#338) DNODATA values reported if 1) delay interbed observations are specified and no delay interbeds are specified and 2) interbed observations are specified and the number of interbeds is zero. Added test of all observation types to test_gwf_csub_sk01.py which has no interbeds. closes #298 * ci(travis): update travis.yml to install miniconda instead of apt python (#346) * refactor(mf6): standardize output to STDOUT to use istdout variable * refactor(mf6): standardize output to STDOUT to use istdout variable Modify mf5to6 to use standard SimVariables.f90 in mf6 src and add ListType variables in original mf5to6 SimVariables.f90 file to SimListVariables.f90 and update use statements. * feat(npf): add save saturation option to NPF (#351) * changed some things to public in lak, uzf, sfr * fixed minor bug in uzf * updated release notes and dfn files * modified lak to store hlak and clak in the bound array * refactor(sim_message): Refactor to have independent sim_message (#353) * bug(csub): Write better cellid format to strain csv files (#355) Write integer cellids to csv files instead of string. Add method to discretization classes to return array of user indices. Refactored table output to use table object instead of UWWORD. closes #299 * fix(csub): Add additional inelastic- and elastic-compaction-cell obs. (#356) Closes #302 * fix(csub): Report NODATA for CSUB observ. not calculated in steady-state (#359) CSUB source has been modified to report NODATA values for observations that are not calculated during steady-state stress periods. Observations that are not calculated for steady-state stress periods include SKE, SK, SKE-CELL, SK-CELL, DELAY-HEAD, DELAY-PRECONSTRESS, DELAY-GSTRESS, DELAY-ESTRESS, PRECONSTRESS-CELL. Update mfio to reflect these changes. Also modified CSUB observations so that thick-cell observation is correctly calculated during steady-state stress periods. Closes #300 * Merge refactor-src into develop (#361) * refactor(ListReader): Refactor ListReader to use table object (#362) * fix(npf): remove isavsat hardwire (#364) * refactor(src): remove unused variables (#366) * update mkdist.py to copy additional MSVS solutions and projects * refactor(uzf): refactor uzf to use table object instead of UWWORD (#367) * refactor(uzf): refactor uzf to use table object instead of UWWORD Also simplify table object to write tables of unknown length. * refactor(uzf): refactor uzf to use table object instead of UWWORD Simplify table object to write tables of unknown length. Update observations to use table object when PRINT_INPUT (iprpak=1) is specified to write input observation data. * fix(uzf): flowjaface is not ordered for uzf (#372) * fix(bnd_cf): make another call to bnd_cf routines in gwf bnd_bd (#378) * boundary budgets were being calculated using hcof and rhs values from the previous iteration. This could cause drain flows to be into the aquifer, for example. This fix recalculates the package hcof and rhs values in bd using the final head solution. * update release notes to reflect this change * docs(sfr/lak): couple minor doc changes (#380) * refactor(src): remove unused variables * update mkdist.py to copy additional MSVS solutions and projects * docs(sfr/lak): couple minor doc changes * feature(ims): add additional solver output (#375) Closes #375 * refactor(lak package dfn - perioddata): combined all perioddata into one recarray (#381) * refactor(lak package dfn - perioddata): combined lakeperioddata and outletperioddata into perioddata * refactor(lak stress period data): updated dfn * feature(ims): refactor package convergence check (#382) * Introduce end-of-line normalization (#386) * refactor(xt3d): update develop with minor changes needed for transport (#388) * feature(ims): update inner iteration summary (#389) * refactor(NumericalSolution): refactor csv output (#395) * refactor(NumericalSolution): refactor csv output Refactor csv output to save at the end of the each outer iteration. Add options to save separate outer and inner iteration data. closes #172 * refactor(NumericalSolution): refactor *_cc() methods (#396) Refactor *_cc() methods to pass package integer (ipak) location information and the total number of inner iterations. The ipak variable simplifies construction of the solution outer iteration information for the csv file. The total number of inner iterations makes package convergence csv files consistent with the outer iteration csv file. Update the release notes to reflect recent changes to csv convergence output. Also moved changes for previous versions to release notes appendix (Appendix A). * refactor(Sim): Add MessageModule to containerize message functionality (#399) Add generic message functionality (in Message.f90) to standardize messages (errors, warnings, notes) written at the end of the simulation. Added initial warning messages in mf6. Warning messages and notes are not written if the 'SUMMARY' level command line switch is specified. Refactor IMS package to replace outer_hclose and inner_hclose with outer_dvclose and inner_dvclose. Using outer_hclose and inner_hclose will return warning messages. Added error messages for outer_rclosebnd and csv_output. * docs(gwf-mvr.dfn): clarify mvrtype definition (#408) Closes #393 * refactor(misc): bringing in changes made on transport branch (#409) * implemented table writer for mvr flows * turned on fpp preprocessing in vfproj for compilerversion.fpp * modifed obs table header in tex file * minor changes to budget and budgetobject to support transport * Output in bmi - writing stdout to file or screen is now configurable through bmi (cherry picked from commit ba98a37) * Cleaning up the bmi a bit... (cherry picked from commit 798afe9) * Introduced option to update storage (sc2) for each timestep (cherry picked from commit 93b5cc9) * and also update flag for sc1 now (cherry picked from commit c4ff085) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 (#413) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 * updated mf6ivar readme.md to included deprecated description * fix for maw02 failure resulting from flopy updates * feat(DRN): add option for scaling drainage discharge * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn02) that compares cubic scaled drain discharge to groundwater seepage calculated by the UZF package. * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn01) that compares scaled drain discharge to calculated values. Update release notes with scaled drainage discharge option. * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * BMI work: writing bmi messages through generic utils * sorry, forgot width specifier... * docs(gwf-sfr.dfn): clarify 2nd idv definition (#418) Close #417 * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): cleanup * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(advanced packages): minor changes to support buoyancy package (#422) * refactor(advanced packages): add minor changes to support buoyancy package * add change to boundarypackage.f90 to support the noupdateauxvar variable * fix for latests flopy changes * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() Fixed issue in HashTable when key does not exist and return from function with uninitialized indx. With gfortran indx was initialized by default to a value greater than 0. * refactor(lak): refactor timeseries to use read_value_or_time_series() Cleanup of error messages. * fix(exg-mvr): dis object not associated for binary save flows (#425) * refactoring of the budget object resulted in an unassociated dis object when writing flows for exchange water mover * dis is no longer optional for mvr_cr() * closes #423 * refactor(sfr): use read_value_or_time_series_adv() for timeseries (#424) * refactor(uzf): use read_value_or_time_series_adv() for timeseries (#429) * docs(gwf-uzf.dfn): fix typo (#431) * refactor(maw): use read_value_or_time_series_adv() for timeseries (#430) * refactor(Memory): remove unused MemoryTSType (#434) * fix(sfr): fix error in upstream factor check with diversions (#435) Initialize diversion flow (divflow) to zero in the event that they are not defined in the first stress period. * fix(uzf): fix memory leak in UzfCellGroup (#437) close #436 * refactor(lak/sfr): changes for future support of density variations (#441) * feat(sfr): Add picard iteration loop in sfr_fc() (#440) Also cleanup sparse and remove as a sfrtype variables. * docs(gwf-drn.dfn): fix typo (#439) * refactor(csub): use read_value_or_time_series_adv() for timeseries (#442) Also error message cleanup. * docs(gwf-drn.dfn): offer clarification to AUXDEPTHNAME definition (#443) * refactor(mvr): implement provider mapping array for mvr budget (#450) * mvr budget now contains lake number instead of outlet number when lake is a provider * added first cut of maw density routine * fix(maw): fixed storage bug in maw * refactor(bmi): clean up modflow 6 code structure to refine bmi implementation (#454) - add do_timestep() to the ami - remove prepareIteration(), moved logic to *_rp() - remove subtiming - removed kpicard from sln_ca and further subroutines (*_ad()) - Additional refactoring and cleaning of the code structure * refactor(MemoryManager): Add specified length sting and string array (#449) Remove TdisModule dependency in table object. Revise memory manager output to use table object. Add table source files to mf5to6 converter `extrafiles.txt`. Use table object to print lake stages. Add logical size to kind (LGP) for future use. * fix(maw): initialize xsto and add test (#456) * fix(NumericalSolution): add counter for time step iteration total (#457) Refactor iteration total for time step and simulation to clarify data stored in these variables. Updated test_gwf_npf03_sfr.py and test_gwf_ts_sfr01.py to output inner and outer iteration convergence information to listing and csv files for evaluation of proper output. Also evaluated results for test_gwf_npf02_rewet.py autotest since it has more than 1 time step. Closes #410 * add maw density test * updated buy maw test * clean up targets.py * refactoring transport to work with latest develop changes * Changes to get transport working again * docs: fix typo in developer guide (#464) * refactor(model_ad): revert the model advance back to numerical model (#462) * allocate auxname to size 0 and then reallocate when auxiliary detected * Further refactoring BMI for upcoming release (#465) * - finished refactoring *_ad back to sln_ca in the shape of a prepareSolve call (c.f. #462) - changed prepare_iteration to prepare_solve, etc. - style change in ami functions, e.g. perform_time_step instead of perform_timestep * - add safety check: multiple solution groups are not supported for use with BMI. Co-authored-by: Hughes, J.D <jdhughes@usgs.gov> Co-authored-by: spaulins-usgs <spaulinski@usgs.gov> Co-authored-by: Eric Morway <emorway@usgs.gov> Co-authored-by: mjr-deltares <martijn.russcher@deltares.nl> Co-authored-by: mjr-deltares <45555666+mjr-deltares@users.noreply.github.com> Co-authored-by: Hofer Julian <30049909+Hofer-Julian@users.noreply.github.com>
langevin-usgs
added a commit
that referenced
this pull request
Jun 4, 2020
* fix(uzf): fix indexing error in UZF (#274) * Error introduced as part of recent UZF refactoring * Closes #273 * fix(memory): some variables not deallocated (#278) Implemented new check in develop mode so code bombs with error if memory manager variable not deallocated * refactor(budobj): new budget object for advanced packages (#279) * single code base for writing binary budget files for advanced packages * single code base for creating and writing budget tables to list file for advanced packages * implemented for MAW, UZF, LAK, SFR, and MVR * closes #277 * update mf6exes from 2.0 to 3.0 * will allow generalized transport calculations for advanced packages * refactor(advanced packages): read static data as part of df() (#281) * refactor(advanced packages): modify advanced packages to read all static data as part of df() * modify setup_budobj to include the connectivity so that it is available to other models * fix(budterm): initialize nlist to zero (#283) * initialize nlist to zero (#284) * fix(lak): initialize chdratin and chdratout to zero (#286) * fix(lak): added sign checks for user specified lak flow terms (#288) * User-specified values for RAINFALL, EVAPORATION, RUNOFF, INFLOW, and WITHDRAWAL must be positive. The program worked if these values were negative, but that doesn't necessarily make sense and is probably an input error. * Updated definition file to reflect these changes * Corrected minor typo in lake definition file * Updated release notes to reflect this change * Close #287 * feat(sfr): add storage term to sfr budget (#293) * Also includes a reach volume term written as an aux variable. This is needed for transport. * initialize str so non-ascii characters don't show up in output files * updated notes for these changes * * fix(csub): Fix CSUB binary budget data saved as IMETH=6 datatype closes #290 * refactor(sfr): Refactor SFR Package to remove use of Geometry objects (#296) * refactor(sfr): Refactor SFR Package to remove use of Geometry objects * doc(pak-ts): update description of package timeseries variables. * ci(yml): update yml to clone shallow copy of flopy and pymake repos * doc(release): Update release notes * Closes #276, and #289 * refactor(xt3d): accumulate flowja instead of set (#306) This change is required for transport, which accumulates terms in flowja * fix(dis): corrected connection vector error in DIS package (#308) Code was incorrectly calculating cell center elevations when nozee was .false. This error would have affected XT3D simulations with unconfined flow and non-zero values specified for ANGLE2 in the NPF Package. It also would affect dispersive transport with XT3D for unconfined conditions. * Update sln-ims-example.dat * refactor(maw): refactor MAW conductance calculation for issue 305 (#310) Add traps to catch 1) skin factors that are <= 0 when using the SKIN conductance equation and 2) and negative saturated conductances values. Closes #305 * feat(tableobj): Add a generic table object for lst file output (#303) Full implementation for SFR package. Partial implementation for LAK, MAW, and UZF packages. * feat(tableobj): update MAW package to use tableobj for data output (#315) Also fix some budget reporting issues in the MAW package * fix(auxmult): auxmult fix when auxmult and bound are in time series (#316) * change order of time series interpolation so aux is done first in case it is an auxmult column * partially addresses #314 * updated release notes * refactor(BoundaryPackage): Add use of TableObject for print_flows option (#317) * feat(lnf): update n-point geometry package data * Revert "feat(lnf): update n-point geometry package data" This reverts commit 3460cfb. * fix(lak): revise the way outlet to-mvr flows are stored in budobj (#321) * fix(lak): revise the way outlet to-mvr flows are stored in budobj * updated release notes * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file (#329) * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file * update release notes * fix(maw): new headtable corrected to have mawwells rows instead of maxbound (#332) * fix(sfr): Remove upstream_fraction check from PACKAGEDATA block (#334) closes #324 * feat(transport): update develop with some general routines needed for transport (#339) * feat(transport): update develop with some general routines needed for transport * fix(mover): correct typo in error message * closes #336 * refactor(disu): correct type in disu error message * closes #635 * fix(csub): Allow interbed observations when no interbeds specified (#338) DNODATA values reported if 1) delay interbed observations are specified and no delay interbeds are specified and 2) interbed observations are specified and the number of interbeds is zero. Added test of all observation types to test_gwf_csub_sk01.py which has no interbeds. closes #298 * ci(travis): update travis.yml to install miniconda instead of apt python (#346) * refactor(mf6): standardize output to STDOUT to use istdout variable * refactor(mf6): standardize output to STDOUT to use istdout variable Modify mf5to6 to use standard SimVariables.f90 in mf6 src and add ListType variables in original mf5to6 SimVariables.f90 file to SimListVariables.f90 and update use statements. * feat(npf): add save saturation option to NPF (#351) * changed some things to public in lak, uzf, sfr * fixed minor bug in uzf * updated release notes and dfn files * modified lak to store hlak and clak in the bound array * refactor(sim_message): Refactor to have independent sim_message (#353) * bug(csub): Write better cellid format to strain csv files (#355) Write integer cellids to csv files instead of string. Add method to discretization classes to return array of user indices. Refactored table output to use table object instead of UWWORD. closes #299 * fix(csub): Add additional inelastic- and elastic-compaction-cell obs. (#356) Closes #302 * fix(csub): Report NODATA for CSUB observ. not calculated in steady-state (#359) CSUB source has been modified to report NODATA values for observations that are not calculated during steady-state stress periods. Observations that are not calculated for steady-state stress periods include SKE, SK, SKE-CELL, SK-CELL, DELAY-HEAD, DELAY-PRECONSTRESS, DELAY-GSTRESS, DELAY-ESTRESS, PRECONSTRESS-CELL. Update mfio to reflect these changes. Also modified CSUB observations so that thick-cell observation is correctly calculated during steady-state stress periods. Closes #300 * Merge refactor-src into develop (#361) * refactor(ListReader): Refactor ListReader to use table object (#362) * fix(npf): remove isavsat hardwire (#364) * refactor(src): remove unused variables (#366) * update mkdist.py to copy additional MSVS solutions and projects * refactor(uzf): refactor uzf to use table object instead of UWWORD (#367) * refactor(uzf): refactor uzf to use table object instead of UWWORD Also simplify table object to write tables of unknown length. * refactor(uzf): refactor uzf to use table object instead of UWWORD Simplify table object to write tables of unknown length. Update observations to use table object when PRINT_INPUT (iprpak=1) is specified to write input observation data. * fix(uzf): flowjaface is not ordered for uzf (#372) * fix(bnd_cf): make another call to bnd_cf routines in gwf bnd_bd (#378) * boundary budgets were being calculated using hcof and rhs values from the previous iteration. This could cause drain flows to be into the aquifer, for example. This fix recalculates the package hcof and rhs values in bd using the final head solution. * update release notes to reflect this change * docs(sfr/lak): couple minor doc changes (#380) * refactor(src): remove unused variables * update mkdist.py to copy additional MSVS solutions and projects * docs(sfr/lak): couple minor doc changes * feature(ims): add additional solver output (#375) Closes #375 * refactor(lak package dfn - perioddata): combined all perioddata into one recarray (#381) * refactor(lak package dfn - perioddata): combined lakeperioddata and outletperioddata into perioddata * refactor(lak stress period data): updated dfn * feature(ims): refactor package convergence check (#382) * Introduce end-of-line normalization (#386) * refactor(xt3d): update develop with minor changes needed for transport (#388) * feature(ims): update inner iteration summary (#389) * refactor(NumericalSolution): refactor csv output (#395) * refactor(NumericalSolution): refactor csv output Refactor csv output to save at the end of the each outer iteration. Add options to save separate outer and inner iteration data. closes #172 * refactor(NumericalSolution): refactor *_cc() methods (#396) Refactor *_cc() methods to pass package integer (ipak) location information and the total number of inner iterations. The ipak variable simplifies construction of the solution outer iteration information for the csv file. The total number of inner iterations makes package convergence csv files consistent with the outer iteration csv file. Update the release notes to reflect recent changes to csv convergence output. Also moved changes for previous versions to release notes appendix (Appendix A). * refactor(Sim): Add MessageModule to containerize message functionality (#399) Add generic message functionality (in Message.f90) to standardize messages (errors, warnings, notes) written at the end of the simulation. Added initial warning messages in mf6. Warning messages and notes are not written if the 'SUMMARY' level command line switch is specified. Refactor IMS package to replace outer_hclose and inner_hclose with outer_dvclose and inner_dvclose. Using outer_hclose and inner_hclose will return warning messages. Added error messages for outer_rclosebnd and csv_output. * docs(gwf-mvr.dfn): clarify mvrtype definition (#408) Closes #393 * refactor(misc): bringing in changes made on transport branch (#409) * implemented table writer for mvr flows * turned on fpp preprocessing in vfproj for compilerversion.fpp * modifed obs table header in tex file * minor changes to budget and budgetobject to support transport * Output in bmi - writing stdout to file or screen is now configurable through bmi (cherry picked from commit ba98a37) * Cleaning up the bmi a bit... (cherry picked from commit 798afe9) * Introduced option to update storage (sc2) for each timestep (cherry picked from commit 93b5cc9) * and also update flag for sc1 now (cherry picked from commit c4ff085) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 (#413) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 * updated mf6ivar readme.md to included deprecated description * fix for maw02 failure resulting from flopy updates * feat(DRN): add option for scaling drainage discharge * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn02) that compares cubic scaled drain discharge to groundwater seepage calculated by the UZF package. * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn01) that compares scaled drain discharge to calculated values. Update release notes with scaled drainage discharge option. * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * BMI work: writing bmi messages through generic utils * sorry, forgot width specifier... * docs(gwf-sfr.dfn): clarify 2nd idv definition (#418) Close #417 * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): cleanup * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(advanced packages): minor changes to support buoyancy package (#422) * refactor(advanced packages): add minor changes to support buoyancy package * add change to boundarypackage.f90 to support the noupdateauxvar variable * fix for latests flopy changes * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() Fixed issue in HashTable when key does not exist and return from function with uninitialized indx. With gfortran indx was initialized by default to a value greater than 0. * refactor(lak): refactor timeseries to use read_value_or_time_series() Cleanup of error messages. * fix(exg-mvr): dis object not associated for binary save flows (#425) * refactoring of the budget object resulted in an unassociated dis object when writing flows for exchange water mover * dis is no longer optional for mvr_cr() * closes #423 * refactor(sfr): use read_value_or_time_series_adv() for timeseries (#424) * refactor(uzf): use read_value_or_time_series_adv() for timeseries (#429) * docs(gwf-uzf.dfn): fix typo (#431) * refactor(maw): use read_value_or_time_series_adv() for timeseries (#430) * refactor(Memory): remove unused MemoryTSType (#434) * fix(sfr): fix error in upstream factor check with diversions (#435) Initialize diversion flow (divflow) to zero in the event that they are not defined in the first stress period. * fix(uzf): fix memory leak in UzfCellGroup (#437) close #436 * refactor(lak/sfr): changes for future support of density variations (#441) * feat(sfr): Add picard iteration loop in sfr_fc() (#440) Also cleanup sparse and remove as a sfrtype variables. * docs(gwf-drn.dfn): fix typo (#439) * refactor(csub): use read_value_or_time_series_adv() for timeseries (#442) Also error message cleanup. * docs(gwf-drn.dfn): offer clarification to AUXDEPTHNAME definition (#443) * refactor(mvr): implement provider mapping array for mvr budget (#450) * mvr budget now contains lake number instead of outlet number when lake is a provider * added first cut of maw density routine * refactor(bmi): clean up modflow 6 code structure to refine bmi implementation (#454) - add do_timestep() to the ami - remove prepareIteration(), moved logic to *_rp() - remove subtiming - removed kpicard from sln_ca and further subroutines (*_ad()) - Additional refactoring and cleaning of the code structure * refactor(MemoryManager): Add specified length sting and string array (#449) Remove TdisModule dependency in table object. Revise memory manager output to use table object. Add table source files to mf5to6 converter `extrafiles.txt`. Use table object to print lake stages. Add logical size to kind (LGP) for future use. * fix(maw): initialize xsto and add test (#456) * fix(NumericalSolution): add counter for time step iteration total (#457) Refactor iteration total for time step and simulation to clarify data stored in these variables. Updated test_gwf_npf03_sfr.py and test_gwf_ts_sfr01.py to output inner and outer iteration convergence information to listing and csv files for evaluation of proper output. Also evaluated results for test_gwf_npf02_rewet.py autotest since it has more than 1 time step. Closes #410 * feat(validate): validate MODFLOW 6 simulation mode. * docs: fix typo in developer guide (#464) * refactor(model_ad): revert the model advance back to numerical model (#462) * allocate auxname to size 0 and then reallocate when auxiliary detected * Further refactoring BMI for upcoming release (#465) * - finished refactoring *_ad back to sln_ca in the shape of a prepareSolve call (c.f. #462) - changed prepare_iteration to prepare_solve, etc. - style change in ami functions, e.g. perform_time_step instead of perform_timestep * - add safety check: multiple solution groups are not supported for use with BMI. * refactor(bmi): refactor grid routines (#460) * refactor(bmi): refactor grid routines Previously we used the 'save' attribute to allocate the memory and persist over the call to the routine. This is not fool proof (multiple calls before using the results will mess things up). After this commit, the caller has to allocate the appropriate memory, similar to get_var_shape. * refactor(bmi): change i6 to i0 * feat(maw): add defined flow correction option (#463) * feat(maw): add defined flow correction option * feat(validate): validate MODFLOW 6 simulation mode. * feat(validate): validate MODFLOW 6 simulation mode. * feat(validate): validate MODFLOW 6 simulation mode. * ci(bmi): update rch02 autotest and add sto01 autotest Co-authored-by: Hughes, J.D <jdhughes@usgs.gov> Co-authored-by: spaulins-usgs <spaulinski@usgs.gov> Co-authored-by: Eric Morway <emorway@usgs.gov> Co-authored-by: mjr-deltares <martijn.russcher@deltares.nl> Co-authored-by: mjr-deltares <45555666+mjr-deltares@users.noreply.github.com> Co-authored-by: Hofer Julian <30049909+Hofer-Julian@users.noreply.github.com>
langevin-usgs
added a commit
that referenced
this pull request
Jun 17, 2020
* fix(uzf): fix indexing error in UZF (#274) * Error introduced as part of recent UZF refactoring * Closes #273 * fix(memory): some variables not deallocated (#278) Implemented new check in develop mode so code bombs with error if memory manager variable not deallocated * refactor(budobj): new budget object for advanced packages (#279) * single code base for writing binary budget files for advanced packages * single code base for creating and writing budget tables to list file for advanced packages * implemented for MAW, UZF, LAK, SFR, and MVR * closes #277 * update mf6exes from 2.0 to 3.0 * will allow generalized transport calculations for advanced packages * refactor(advanced packages): read static data as part of df() (#281) * refactor(advanced packages): modify advanced packages to read all static data as part of df() * modify setup_budobj to include the connectivity so that it is available to other models * fix(budterm): initialize nlist to zero (#283) * initialize nlist to zero (#284) * fix(lak): initialize chdratin and chdratout to zero (#286) * fix(lak): added sign checks for user specified lak flow terms (#288) * User-specified values for RAINFALL, EVAPORATION, RUNOFF, INFLOW, and WITHDRAWAL must be positive. The program worked if these values were negative, but that doesn't necessarily make sense and is probably an input error. * Updated definition file to reflect these changes * Corrected minor typo in lake definition file * Updated release notes to reflect this change * Close #287 * feat(sfr): add storage term to sfr budget (#293) * Also includes a reach volume term written as an aux variable. This is needed for transport. * initialize str so non-ascii characters don't show up in output files * updated notes for these changes * * fix(csub): Fix CSUB binary budget data saved as IMETH=6 datatype closes #290 * refactor(sfr): Refactor SFR Package to remove use of Geometry objects (#296) * refactor(sfr): Refactor SFR Package to remove use of Geometry objects * doc(pak-ts): update description of package timeseries variables. * ci(yml): update yml to clone shallow copy of flopy and pymake repos * doc(release): Update release notes * Closes #276, and #289 * refactor(xt3d): accumulate flowja instead of set (#306) This change is required for transport, which accumulates terms in flowja * fix(dis): corrected connection vector error in DIS package (#308) Code was incorrectly calculating cell center elevations when nozee was .false. This error would have affected XT3D simulations with unconfined flow and non-zero values specified for ANGLE2 in the NPF Package. It also would affect dispersive transport with XT3D for unconfined conditions. * Update sln-ims-example.dat * refactor(maw): refactor MAW conductance calculation for issue 305 (#310) Add traps to catch 1) skin factors that are <= 0 when using the SKIN conductance equation and 2) and negative saturated conductances values. Closes #305 * feat(tableobj): Add a generic table object for lst file output (#303) Full implementation for SFR package. Partial implementation for LAK, MAW, and UZF packages. * feat(tableobj): update MAW package to use tableobj for data output (#315) Also fix some budget reporting issues in the MAW package * fix(auxmult): auxmult fix when auxmult and bound are in time series (#316) * change order of time series interpolation so aux is done first in case it is an auxmult column * partially addresses #314 * updated release notes * refactor(BoundaryPackage): Add use of TableObject for print_flows option (#317) * feat(lnf): update n-point geometry package data * Revert "feat(lnf): update n-point geometry package data" This reverts commit 3460cfb. * fix(lak): revise the way outlet to-mvr flows are stored in budobj (#321) * fix(lak): revise the way outlet to-mvr flows are stored in budobj * updated release notes * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file (#329) * refactor(lak/maw/sfr): for CONSTANT features write fixed value instead of DHNOFLO to binary file * update release notes * fix(maw): new headtable corrected to have mawwells rows instead of maxbound (#332) * fix(sfr): Remove upstream_fraction check from PACKAGEDATA block (#334) closes #324 * feat(transport): update develop with some general routines needed for transport (#339) * feat(transport): update develop with some general routines needed for transport * fix(mover): correct typo in error message * closes #336 * refactor(disu): correct type in disu error message * closes #635 * fix(csub): Allow interbed observations when no interbeds specified (#338) DNODATA values reported if 1) delay interbed observations are specified and no delay interbeds are specified and 2) interbed observations are specified and the number of interbeds is zero. Added test of all observation types to test_gwf_csub_sk01.py which has no interbeds. closes #298 * ci(travis): update travis.yml to install miniconda instead of apt python (#346) * refactor(mf6): standardize output to STDOUT to use istdout variable * refactor(mf6): standardize output to STDOUT to use istdout variable Modify mf5to6 to use standard SimVariables.f90 in mf6 src and add ListType variables in original mf5to6 SimVariables.f90 file to SimListVariables.f90 and update use statements. * feat(npf): add save saturation option to NPF (#351) * changed some things to public in lak, uzf, sfr * fixed minor bug in uzf * updated release notes and dfn files * modified lak to store hlak and clak in the bound array * refactor(sim_message): Refactor to have independent sim_message (#353) * bug(csub): Write better cellid format to strain csv files (#355) Write integer cellids to csv files instead of string. Add method to discretization classes to return array of user indices. Refactored table output to use table object instead of UWWORD. closes #299 * fix(csub): Add additional inelastic- and elastic-compaction-cell obs. (#356) Closes #302 * fix(csub): Report NODATA for CSUB observ. not calculated in steady-state (#359) CSUB source has been modified to report NODATA values for observations that are not calculated during steady-state stress periods. Observations that are not calculated for steady-state stress periods include SKE, SK, SKE-CELL, SK-CELL, DELAY-HEAD, DELAY-PRECONSTRESS, DELAY-GSTRESS, DELAY-ESTRESS, PRECONSTRESS-CELL. Update mfio to reflect these changes. Also modified CSUB observations so that thick-cell observation is correctly calculated during steady-state stress periods. Closes #300 * Merge refactor-src into develop (#361) * refactor(ListReader): Refactor ListReader to use table object (#362) * fix(npf): remove isavsat hardwire (#364) * refactor(src): remove unused variables (#366) * update mkdist.py to copy additional MSVS solutions and projects * refactor(uzf): refactor uzf to use table object instead of UWWORD (#367) * refactor(uzf): refactor uzf to use table object instead of UWWORD Also simplify table object to write tables of unknown length. * refactor(uzf): refactor uzf to use table object instead of UWWORD Simplify table object to write tables of unknown length. Update observations to use table object when PRINT_INPUT (iprpak=1) is specified to write input observation data. * fix(uzf): flowjaface is not ordered for uzf (#372) * fix(bnd_cf): make another call to bnd_cf routines in gwf bnd_bd (#378) * boundary budgets were being calculated using hcof and rhs values from the previous iteration. This could cause drain flows to be into the aquifer, for example. This fix recalculates the package hcof and rhs values in bd using the final head solution. * update release notes to reflect this change * docs(sfr/lak): couple minor doc changes (#380) * refactor(src): remove unused variables * update mkdist.py to copy additional MSVS solutions and projects * docs(sfr/lak): couple minor doc changes * feature(ims): add additional solver output (#375) Closes #375 * refactor(lak package dfn - perioddata): combined all perioddata into one recarray (#381) * refactor(lak package dfn - perioddata): combined lakeperioddata and outletperioddata into perioddata * refactor(lak stress period data): updated dfn * feature(ims): refactor package convergence check (#382) * Introduce end-of-line normalization (#386) * refactor(xt3d): update develop with minor changes needed for transport (#388) * feature(ims): update inner iteration summary (#389) * refactor(NumericalSolution): refactor csv output (#395) * refactor(NumericalSolution): refactor csv output Refactor csv output to save at the end of the each outer iteration. Add options to save separate outer and inner iteration data. closes #172 * refactor(NumericalSolution): refactor *_cc() methods (#396) Refactor *_cc() methods to pass package integer (ipak) location information and the total number of inner iterations. The ipak variable simplifies construction of the solution outer iteration information for the csv file. The total number of inner iterations makes package convergence csv files consistent with the outer iteration csv file. Update the release notes to reflect recent changes to csv convergence output. Also moved changes for previous versions to release notes appendix (Appendix A). * refactor(Sim): Add MessageModule to containerize message functionality (#399) Add generic message functionality (in Message.f90) to standardize messages (errors, warnings, notes) written at the end of the simulation. Added initial warning messages in mf6. Warning messages and notes are not written if the 'SUMMARY' level command line switch is specified. Refactor IMS package to replace outer_hclose and inner_hclose with outer_dvclose and inner_dvclose. Using outer_hclose and inner_hclose will return warning messages. Added error messages for outer_rclosebnd and csv_output. * docs(gwf-mvr.dfn): clarify mvrtype definition (#408) Closes #393 * refactor(misc): bringing in changes made on transport branch (#409) * implemented table writer for mvr flows * turned on fpp preprocessing in vfproj for compilerversion.fpp * modifed obs table header in tex file * minor changes to budget and budgetobject to support transport * Output in bmi - writing stdout to file or screen is now configurable through bmi (cherry picked from commit ba98a37) * Cleaning up the bmi a bit... (cherry picked from commit 798afe9) * Introduced option to update storage (sc2) for each timestep (cherry picked from commit 93b5cc9) * and also update flag for sc1 now (cherry picked from commit c4ff085) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 (#413) * refactor(misc): add deprecated tag to dfn, refactor budget.f90 * updated mf6ivar readme.md to included deprecated description * fix for maw02 failure resulting from flopy updates * feat(DRN): add option for scaling drainage discharge * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn02) that compares cubic scaled drain discharge to groundwater seepage calculated by the UZF package. * feat(DRN): add option for scaling drainage discharge Add autotest (test_gwf_drn_ddrn01) that compares scaled drain discharge to calculated values. Update release notes with scaled drainage discharge option. * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * feat(sim): add standard subroutine for deprecation warnings Modify get_filename() subroutine to trim filename path based on OS. * BMI work: writing bmi messages through generic utils * sorry, forgot width specifier... * docs(gwf-sfr.dfn): clarify 2nd idv definition (#418) Close #417 * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): update to travis yml - patterned after flopy * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): rework travis.yml * ci(update): cleanup * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(advanced packages): minor changes to support buoyancy package (#422) * refactor(advanced packages): add minor changes to support buoyancy package * add change to boundarypackage.f90 to support the noupdateauxvar variable * fix for latests flopy changes * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() * refactor(lak): refactor timeseries to use read_value_or_time_series() Fixed issue in HashTable when key does not exist and return from function with uninitialized indx. With gfortran indx was initialized by default to a value greater than 0. * refactor(lak): refactor timeseries to use read_value_or_time_series() Cleanup of error messages. * fix(exg-mvr): dis object not associated for binary save flows (#425) * refactoring of the budget object resulted in an unassociated dis object when writing flows for exchange water mover * dis is no longer optional for mvr_cr() * closes #423 * refactor(sfr): use read_value_or_time_series_adv() for timeseries (#424) * refactor(uzf): use read_value_or_time_series_adv() for timeseries (#429) * docs(gwf-uzf.dfn): fix typo (#431) * refactor(maw): use read_value_or_time_series_adv() for timeseries (#430) * refactor(Memory): remove unused MemoryTSType (#434) * fix(sfr): fix error in upstream factor check with diversions (#435) Initialize diversion flow (divflow) to zero in the event that they are not defined in the first stress period. * fix(uzf): fix memory leak in UzfCellGroup (#437) close #436 * refactor(lak/sfr): changes for future support of density variations (#441) * feat(sfr): Add picard iteration loop in sfr_fc() (#440) Also cleanup sparse and remove as a sfrtype variables. * docs(gwf-drn.dfn): fix typo (#439) * refactor(csub): use read_value_or_time_series_adv() for timeseries (#442) Also error message cleanup. * docs(gwf-drn.dfn): offer clarification to AUXDEPTHNAME definition (#443) * refactor(mvr): implement provider mapping array for mvr budget (#450) * mvr budget now contains lake number instead of outlet number when lake is a provider * added first cut of maw density routine * refactor(bmi): clean up modflow 6 code structure to refine bmi implementation (#454) - add do_timestep() to the ami - remove prepareIteration(), moved logic to *_rp() - remove subtiming - removed kpicard from sln_ca and further subroutines (*_ad()) - Additional refactoring and cleaning of the code structure * refactor(MemoryManager): Add specified length sting and string array (#449) Remove TdisModule dependency in table object. Revise memory manager output to use table object. Add table source files to mf5to6 converter `extrafiles.txt`. Use table object to print lake stages. Add logical size to kind (LGP) for future use. * fix(maw): initialize xsto and add test (#456) * fix(NumericalSolution): add counter for time step iteration total (#457) Refactor iteration total for time step and simulation to clarify data stored in these variables. Updated test_gwf_npf03_sfr.py and test_gwf_ts_sfr01.py to output inner and outer iteration convergence information to listing and csv files for evaluation of proper output. Also evaluated results for test_gwf_npf02_rewet.py autotest since it has more than 1 time step. Closes #410 * feat(validate): validate MODFLOW 6 simulation mode. * docs: fix typo in developer guide (#464) * refactor(model_ad): revert the model advance back to numerical model (#462) * allocate auxname to size 0 and then reallocate when auxiliary detected * Further refactoring BMI for upcoming release (#465) * - finished refactoring *_ad back to sln_ca in the shape of a prepareSolve call (c.f. #462) - changed prepare_iteration to prepare_solve, etc. - style change in ami functions, e.g. perform_time_step instead of perform_timestep * - add safety check: multiple solution groups are not supported for use with BMI. * refactor(bmi): refactor grid routines (#460) * refactor(bmi): refactor grid routines Previously we used the 'save' attribute to allocate the memory and persist over the call to the routine. This is not fool proof (multiple calls before using the results will mess things up). After this commit, the caller has to allocate the appropriate memory, similar to get_var_shape. * refactor(bmi): change i6 to i0 * feat(maw): add defined flow correction option (#463) * feat(maw): add defined flow correction option * feat(validate): validate MODFLOW 6 simulation mode. * feat(validate): validate MODFLOW 6 simulation mode. * feat(validate): validate MODFLOW 6 simulation mode. * ci(bmi): update rch02 autotest and add sto01 autotest * fix(NumericalSolution): remove unused advanceSolution method (#470) * ci(bmi): add evt-well autotest and recharge estimation autotest * ci(bmi): add evt-well autotest and recharge estimation autotest * docs(releasenotes): cleanup for 6.1.1 distribution (#472) * docs(releasenotes): cleanup for 6.1.1 distribution * removed print_list_entry from discretizationbase * docs(releasenotes): update to include supplemental technical information document (#473) * refactor(MemoryManager): memory usage units function of allocated size (#474) Add subroutine definitions to all routines and standardize dummy variable names for scalars, integer arrays, and real arrays. Fix simulation script when comparison is mf6. * fix(drn): fix issue with drainage depth option when mover is on (#475) * fix(BndType): fix issue with boundary rates when mvr package in use (#476) Since tomvr flows are lagged by one non-linear iteration it is possible for tomvr to be numerically greater than the calculated boundary discharge. This can result in small positive values in the lst budget when there should not be (for example, with the drn package). Add check for tomvr/rrate ratio > 1. In this case, set rrate to 0 so that the budget error is correctly accounted for the the lst budget. * refactor(distribution): modify distribution scripts to use a definition file for examples (#477) * docs(mf6io): removed mention of point in time obs * docs(converter/zbud): revise history sections * docs(gwf-lak.dfn): removed ambiguous CTABNAME variable reference in tab6_filename definition (#479) * docs(gwf-drn.dfn): offer clarification to AUXDEPTHNAME definition * docs(gwf-lak.dfn): replace undefined CTABNAME variable name from tab6_filename definition fixes 384 * docs(gwf-lak.dfn): latex requires underscores be preceded by backslash * doc(release): address review comments for version 6.1.1 (#480) * fix(MSVS): fix MSVS fortran projects for zbud6 and mf5to6 (#481) * fix(build): fix issue with linux build (#482) * Commit files for 6.1.1 release * ci(develop): reset develop files for next release (#483) Co-authored-by: Hughes, J.D <jdhughes@usgs.gov> Co-authored-by: spaulins-usgs <spaulinski@usgs.gov> Co-authored-by: Eric Morway <emorway@usgs.gov> Co-authored-by: mjr-deltares <martijn.russcher@deltares.nl> Co-authored-by: mjr-deltares <45555666+mjr-deltares@users.noreply.github.com> Co-authored-by: Hofer Julian <30049909+Hofer-Julian@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CSUB source has been modified to report NODATA values for observations
that are not calculated during steady-state stress periods.
Observations that are not calculated for steady-state stress
periods include SKE, SK, SKE-CELL, SK-CELL, DELAY-HEAD,
DELAY-PRECONSTRESS, DELAY-GSTRESS, DELAY-ESTRESS, PRECONSTRESS-CELL.
Update mfio to reflect these changes.
Also modified CSUB observations so that thick-cell observation is
correctly calculated during steady-state stress periods.
Closes #300