Skip to content

diegozain/gerjoii

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gerjoii

ground penetrating radar and electrical resistivity joint inversion (gerjoii)

by diego domenzain

https://diegozain.github.io/gerjoii


eager to start?


Publications


gerjoii does, for both radar and electrical resistivity:

  • forward models
  • inversion routines (fwi for radar, adjoint method for both)
  • inversions in parallel (inversion code parallelized)
  • parallel inversions (many inversions at once, only with Slurm)

Forward modeling

  • 2D and 2.5D
  • linear & isotropic
  • radar (or acoustic)
    • finite difference time domain
    • PML boundaries
    • topography
    • arbitrary position of sources and receivers
  • electrical resistivity
    • finite volume
    • Robin & Neumann boundaries
    • flat topography
    • surface sources & receivers

Inversion routines

  • 2D and 2.5D
  • gradient descent
  • full-waveform inversion for radar
    • instantaneous phase
    • envelope
  • adjoint method for electrical resistivity
  • complete access to all sensitivities and adjoint fields
  • joint inversions
    • variable weights on sensitivities
    • cross-gradients
  • support for field and synthetic data
  • custom Slurm scripts ready to dominate the cluster

Signal processing

  • waveform filtering
  • image filtering
  • velocity semblance
  • beamforming
  • radar source estimation
  • common-offset gather processing for radar

Useful stuff

  • 2D velocity generator (.png to .mat file, any .png will do)

  • electrical resistivity sequence generator ready for Syscal

    • dipole-dipole
    • Wenner
    • Schlumberger
  • Matlab & Python data visualization

Seismic interferometry

  • cross-correlation
  • multi-dimensional deconvolution

docs

Detailed documentation of the code lives in the directory docs/manuals/.


Examples

Synthetic data

For a quick example go to field/example-sy/.

For a longer recipe read these steps:

  1. In local, go to field/shells_ and run cloner.sh to create a new synthetic toy example.
  2. In the new folder field/toy-sy/ go to image2mat/mat-file/ to see the true parameters.
  3. In image2mat/initial-guess/ see the initial parameters.
  4. You can change both true and initial parameters as you wish. Read build_model.pdf.
  5. Go to toy-sy/base/scripts/ and make sure [wdc,w,dc]_begin_.m loads the initial parameters you want.
  6. Go to toy-sy/inv-param/ and edit whichever P_inv_[dc,w, ].txt you are going to use. This file controls the inversion parameters.
  7. Upload gerjoii to remote. You can use rsync_gerjoii.sh.
  8. Go to toy-sy/slurm/ and read slurm_howto.pdf and gerjoii2slurm.pdf.
  9. Run your code.
  10. See results of files in remote while in local with utils in field/server-see/.
  11. Download with with download_[ ,obse,pinv,reco,u].sh.
  12. See in local with utils in toy-sy/see/.

Field data

  1. In data/raw/ make directory project and inside that make these:

    dc-data/syscal.txt
    dc-data/data-mat/
    dc-data/data-mat-raw/
    
    w-data/*[.HD, DT1]
    w-data/data-mat/
    w-data/data-mat-raw/
    w-data/data-mat-fwi/
    
  2. Under construction, sorry.


Author

Diego Domenzain domenzain.diego@gmail.com