Giter VIP home page Giter VIP logo

gsflow_v2's Introduction

GSFLOW CI

GSFLOW: Coupled Groundwater and Surface-Water Flow Model

GSFLOW is a coupled Groundwater and Surface-water FLOW model based on the integration of the USGS Precipitation-Runoff Modeling System (PRMS-V) and the USGS Modular Groundwater Flow Model (MODFLOW-2005 and MODFLOW-NWT). GSFLOW was developed to simulate coupled groundwater/surface-water flow in one or more watersheds by simultaneously simulating flow across the land surface, within subsurface saturated and unsaturated materials, and within streams and lakes. Climate data consisting of measured or estimated precipitation, air temperature, and solar radiation, as well as groundwater stresses (such as withdrawals) and boundary conditions are the driving factors for a GSFLOW simulation.

GSFLOW operates on a daily time step. In addition to the MODFLOW variable-length stress period used to specify changes in stress or boundary conditions, GSFLOW uses internal daily stress periods for adding recharge to the water table and calculating flows to streams and lakes. Specified stream inflow over boundaries, internal stream-diversion flow rates, and groundwater-pumping flow rates can be specified using time-series input files that allow these stresses to vary during each time step.

GSFLOW can be used to evaluate the effects of such factors as land-use change, climate variability, and groundwater withdrawals on surface and subsurface flow for watersheds that range from a few square kilometers to several thousand square kilometers, and for time periods that range from months to several decades.

image

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

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

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

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.