anchor.diff:              if(is_integer(buffer)) then
                 read(buffer,*) ida(k)
               else
  +              message = "two atom ids are required to define the axis"
                 goto 911
               end if
              end do
  
positive.code:          goto 911
         end if
  20     continue
         write(*,*) "out "//pname
         return
  c      -------------
  c      error section
  
negative.code: c      read xyz input file
  c      -------------------
         call xyz_read_natoms(nat,fns)
         if(overb) write(*,*) "total number of atoms",nat
         allocate(c(3,nat))
         allocate(atag(nat))
         rewind(fns)
         call xyz_read(nat,c,atag,fns)
         angle = angle*pi/180.0
         v  = c(:,ida(1)) 
         v1 = c(:,ida(2))-v
         if(overb) write(*,*) "rotating by",angle
         do i=1,nid
           x = c(:,id(i))
           call rot_around_axis(v(1),v(2),v(3),v1(1),v1(2),v1(3),
       >                        x(1),x(2),x(3),angle)
           c(:,id(i))=x
         end do
         call xyz_write(nat,c,atag,fno)
         if(overb) write(*,*) "succesfull completion"
         stop
  c      if you reach this you are in trouble
  1000   format(
       > "NAME:",/
       > " rotate rotate atoms ",
       > " around specified axis               ",//,
       >  "SYNOPSIS",/,
       > " rdf [-help] ",
       > " [-atoms ] [-axis ] [-angle ] ",
       > " input file(s) outpiut file ",//,
       >  "DESCRIPTION",/,
       > " This utility rotates selected atoms around the axis",
       > " from the xyz files",//,
       > " The required option are as follows:",/,
       > " -atoms   atom ids to be rotated",/,
       > " -axis   pair of atom ids used as the axis",/,
       > " -angle rotation angle",/,
       > " other options are as follows:",/,
       > " -help  prints out this message",/,
       > " -v  generate more verbose output"
       > )
  911    continue
         write(*,*) "Emergency STOP"
         write(*,*) message
  