anchor.diff:            write(*,*)
         endif
         write(*,*)
  -     1 'Usage: ff2gmt -f FFMFILE -o SLPFILE [-t TIME] [-n NOSLPFILE] ',
  -     2               '[-tf XYTFILE] [-clip CLIPFILE] [-h] [-z]'
  -      write(*,*)
  -      write(*,*)
  -     1 '-f FFMFILE     Finite fault model in standard subfault format'
  -      write(*,*)
  -     1 '-o SLPFILE     File with slip patches for use with "psxy ',
  -     2                '-SJ -C<cptfile>"'
  -      write(*,*)
  -     1 '-t TIME        Only include patches that rupture before TIME ',
  -     2                 '(default: include all subfaults)'
  -      write(*,*)
  -     1 '-n NOSLPFILE   Write patches that slip after TIME for use ',
  -     2                'with "psxy -SJ"'
  -      write(*,*)
  -     1 '-tf XYTFILE    Write lon lat trup to file'
  -      write(*,*)
  -     1 '-clip CLIPFILE Determine outlines of FFM and write to file'
  -      write(*,*)
  -     1 '-z             Replace slip with depth (km) in third column'
  -      write(*,*)
  -     1 '-h             Online help (this screen)'
  +     1 'Usage: ff2gmt -f FFMFILE -slip SLIPFILE|-time TIMEFILE',
  +     2                  '|-dep DEPFILE|-clip CLIPFILE'
  +      write(*,*)
  +     1 '              [-trup TIME] [-noslip NOSLIPFILE] [-h]'
  +      write(*,*)
  +      write(*,*)
  +     1 '-f FFMFILE         Finite fault model in standard subfault ',
  +     2                    'format'
  +      write(*,*)
  +     1 '-slip SLIPFILE     Slip value in 3rd column for use with ',
  +     2                    '"psxy -SJ -C<cptfile>"'
  +C     1 '-o SLPFILE     File with slip patches for use with "psxy ',
  +C     2                '-SJ -C<cptfile>"'
  +      write(*,*)
  +     1 '-time TIMEFILE     Rupture time in 3rd column for use with ',
  +     2                    '"psxy -SJ -C<cptfile>"'
  +C     1 '-tf XYTFILE    Write lon lat trup to file'
  +      write(*,*)
  +     1 '-dep DEPFILE       Depth in 3rd column for use with ',
  +     2                    '"psxy -SJ -C<cptfile>"'
  +C     1 '-z             Replace slip with depth (km) in third column'
  +      write(*,*)
  +     1 '-clip CLIPFILE     Write outline of FFM to a file'
  +      write(*,*)
  +     1 '-trup TIME         Only include subfaults that rupture before ',
  +     2                    'TIME'
  +C     1 '-t TIME        Only include patches that rupture before TIME ',
  +C     2                 '(default: include all subfaults)'
  +      write(*,*)
  +     1 '-noslip NSLPFILE   Write patches that slip after TIME for use ',
  +     2                    'with "psxy -SJ"'
  +C     1 '-n NOSLPFILE   Write patches that slip after TIME for use ',
  +C     2                'with "psxy -SJ"'
  +      write(*,*)
  +     1 '-h                 Online help (this screen)'
         STOP
         END
  
positive.code: 
  C----------------------------------------------------------------------c
  
        SUBROUTINE gcmdln(ifile,ofile,time,nfile,tfile,cfile,getdep)
        IMPLICIT none
        CHARACTER*40 tag,ifile,ofile,nfile,tfile,cfile
        INTEGER narg,i,getdep
        REAL*8 time
        ifile = 'none'
        ofile = 'none'
        nfile = 'none'
        tfile = 'none'
        cfile = 'none'
        time = -1.0d0
        getdep = 0
        narg = iargc()
        if (narg.eq.0) then
            call usage('!! Error: no command line arguments specified')
  
negative.code:           if (tag(1:2).eq.'-f') then
                i = i + 1
                call getarg(i,ifile)
            elseif (tag(1:5).eq.'-slip') then
                i = i + 1
                call getarg(i,sfile)
            elseif (tag(1:5).eq.'-time') then
                i = i + 1
                call getarg(i,tfile)
            elseif (tag(1:4).eq.'-dep') then
                i = i + 1
                call getarg(i,zfile)
            elseif (tag(1:5).eq.'-clip') then
                i = i + 1
                call getarg(i,cfile)
            elseif (tag(1:7).eq.'-noslip') then
                i = i + 1
                call getarg(i,nfile)
            elseif (tag(1:5).eq.'-trup') then
                i = i + 1
                call getarg(i,tag)
                read (tag,'(BN,F12.0)') time
            elseif (tag(1:2).eq.'-h') then
                call usage(' ')
            else
                call usage('!! Error: no option '//tag)
            endif
            goto 901
    902 continue
  