
SouGenMulv2.f90

- assume that I have the reflectivity model of the seabed, generate lowest order + second order incident wavefields. 
- Motivation:
  Reflectivity of the seabed doesn't correspond to the velocity contrast of the velocity model. (Reflectivity can be due to density contrast). This create a problem for higher order modelling because the amplitude is incorrect (often weaker)
- To alleviate this problem, I have to input a file that contains the correct reflectivity of the seabed and do born modelling
- Benefit is that now I can separate each order .... 1) mirror 2) double-mirror
- reflectivity of seabed is extracted from the migration image. Scale the reflectivity such that it will be comparable to the amplitude decrease based on the zero offset traces


Input: all of SouGenMul.f90
Input: reflectivity file for the seabed (with correct reflectivity value estimated from the data)

How to estimate reflectivity value from the data?
1) Look at the zero-offset trace.
2) Before any geometric correction. Identify the seabed reflection for the mirror and double-mirror
3) extract the amplitude (A1 , A2) and then calculate the reflectivity as follow
4)  r = A2/A1*1.66667
5) Now, scale the reflectivity model such that its largest amplitude is r.

How to model the mirror, double-mirror, triple-mirror etc?

There are 2 types of grid 
grid1:   nz1 = nw+nsb+ nop+bndz
         nx  = nnx+2*bndx
grid2:   nsb+nl+2*bndz
	 nx  = same
	
seabed reflectivity:   nsb (just the seabed zone)





