Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with seismic refraction field data inversion compatability #781

Open
AY131313 opened this issue Oct 10, 2024 · 7 comments
Open

Problem with seismic refraction field data inversion compatability #781

AY131313 opened this issue Oct 10, 2024 · 7 comments

Comments

@AY131313
Copy link

hello, I am trying to conduct a seismic refraction field data inversion. the dataset belongs to a landslide area. I have 8 shots that in my dataset are not given properly.it appears that the first 8 points in my shot/geophone points are considered as shot positions therefore I cant get my far shots and the shot locations are not correct.

I have a dataset and the first pick plots that I put in this issue for you to take a look at. using this dataset I am getting this odd plot below:
image

and here is my dataset:
khodeshe.xlsx

Also I expect my model to be sth like below:
p1 l dv

I am using jupyter notebook as my environment.

@halbmy
Copy link
Contributor

halbmy commented Oct 10, 2024

Note that there is only ONE position list, not separately for shots and geophones.

The beginning of your file

33	
# x	y
-50	1482.4
-30	1480
-8	1472.3
0	1468.2
8	1466
16	1461.2

seems to denote the first three shot positions and then the geophones, so the data section should start like

# s g t
1 4 ...
1 5 ...
...
2 4
...

followed by the yellow one

10 4
10 5 

ending with

33 4
33 5
...

@halbmy
Copy link
Contributor

halbmy commented Oct 18, 2024

I guess this is more or less a repetition of #777 ?
I guess we definitely need an example on reading in files like yours but I guess it is really close to what's done in readTOM:

def readTOMfile(filename, ndig=2, roundto=0):

t, xT, zT, xR, zR = np.loadtxt(filename, usecols=(0, 2, 3, 4, 5), unpack=1)
pT = xT.round(ndig) - zT.round(ndig) * 1j
pR = xR.round(ndig) - zR.round(ndig) * 1j
pU = np.unique(np.hstack((pT, pR)))
iT = np.array([np.nonzero(pU == pi)[0][0] for pi in pT], dtype=float)
iR = np.array([np.nonzero(pU == pi)[0][0] for pi in pR], dtype=float)
data = tt.DataContainer()
for pp in pU:
    data.createSensor(pg.RVector3(pp.real, pp.imag))

data.resize(len(t))
data.set('t', t)
data.set('s', iT)
data.set('g', iR)
data["valid"] = 1

@halbmy
Copy link
Contributor

halbmy commented Oct 18, 2024

So probably we could just enable setting the columns to be used (or any other genfromtxt keyword argument like header or footer files) so that this function could be used regardless specific data file as long as it is column-based.

@halbmy
Copy link
Contributor

halbmy commented Oct 27, 2024

I've created a new function importAsciiColumns() that will be called from tt.load() if you specify either nS (shot columns), nR (receiver columns) or nT (traveltime column). I tested it with some 2D seismic data I got and it needs to be extended for 3D spreads. Try it out.

@halbmy
Copy link
Contributor

halbmy commented Oct 27, 2024

My call is data = tt.load(filename, nS=[0, 1], nR=[3, 4]) and my file looks like

0.0 0.0 0.0 4.119999999995343 -0.30999999959021807 -0.13999999999998636 0.011
0.0 0.0 0.0 7.989999999990687 0.39000000059604645 -0.06999999999999318 16776.216
0.0 0.0 0.0 11.950000000011642 0.6400000005960464 -0.21000000000000796 0.019
0.0 0.0 0.0 15.900000000023283 1.1400000005960464 -0.0800000000000125 0.026
...
0.0 0.0 0.0 1197.539999999979 44.37999999988824 1.1899999999999977 0.32
0.0 0.0 0.0 1201.9400000000023 44.830000000074506 1.2800000000000011 16776.216
199.6599999999744 25.390000000596046 -0.12999999999999545 0.059999999997671694 -0.7699999995529652 -0.030000000000001137 0.124
199.6599999999744 25.390000000596046 -0.12999999999999545 4.119999999995343 -0.30999999959021807 -0.13999999999998636 0.123
199.6599999999744 25.390000000596046 -0.12999999999999545 7.989999999990687 0.39000000059604645 -0.06999999999999318 0.122
...

@AY131313
Copy link
Author

Hello Dr. Thank you so much for paying this much attention to my problem. Your first guidance on this issue fixed my problem and made my dataset readable by the package. I am going to try out the new function to load my data, and I will inform you about how it went.

@AY131313
Copy link
Author

Now, I have two 2D inversion models for ERT and SRT. To integrate my models, I use fuzzy c-means and k-means clustering. Can you give me any guidance about that?
I want to integrate my models by these two methods and then maybe some comparisons at the end to better interpret my results.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants