anchor.diff:  c...  output coordinates to plot file
   c
         if(idsk.eq.0) then
  -        open(kp,file=pfile,status="old",access="append")
  +        open(kp,file=pfile,err=50,status="old",access="append")
   	do i=1,numnp
  -	  write(kp,"(i7,3(1pe16.8))") i,(x(j,i),j=1,nsd)
  +	  write(kp,"(i7,3(1pe16.8))",err=60) i,(x(j,i),j=1,nsd)
           end do
         else
  -        open(kp,file=pfile,status="old",access="append",
  +        open(kp,file=pfile,err=50,status="old",access="append",
        &   form="unformatted")
  -	write(kp) x
  +	write(kp,err=60) x
         end if
         close(kp)
   c
   c...  output coordinates to human-readable file
   c
  -      if(idout.gt.0) then
  -        open(kw,file=ofile,status="old",access="append")
  +      if(idout.gt.izero) then
  +        open(kw,file=ofile,err=50,status="old",access="append")
   	do i=1,numnp
   	  if(i.eq.1.or.mod(i,npage).eq.0) write(kw,1000)
        &     (labelc(j),j=1,nsd)
  -	  write(kw,"(6x,i7,10x,3(1pe20.8))") i,(x(j,i),j=1,nsd)
  +	  write(kw,"(6x,i7,10x,3(1pe20.8))",err=60) i,(x(j,i),j=1,nsd)
   	end do
           close(kw)
         end if
  
positive.code: c
   30   continue
          ierr=3
          close(kr)
          return
  c
  c...  too few nodes
  c
   40   continue
          ierr=4
          close(kr)
          return
  c
  
negative.code: c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  c
  c
        subroutine read_coords(x,cscale,numnp,kr,kw,kp,idout,idsk,
       & cfile,ofile,pfile,ierr,errstrng)
  c
  c...  subroutine to read in nodal coordinates and store them in the x
  c     array.  Note that the current implementation would allow a 3D
  