ground penetrating radar and electrical resistivity joint inversion (gerjoii)
by diego domenzain
https://diegozain.github.io/gerjoii
eager to start?
field/tinyradar-sy/
for a synthetic example that can run in a laptop.field/example-sy/
for a synthetic example that should be run in a cluster.- scroll down for a more detailed example (under construction, sorry)
-
Joint inversion of full-waveform GPR and ER data. Part 2: enhancing low frequencies with the envelope transform and cross-gradients, Diego Domenzain, John Bradford, and Jodi Mead. Geophysics, 85(6). 2020.
-
Joint inversion of full-waveform GPR and ER data. Part 1, Diego Domenzain, John Bradford, and Jodi Mead. Geophysics, 85(6). 2020.
-
Inversion of 2.5D electrical resistivity data using the discrete adjoint method, Diego Domenzain, John Bradford, and Jodi Mead. SEG Technical Program Expanded Abstracts 2020.
-
Joint inversion of full-waveform GPR and ER data enhanced by the envelope transform and cross-gradients, Diego Domenzain, John Bradford, and Jodi Mead. 18th International Conference on Ground Penetrating Radar, Golden, Colorado 2020.
-
Joint inversion of GPR and ER data, Diego Domenzain, John Bradford, and Jodi Mead. SEG Technical Program Expanded Abstracts 2018.
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)
- 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
- 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
- waveform filtering
- image filtering
- velocity semblance
- beamforming
- radar source estimation
- common-offset gather processing for radar
-
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
- cross-correlation
- multi-dimensional deconvolution
Detailed documentation of the code lives in the directory docs/manuals/.
For a quick example go to field/example-sy/.
For a longer recipe read these steps:
- In local, go to field/shells_ and run
cloner.sh
to create a new synthetic toy example. - In the new folder field/toy-sy/ go to image2mat/mat-file/ to see the true parameters.
- In image2mat/initial-guess/ see the initial parameters.
- You can change both true and initial parameters as you wish. Read
build_model.pdf
. - Go to toy-sy/base/scripts/ and make sure
[wdc,w,dc]_begin_.m
loads the initial parameters you want. - 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. - Upload gerjoii to remote. You can use
rsync_gerjoii.sh
. - Go to toy-sy/slurm/ and read
slurm_howto.pdf
andgerjoii2slurm.pdf
. - Run your code.
- See results of files in remote while in local with utils in field/server-see/.
- Download with with
download_[ ,obse,pinv,reco,u].sh
. - See in local with utils in
toy-sy/see/
.
-
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/
-
Under construction, sorry.
Diego Domenzain domenzain.diego@gmail.com