rniswon / mfnwt

MODFLOW-NWT - Version: 1.1.0 Newton Formulation for MODFLOW-2005 For more information go to http://water.usgs.gov/ogw/modflow-nwt
4 stars 7 forks source link

SFR2 key word confusion reachinput/transroute #5

Closed rniswon closed 7 years ago

rniswon commented 7 years ago

Received this email from Mike Toews.

Hi All,

It seems my patch was a bit too early, as I've identified some issues reading the values from Data Set 1c, where the "END IF" statement needed to be moved. I've also included some additional printing of the information that was read. However, it should probably be modified to show the values of WEIGHT and FLWTOL for non-transient routing simulations too.

Cheers, Mike Toews Groundwater Modeller | Ph: +64 4 570 4021

From: Mike Toews Sent: Wednesday, 18 January 2017 15:48 To: 'langevin@usgs.gov' langevin@usgs.gov; 'rniswon@usgs.gov' rniswon@usgs.gov Subject: Bugs with GWF2SFR7AR

Hi Chris and Richard,

I've found a few low-level bugs with GWF2SFR7AR in MODFLOW-2005 and NWT (possibly other versions?).

From the documentation, Data Set 1a may have either REACHINPUT or TRANSROUTE keywords (and the code also suggests that it could be one or the other, with ITRFLG.EQ.1 .OR. IRFG.EQ.1). However, as implemented, TRANSROUTE cannot be activated without REACHINPUT, since lloc is not reset to 1.

I've attached patches for MF2005 and NWT that fixes this up, a formatting error and a few typos. I've also removed a second call to UPARLSTAL, which I don't think is needed.

Cheers, Mike Toews | Groundwater Modeller

GNS Science | Te Pū Ao 1 Fairway Drive, Avalon 5010, PO Box 30368, Lower Hutt 5040, New Zealand Ph: +64 4 570 4021 | https://www.gns.cri.nz | Email: m.toews@gns.cri.nz

gwf2sfr7_NWT.f.diff.zip

langevin-usgs commented 7 years ago

In looking through the options parsing for SFR, it seems like there could still be some further improvements (sorry, I know I was the one who implemented this before). It seems like we should require one of the following three approaches. I think that right now, based on the code, someone could use a combination of 2 and 3. If someone wants to use 3, then we should require the OPTIONS and END keywords. They are not required now, but rather suggested. Might also be good to move all this options parsing into its own subroutine.

  1. No options. First value with be the NSTRM integer

  2. Older options input without the OPTIONS keyword REACHINPUT (looks like this needs to come first?) TRANSROUTE TABFILES numbtab maxval STRHC1KH factorkh STRHC1KV factorkv

  3. All options specified within an options block OPTIONS REACHINPUT TRANSROUTE TABFILES numbtab maxval LOSSFACTOR factor STRHC1KH factorkh STRHC1KV factorkv IRRIGATE numirrsfr unitirr maxcells END