Skip to content

Commit

Permalink
merge develop into transport (#269)
Browse files Browse the repository at this point in the history
* 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)
  • Loading branch information
langevin-usgs committed Dec 12, 2019
1 parent 1004599 commit 53f9a02
Show file tree
Hide file tree
Showing 70 changed files with 20,235 additions and 3,186 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

## Automated Testing Status on Travis-CI

### Version 6.0.5 release candidate
### Version 6.1.0 release candidate
[![Build Status](https://travis-ci.org/MODFLOW-USGS/modflow6.svg?branch=develop)](https://travis-ci.org/MODFLOW-USGS/modflow6)

## Introduction
Expand All @@ -31,7 +31,7 @@ MODFLOW 6 is the latest core version of MODFLOW. It synthesizes many of the capa

#### ***Software/Code citation for MODFLOW 6:***

[Langevin, C.D., Hughes, J.D., Banta, E.R., Provost, A.M., Niswonger, R.G., and Panday, Sorab, 2019, MODFLOW 6 Modular Hydrologic Model version 6.0.5 release candidate: U.S. Geological Survey Software Release, 31 March 2019, https://doi.org/10.5066/F76Q1VQV](https://doi.org/10.5066/F76Q1VQV)
[Langevin, C.D., Hughes, J.D., Banta, E.R., Provost, A.M., Niswonger, R.G., and Panday, Sorab, 2019, MODFLOW 6 Modular Hydrologic Model version 6.1.0 release candidate: U.S. Geological Survey Software Release, 29 November 2019, https://doi.org/10.5066/F76Q1VQV](https://doi.org/10.5066/F76Q1VQV)

## Instructions for building definition files for new packages

Expand Down
20 changes: 20 additions & 0 deletions autotest/data/ibc01_ibound.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
0 0 0 0 0 1 1 2 1 1 0 0 0 0 0
0 0 0 0 2 1 1 2 1 1 1 2 0 0 0
0 0 0 2 1 1 1 1 1 1 1 1 0 0 0
0 0 0 1 1 1 1 1 1 1 1 2 0 0 0
0 0 2 1 1 1 1 1 1 1 1 1 2 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 2 0
0 2 1 1 1 1 1 1 1 1 1 1 1 1 0
0 1 1 1 1 1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 1 1 0
0 2 1 1 1 1 1 1 1 1 1 1 1 2 0
0 0 1 1 1 1 1 1 1 1 1 1 1 0 0
0 0 2 1 1 1 1 1 1 1 1 1 2 0 0
0 0 0 1 1 1 1 1 1 1 1 1 2 0 0
0 0 0 2 1 1 1 1 1 1 1 2 0 0 0
0 0 0 0 0 0 2 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0
10 changes: 10 additions & 0 deletions autotest/data/ibc03_dstart1.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
22.659 22.314 21.659 21.246 21.045 21.045 21.246 21.659 22.314 22.659
21.622 21.127 20.711 20.419 20.270 20.270 20.419 20.711 21.127 21.622
20.114 19.628 19.267 19.026 18.905 18.905 19.026 19.267 19.628 20.114
18.047 17.619 17.327 17.142 17.051 17.051 17.142 17.327 17.619 18.047
15.116 15.030 14.930 14.850 14.807 14.807 14.850 14.930 15.030 15.116
12.470 12.443 12.404 12.368 12.346 12.346 12.368 12.404 12.443 12.470
9.870 9.845 9.805 9.766 9.742 9.742 9.766 9.805 9.845 9.870
7.297 7.235 7.133 7.029 6.970 6.970 7.029 7.133 7.235 7.297
4.891 4.709 4.383 4.017 3.864 3.864 4.017 4.383 4.709 4.891
3.135 2.680 1.696 0.000 0.000 0.000 0.000 1.696 2.680 3.135
10 changes: 10 additions & 0 deletions autotest/data/ibc03_dstart3.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
13.294 13.295 13.296 13.297 13.298 13.298 13.297 13.296 13.295 13.294
13.270 13.275 13.278 13.279 13.280 13.280 13.279 13.278 13.275 13.270
13.214 13.218 13.221 13.223 13.224 13.224 13.223 13.221 13.218 13.214
13.129 13.132 13.134 13.136 13.136 13.136 13.136 13.134 13.132 13.129
13.024 13.026 13.027 13.028 13.028 13.028 13.028 13.027 13.026 13.024
12.911 12.911 12.911 12.910 12.910 12.910 12.910 12.911 12.911 12.911
12.801 12.799 12.797 12.796 12.796 12.796 12.796 12.797 12.799 12.801
12.707 12.703 12.700 12.698 12.697 12.697 12.698 12.700 12.703 12.707
12.640 12.636 12.632 12.630 12.628 12.628 12.630 12.632 12.636 12.640
12.611 12.610 12.608 12.606 12.605 12.605 12.606 12.608 12.610 12.611
9 changes: 6 additions & 3 deletions autotest/simulation.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

class Simulation(object):
def __init__(self, name, exfunc=None, exe_dict=None, htol=None,
idxsim=None):
idxsim=None, cmp_verbose=True):
delFiles = True
for idx, arg in enumerate(sys.argv):
if arg.lower() == '--keep':
Expand Down Expand Up @@ -76,6 +76,9 @@ def __init__(self, name, exfunc=None, exe_dict=None, htol=None,
# set index for multi-simulation comparisons
self.idxsim = idxsim

# set compare verbosity
self.cmp_verbose = cmp_verbose

sysinfo = platform.system()
self.delFiles = delFiles
if sysinfo.lower() == 'windows':
Expand Down Expand Up @@ -303,9 +306,9 @@ def compare(self):
files1=file1,
files2=file2,
htol=self.htol,
difftol=False,
difftol=True,
# Change to true to have list of all nodes exceeding htol
verbose=True,
verbose=self.cmp_verbose,
exfile=exfile)
msg = sfmt.format('{} comparison {}'.format(extdict[ext],
ipos + 1),
Expand Down
Loading

0 comments on commit 53f9a02

Please sign in to comment.