anchor.diff:        REAL*8 flt(PARMAX,7),obs(OBSMAX,6)
         REAL*8 A(OBSMAX,PARMAX),b(OBSMAX,1),x(OBSMAX,1)
         INTEGER i,j,nobs,nflt
  +      REAL*8 dist,az,lon,lat,lon0,lat0
   
   C----
   C Parse command line and check required inputs present
   C----
  -      call gcmdln(fltf,obsf,smooth,smoof,damp,dimen)
  +      call gcmdln(fltf,obsf,smooth,smoof,damp,dimen,ofile,geo)
   C Fault geometry file
         if (fltf.eq.'none') then
             write(*,*) '!! Error: Input fault geometry file unspecified'
  
positive.code: C----
  C Add smoothing
  C----
        call smoothing(A,b,nobs,nflt,smooth,smoof)
        
  C----
  C Solve generalized least squares problem
  C----
        call lsq(A,b,x,OBSMAX,PARMAX,nobs,nflt)
        open(unit=23,file='fltinv.out',status='unknown')
        do 103 i = 1,nflt
            write(23,*) x(i,1)
    103 continue
  
negative.code: 
  C----------------------------------------------------------------------C
  
        SUBROUTINE smoothing(A,b,nobs,nflt,smooth,smoof,dimen)
  C----
  C Minimize roughness of solution to Ax = b with weighting factor smooth.
  C m=nobs n=nflt d=damp
  