1803     class(MawType), 
intent(inout) :: this
 
 1805     character(len=LINELENGTH) :: title
 
 1806     character(len=LINELENGTH) :: line
 
 1807     character(len=LINELENGTH) :: text
 
 1808     character(len=16) :: csteady
 
 1810     logical :: endOfBlock
 
 1811     integer(I4B) :: ierr
 
 1812     integer(I4B) :: node
 
 1814     integer(I4B) :: ntabcols
 
 1815     integer(I4B) :: ntabrows
 
 1816     integer(I4B) :: imaw
 
 1817     integer(I4B) :: ibnd
 
 1819     integer(I4B) :: jpos
 
 1820     integer(I4B) :: iheadlimit_warning
 
 1822     character(len=*), 
parameter :: fmtblkerr = &
 
 1823       &
"('Looking for BEGIN PERIOD iper.  Found ', a, ' instead.')" 
 1824     character(len=*), 
parameter :: fmtlsp = &
 
 1825       &
"(1X,/1X,'REUSING ',A,'S FROM LAST STRESS PERIOD')" 
 1828     iheadlimit_warning = 0
 
 1831     this%imawiss = this%gwfiss
 
 1834     if (this%imawissopt == 1) 
then 
 1839     this%nbound = this%maxbound
 
 1843     if (this%inunit == 0) 
return 
 1846     if (this%ionper < 
kper) 
then 
 1849       call this%parser%GetBlock(
'PERIOD', isfound, ierr, &
 
 1850                                 supportopenclose=.true., &
 
 1851                                 blockrequired=.false.)
 
 1855         call this%read_check_ionper()
 
 1861           this%ionper = 
nper + 1
 
 1864           call this%parser%GetCurrentLine(line)
 
 1865           write (errmsg, fmtblkerr) adjustl(trim(line))
 
 1866           call store_error(errmsg, terminate=.true.)
 
 1872     if (this%ionper == 
kper) 
then 
 1875       if (this%iprpak /= 0) 
then 
 1878         title = trim(adjustl(this%text))//
' PACKAGE ('// &
 
 1879                 trim(adjustl(this%packName))//
') DATA FOR PERIOD' 
 1880         write (title, 
'(a,1x,i6)') trim(adjustl(title)), 
kper 
 1881         call table_cr(this%inputtab, this%packName, title)
 
 1882         call this%inputtab%table_df(1, 5, this%iout, finalize=.false.)
 
 1884         call this%inputtab%initialize_column(text, 10, alignment=tabcenter)
 
 1886         call this%inputtab%initialize_column(text, 20, alignment=tableft)
 
 1888           write (text, 
'(a,1x,i6)') 
'VALUE', n
 
 1889           call this%inputtab%initialize_column(text, 15, alignment=tabcenter)
 
 1896         call this%parser%GetNextLine(endofblock)
 
 1897         if (endofblock) 
exit 
 1899         imaw = this%parser%GetInteger()
 
 1900         if (imaw < 1 .or. imaw > this%nmawwells) 
then 
 1901           write (errmsg, 
'(2(a,1x),i0,a)') &
 
 1902             'IMAW must be greater than 0 and', &
 
 1903             'less than or equal to ', this%nmawwells, 
'.' 
 1904           call store_error(errmsg)
 
 1909         call this%maw_set_stressperiod(imaw, iheadlimit_warning)
 
 1912         if (this%iprpak /= 0) 
then 
 1913           call this%parser%GetCurrentLine(line)
 
 1914           call this%inputtab%line_to_columns(line)
 
 1917       if (this%iprpak /= 0) 
then 
 1918         call this%inputtab%finalize_table()
 
 1923       write (this%iout, fmtlsp) trim(this%filtyp)
 
 1927     if (iheadlimit_warning > 0) 
then 
 1928       write (warnmsg, 
'(a,a,a,1x,a,1x,a)') &
 
 1929         "HEAD_LIMIT in '", trim(this%packName), 
"' was below the well bottom", &
 
 1930         "for one or more multi-aquifer well(s). This may result in", &
 
 1931         "convergence failures for some models." 
 1932       call store_warning(warnmsg, substring=warnmsg(:50))
 
 1936     if (count_errors() > 0) 
then 
 1937       call this%parser%StoreErrorUnit()
 
 1941     if (this%check_attr /= 0) 
then 
 1942       call this%maw_check_attributes()
 
 1945       if (this%iprpak == 1) 
then 
 1946         if (this%imawiss /= 0) 
then 
 1947           csteady = 
'STEADY-STATE    ' 
 1949           csteady = 
'TRANSIENT       ' 
 1953         title = trim(adjustl(this%text))//
' PACKAGE ('// &
 
 1954                 trim(adjustl(this%packName))//
') '//trim(adjustl(csteady))// &
 
 1955                 ' RATE DATA FOR PERIOD' 
 1956         write (title, 
'(a,1x,i6)') trim(adjustl(title)), 
kper 
 1958         call table_cr(this%inputtab, this%packName, title)
 
 1959         call this%inputtab%table_df(this%nmawwells, ntabcols, this%iout)
 
 1961         call this%inputtab%initialize_column(text, 10, alignment=tabcenter)
 
 1963         call this%inputtab%initialize_column(text, 12, alignment=tabcenter)
 
 1965         call this%inputtab%initialize_column(text, 12, alignment=tabcenter)
 
 1966         text = 
