        subroutine ZERO(Y,IS)
      include 'SIZE.INC'
      include 'GLOBAL.INC'
      include 'INPAR.INC'
      include 'UNITS.INC'
      double precision Y(NPX,NCHEM)
      integer EOF,INUNIT,LENS1(5),LENS2(3),MINNO1(5),IS,IT,IFIND,I,J,K
      integer THREE,FIVE,NAMLN1,NAMLN2
      character NAME1(27)*1, NAME2(13)*1, REQFMT*14
      data THREE,FIVE,NAMLN1,NAMLN2 /3, 5, 27, 13/
      data REQFMT/'('' ZERO-> ''  )'/
      data NAME1 /'P','U','L','S','E', 'L','O','A','D','S',
     &  'R','E','S','I','D','U','A','L','S', 'H','E','L','P',
     &  'Q','U','I','T'/
      data NAME2/'L','O','A','D','S','H','E','L','P','Q','U','I','T'/
      data LENS1, LENS2, MINNO1 /5,5,9,4,4, 5,4,4, 1,1,1,1,1/
      REQFMT(12:13) = CRSTOP(MACHNO)
      INUNIT = TTYIN(MACHNO)
      if (IS.ne.0) go to 170
100   continue
      IT = IFIND(FIVE,NAMLN1,LENS1,NAME1,MINNO1)
      IT = IT+3
      go to (240,110,120,130,170,210,240,250), IT
110   continue
      write (TTYOUT(MACHNO),5000)
5000  format (//' End-of-file encountered; no action taken.')
      go to 260
120   continue
      write (TTYOUT(MACHNO),5010)
5010  format (//' Option not recognized; no action taken.')
      go to 260
130   continue
      IT = IFIND(THREE,NAMLN2,LENS2,NAME2,MINNO1)
      IT = IT+3
      go to (160,110,120,140,160,250), IT
140   continue
      do 150 I = 1, MAXMAS
         ISEGG(I)  = 0
         ICHEMG(I) = 0
         IMONG(I)  = 0
         IDAYG(I)  = 0
         IYEARG(I) = 0
         IMASSG(I) = 0.0
150   continue
      go to 260
160   continue
      write (TTYOUT(MACHNO),5020)
5020  format (//' The following options are available:'//               
     1  10X,' Loads --zero all pulse loads,'/                           
     2  10X,' Help  --this message, or'/                                
     3  10X,' Quit  --return to command mode; no action.'/)
      write (TTYOUT(MACHNO),REQFMT)
      call INREC (EOF,INUNIT,INPUT)
      if (EOF.eq.1) go to 110
      STOPIT = 0
      go to 130
170   continue
      do 200 I = 1, MAXDAT
         do 190 J = 1, NCHEM
            do 180 K = 1, NPX
               STRLDG(K,J,I) = 0.0
               NPSLDG(K,J,I) = 0.0
               PCPLDG(K,J,I) = 0.0
               DRFLDG(K,J,I) = 0.0
               SEELDG(K,J,I) = 0.0
180         continue
190      continue
200   continue
      go to 260
210   continue
      do 230 I = 1, NCHEM
         do 220 J = 1, NPX
            Y(J,I) = 0.0
220      continue
230   continue
      go to 260
240   continue
      write (TTYOUT(MACHNO),5030)
5030  format (//' The following options are available:'//               
     1  10X,' Pulse Loads--zero all event loadings,'/                   
     2  10X,' Loads      --zero all continuous loads,'/                 
     3  10X,' Residuals  --zero all current pollutant concentrations,'/ 
     4  10X,' Help       --this message, or'/                           
     5  10X,' Quit        - return to command mode with no action.'/)
      write (TTYOUT(MACHNO),REQFMT)
      call INREC (EOF,INUNIT,INPUT)
      if (EOF.eq.1) go to 110
      STOPIT = 0
      go to 100
250   continue
      write (TTYOUT(MACHNO),5040)
5040  format (//' Returning to command mode; no action taken.'/)
260   continue
      return
      end
