@article {louboutin2018dae,
	title = {Devito (v3.1.0): an embedded domain-specific language for finite differences and geophysical exploration},
	journal = {Geoscientific Model Development},
	year = {2019},
	note = {(Geoscientific Model Development)},
	abstract = {We introduce Devito, a new domain-specific language for implementing high-performance finite difference partial differential equation solvers. The motivating application is exploration seismology where methods such as Full-Waveform Inversion and Reverse-Time Migration are used to invert terabytes of seismic data to create images of the earth{\textquoteright}s subsurface. Even using modern supercomputers, it can take weeks to process a single seismic survey and create a useful subsurface image. The computational cost is dominated by the numerical solution of wave equations and their corresponding adjoints. Therefore, a great deal of effort is invested in aggressively optimizing the performance of these wave-equation propagators for different computer architectures. Additionally, the actual set of partial differential equations being solved and their numerical discretization is under constant innovation as increasingly realistic representations of the physics are developed, further ratcheting up the cost of practical solvers. By embedding a domain-specific language within Python and making heavy use of SymPy, a symbolic mathematics library, we make it possible to develop finite difference simulators quickly using a syntax that strongly resembles the mathematics. The Devito compiler reads this code and applies a wide range of analysis to generate highly optimized and parallel code. This approach can reduce the development time of a verified and optimized solver from months to days.},
	keywords = {finite-differences, HPC, Modeling, wave-equation},
	doi = {10.5194/gmd-12-1165-2019},
	url = {https://slim.gatech.edu/Publications/Public/Journals/GMD/2019/louboutin2018dae/louboutin2018dae.pdf},
	author = {Mathias Louboutin and Michael Lange and Fabio Luporini and Navjot Kukreja and Philipp A. Witte and Felix J. Herrmann and Paulius Velesko and Gerard J. Gorman}
}
@article {siahkoohi2019itl,
	title = {The importance of transfer learning in seismic modeling and imaging},
	journal = {Geophysics},
	year = {2019},
	note = {(GEOPHYSICS)},
	abstract = {Accurate forward modeling is essential for solving inverse problems in exploration seismology. Unfortunately, it is often not possible to afford being physically or numerically accurate. To overcome this conundrum, we make use of raw and processed data from nearby surveys. We propose to use this data, consisting of shot records or velocity models, to pre-train a neural network to correct for the effects of, for instance, the free surface or numerical dispersion, both of which can be considered as proxies for incomplete or inaccurate physics. Given this pre-trained neural network, we apply transfer learning to finetune this pre-trained neural network so it performs well on its task of mapping low-cost, but low-fidelity, solutions to high-fidelity solutions for the current survey. As long as we can limit ourselves during finetuning to using only a small fraction of high-fidelity data, we gain processing the current survey while using information from nearby surveys. We demonstrate this principle by removing surface-related multiples and ghosts from shot records and the effects of numerical dispersion from migrated images and wave simulations},
	keywords = {deep learning, Imaging, Modeling, SRME, transfer learning},
	doi = {10.1190/geo2019-0056.1},
	url = {https://slim.gatech.edu/Publications/Public/Journals/Geophysics/2019/siahkoohi2019itl/siahkoohi2019itl.html},
	author = {Ali Siahkoohi and Mathias Louboutin and Felix J. Herrmann}
}
@article {witte2018alf,
	title = {A large-scale framework for symbolic implementations of seismic inversion algorithms in Julia},
	journal = {Geophysics},
	volume = {84},
	number = {3},
	year = {2019},
	note = {(Geophysics)},
	month = {03},
	pages = {F57-F71},
	abstract = {Writing software packages for seismic inversion is a very challenging task, since problems such as full-waveform inversion or least-squares imaging are both algorithmically and computationally demanding due to the large number of unknown parameters and the fact that we are propagating waves over many wavelengths. Software frameworks therefore need to combine both versatility and performance to provide geophysicists with the means and flexibility to implement complex algorithms that scale to exceedingly large 3D problems. Following these principles, we introduce the Julia Devito Inversion framework, an open-source software package in Julia for large-scale seismic modeling and inversion based on Devito, a domain-specific language compiler for automatic code generation. The framework consists of matrix-free linear operators for implementing seismic inversion algorithms that closely resembles the mathematical notation, a flexible resilient parallelization and an interface to Devito for generating optimized stencil code to solve the underlying wave equations. In comparison to many manually optimized industry codes written in low-level languages, our software is built on the idea of independent layers of abstractions and user interfaces with symbolic operators, making it possible to manage both the complexity of algorithms and performance optimizations, while preserving modularity, which allows for a level of expressiveness needed to formulate a broad range of wave-equation-based inversion problems. Through a series of numerical examples, we demonstrate that this allows users to implement algorithms for waveform inversion and imaging as simple Julia scripts that scale to large-scale 3D problems; thus providing a truly performant research and production framework.},
	keywords = {FWI, inversion, LSRTM, Modeling, software},
	doi = {10.1190/geo2018-0174.1},
	url = {https://slim.gatech.edu/Publications/Public/Journals/Geophysics/2019/witte2018alf/witte2018alf.pdf},
	author = {Philipp A. Witte and Mathias Louboutin and Navjot Kukreja and Fabio Luporini and Michael Lange and Gerard J. Gorman and Felix J. Herrmann}
}
@conference {siahkoohi2018SEGcnn,
	title = {Deep Convolutional Neural Networks in prestack seismic{\textendash}-two exploratory examples},
	booktitle = {SEG Technical Program Expanded Abstracts},
	year = {2018},
	note = {(SEG, Anaheim)},
	month = {10},
	pages = {2196-2200},
	abstract = {Deep convolutional neural networks are having quite an impact and have resulted in step changes in the capabilities of image and voice recognition systems and there are indications they may have a similar impact on post-stack seismic images. While these developments are certainly important, we are after all dealing with an imaging problem involving an unknown earth and not completely understood physics. When the imaging step itself is not handled properly, this may possibly offset gains offered by deep learning. Motivated by our work on deep convolutional neural networks in seismic data reconstruction, we discuss how generative networks can be employed in prestack problems ranging from the relatively mondane removal of the effects of the free surface to dealing with the complex effects of numerical dispersion in time-domain finite differences. While the results we present are preliminary, there are strong indications that generative deep convolutional neural networks can have a major impact on complex tasks in prestack seismic data processing and modeling for inversion.},
	keywords = {Dispersion, machine learning, Modeling, Processing, SEG, SRME},
	doi = {10.1190/segam2018-2998599.1},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/SEG/2018/siahkoohi2018SEGcnn/siahkoohi2018SEGcnn.html},
	presentation = {https://slim.gatech.edu/Publications/Public/Conferences/SEG/2018/siahkoohi2018SEGcnn/siahkoohi2018SEGcnn_pres.pdf},
	author = {Ali Siahkoohi and Mathias Louboutin and Rajiv Kumar and Felix J. Herrmann}
}
@article {witte2018fwip3,
	title = {Full-Waveform Inversion - Part 3: optimization},
	journal = {The Leading Edge},
	volume = {37},
	number = {2},
	year = {2018},
	note = {(The Leading Edge)},
	month = {1},
	pages = {142-145},
	abstract = {This tutorial is the third part of a full-waveform inversion (FWI) tutorial series with a step-by-step walkthrough of setting up forward and adjoint wave equations and building a basic FWI inversion framework. For discretizing and solving wave equations, we use Devito, a Python-based domain-specific language for automated generation of finite-difference code (Lange et al., 2016). The first two parts of this tutorial (Louboutin et al., 2017, 2018) demonstrated how to solve the acoustic wave equation for modeling seismic shot records and how to compute the gradient of the FWI objective function using the adjoint-state method. With these two key ingredients, we will now build an inversion framework that can be used to minimize the FWI least-squares objective function.},
	keywords = {devito, finite-differences, FWI, inversion, Modeling, tutorial},
	doi = {10.1190/tle37020142.1},
	url = {https://slim.gatech.edu/Publications/Public/Journals/TheLeadingEdge/2018/witte2018fwip3/witte2018fwip3.html},
	author = {Philipp A. Witte and Mathias Louboutin and Keegan Lensink and Michael Lange and Navjot Kukreja and Fabio Luporini and Gerard Gorman and Felix J. Herrmann}
}
@article {louboutin2017fwi,
	title = {Full-Waveform Inversion - Part 1: forward modeling},
	journal = {The Leading Edge},
	volume = {36},
	number = {12},
	year = {2017},
	note = {(The Leading Edge)},
	month = {12},
	pages = {1033-1036},
	abstract = {Since its re-introduction by Pratt (1999), full-waveform inversion (FWI) has gained a lot of attention in geophysical exploration because of its ability to build high resolution velocity models more or less automatically in areas of complex geology. While there is an extensive and growing literature on the topic, publications focus mostly on technical aspects, making this topic inaccessible for a broader audience due to the lack of simple introductory resources for newcomers to geophysics. We will accomplish this by providing a hands-on walkthrough of FWI using Devito (Lange et al. 2016), a system based on domain-specific languages that automatically generates code for time-domainfinite-differences.},
	keywords = {devito, finite-differences, FWI, Modeling, tutorial},
	doi = {10.1190/tle36121033.1},
	url = {https://slim.gatech.edu/Publications/Public/Journals/TheLeadingEdge/2017/louboutin2017fwi/louboutin2017fwi.html},
	author = {Mathias Louboutin and Philipp A. Witte and Michael Lange and Navjot Kukreja and Fabio Luporini and Gerard Gorman and Felix J. Herrmann}
}
@article {louboutin2016ppf,
	title = {Performance prediction of finite-difference solvers for different computer architectures},
	journal = {Computers \& Geosciences},
	volume = {105},
	year = {2017},
	note = {(Computers \& Geosciences)},
	month = {08},
	pages = {148-157},
	abstract = {The life-cycle of a partial differential equation (PDE) solver is often characterized by three development phases: the development of a stable numerical discretization; development of a correct (verified) implementation; and the optimization of the implementation for different computer architectures. Often it is only after significant time and effort has been invested that the performance bottlenecks of a PDE solver are fully understood, and the precise details varies between different computer architectures. One way to mitigate this issue is to establish a reliable performance model that allows a numerical analyst to make reliable predictions of how well a numerical method would perform on a given computer architecture, before embarking upon potentially long and expensive implementation and optimization phases. The availability of a reliable performance model also saves developer effort as it both informs the developer on what kind of optimisations are beneficial, and when the maximum expected performance has been reached and optimisation work should stop. We show how discretization of a wave-equation can be theoretically studied to understand the performance limitations of the method on modern computer architectures. We focus on the roofline model, now broadly used in the high-performance computing community, which considers the achievable performance in terms of the peak memory bandwidth and peak floating point performance of a computer with respect to algorithmic choices. A first principles analysis of operational intensity for key time-stepping finite-difference algorithms is presented. With this information available at the time of algorithm design, the expected performance on target computer systems can be used as a driver for algorithm design.},
	keywords = {finite differences, HPC, Modeling, performance},
	doi = {https://doi.org/10.1016/j.cageo.2017.04.014},
	url = {https://slim.gatech.edu/Publications/Public/Journals/ComputersAndGeosciences/2016/louboutin2016ppf/louboutin2016ppf.pdf},
	author = {Mathias Louboutin and Michael Lange and Felix J. Herrmann and Navjot Kukreja and Gerard Gorman}
}
@techreport {witte2015TRoam,
	title = {Overview on anisotropic modeling and inversion},
	number = {TR-EOAS-2015-6},
	year = {2015},
	month = {08},
	institution = {UBC},
	abstract = {This note provides an overview on strategies for modeling and inversion with the anisotropic wave equation. Since linear and non-linear inversion methods like least squares RTM and Full Waveform Inversion depend on matching observed field data with synthetically modelled data, accounting for anisotropy effects is necessary in order to accurately match waveforms at long offsets and propagation times. In this note, the two main strategies for anisotropic modelling by solving either a pseudo acoustic wave equation or a pure quasi-P-wave equation are discussed and an inversion workflow using the pure quasi-P-wave equation is provided. In particular, we derive the exact adjoint of the anisotropic forward modelling and jacobian operator and give a detailled describtion of their implementation. The anistropic FWI workflow is tested on a sythetic data example.},
	keywords = {anisotropy, full waveform inversion, Modeling},
	url = {https://slim.gatech.edu/Publications/Public/TechReport/2015/witte2015TRoam/witte2015TRoam.html},
	author = {Philipp A. Witte and Mathias Louboutin and Felix J. Herrmann}
}
@techreport {vanleeuwen2012SEGparallel,
	title = {A parallel, object-oriented framework for frequency-domain wavefield imaging and inversion.},
	number = {TR-EOAS-2012-2},
	year = {2012},
	month = {04},
	institution = {Department of Earth and Ocean Sciences},
	address = {University of British Columbia, Vancouver},
	abstract = {We present a parallel object-oriented matrix-free framework for frequency-domain seismic modeling, imaging and inversion. The key aspects of the framework are its modularity and level of abstraction, which allows us to write code that reflects the underlying mathematical structure and develop unit-tests that guarantee the fidelity of the code. By overloading standard linear-algebra operations, such as matrix-vector multiplications, we can use standard optimization packages to work with our code without any modification. This leads to a scalable testbed on which new methods can be rapidly prototyped and tested on medium-sized 2D problems. Although our current implementation uses (parallel) Matlab, all of these design principles can also be met by using lower-level languages which is important when we want to scale to realistic 3D problems. We present some numerical examples on synthetic data.},
	keywords = {Imaging, inversion, Modeling, SEG},
	url = {https://slim.gatech.edu/Publications/Public/TechReport/2012/vanleeuwen2012SEGparallel/vanleeuwen2012SEGparallel.pdf},
	author = {Tristan van Leeuwen and Felix J. Herrmann}
}
@article {bernabe2004JGRpas,
	title = {Permeability and storativity of binary mixtures of high-and low-porosity materials},
	journal = {Journal of Geophysical Research: Solid Earth},
	volume = {109},
	year = {2004},
	month = {12},
	pages = {B12207},
	abstract = {As a first step toward determining the mixing laws for the transport properties of rocks, we prepared binary mixtures of high- and low-permeability materials by isostatically hot-pressing mixtures of fine powders of calcite and quartz. The resulting rocks were marbles containing varying concentrations of dispersed quartz grains. Pores were present throughout the rock, but the largest ones were preferentially associated with the quartz particles, leading us to characterize the material as being composed of two phases, one with high permeability and the second with low permeability. We measured the permeability and storativity of these materials using the oscillating flow technique, while systematically varying the effective pressure and the period and amplitude of the input fluid oscillation. Control measurements performed using the steady state flow and pulse decay techniques agreed well with the oscillating flow tests. The hydraulic properties of the marbles were highly sensitive to the volume fraction of the high-permeability phase (directly related to the quartz content). Below a critical quartz content, slightly less than 20 wt \%, the high-permeability volume elements were disconnected, and the overall permeability was low. Above the critical quartz content the high-permeability volume elements formed throughgoing paths, and permeability increased sharply. We numerically simulated fluid flow through binary materials and found that permeability approximately obeys a percolation-based mixing law, consistent with the measured permeability of the calcite-quartz aggregates.},
	keywords = {Modeling, permeability, porosity, SLIM},
	doi = {10.1029/2004JB003111},
	url = {https://slim.gatech.edu/Publications/Public/Journals/JournalOfGeophysicalResearch/2004/bernabe04JGRpas/bernabe04JGRpas.pdf},
	url2 = {http://onlinelibrary.wiley.com/doi/10.1029/2004JB003111/abstract},
	author = {Y. Bernab{\'e} and U. Mok and B. Evans and Felix J. Herrmann}
}
