anchor.diff:  c         0:  No error
   c         1:  Error opening input file (only if there is a
   c             time-dependent solution)
  -c         2:  Units not specified (not applicable for this routine)
  +c         2:  Error opening output file
   c         3:  Read error
  +c         4:  Write error
   c
         include "implicit.inc"
  +c
  +c...  parameter definitions
  +c
  +      include "nconsts.inc"
   c
   c...  subroutine arguments
   c
         integer icontr,icode,ncycle,lastep,kr,kw,kp,idout,idsk,ierr
         integer iprint(icontr)
  -      character fdfile*(*),ofile*(*),pfile*(*)
  +      character fdfile*(*),ofile*(*),pfile*(*),errstrng*(*)
   c
   c...  local variables
   c
         integer i1,nline,nrem,i,j
   c
  -      ierr=0
  +      ierr=izero
   c
   c...  read time steps at which a full output is desired
   c
  -      if(lastep.ne.0.and.icode.eq.3) then
  +      if(lastep.ne.izero.and.icode.eq.ithree) then
           open(kr,file=fdfile,status="old",err=20)
           call pskip(kr)
           do i=1,icontr
  
positive.code: c
  c...  output results, if desired
  c
        if(idout.gt.0) open(kw,file=ofile,status="old",access="append")
        if(idsk.eq.0) open(kp,file=pfile,status="old",access="append")
        if(idsk.eq.1) open(kp,file=pfile,status="old",access="append",
       & form="unformatted")
        if(icode.ne.2.and.idout.gt.0) write(kw,1000)  ncycle
        i1=0
        if((icode.eq.2).or.(icontr.eq.0)) then
          if(idsk.eq.0) write(kp,4000) i1,i1,i1
          if(idsk.eq.1) write(kp) i1,i1,i1
          close(kp)
          return
        else
          if(idsk.eq.0) write(kp,4000) icontr,ncycle,lastep
          if(idsk.eq.1) write(kp) icontr,ncycle,lastep
          if(idout.gt.0) write(kw,2000) icontr
          if(idsk.eq.1) write(kp) (iprint(i),i=1,icontr)
          nline=icontr/7
          nrem=icontr-nline*7
          do i=1,nline
            if(idout.gt.0) write(kw,3000) (iprint(7*(i-1)+j),j=1,7)
            if(idsk.eq.0) write(kp,4000) (iprint(7*(i-1)+j),j=1,7)
          end do
          if(nrem.ne.0) then
            if(idout.gt.0) write(kw,3000) (iprint(7*nline+j),j=1,nrem)
            if(idsk.eq.0) write(kp,4000) (iprint(7*nline+j),j=1,nrem)
          end if
        end if
        if(idout.gt.0) close(kw)
        close(kp)
  c
  c...  normal return
  
negative.code: c
  c
        subroutine read_fuldat(iprint,icontr,icode,ncycle,lastep,kr,kw,kp,
       & idout,idsk,fdfile,ofile,pfile,ierr,errstrng)
  c
  c........reads data on time steps where full outputs are desired
  c
  