anchor.diff:    103 continue
         END
   
  -C======================================================================C
  +C----------------------------------------------------------------------C
  +
  +      SUBROUTINE damping(A,b,nobs,nflt,damp)
  +C----
  +C Minimize length of solution to Ax = b with weighting factor damp.
  +C m=nobs n=nflt d=damp
  +C         [ A11 A12 ... A1n ]
  +C     A = [ A21 A22 ... A2n ]
  +C         [  :           :  ]
  +C         [ Am1 Am2 ... Amn ]
  +C
  +C         [ d*d  0  ...  0  ]
  +C  Append [  0  d*d ...  0  ]
  +C         [                 ]
  +C         [  0   0  ... d*d ]
  +C----
  +      IMPLICIT none
  +      REAL*8 damp
  +      INTEGER OBSMAX,PARMAX
  +      PARAMETER (OBSMAX=10000,PARMAX=100)
  +      REAL*8 A(OBSMAX,PARMAX),b(OBSMAX,1)
  +      INTEGER i,j,nobs,nflt
  +      if (damp.le.0.0d0) return
  +      do 101 i = 1,nflt
  +          b(nobs+i,1) = 0.0d0
  +          do 102 j = 1,nflt
  +              if (i.eq.j) then
  +                  A(nobs+i,j) = damp*damp*1.0d0
  +              else
  +                  A(nobs+i,j) = 0.0d0
  +              endif
  +  102     continue
  +  101 continue
  +      nobs = nobs + nflt
  +      RETURN
  +      END
  +
  +C----------------------------------------------------------------------C
   
         SUBROUTINE smoothing(A,b,nobs,nflt,smooth,smoof)
   C----
  
positive.code:      1 '                       3-D: x(m) y(m) z(m) str(deg) dip(deg) ',
       2                         'wid(m) len(m)'
        write(*,*)
       1 '-smooth CONST FILE Smooth model, with weight CONST, linking ',
       2                         'file FILE (format below)'
        write(*,*)
  
negative.code:           inquire(file=fltf,EXIST=ex)
            if (.not.ex) call usage('!! Error: no input file: '//fltf)
        endif
  C Displacement observation file
        if (obsf.eq.'none') then
            write(*,*) '!! Error: Observation file unspecified'
            call usage('!! Use -obs OBSFILE to specify input file')
  