anchor.diff:            elseif (tag(1:4).eq.'-vrb'.or.tag(1:5).eq.'-verb'.or.
        1                      tag(1:8).eq.'-verbose') then
                 vrb = 1
  +              i = i + 1
  +              if (i.gt.narg) goto 102
  +              call getarg(i,tag)
  +              indx = index(tag,'-')
  +              if (indx.eq.0) then
  +                  read(tag,'(BN,I10)') vrb
  +              else
  +                  i = i - 1
  +              endif
             elseif (tag(1:2).eq.'-o') then
                 i = i + 1
                 call getarg(i,ofile)
  
positive.code: C----------------------------------------------------------------------C
  
        SUBROUTINE lstsqr(soln,gf,obs,nobs,OBSMAX,nflt,FLTMAX,damp,smooth,
       1                  smoof)
  C----
  C Compute a least squares inversion for slip and rake
  C----
        IMPLICIT none
        CHARACTER*80 smoof
        REAL*8 damp,smooth
        INTEGER OBSMAX,FLTMAX,dimx,dimy
        REAL*8 obs(OBSMAX,6)
        REAL*8 gf(OBSMAX,FLTMAX,6)
        REAL*8 A(3*OBSMAX+2*FLTMAX,2*FLTMAX)
        REAL*8 b(3*OBSMAX+2*FLTMAX,1)
        REAL*8 x(3*OBSMAX+2*FLTMAX,1)
        REAL*8 soln(FLTMAX,2)
        INTEGER i,j,nobs,nflt
        INTEGER n,m ! n=nrows, m=ncol
  
negative.code:           write(*,*)
        endif
        write(*,*)
       1 '-geo                Use geographic coordinates (default is ',
       2                                'Cartesian coordinates)'
        if (d.eq.1) then
            write(*,*)
       1 '                       X->E, Y->N'
  