Commit 2f88f362 authored by Florian Wittkamp's avatar Florian Wittkamp
Browse files

Changes naming of seismograms

parent 9356ad6a
......@@ -331,11 +331,7 @@ In our example, we specify 100 receiver location. Due to the small size of the m
"Seismograms" : "comment",
"NDT" : "1",
"SEIS_FORMAT" : "1",
"SEIS_FILE_VX" : "su/DENISE_x.su",
"SEIS_FILE_VY" : "su/DENISE_y.su",
"SEIS_FILE_CURL" : "su/DENISE_rot.su",
"SEIS_FILE_DIV" : "su/DENISE_div.su",
"SEIS_FILE_P" : "su/DENISE_p.su",
"SEIS_FILE" : "su/DENISE",
\end{verbatim}}}
{\color{red}{\begin{verbatim}
......@@ -343,7 +339,7 @@ Default values are:
NDT=1
\end{verbatim}}}
If SEISMO$>$0 seismograms recorded at the receiver positions are written to the corresponding output files. The sampling rate of the seismograms is NDT*DT seconds. In case of a small time step interval and a high number of time steps, it might be useful to choose a high NDT in order to avoid a unnecessary detailed sampling of the seismograms and consequently large files of seismogram data. Possible output formats of the seismograms are SU, ASCII and BINARY. It is recommended to use SU format for saving the seismograms. The main advantage of this format is that the time step interval (NDT*DT) and the acquisition geometry (shot and receiver locations) are stored in the corresponding SU header words. Also additional header words like offset are set by DENISE. This format thus facilitates a further visualization and processing of the synthetic seismograms. Note, however, that SU cannot handle sampling rates smaller than 1.0e-6 seconds and the number of samples is limited to about 32.000. In such cases, you should increase the sampling rate by increasing NDT. If this is impossible (for example because the Nyquist criterion is violated) you must choose a different output format (ASCII or binary).
If SEISMO$>$0 seismograms recorded at the receiver positions are written to the corresponding output files. The sampling rate of the seismograms is NDT*DT seconds. In case of a small time step interval and a high number of time steps, it might be useful to choose a high NDT in order to avoid a unnecessary detailed sampling of the seismograms and consequently large files of seismogram data. Possible output formats of the seismograms are SU, ASCII and BINARY. It is recommended to use SU format for saving the seismograms. The main advantage of this format is that the time step interval (NDT*DT) and the acquisition geometry (shot and receiver locations) are stored in the corresponding SU header words. Also additional header words like offset are set by DENISE. This format thus facilitates a further visualization and processing of the synthetic seismograms. Note, however, that SU cannot handle sampling rates smaller than 1.0e-6 seconds and the number of samples is limited to about 32.000. In such cases, you should increase the sampling rate by increasing NDT. If this is impossible (for example because the Nyquist criterion is violated) you must choose a different output format (ASCII or binary). File endings will be added to SEIS\_FILE automatically.
\section{Q-approximation}
......
......@@ -59,8 +59,7 @@
"Seismograms" : "comment",
"SEIS_FORMAT" : "1",
"SEIS_FILE_VX" : "su/DENISE_x.su",
"SEIS_FILE_VY" : "su/DENISE_y.su",
"SEIS_FILE" : "su/DENISE",
"General inversion parameters" : "comment",
......
......@@ -61,12 +61,7 @@
"Seismograms" : "comment",
"SEIS_FORMAT" : "1",
"SEIS_FILE_VX" : "su/DENISE_x.su",
"SEIS_FILE_VY" : "su/DENISE_y.su",
"SEIS_FILE_CURL" : "su/DENISE_rot.su",
"SEIS_FILE_DIV" : "su/DENISE_div.su",
"SEIS_FILE_P" : "su/DENISE_p.su",
"SEIS_FILE" : "su/DENISE",
"General inversion parameters" : "comment",
"INVMAT1" : "1",
......
......@@ -68,11 +68,7 @@
"Seismograms" : "comment",
"NDT" : "1",
"SEIS_FORMAT" : "1",
"SEIS_FILE_VX" : "su/DENISE_x.su",
"SEIS_FILE_VY" : "su/DENISE_y.su",
"SEIS_FILE_CURL" : "su/DENISE_rot.su",
"SEIS_FILE_DIV" : "su/DENISE_div.su",
"SEIS_FILE_P" : "su/DENISE_p.su",
"SEIS_FILE" : "su/DENISE",
"Q-approximation" : "comment",
"L" : "0",
......
......@@ -61,12 +61,7 @@
"Seismograms" : "comment",
"SEIS_FORMAT" : "1",
"SEIS_FILE_VX" : "su/DENISE_x.su",
"SEIS_FILE_VY" : "su/DENISE_y.su",
"SEIS_FILE_CURL" : "su/DENISE_rot.su",
"SEIS_FILE_DIV" : "su/DENISE_div.su",
"SEIS_FILE_P" : "su/DENISE_p.su",
"SEIS_FILE" : "su/DENISE",
"General inversion parameters" : "comment",
"ITERMAX" : "10",
......
......@@ -68,11 +68,7 @@
"Seismograms" : "comment",
"NDT" : "1",
"SEIS_FORMAT" : "1",
"SEIS_FILE_VX" : "su/DENISE_x.su",
"SEIS_FILE_VY" : "su/DENISE_y.su",
"SEIS_FILE_CURL" : "su/DENISE_rot.su",
"SEIS_FILE_DIV" : "su/DENISE_div.su",
"SEIS_FILE_P" : "su/DENISE_p.su",
"SEIS_FILE" : "su/DENISE",
"Q-approximation" : "comment",
"L" : "0",
......
......@@ -67,8 +67,7 @@
"Seismograms" : "comment",
"NDT" : "1",
"SEIS_FORMAT" : "1",
"SEIS_FILE_VX" : "su/measured_data/toy_example_vx.su",
"SEIS_FILE_VY" : "su/measured_data/toy_example_vy.su",
"SEIS_FILE" : "su/measured_data/toy_example",
"Q-approximation" : "comment",
"L" : "3",
......
......@@ -70,10 +70,7 @@
"Seismograms" : "comment",
"NDT" : "1",
"SEIS_FORMAT" : "1",
"SEIS_FILE_P" : "su/measured_data/toy_example_p.su",
"SEIS_FILE_VX" : "su/measured_data/toy_example_vx.su",
"SEIS_FILE_VY" : "su/measured_data/toy_example_vy.su",
"SEIS_FILE_VZ" : "su/measured_data/toy_example_vz.su",
"SEIS_FILE" : "su/measured_data/toy_example",
"Q-approximation" : "comment",
"L" : "0",
......
......@@ -64,8 +64,7 @@
"Seismograms" : "comment",
"NDT" : "15",
"SEIS_FORMAT" : "1",
"SEIS_FILE_VX" : "su/toy_example/toy_example_vx.su",
"SEIS_FILE_VY" : "su/toy_example/toy_example_vy.su",
"SEIS_FILE" : "su/toy_example/toy_example",
"Q-approximation" : "comment",
"L" : "3",
......
......@@ -70,10 +70,7 @@
"Seismograms" : "comment",
"NDT" : "1",
"SEIS_FORMAT" : "1",
"SEIS_FILE_P" : "su/toy_example/toy_example_p.su",
"SEIS_FILE_VX" : "su/toy_example/toy_example_vx.su",
"SEIS_FILE_VY" : "su/toy_example/toy_example_vy.su",
"SEIS_FILE_VZ" : "su/toy_example/toy_example_vz.su",
"SEIS_FILE" : "su/toy_example/toy_example",
"Q-approximation" : "comment",
"L" : "0",
......
......@@ -64,9 +64,7 @@
"Seismograms" : "comment",
"NDT" : "1",
"SEIS_FORMAT" : "1",
"SEIS_FILE_VX" : "su/measured_data/toy_example_ac_vx.su",
"SEIS_FILE_VY" : "su/measured_data/toy_example_ac_vy.su",
"SEIS_FILE_P" : "su/measured_data/toy_example_ac_p.su",
"SEIS_FILE" : "su/measured_data/toy_example_ac",
"Q-approximation" : "comment",
"L" : "0",
......
......@@ -64,9 +64,7 @@
"Seismograms" : "comment",
"NDT" : "1",
"SEIS_FORMAT" : "1",
"SEIS_FILE_VX" : "su/toy_example/toy_example_ac_vx.su",
"SEIS_FILE_VY" : "su/toy_example/toy_example_ac_vy.su",
"SEIS_FILE_P" : "su/toy_example/toy_example_ac_p.su",
"SEIS_FILE" : "su/toy_example/toy_example_ac",
"Q-approximation" : "comment",
"L" : "0",
......
......@@ -14,16 +14,6 @@ make denise MODEL=../genmod/toy_example_true.c
#lamboot
mpirun -np 4 nice -19 ../bin/denise in_and_out/toy_example/toy_example_FW.json | tee in_and_out/toy_example/toy_example_FW.out
# the forward modeled data have to be renamed for the inversion
for (( i=1; i <= 5; i++ )) ; do
mv su/measured_data/toy_example_vx.su.shot${i}.it1 su/measured_data/toy_example_x.su.shot${i}
mv su/measured_data/toy_example_vy.su.shot${i}.it1 su/measured_data/toy_example_y.su.shot${i}
done
###############################################################
# running the inversion #
###############################################################
......
......@@ -14,12 +14,6 @@ make denise MODEL=../genmod/toy_example_true.c MODEL_EL=../genmod/toy_example_el
#lamboot
mpirun -np 4 ../bin/denise in_and_out/toy_example/toy_example_FW_SH.json | tee in_and_out/toy_example/toy_example_FW_SH.out
# the forward modeled data have to be renamed for the inversion
for (( i=1; i <= 5; i++ )) ; do
mv su/measured_data/toy_example_vz.su.shot${i}.it1 su/measured_data/toy_example_z.su.shot${i}
done
###############################################################
# running the inversion #
......
......@@ -17,15 +17,6 @@ make denise MODEL_AC=../genmod/toy_example_ac_true.c
# starting DENISE for forward modeling
mpirun -np 4 nice -19 ../bin/denise in_and_out/toy_example/toy_example_ac_FW.json | tee in_and_out/toy_example/toy_example_ac_FW.out
# mpirun -np 4 xterm -e gdb --args ../bin/denise in_and_out/toy_example/toy_example_ac_FW.json | tee in_and_out/toy_example/toy_example_ac_FW.out
# the forward modeled data have to be renamed for the inversion
for (( i=1; i <= 5; i++ )) ; do
mv su/measured_data/toy_example_ac_p.su.shot${i}.it1 su/measured_data/toy_example_ac_p.su.shot${i}
mv su/measured_data/toy_example_ac_vx.su.shot${i}.it1 su/measured_data/toy_example_ac_x.su.shot${i}
mv su/measured_data/toy_example_ac_vy.su.shot${i}.it1 su/measured_data/toy_example_ac_y.su.shot${i}
done
###############################################################
# running the inversion #
......
......@@ -110,7 +110,6 @@ DENISE= \
max_grad.c \
note.c \
norm.c \
outseis.c \
outseis_vector.c \
outseis_glob.c \
catseis.c \
......@@ -127,7 +126,6 @@ DENISE= \
rd_sour.c \
read_workflow.c \
apply_workflow.c \
saveseis.c \
saveseis_glob.c \
sources.c \
solvelin.c \
......
......@@ -85,6 +85,7 @@ void apply_workflow(float ** workflow,int workflow_lines,char workflow_header[ST
}
}
/* Abort criterium */
PRO=workflow[WORKFLOW_STAGE][5];
/* Frequency filtering */
......@@ -100,6 +101,7 @@ void apply_workflow(float ** workflow,int workflow_lines,char workflow_header[ST
} else {
if(MYID==0&&(workflow[WORKFLOW_STAGE][6]>0))printf("\n TIME_FILT cannot be activated due to it is not activated in the JSON File \n");
}
/* Change of wavetype */
if(wavetype_start!=3&&(WAVETYPE!=workflow[WORKFLOW_STAGE][8])){
if(MYID==0)printf("\n Sorry, change of WAVETYPE with workflow only possible if WAVETYPE==3 in *.json");
......@@ -118,6 +120,9 @@ void apply_workflow(float ** workflow,int workflow_lines,char workflow_header[ST
JOINT_INVERSION_PSV_SH_ALPHA_RHO=workflow[WORKFLOW_STAGE][10];
/* Approx. Hessian */
if(EPRECOND==0 && workflow[WORKFLOW_STAGE][11]!=0){
if(MYID==0) printf(" WARNING: EPRECOND have to be set >0 in JSON (if so, ignore this message)");
}
EPRECOND=workflow[WORKFLOW_STAGE][11];
EPSILON_WE=workflow[WORKFLOW_STAGE][12];
......
......@@ -39,8 +39,7 @@ void exchange_par(void){
extern float TSNAP1, TSNAP2, TSNAPINC, REFREC[4];
extern char MFILE[STRING_SIZE], SIGNAL_FILE[STRING_SIZE],SIGNAL_FILE_SH[STRING_SIZE], LOG_FILE[STRING_SIZE];
extern char SNAP_FILE[STRING_SIZE], SOURCE_FILE[STRING_SIZE], REC_FILE[STRING_SIZE];
extern char SEIS_FILE_VX[STRING_SIZE], SEIS_FILE_VY[STRING_SIZE];
extern char SEIS_FILE_CURL[STRING_SIZE], SEIS_FILE_DIV[STRING_SIZE], SEIS_FILE_P[STRING_SIZE];
extern char SEIS_FILE[STRING_SIZE];
extern char JACOBIAN[STRING_SIZE], DATA_DIR[STRING_SIZE], INV_MODELFILE[STRING_SIZE], FREQ_FILE[STRING_SIZE];
extern int RUN_MULTIPLE_SHOTS, TAPERLENGTH, INVTYPE;
extern int NPROC, NPROCX, NPROCY, MYID, IDX, IDY;
......@@ -367,11 +366,7 @@ void exchange_par(void){
MPI_Bcast(&MFILE,STRING_SIZE,MPI_CHAR,0,MPI_COMM_WORLD);
MPI_Bcast(&SNAP_FILE,STRING_SIZE,MPI_CHAR,0,MPI_COMM_WORLD);
MPI_Bcast(&REC_FILE,STRING_SIZE,MPI_CHAR,0,MPI_COMM_WORLD);
MPI_Bcast(&SEIS_FILE_VX,STRING_SIZE,MPI_CHAR,0,MPI_COMM_WORLD);
MPI_Bcast(&SEIS_FILE_VY,STRING_SIZE,MPI_CHAR,0,MPI_COMM_WORLD);
MPI_Bcast(&SEIS_FILE_CURL,STRING_SIZE,MPI_CHAR,0,MPI_COMM_WORLD);
MPI_Bcast(&SEIS_FILE_DIV,STRING_SIZE,MPI_CHAR,0,MPI_COMM_WORLD);
MPI_Bcast(&SEIS_FILE_P,STRING_SIZE,MPI_CHAR,0,MPI_COMM_WORLD);
MPI_Bcast(&SEIS_FILE,STRING_SIZE,MPI_CHAR,0,MPI_COMM_WORLD);
MPI_Bcast(&LOG_FILE,STRING_SIZE,MPI_CHAR,0,MPI_COMM_WORLD);
MPI_Bcast(&SIGNAL_FILE,STRING_SIZE,MPI_CHAR,0,MPI_COMM_WORLD);
MPI_Bcast(&SIGNAL_FILE_SH,STRING_SIZE,MPI_CHAR,0,MPI_COMM_WORLD);
......
......@@ -170,9 +170,6 @@ void mergemod(char modfile[STRING_SIZE], int format);
void note(FILE *fp);
void outseis(FILE *fp, FILE *fpdata, int comp, float **section,
int **recpos, int **recpos_loc, int ntr, float ** srcpos_loc,
int nsrc, int ns, int seis_form, int ishot, int sws);
void outseis_glob(FILE *fp, FILE *fpdata, int comp, float **section,
int **recpos, int **recpos_loc, int ntr, float ** srcpos_loc,
......@@ -235,10 +232,6 @@ int **receiver(FILE *fp, int *ntr);
void save_checkpoint(int nx1, int nx2, int ny1, int ny2,
float ** vx, float ** vy, float ** sxx, float ** syy, float ** sxy);
void saveseis(FILE *fp, float **sectionvx, float **sectionvy,float **sectionp,
float **sectioncurl, float **sectiondiv, int **recpos, int **recpos_loc,
int ntr, float ** srcpos_loc, int nsrc,int ns, int iter);
void saveseis_glob(FILE *fp, float **sectionvx, float **sectionvy,float **sectionvz,float **sectionp,float **sectioncurl, float **sectiondiv, int **recpos, int **recpos_loc,int ntr, float ** srcpos, int ishot, int ns, int iter, int type_switch);
void snap(FILE *fp,int nt, int nsnap, float **vx, float **vy, float **sxx,
......
......@@ -19,8 +19,8 @@ int NX, NY, NT, QUELLART,QUELLART_SH, QUELLTYP, SNAP, SNAP_FORMAT, REC_ARRAY,
int L, BOUNDARY, DC, DRX, NXG, NYG, IDX, IDY, FDORDER, MAXRELERROR;
char SNAP_FILE[STRING_SIZE], SOURCE_FILE[STRING_SIZE], SIGNAL_FILE[STRING_SIZE], SIGNAL_FILE_SH[STRING_SIZE];
char MFILE[STRING_SIZE], REC_FILE[STRING_SIZE];
char SEIS_FILE_VX[STRING_SIZE], SEIS_FILE_VY[STRING_SIZE], SEIS_FILE_VZ[STRING_SIZE], LOG_FILE[STRING_SIZE];
char SEIS_FILE_CURL[STRING_SIZE], SEIS_FILE_DIV[STRING_SIZE], SEIS_FILE_P[STRING_SIZE];
char LOG_FILE[STRING_SIZE];
char SEIS_FILE[STRING_SIZE];
FILE *FP;
int VERBOSE;
......
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