anchor.diff:        IMPLICIT NONE
         CHARACTER*40 haff,ch
         REAL*8 vp,vs,dens,lamda,mu
  -      INTEGER kffm,kflt,kmag,ksta,khaf,ktrg,kvol
  -      COMMON /ICHECK/ kffm,kflt,kmag,ksta,khaf,ktrg,kvol
  +      INTEGER kffm,kfsp,kflt,kmag,ksta,khaf,ktrg,kvol
  +      COMMON /ICHECK/ kffm,kfsp,kflt,kmag,ksta,khaf,ktrg,kvol
         if (khaf.eq.0) then
             call autohaf(vp,vs,dens)
         elseif (khaf.eq.1) then
  
positive.code:               kffm = 1
                i = i + 1
                call getarg(i,ffmf)
            elseif (tag(1:4).eq.'-flt') then
                kflt = 1
                i = i + 1
  
negative.code: 
  C----------------------------------------------------------------------C
  
        SUBROUTINE readfsp(fspf,evlo,evla,evdp,str,dip,rak,dx,dy,slip,
       1                   hylo,hyla,nflt)
        IMPLICIT none
        CHARACTER*40 fspf
        CHARACTER*200 line
        INTEGER i,nflt,FMAX
        PARAMETER (FMAX=150000)
        REAL*8 evlo(FMAX),evla(FMAX),evdp(FMAX),str(FMAX),dip(FMAX),
       1       rak(FMAX),dx(FMAX),dy(FMAX),slip(FMAX),hylo,hyla
        CHARACTER*1 dm
        REAL*8 dxr,dyr,strr,dipr
        i = nflt
        open(unit=35,file=fspf,status='old')
    351 read(35,'(A)',end=352) line
            if (index(line,'% Loc').gt.0) then
                read(line,*) dm,dm,dm,dm,dm,hyla,dm,dm,hylo
            elseif (index(line,'% Mech :').gt.0) then
                read(line,*) dm,dm,dm,dm,dm,strr,dm,dm,dipr
            elseif (index(line,'% Invs : Dx').gt.0) then
                read(line,*) dm,dm,dm,dm,dm,dxr,dm,dm,dm,dyr
            elseif (index(line,'% SEGMENT').gt.0) then
                read(line,*) dm,dm,dm,dm,dm,dm,strr,dm,dm,dm,dipr
            elseif (index(line,'%').eq.0) then
                i = i + 1
                read(line,*) evla(i),evlo(i),dm,dm,evdp(i),slip(i),
       1                     rak(i)
                evdp(i) = evdp(i)*1.0d3
                dx(i) = dxr*1.0d3
                dy(i) = dyr*1.0d3
                str(i) = strr
                dip(i) = dipr
            endif
            goto 351
    352 continue
        close(35)
        nflt = nflt + i
        RETURN
        END
  
  C----------------------------------------------------------------------C
  
        SUBROUTINE readflt(fltf,evlo,evla,evdp,str,dip,rak,dx,dy,slip,
       1                   nflt)
  C----
  