seisfwi / swit Goto Github PK
View Code? Open in Web Editor NEWSeismic Waveform Inversion Toolbox
License: GNU General Public License v3.0
Seismic Waveform Inversion Toolbox
License: GNU General Public License v3.0
Hi Haipeng,
I am installing this package on my macbook pro M1. I have openmpi installed:
mpif90 --version
GNU Fortran (Homebrew GCC 11.2.0_3) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
However, when I run make in the fd2dmpi folder I got the following error indicating grammar error. Could this be a problem with my mpi library?
❯ make
/opt/homebrew/bin/mpif90 -o .obj/global.o global.f90 -O3 -w -c -funroll-loops -J.mod
/opt/homebrew/bin/mpif90 -o .obj/parser.o parser.f90 -O3 -w -c -funroll-loops -J.mod
/opt/homebrew/bin/mpif90 -o .obj/datatype.o datatype.f90 -O3 -w -c -funroll-loops -J.mod
/opt/homebrew/bin/mpif90 -o .obj/mmi_mpi.o mmi_mpi.f90 -O3 -w -c -funroll-loops -J.mod
/opt/homebrew/bin/mpif90 -o .obj/string.o string.f90 -O3 -w -c -funroll-loops -J.mod
/opt/homebrew/bin/mpif90 -o .obj/su.o su.f90 -O3 -w -c -funroll-loops -J.mod
/opt/homebrew/bin/mpif90 -o .obj/io.o io.f90 -O3 -w -c -funroll-loops -J.mod
io.f90:296:17:
296 | call MPI_BCAST(den(:,ix),nz_pml,MPI_INTEGER,0,MPI_COMM_WORLD,ierr)
| 1
......
798 | call MPI_BCAST(fs,nx_pml,MPI_INTEGER,0,MPI_COMM_WORLD,ierr)
| 2
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/INTEGER(4)).
io.f90:261:17:
Best,
Xin
Hi,
I've prepped my field data according to your MATLAB script. How do I add it in to the inversion script in SWIT?
This is what I have so far but it doesn't get very in the processing and crashes out quickly
load_field_data(simu,'shot001.su',150,1150)
process_workflow(simu, optim, simu_type='obs')
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/lib/python3.10/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/home/[email protected]/SWIT-1.0/toolbox/fielddata.py", line 60, in load_field_data_serial
trace = loadsu(loadfile)
File "/home/[email protected]/SWIT-1.0/toolbox/tools.py", line 95, in loadsu
traces = obspy.read(filename, format='SU', byteorder='<')
File "/usr/local/lib/python3.10/dist-packages/decorator.py", line 232, in fun
return caller(func, *(extras + args), **kw)
File "/usr/local/lib/python3.10/dist-packages/obspy/core/util/decorator.py", line 297, in _map_example_filename
return func(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/obspy/core/stream.py", line 208, in read
st = _generic_reader(pathname_or_url, _read, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/obspy/core/util/base.py", line 656, in _generic_reader
raise IOError(2, "No such file or directory", pathname)
FileNotFoundError: [Errno 2] No such file or directory: 's'
"""
Thanks
James
Thank you for your work.
PML =50, whether free surface is set to Yes or No and the result seems to be the same. I don't know why.
In addition, on line 154 of base.py, "self.nz_pml = self.nz + self.pml * (2 - self.fs)". Can you explain what it means and where self.nz_pml is used
I would appreciate it if you could take some time to answer my questions.
I add a default specification for OMP_NUM_THREADS in base.py (Line 70):
os.environ["OMP_NUM_THREADS"] = "1" # export OMP_NUM_THREADS=1
The data filtering speed is faster now.
Thank you very much for your work. I wonder if this toolbox can be used for full waveform inversion of vertical seismic profile data (VSP)?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.