![]() |
| Homework Resources | |
| Program Documentation: | Many of the assignments use Sergey Fomel's Fortran90 inversion library. Short explanations are provided for all main programs. |
| SEP I/O module: | Sergey Fomel has written a Fortran90 Input/Output (I/O) module which allows you to conveniently read, write, and manipulate SEP-format datafiles. |
| Fortran90 FAQ: | Although you are not expected to be an expert programmer, you will modify Fortran90 programs in nearly all assignments. If you have programming questions, contact the TA, or better yet, peruse this list of Frequently Asked F90 Questions. |
| Assignment List Note: all the code from the book, and subroutines you will link to in some of your programs are available in ~prof/gee/Src and ~prof/gee/Ops. I suggest setting up some links when you're working on the labs. | |||||||||||||||||||||||||||||||
| Name | Description | Due | Source
![]() 1-D Gradient Operator [pdf] The gradient of a continuous function of more than one
variable is a vector quantity. The gradient of a discrete function is normally
approximated by finite differences. You will make simple modifications to two
Fortran90 programs in order to compute the discrete gradient vector of a
topographical image of the San Francisco Bay area. You will then modify a
third program to compute the gradient magnitude, which is a scalar measure
of relative total steepness and answer a couple simple questions about the
results.
| 1/18/08
| Lab0.tgz
| ![]() Basic operators and adjoints [pdf] In this computer exercise you will become familiar with some useful basics.
You are given a subroutine which performs causal lowcut filtering. Your task is to code the
adjoint process (anticausal filtering), and then to perform the dot product test to check if
you have coded the adjoint properly. Additionally, you will be asked to answer some questions
and use your subroutine to roughen the Sea of Galilee image. Also, you will need to do a couple
of basic UNIX and gmake tasks, which are useful for doing research and future labs.
| 1/30/08
| Lab1.tgz
| ![]() Model fitting by least squares [pdf] In this computer exercise you are given a module
which performs a simple velocity transform. First you will improve
the linear operator by implementing linear interpolation instead of
nearest-neighbor interpolation. In the second part of the assignment,
you will apply an iterative least-square optimization for velocity
transform inversion.
| 2/06/08
| Lab2.gz
| ![]() Missing Data Estimation and Multiple Realizations [pdf]
Geostatistics has gained much recent attention for its ability to solve
missing data problems not with a single ``answer'', but with a suite of
so-called equiprobable models, or models that fit the data equally well.
The geostatistical approach gives better results in fluid flow simulation
(for instance), and also provides a useful tool for multiple scenario
analysis.
Clapp (SEP-105) showed that multiple realizations can easily
be incorporated into the existing SEP framework to solving missing data problems.
This lab has two parts. In the first, you will modify a conjugate gradient
algorithm to allow multiple realizations, and then test it on the 1-D inverse
linear interpolation problem given in Chapter 3 of the book. In the second
part, you will use your new solver to tackle the ``Wells not matching the
seismic map'' problem of Chapter 3. You will improve the ``extension'' of
the seismic data into empty regions of the model space, first by writing a
program to de-trend the seismic data with a least squares best-fitting plane,
and second, by using your new solver to come up with multiple realizations of
the extended seismic data.
| 2/13/08
| Lab3.tgz
| ![]() Interval Velocity Estimation [pdf]
This lab will guide you through most of the steps - and pitfalls - of
interval velocity estimation, perhaps the most important problem in
exploration geophysics. You will apply the least squares velocity scan
of Lab 2, and then pick RMS velocities using an autopicker and by hand.
You will apply the multiple realizations concept to bound uncertainty
on your picked RMS velocity. You will solve the Dix equation as a least
squares problem to estimate interval velocity in 1-D and make some
preliminary steps in the direction of 2-D.
| 02/22/08
| Lab4.tgz
| ![]() Debluring by inversion with regularization [ pdf]
In this Lab, we test different regularization scheme for deblurring
a text image with random noise. Regularization is very important
in inversion when there are not enough data. Prior information can
be included in the regularization and make the inversion converge fast.
In this Lab, first you will code the adjoint, given the operator. In
the second part of the assignment, you will apply two regularization
operator to the linear inversion. The third part, you will apply
edge preserving regularization scheme to the non-linear inversion.
| 03/03/08
| Lab5.tgz
| ![]() Madagascar [pdf]
The Madagascar satellite data set provides images of a spreading
ridge off the coast of Madagascar. This data set has two regions:
the southern half is densely sampled and the northern half is sparsely
sampled. The sparsely sampled region presents a missing data problem.
In this exercise, you will apply basic fitting goals to image the dense
area. Then, you will be asked to fill the missing data in the sparsely
sampled region. Additionally, you will use prediction-error filters
estimated on the dense southern half to fill data on the sparse half.
Preconditioning will be used to speed convergence. The prediction-error
filters will attempt to spread the texture of the spreading ridge to
the sparse tracks.
| 03/13/08
| Lab6.tgz
| | |||||||
|
Department of Geophysics Stanford University |
|