anchor.diff:          iWantStrain = .true.
           iWantStress = .true.
           iWantTraction = .true.
  -    elseif (trim(tag).eq.'-geographic') then
  +    elseif (trim(tag).eq.'-geographic'.or.trim(tag).eq.'-geo') then
           coord_type = 'geographic'
  -    elseif (trim(tag).eq.'-cartesian') then
  +    elseif (trim(tag).eq.'-cartesian'.or.trim(tag).eq.'-xy') then
           coord_type = 'cartesian'
       elseif (trim(tag).eq.'-poisson') then
           i = i + 1
           call get_command_argument(i,tag)
  -        read(tag,*) poisson
  +        read(tag,*,iostat=ios,err=9001) poisson
       elseif (trim(tag).eq.'-lame') then
           i = i + 1
           call get_command_argument(i,tag)
  -        read(tag,*) lame
  +        read(tag,*,iostat=ios,err=9001) lame
       elseif (trim(tag).eq.'-mu') then
           i = i + 1
           call get_command_argument(i,tag)
  -        read(tag,*) mu
  +        read(tag,*,iostat=ios,err=9001) mu
  +    elseif (trim(tag).eq.'-v'.or.trim(tag).eq.'-verbose'.or.trim(tag).eq.'-verbosity') then
  +        i = i + 1
  +        call get_command_argument(i,tag)
  +        read(tag,*,iostat=ios,err=9001) verbosity
       else
           call usage('!! gcmdln: no option '//trim(tag))
       endif
       i = i + 1
   enddo
  +
  +if (verbosity.ge.1) then
  +    write(0,*) 'gcmdln read:'
  +    write(0,*) 'fault_file:          ',fault_file
  +    write(0,*) 'station_file:        ',station_file
  +    write(0,*) 'target_file:         ',target_file
  +    write(0,*) 'halfspace_file:      ',halfspace_file
  +    write(0,*) 'displacement_file:   ',displacement_file
  +    write(0,*) 'strain_file:         ',strain_file
  +    write(0,*) 'stress_file:         ',stress_file
  +    write(0,*) 'estress_file:        ',estress_file
  +    write(0,*) 'normal_file:         ',normal_file
  +    write(0,*) 'shear_file:          ',shear_file
  +    write(0,*) 'coulomb_file:        ',coulomb_file
  +    write(0,*) 'isFaultFileDefined:  ',isFaultFileDefined
  +    write(0,*) 'isStationFileDefined:',isStationFileDefined
  +    write(0,*) 'isTargetFileDefined: ',isTargetFileDefined
  +    write(0,*) 'isOutputFileDefined: ',isOutputFileDefined
  +    write(0,*) 'iWantDisp:           ',iWantDisp
  +    write(0,*) 'iWantStrain:         ',iWantStrain
  +    write(0,*) 'iWantStress:         ',iWantStress
  +    write(0,*) 'iWantTraction:       ',iWantTraction
  +    write(0,*) 'poisson:             ',poisson
  +    write(0,*) 'lame:                ',lame
  +    write(0,*) 'mu:                  ',mu
  +    write(0,*) 'coord_type:          ',coord_type
  +    write(0,*) 'verbosity:           ',verbosity
  +endif
  +
  +9001 if (ios.ne.0) then
  +    write(0,*) 'gcmdln: error reading string ',trim(tag)
  +    call usage('exiting triutil from gcmdln')
  +endif
   
   return
   end subroutine gcmdln
  
positive.code:     call usage('read_faults: no fault file named '//trim(fault_file)//' found')
  endif
  
  call line_count(nfaults,fault_file)
  allocate(faults(nfaults,12))
  
  open(unit=12,file=fault_file,status='old')
  do i = 1,nfaults
      read(12,'(A)') input_line
  
negative.code:     tri_coord(1,3) = faults(iFlt,7)
      tri_coord(2,3) = faults(iFlt,8)
      tri_coord(3,3) = faults(iFlt,9)
      slip(1) = -faults(iFlt,10)        ! triutil: ll positive;  tri_disloc_disp(): rl positive
      slip(2) = -faults(iFlt,11)        ! triutil: thr positive; tri_disloc_disp(): nor positive
      slip(3) = faults(iFlt,12)
  
      if (coord_type.eq.'geographic') then
  