Commit 941b00c8 authored by Florian Wittkamp's avatar Florian Wittkamp
Browse files

Renaming to IFOS

! This commit renames DENISE to IFOS !
Keep care and update all of your self written shell scripts etc.
The make target is 'IFOS' (capital letters).
The resulting binary is called 'IFOS' as well.
parent 47565f6c
This is part of DENISE This is part of IFOS
====================== ======================
Developerlist as well as a contactlist for questions and information: Developerlist as well as a contactlist for questions and information:
......
INSTALL for DENISE INSTALL for IFOS
================== ==================
A detailed installation instruction is provided in the chapter 5 of the A detailed installation instruction is provided in the chapter 5 of the
documentation (DENISE/doc/manual_DENISE.pdf). If the manual is not compiled, documentation (IFOS/doc/manual_IFOS.pdf). If the manual is not compiled,
please use the script DENISE/doc/compile_LaTeX_manual.sh please use the script IFOS/doc/compile_LaTeX_manual.sh
To compile DENISE a MAKEFILE is available in the DENISE/par directory. To To compile IFOS a MAKEFILE is available in the IFOS/par directory. To
use the MAKEFILE type use the MAKEFILE type
make make
in the DENISE/par directory. The MAKEFILE compiles the additional libaries in the IFOS/par directory. The MAKEFILE compiles the additional libaries
lib cseife lib cseife
lib stfinv lib stfinv
lib aff lib aff
lib fourier lib fourier
before compiling the main program DENISE. before compiling the main program IFOS.
------------------------------------------- -------------------------------------------
......
README for DENISE README for IFOS
================= =================
DENISE (subwavelength DEtail resolving Nonlinear Iterative SEismic inversion) IFOS (subwavelength DEtail resolving Nonlinear Iterative SEismic inversion)
is a 2D elastic full waveform inversion code. The inversion problem is solved is a 2D elastic full waveform inversion code. The inversion problem is solved
by a conjugate gradient method. The gradients are computed in the time domain by a conjugate gradient method. The gradients are computed in the time domain
with the adjoint method. The forward modeling is also done in the time domain with the adjoint method. The forward modeling is also done in the time domain
...@@ -26,11 +26,11 @@ iteration steps in this example) ...@@ -26,11 +26,11 @@ iteration steps in this example)
Installation instructions can be found in the file INSTALL. Installation instructions can be found in the file INSTALL.
A detailed documentation is provided in manual_DENISE.pdf. A detailed documentation is provided in manual_IFOS.pdf.
To get started with this code try to run the toy example that is described in To get started with this code try to run the toy example that is described in
chapter 9 in the documentation (manual_DENISE.pdf). chapter 9 in the documentation (manual_IFOS.pdf).
If you use this code for your own research please cite at least one article If you use this code for your own research please cite at least one article
......
# What is DENISE? # What is IFOS?
DENISE (subwavelength DEtail resolving Nonlinear Iterative SEismic inversion) is a 2D elastic full waveform inversion code. IFOS (subwavelength DEtail resolving Nonlinear Iterative SEismic inversion) is a 2D elastic full waveform inversion code.
The inversion problem is solved by a conjugate gradient method and the gradients are computed in the time domain with the adjoint method. The inversion problem is solved by a conjugate gradient method and the gradients are computed in the time domain with the adjoint method.
The forward modeling is done by a time domain finite difference scheme. The manual is included in the download archive or can be downloaded [here](https://git.scc.kit.edu/GPIAG-Software/DENISE/wikis/home) The forward modeling is done by a time domain finite difference scheme. The manual is included in the download archive or can be downloaded [here](https://git.scc.kit.edu/GPIAG-Software/IFOS/wikis/home)
# Download and Newsletter # Download and Newsletter
You can Download the [latest Release](https://git.scc.kit.edu/GPIAG-Software/DENISE/tree/Release) or the current [Beta-Version](https://git.scc.kit.edu/GPIAG-Software/DENISE/tree/master) You can Download the [latest Release](https://git.scc.kit.edu/GPIAG-Software/IFOS/tree/Release) or the current [Beta-Version](https://git.scc.kit.edu/GPIAG-Software/IFOS/tree/master)
To receive news and updates please [register](http://www.gpi.kit.edu/Software-FWI.php) on the email list denise@lists.kit.edu. To receive news and updates please [register](http://www.gpi.kit.edu/Software-FWI.php) on the email list IFOS@lists.kit.edu.
Please use this list also to ask questions on using the software or to report problems or bugs. Please use this list also to ask questions on using the software or to report problems or bugs.
\ No newline at end of file
...@@ -5,6 +5,6 @@ To create the manual pdf please use the script: ...@@ -5,6 +5,6 @@ To create the manual pdf please use the script:
compile_LaTeX_manual.sh compile_LaTeX_manual.sh
If Problems with the compilation occur or Latex isn't installed on your PC, If Problems with the compilation occur or Latex isn't installed on your PC,
please visit https://git.scc.kit.edu/GPIAG-Software/DENISE/wikis/home. please visit https://git.scc.kit.edu/GPIAG-Software/IFOS/wikis/home.
The manual of the latest Release is placed on this page. The manual of the latest Release is placed on this page.
...@@ -17,12 +17,12 @@ cd ./latex ...@@ -17,12 +17,12 @@ cd ./latex
/bin/rm -rf *.tit > /dev/null /bin/rm -rf *.tit > /dev/null
/bin/rm -rf *.spl > /dev/null /bin/rm -rf *.spl > /dev/null
pdflatex manual_DENISE pdflatex manual_IFOS
bibtex manual_DENISE bibtex manual_IFOS
pdflatex manual_DENISE pdflatex manual_IFOS
pdflatex manual_DENISE pdflatex manual_IFOS
pdflatex manual_DENISE pdflatex manual_IFOS
pdflatex manual_DENISE pdflatex manual_IFOS
/bin/rm -rf *.dvi > /dev/null /bin/rm -rf *.dvi > /dev/null
/bin/rm -rf *.log > /dev/null /bin/rm -rf *.log > /dev/null
...@@ -39,5 +39,5 @@ cd ./latex ...@@ -39,5 +39,5 @@ cd ./latex
/bin/rm -rf *.tit > /dev/null /bin/rm -rf *.tit > /dev/null
/bin/rm -rf *.spl > /dev/null /bin/rm -rf *.spl > /dev/null
mv manual_DENISE.pdf ../ mv manual_IFOS.pdf ../
cd .. cd ..
...@@ -8,7 +8,7 @@ Christian-Albrechts-Universität Kiel ...@@ -8,7 +8,7 @@ Christian-Albrechts-Universität Kiel
Karlsruhe Institute of Technology Karlsruhe Institute of Technology
\newline \newline
\noindent\includegraphics[width=1.0\textwidth]{DENISE_title1.png} \noindent\includegraphics[width=1.0\textwidth]{IFOS_title1.png}
\begin{center} \begin{center}
\begin{minipage}[t]{1.00\textwidth} \begin{minipage}[t]{1.00\textwidth}
...@@ -44,7 +44,7 @@ Florian Wittkamp ...@@ -44,7 +44,7 @@ Florian Wittkamp
\hfill \hfill
\begin{minipage}[h]{0.65\textwidth} \begin{minipage}[h]{0.65\textwidth}
\includegraphics[width=\textwidth]{figures/DENISE_Marmousi1.png} \includegraphics[width=\textwidth]{figures/IFOS_Marmousi1.png}
\end{minipage} \end{minipage}
\par\endgroup \par\endgroup
......
...@@ -17,7 +17,7 @@ sized problems could be inverted with frequency domain approaches.\\ A spectacul ...@@ -17,7 +17,7 @@ sized problems could be inverted with frequency domain approaches.\\ A spectacul
In order to extract information about the structure and composition of the crust from seismic observations, it is necessary to be able to predict how seismic wavefields are affected by complex structures. In order to extract information about the structure and composition of the crust from seismic observations, it is necessary to be able to predict how seismic wavefields are affected by complex structures.
Since exact analytical solutions to the wave equations do not exist for most subsurface configurations, the solutions can be obtained only by numerical methods. For iterative calculations of synthetic seismograms with limited computer resources fast and accurate modeling methods are needed. Since exact analytical solutions to the wave equations do not exist for most subsurface configurations, the solutions can be obtained only by numerical methods. For iterative calculations of synthetic seismograms with limited computer resources fast and accurate modeling methods are needed.
The FD modeling/inversion program DENISE (subwavelength $\bf{DE}$tail resolving $\bf{N}$onlinear $\bf{I}$terative $\bf{SE}$ismic inversion), is based on the FD approach described by \cite{virieux:86} and \cite{levander:88}. The present program DENISE has the following extensions The FD modeling/inversion program IFOS (\textbf{I}nversion of \textbf{F}ully \textbf{O}bserved \textbf{S}eismograms), is based on the FD approach described by \cite{virieux:86} and \cite{levander:88}. The present program IFOS has the following extensions
\begin{itemize} \begin{itemize}
\item is efficently parallelized using domain decomposition with MPI (\cite{bohlen:02}), \item is efficently parallelized using domain decomposition with MPI (\cite{bohlen:02}),
......
%------------------------------------------------------------------------------------------------% %------------------------------------------------------------------------------------------------%
\chapter{\label{cha:STF-Inversion}Source Time Function Inversion} \chapter{\label{cha:STF-Inversion}Source Time Function Inversion}
\textbf{Introduction:}\\ \textbf{Introduction:}\\
To remove the contribution of the unknown source time function (STF) from the waveform residuals, it is necessary to design a filter which minimizes the misfit to the field recordings and raw synthetics. The library libstfinv from Thomas Forbriger was exported from TFSoftware and can be used with a C API in DENISE. The purpose of this library is to provide methods for the derivation of source-time-functions in approaches to full waveform inversion. Given a set of recorded data and a set of synthetic data (typically, but not necessarilly the impulse response of the subsurface) a source time function is obtained due to some optimization citerion. The synthetic waveforms are convolved with this wavelet and the convolved synthetics as well as the wavelet itself are returned to the user. To remove the contribution of the unknown source time function (STF) from the waveform residuals, it is necessary to design a filter which minimizes the misfit to the field recordings and raw synthetics. The library libstfinv from Thomas Forbriger was exported from TFSoftware and can be used with a C API in IFOS. The purpose of this library is to provide methods for the derivation of source-time-functions in approaches to full waveform inversion. Given a set of recorded data and a set of synthetic data (typically, but not necessarilly the impulse response of the subsurface) a source time function is obtained due to some optimization citerion. The synthetic waveforms are convolved with this wavelet and the convolved synthetics as well as the wavelet itself are returned to the user.
The source time wavelet in this context not necessarily is the actual force time history of the source used in the experiment or a similar quantity of physical meaning. The source time wavelet simply is the wavelet which minimizes the misfit between synthetic and recorded waveforms due to some misfit condition, if the synthetics are concolved with this wavelet. In particular this implies that the synthetics not necessarily must be the impulse response (Greens function) of the subsurface, they may simply be synthetic waveform computed for some generic source wavelet (like a Ricker wavelet). The derived source time function then have to be understood with respect to this generic wavelet.\\ The source time wavelet in this context not necessarily is the actual force time history of the source used in the experiment or a similar quantity of physical meaning. The source time wavelet simply is the wavelet which minimizes the misfit between synthetic and recorded waveforms due to some misfit condition, if the synthetics are concolved with this wavelet. In particular this implies that the synthetics not necessarily must be the impulse response (Greens function) of the subsurface, they may simply be synthetic waveform computed for some generic source wavelet (like a Ricker wavelet). The derived source time function then have to be understood with respect to this generic wavelet.\\
\newline \newline
......
...@@ -7,30 +7,30 @@ ...@@ -7,30 +7,30 @@
In the following sections, we give a short description of the different modeling parameters, options and how the program is used in a parallel MPI environment. In the following sections, we give a short description of the different modeling parameters, options and how the program is used in a parallel MPI environment.
\section{Requirements} \section{Requirements}
The parallelization employs functions of the Message Passing Interface (MPI). MPI has to be installed when compiling and running the DENISE software. At least two implementations exist for Unix-based networks: OpenMPI and MPICH2. The LAM-MPI implementation is no longer supported by the developers. Currently all three implementation work with DENISE. OpenMPI and MPICH2 are MPI programming environments and development systems for heterogeneous computers on a network. With OpenMPI or MPICH2, a dedicated cluster or an existing network computing infrastructure can act as one parallel computer solving one problem. The latest version of OpenMPI can be obtained from \href{http://www.open-mpi.org}{http://www.open-mpi.org}.% MPICH2 is available at \href{http://www.open-mpi.org}{http://www-unix.mcs.anl.gov/mpi/mpich}. LAM-MPI can be downloaded here: \href{http://www.lam-mpi.org}{http://www.lam-mpi.org}. The parallelization employs functions of the Message Passing Interface (MPI). MPI has to be installed when compiling and running the IFOS software. At least two implementations exist for Unix-based networks: OpenMPI and MPICH2. The LAM-MPI implementation is no longer supported by the developers. Currently all three implementation work with IFOS. OpenMPI and MPICH2 are MPI programming environments and development systems for heterogeneous computers on a network. With OpenMPI or MPICH2, a dedicated cluster or an existing network computing infrastructure can act as one parallel computer solving one problem. The latest version of OpenMPI can be obtained from \href{http://www.open-mpi.org}{http://www.open-mpi.org}.% MPICH2 is available at \href{http://www.open-mpi.org}{http://www-unix.mcs.anl.gov/mpi/mpich}. LAM-MPI can be downloaded here: \href{http://www.lam-mpi.org}{http://www.lam-mpi.org}.
\section{Installation} \section{Installation}
\label{installation} \label{installation}
After unpacking the software package (e.g. by \textit{tar -zxvf DENISE.tgz}) and changing to the directory DENISE (\textit{cd DENISE}) you will find different subdirectories: After unpacking the software package (e.g. by \textit{tar -zxvf IFOS.tgz}) and changing to the directory IFOS (\textit{cd IFOS}) you will find different subdirectories:
\textbf{bin}\\ \textbf{bin}\\
This directory contains all executable programs, generally DENISE and snapmerge. These executables are generated using the command \textit{make $<$program$>$} (see below). This directory contains all executable programs, generally IFOS and snapmerge. These executables are generated using the command \textit{make $<$program$>$} (see below).
\textbf{contrib}\\ \textbf{contrib}\\
This directory contains external contributions to DENISE. This directory contains external contributions to IFOS.
\textbf{doc}\\ \textbf{doc}\\
This directory contains documentation on the software (this users guide) as well as some important papers in PDF format on which the software is based on (see above). This directory contains documentation on the software (this users guide) as well as some important papers in PDF format on which the software is based on (see above).
\textbf{genmod}\\ \textbf{genmod}\\
Contains the model and benchmark files for DENISE. Contains the model and benchmark files for IFOS.
\textbf{mfiles}\\ \textbf{mfiles}\\
Here some Matlab routines (m-files) are stored. These Matlab programs can be used to find optimal relaxation frequencies to approximate a constant Q (qapprox.m) or to plot Q as a function of frequency for certain relaxation frequencies and value of tau (qplot.m). It is necessary to have the Matlab Optimization Toolbox installed. For further details we refer to \cite{bohlen:98} and to the paper in which the so-called tau-method is described \cite{blanch:95}. Here some Matlab routines (m-files) are stored. These Matlab programs can be used to find optimal relaxation frequencies to approximate a constant Q (qapprox.m) or to plot Q as a function of frequency for certain relaxation frequencies and value of tau (qplot.m). It is necessary to have the Matlab Optimization Toolbox installed. For further details we refer to \cite{bohlen:98} and to the paper in which the so-called tau-method is described \cite{blanch:95}.
\textbf{par}\\ \textbf{par}\\
Parameter files for DENISE modeling. Parameter files for IFOS modeling.
% \textbf{scripts}\\ % \textbf{scripts}\\
% Here, you will find examples of script-files used to submit modeling jobs on cluster-computers. % Here, you will find examples of script-files used to submit modeling jobs on cluster-computers.
...@@ -39,8 +39,8 @@ Parameter files for DENISE modeling. ...@@ -39,8 +39,8 @@ Parameter files for DENISE modeling.
This directory contains the complete source codes. The following programs are available and may be compiled using make $<$program$>$. This directory contains the complete source codes. The following programs are available and may be compiled using make $<$program$>$.
\section{Compilation of DENISE}\label{compexec} \section{Compilation of IFOS}\label{compexec}
Before compiling the main program DENISE you have to compile the required additional libraries e.g. for timedomain filtering, the inversion for the correction filter for the unknown source time function and so on. In the DENISE/par directory simply use: Before compiling the main program IFOS you have to compile the required additional libraries e.g. for timedomain filtering, the inversion for the correction filter for the unknown source time function and so on. In the IFOS/par directory simply use:
\newline \newline
\textit{make} \textit{make}
...@@ -54,13 +54,13 @@ lib stfinv ...@@ -54,13 +54,13 @@ lib stfinv
lib aff lib aff
lib fourier lib fourier
\end{verbatim}}} \end{verbatim}}}
as well as the binary of DENISE itself. as well as the binary of IFOS itself.
In contrib/Makefile\_var there were several environment variables which are necessary to compile the libraries successfully. Furthermore, it is necessary to preinstall FFTW - Fastest Fourier Transform in the West (\href{http://www.fftw.org/}{http://www.fftw.org/}). Please check the successful installation in the folder contrib/header. In contrib/Makefile\_var there were several environment variables which are necessary to compile the libraries successfully. Furthermore, it is necessary to preinstall FFTW - Fastest Fourier Transform in the West (\href{http://www.fftw.org/}{http://www.fftw.org/}). Please check the successful installation in the folder contrib/header.
\newline \newline
The source code of DENISE is located in the directory DENISE/src. To compile DENISE the name of the model function has to be entered in the src/MAKEFILE. Depending on your MPI environment (MPI distribution) you may need to modify the compiler options in src/Makefile. For a few typical platforms the compiler options are available in src/Makefile. It is often useful to enable a moderate level of optimization (typically -O3). The highest level of optimization -O4 can lead to a strong performance improvement. For example the optimization option -O4 of the hcc LAM compiler leads to a speedup of DENISE of approximately 30~\%. Eventhough keep in mind that -O4 can also lead to crashes and compilation errors, when used in combination with certain compilers. No other changes in the Makefile should be necessary. The source code of IFOS is located in the directory IFOS/src. To compile IFOS the name of the model function has to be entered in the src/MAKEFILE. Depending on your MPI environment (MPI distribution) you may need to modify the compiler options in src/Makefile. For a few typical platforms the compiler options are available in src/Makefile. It is often useful to enable a moderate level of optimization (typically -O3). The highest level of optimization -O4 can lead to a strong performance improvement. For example the optimization option -O4 of the hcc LAM compiler leads to a speedup of IFOS of approximately 30~\%. Eventhough keep in mind that -O4 can also lead to crashes and compilation errors, when used in combination with certain compilers. No other changes in the Makefile should be necessary.
{\color{blue}{\begin{verbatim} {\color{blue}{\begin{verbatim}
# Makefile for DENISE # Makefile for IFOS
#-------------------------------------------------------- #--------------------------------------------------------
# edit here: # edit here:
...@@ -99,20 +99,20 @@ IFLAGS=-I./../contrib/libcseife -I./../contrib/header -I. ...@@ -99,20 +99,20 @@ IFLAGS=-I./../contrib/libcseife -I./../contrib/header -I.
# -------------------------------------------------------- # --------------------------------------------------------
\end{verbatim}}} \end{verbatim}}}
The program snapmerge that is used to merge the snapshots (see below) can be compiled with ''make snapmerge'' in the directory /src. Since this is not a MPI program (no MPI functions are called) the MPI libraries are not required and any standard compiler (like gcc and cc) can be used to compile this program. The executables denise and snapmerge are located in the directory /bin. The program snapmerge that is used to merge the snapshots (see below) can be compiled with ''make snapmerge'' in the directory /src. Since this is not a MPI program (no MPI functions are called) the MPI libraries are not required and any standard compiler (like gcc and cc) can be used to compile this program. The executables IFOS and snapmerge are located in the directory /bin.
\section{Running the program}\label{compexec1} \section{Running the program}\label{compexec1}
Each DENISE run reads the required parameters from a parameter file par/DENISE.json. A detailed description of the parameters are described in chapter \ref{Definition-parameters_json}. Each IFOS run reads the required parameters from a parameter file par/IFOS.json. A detailed description of the parameters are described in chapter \ref{Definition-parameters_json}.
The command to start a simulation on 8 processor with the lowest priority of -19 (in order to allow working on the a workstation while running a simulation) is as follows. Please note, that we assume you have navigated to the folder DENISE/par. The command to start a simulation on 8 processor with the lowest priority of -19 (in order to allow working on the a workstation while running a simulation) is as follows. Please note, that we assume you have navigated to the folder IFOS/par.
\newline \newline
\textit{mpirun -np 8 nice -19 ../bin/denise DENISE.json } \textit{mpirun -np 8 nice -19 ../bin/IFOS IFOS.json }
\newline \newline
It is often useful to save the standard output of the program for later reference. The screen output may be saved to DENISE.out using It is often useful to save the standard output of the program for later reference. The screen output may be saved to IFOS.out using
\newline \newline
\textit{mpirun -np 8 nice -19 ../bin/denise DENISE.json > DENISE.out} \textit{mpirun -np 8 nice -19 ../bin/IFOS IFOS.json > IFOS.out}
\newline \newline
% \newpage % \newpage
...@@ -169,14 +169,14 @@ After the output of geometry and model parameters the code starts the time stepp ...@@ -169,14 +169,14 @@ After the output of geometry and model parameters the code starts the time stepp
\end{verbatim}}} \end{verbatim}}}
\section{Postprocessing} \section{Postprocessing}
The wavefield snapshots can be merged using the program \textit{snapmerge}. The program snapmerge is not a MPI program. Therefore, it can be executed without MPI and the mpirun command. You can run snapmerge on any PC since a MPI environment is not required. You may therefore copy the snapshot outputs of the different nodes to another non-MPI computer to merge the files together. \textit{snapmerge} reads the required information from the DENISE parameter file. Simply type The wavefield snapshots can be merged using the program \textit{snapmerge}. The program snapmerge is not a MPI program. Therefore, it can be executed without MPI and the mpirun command. You can run snapmerge on any PC since a MPI environment is not required. You may therefore copy the snapshot outputs of the different nodes to another non-MPI computer to merge the files together. \textit{snapmerge} reads the required information from the IFOS parameter file. Simply type
\newline \newline
\textit{../bin/snapmerge DENISE.json } \textit{../bin/snapmerge IFOS.json }
\newline \newline
% {\color{blue}{\begin{verbatim} % {\color{blue}{\begin{verbatim}
% -bash-2.05b$~/DENISE/par> ../bin/snapmerge DENISE.json % -bash-2.05b$~/IFOS/par> ../bin/snapmerge IFOS.json
% \end{verbatim}}} % \end{verbatim}}}
Depending on the model size the merge process may take a few seconds or hours. For the simple block model it only takes a few seconds. The output should read like this: Depending on the model size the merge process may take a few seconds or hours. For the simple block model it only takes a few seconds. The output should read like this:
...@@ -190,3 +190,4 @@ Depending on the model size the merge process may take a few seconds or hours. F ...@@ -190,3 +190,4 @@ Depending on the model size the merge process may take a few seconds or hours. F
xmovie n1=100 n2=100 < ./snap/test.bin.p loop=1 label1=Y label2=X title=%g xmovie n1=100 n2=100 < ./snap/test.bin.p loop=1 label1=Y label2=X title=%g
to play movie. to play movie.
\end{verbatim}}} \end{verbatim}}}
IFOS
\ No newline at end of file
This diff is collapsed.
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
\chapter{Examples} \chapter{Examples}
\section{Toy Example Shallow Seismics: Inversion of Viscoelastic Observations} \section{Toy Example Shallow Seismics: Inversion of Viscoelastic Observations}
You can find the input files for the small toy example in the directory \texttt{par/in\_and\_out/toy\_example}. To run the example you can use the shell script \texttt{run\_toy\_example.sh} in the directory \texttt{par}. It is adjusted for a PC with at least 4 CPUs. If you have less CPUs you have to adjust the number of processors in the input files as well as in the call of DENISE in the shell script. The shell script includes all relevant steps. First all libraries and DENISE are compiled. (Do not get nervous about the huge output during compiling.) If you run into problems during this step you maybe have to adjust the variables in \texttt{Makefile\_var} in the directory \texttt{contrib}. Afterwards DENISE starts to simulate observed data for the inversion. The simulated seismograms are renamed for the inversion and DENISE is again compiled with another model function which creates the initial models for the inverison on the fly (see section~\ref{gen_of_mod}). The last step in the shell script is the call of DENISE to start the inversion.\\ You can find the input files for the small toy example in the directory \texttt{par/in\_and\_out/toy\_example}. To run the example you can use the shell script \texttt{run\_toy\_example.sh} in the directory \texttt{par}. It is adjusted for a PC with at least 4 CPUs. If you have less CPUs you have to adjust the number of processors in the input files as well as in the call of IFOS in the shell script. The shell script includes all relevant steps. First all libraries and IFOS are compiled. (Do not get nervous about the huge output during compiling.) If you run into problems during this step you maybe have to adjust the variables in \texttt{Makefile\_var} in the directory \texttt{contrib}. Afterwards IFOS starts to simulate observed data for the inversion. The simulated seismograms are renamed for the inversion and IFOS is again compiled with another model function which creates the initial models for the inverison on the fly (see section~\ref{gen_of_mod}). The last step in the shell script is the call of IFOS to start the inversion.\\
The true model used for the simulation of the observed data is shown in Figure~\ref{Rheinstetten_true_model} whereat the shot positions are marked by the red stars and the CPML frame is marked by the black dashed line. We consider a viscoelastic medium in this test and approximate a constant quality factor of $Q_s=Q_p=20$ in the analyzed frequency band up to 70\,Hz with three relaxation mechanisms of a generalized standard linear solid. The 36 two component receivers used in the inversion are located equidistantly between the sources with a receiver spacing of 1\,m.\\ The true model used for the simulation of the observed data is shown in Figure~\ref{Rheinstetten_true_model} whereat the shot positions are marked by the red stars and the CPML frame is marked by the black dashed line. We consider a viscoelastic medium in this test and approximate a constant quality factor of $Q_s=Q_p=20$ in the analyzed frequency band up to 70\,Hz with three relaxation mechanisms of a generalized standard linear solid. The 36 two component receivers used in the inversion are located equidistantly between the sources with a receiver spacing of 1\,m.\\
......
{\color{blue}\begin{verbatim} {\color{blue}\begin{verbatim}
#----------------------------------------------------------------- #-----------------------------------------------------------------
# JSON PARAMETER FILE FOR DENISE # JSON PARAMETER FILE FOR IFOS
#----------------------------------------------------------------- #-----------------------------------------------------------------
# description: # description:
# description/name of the model: model grid created by ../genmod/2layer.c # description/name of the model: model grid created by ../genmod/2layer.c
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
"Seismograms" : "comment", "Seismograms" : "comment",
"SEIS_FORMAT" : "1", "SEIS_FORMAT" : "1",
"SEIS_FILE" : "su/DENISE", "SEIS_FILE" : "su/IFOS",
"General inversion parameters" : "comment", "General inversion parameters" : "comment",
......
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
\input{0_Title.tex} \input{0_Title.tex}
\title{\textbf{DENISE}\\ \title{\textbf{IFOS}\\
\textbf{User Manual}} \textbf{User Manual}}
\author{$\copyright$ Christian-Albrechts-Universit\"at Kiel (Germany) and\\ \author{$\copyright$ Christian-Albrechts-Universit\"at Kiel (Germany) and\\
...@@ -115,7 +115,7 @@ Version 2.0 ...@@ -115,7 +115,7 @@ Version 2.0
\section*{Authors} \section*{Authors}
The DENISE code was first developed by Daniel K\"ohn, Denise De Nil and Andr$\rm{\acute{e}}$ Kurzmann at the Christian-Albrechts-Universit\"at Kiel and TU Bergakademie Freiberg (Germany) from 2005 to 2009.\\ The IFOS code was first developed by Daniel K\"ohn, Denise De Nil and Andr$\rm{\acute{e}}$ Kurzmann at the Christian-Albrechts-Universit\"at Kiel and TU Bergakademie Freiberg (Germany) from 2005 to 2009.\\
\newline \newline
The forward code is based on the viscoelastic FD code fdveps (now SOFI2D) by \cite{bohlen:02}.\\ The forward code is based on the viscoelastic FD code fdveps (now SOFI2D) by \cite{bohlen:02}.\\
\newline \newline
...@@ -152,7 +152,7 @@ Florian Wittkamp.\\ ...@@ -152,7 +152,7 @@ Florian Wittkamp.\\
\newline \newline
\noindent \noindent
This is the {"}Karlsruher{"} version of DENISE which in the last years has been developed mainly for the purpose of inverting shallow seismic wavefields. At the moment another focus is to adapt the code for the inversion of marine seismic data. This is the {"}Karlsruher{"} version of IFOS which in the last years has been developed mainly for the purpose of inverting shallow seismic wavefields. At the moment another focus is to adapt the code for the inversion of marine seismic data.
\newpage \newpage
......
default: ../ denise default: ../ IFOS
.PHONY: aff .PHONY: aff
aff: aff:
...@@ -17,18 +17,18 @@ libcseife: ...@@ -17,18 +17,18 @@ libcseife:
$(MAKE) -C ../contrib/libcseife install $(MAKE) -C ../contrib/libcseife install
.PHONY: denise .PHONY: IFOS
denise: aff fourier stfinv libcseife IFOS: aff fourier stfinv libcseife
ifdef MODEL ifdef MODEL
$(MAKE) -C ../src/ denise MODEL=$(MODEL) $(MAKE) -C ../src/ IFOS MODEL=$(MODEL)
else else
$(MAKE) -C ../src/ denise $(MAKE) -C ../src/ IFOS
endif endif
.PHONY: clean .PHONY: clean
clean: clean:
rm -rf ../bin/denise rm -rf ../bin/IFOS
$(MAKE) -C ../contrib/aff clean $(MAKE) -C ../contrib/aff clean
$(MAKE) -C ../contrib/fourier clean $(MAKE) -C ../contrib/fourier clean
$(MAKE) -C ../contrib/stfinv clean $(MAKE) -C ../contrib/stfinv clean
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment