Giter Site home page Giter Site logo

rniswon / gsflow_v2 Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 3.0 1.67 GB

Integrated surface water and groundwater model for simulating hydrology in watersheds

Batchfile 0.21% Makefile 0.47% Fortran 79.63% NASL 0.04% Python 0.71% Shell 0.01% Jupyter Notebook 11.47% VBA 6.40% Visual Basic 6.0 1.06%
groundwater hydrology surfacewater water-resources water-use

gsflow_v2's People

Contributors

jlarsen-usgs avatar rniswon avatar rsregan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

gsflow_v2's Issues

Setting the ET Extinction Depth to 90% of the cell thickness is not appropriate.

The following block inappropriately sets the ET Extinction Depth to 90% of the cell thickness. Instead of modifying user's input data, this block should be commented out and let the iterative solver to figure out the actual ET from various layers.

C10-----CHECK FOR NEGATIVE ET EXTINCTION DEPTH.
DO nrck = 1, NROW
DO ncck = 1, NCOL
IF ( IUZFBND(ncck, nrck).EQ.0 ) THEN
etdpth = ROOTDPTH(ncck, nrck)
IF ( etdpth.GT.0.0 ) ROOTDPTH(ncck, nrck) = 0.0
ELSE IF ( ROOTDPTH(ncck, nrck).LT.CLOSEZERO ) THEN
WRITE (IOUT, 9007) nrck, ncck
9007 FORMAT (1X/, 'ROOTING DEPTH FOR CELL AT ROW ', I5,
+ ', COLUMN ', I5, ' IS LESS THAN OR EQUAL TO ',
+ 'ZERO-- SETTING DEPTH TO ZERO ')
! ROOTDPTH(ncck, nrck) = 1.0
ROOTDPTH(ncck, nrck) = 0.0
END IF
! RGN 6/22/09. Add coded to find upper-most active layer
il = 0
IF ( NUZTOP.EQ.1 .OR. NUZTOP.EQ.2 ) THEN
il = IUZFBND(ncck, nrck)
IF ( il.GT.0 ) THEN
IF ( IBOUND(ncck, nrck, il).LT.1 ) il = 0
END IF
ELSE IF ( NUZTOP.EQ.3 ) THEN
ill = 1
il = 0
DO WHILE ( ill.LT.nlayp1 )
IF ( IBOUND(ncck, nrck, ill).GT.0 ) THEN
il = ill
EXIT
ELSE IF ( IBOUND(ncck, nrck, ill).LT.0 ) THEN
EXIT
END IF
CRGN made il = 0 when all layers for column are inactive 2/21/08
ill = ill + 1
END DO
ELSE IF ( NUZTOP.EQ.4 ) THEN
il = LAYNUM(ncck, nrck)
END IF
land = ABS(IUZFBND(ncck, nrck))
!
IF ( il.GT.0 .AND. land.GT.0 ) THEN
thick = BOTM(ncck, nrck,LBOTM(land)-1)-
+ BOTM(ncck, nrck,LBOTM(il))
IF ( ROOTDPTH(ncck, nrck).GT.0.9*thick ) THEN
ROOTDPTH(ncck, nrck) = 0.9*thick
WRITE (IOUT, 222) nrck, ncck
END IF
END IF
END DO
END DO
END IF
222 FORMAT('***WARNING*** ET EXTINCTION DEPTH IS BELOW LAYER BOTTOM',/
+ 'RESETTING DEPTH TO 90% OF CELL THICKNESS FOR ROW ',I7,
+ ' COLUMN ',I7)

I recommend to replace that block of codes with the following:

C10-----CHECK FOR NEGATIVE ET EXTINCTION DEPTH.
          DO nrck = 1, NROW
            DO ncck = 1, NCOL
               IF (IUZFBND(ncck, nrck).EQ.0 .OR. 
     +             ROOTDPTH(ncck, nrck).LT.CLOSEZERO) THEN
                   ROOTDPTH(ncck, nrck) = 0.0
               END IF
            END DO
          END DO
        END IF 

@rniswon

Large lines in Data or Parameter File

The maximum line length for a Data or Parameter File is 12000 characters. If a user has a file with longer lines they can override this on the command line, for example adding the following to the command line allows a Data File to have 60000 characters per line

-set MAXDATALNLEN 60000

Similar for Control File lines (MAXCTRLLINELEN) has max of 256 characters that could be overridden on command line

Total length of screen intervals must be determine prior its use

The following block should be inserted after Line 3514 to determine this total length prior to its use.

C determined totlength 
              do iint=firstint,lastint    
                ztop=MNWINT(1,iint)
                zbotm=MNWINT(2,iint)
                if(ztop.ge.top) ztop=top
                if(zbotm.le.bot) zbotm=bot
                ! length of interval is ztop-zbotm   
                if(ztop.gt.zbotm) then
                  lengthint=ztop-zbotm
                else
                  lengthint=0.D0
                endif
                totlength=totlength+lengthint
               end do  

The following line should be commented out.

totlength=totlength+lengthint

@rniswon

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.