'SPECIFIED HEAD' 
 1967         call this%inputtab%initialize_column(text, 12, alignment=tabcenter)
 
 1968         text = 
'PUMP ELEVATION' 
 1969         call this%inputtab%initialize_column(text, 12, alignment=tabcenter)
 
 1970         text = 
'REDUCTION LENGTH' 
 1971         call this%inputtab%initialize_column(text, 12, alignment=tabcenter)
 
 1972         do n = 1, this%nmawwells
 
 1973           call this%inputtab%add_term(n)
 
 1974           call this%inputtab%add_term(this%status(n))
 
 1975           call this%inputtab%add_term(this%rate(n))
 
 1976           if (this%iboundpak(n) < 0) 
then 
 1977             call this%inputtab%add_term(this%well_head(n))
 
 1979             call this%inputtab%add_term(
' ')
 
 1981           call this%inputtab%add_term(this%pumpelev(n))
 
 1982           if (this%reduction_length(n) /= dep20) 
then 
 1983             call this%inputtab%add_term(this%reduction_length(n))
 
 1985             call this%inputtab%add_term(
' ')
 
 1990         if (this%iflowingwells > 0) 
then 
 1993           title = trim(adjustl(this%text))//
' PACKAGE ('// &
 
 1994                   trim(adjustl(this%packName))//
') '//trim(adjustl(csteady))// &
 
 1995                   ' FLOWING WELL DATA FOR PERIOD' 
 1996           write (title, 
'(a,1x,i6)') trim(adjustl(title)), 
kper 
 1999           do n = 1, this%nmawwells
 
 2000             if (this%fwcond(n) > dzero) 
then 
 2001               ntabrows = ntabrows + 1
 
 2004           if (ntabrows > 0) 
then 
 2005             call table_cr(this%inputtab, this%packName, title)
 
 2006             call this%inputtab%table_df(ntabrows, ntabcols, this%iout)
 
 2008             call this%inputtab%initialize_column(text, 10, alignment=tabcenter)
 
 2010             call this%inputtab%initialize_column(text, 12, alignment=tabcenter)
 
 2012             call this%inputtab%initialize_column(text, 12, alignment=tabcenter)
 
 2013             text = 
'REDUCTION LENGTH' 
 2014             call this%inputtab%initialize_column(text, 12, alignment=tabcenter)
 
 2015             do n = 1, this%nmawwells
 
 2016               if (this%fwcond(n) > dzero) 
then 
 2017                 call this%inputtab%add_term(n)
 
 2018                 call this%inputtab%add_term(this%fwelev(n))
 
 2019                 call this%inputtab%add_term(this%fwcond(n))
 
 2020                 call this%inputtab%add_term(this%fwrlen(n))
 
 2027         title = trim(adjustl(this%text))//
' PACKAGE ('// &
 
 2028                 trim(adjustl(this%packName))//
') '//trim(adjustl(csteady))// &
 
 2029                 ' WELL SHUTOFF DATA FOR PERIOD' 
 2030         write (title, 
'(a,1x,i6)') trim(adjustl(title)), 
kper 
 2033         do n = 1, this%nmawwells
 
 2034           if (this%shutofflevel(n) /= dep20) 
then 
 2035             ntabrows = ntabrows + 1
 
 2038         if (ntabrows > 0) 
then 
 2039           call table_cr(this%inputtab, this%packName, title)
 
 2040           call this%inputtab%table_df(ntabrows, ntabcols, this%iout)
 
 2042           call this%inputtab%initialize_column(text, 10, alignment=tabcenter)
 
 2044           call this%inputtab%initialize_column(text, 12, alignment=tabcenter)
 
 2046           call this%inputtab%initialize_column(text, 12, alignment=tabcenter)
 
 2048           call this%inputtab%initialize_column(text, 12, alignment=tabcenter)
 
 2049           do n = 1, this%nmawwells
 
 2050             if (this%shutofflevel(n) /= dep20) 
then 
 2051               call this%inputtab%add_term(n)
 
 2052               call this%inputtab%add_term(this%shutofflevel(n))
 
 2053               call this%inputtab%add_term(this%shutoffmin(n))
 
 2054               call this%inputtab%add_term(this%shutoffmax(n))
 
 2063     do n = 1, this%nmawwells
 
 2064       do j = 1, this%ngwfnodes(n)
 
 2065         jpos = this%get_jpos(n, j)
 
 2066         node = this%get_gwfnode(n, j)
 
 2067         this%nodelist(ibnd) = node
 
 2068         this%bound(1, ibnd) = this%xnewpak(n)
 
 2069         this%bound(2, ibnd) = this%satcond(jpos)
 
 2070         this%bound(3, ibnd) = this%botscrn(jpos)
 
 2071         if (this%iboundpak(n) > 0) 
then 
 2072           this%bound(4, ibnd) = this%rate(n)
 
 2074           this%bound(4, ibnd) = dzero
 
integer(i4b), pointer, public nper
number of stress period