Commit 2264d7b7 authored by tilman.metz's avatar tilman.metz

added rheinstetten inversion input files

parent 8e5963d0
/*
* Model defined by flnode file.
*/
#include "fd.h"
void model(st_model *mod){
/*--------------------------------------------------------------------------*/
/* extern variables */
extern int NX, NY,NZ, NXG, NYG, NZG, POS[4], MYID;
extern float DZ;
extern FILE *FP;
/* local variables */
float muv, piv, vp, vs, rhov;
int i, j,k, ii, jj,kk, l;
FILE *flfile;
int nodes;
char cline[256];
float *fldepth, *flrho, *flvp, *flvs;
nodes=7;
fldepth=vector(1,nodes);
flrho=vector(1,nodes);
flvp=vector(1,nodes);
flvs=vector(1,nodes);
/*read FL nodes from File*/
flfile=fopen("flnodes/flnodes.rheinstetten_start","r");
if (flfile==NULL) err(" FL-file could not be opened !");
for (l=1;l<=nodes;l++){
fgets(cline,255,flfile);
if (cline[0]!='#'){
sscanf(cline,"%f%f%f%f",&fldepth[l], &flrho[l], &flvp[l], &flvs[l]);
}
else l=l-1;
}
if(MYID==0){
fprintf(FP," ------------------------------------------------------------------ \n\n");
fprintf(FP," Information of FL nodes: \n\n");
fprintf(FP," \t depth \t rho \t vp \t vs \n\n");
for (l=1;l<=nodes;l++){
fprintf(FP," \t %f \t %f \t %f \t %f\n\n",fldepth[l],flrho[l],flvp[l],flvs[l]);
}
fprintf(FP," ------------------------------------------------------------------ \n\n");
}
/*-----------------------------------------------------------------------*/
/*-----------------------------------------------------------------------*/
/* loop over global grid */
for (i=1;i<=NXG;i++){
for (k=1; k<=NZG; k++) {
for (l=1;l<nodes;l++){
if (fldepth[l]==fldepth[l+1]){
if ((i==1) && (k==1) && (MYID==0)){
fprintf(FP,"depth: %f m: double node\n",fldepth[l]);}}
else{
for (j=(int)(fldepth[l]/DZ)+1;j<=(int)(fldepth[l+1]/DZ);j++){
vp=0.0; vs=0.0; rhov=0.0;
vp=(DZ*(j-1)-fldepth[l])*(flvp[l+1]-flvp[l])/(fldepth[l+1]-fldepth[l])+flvp[l];
vp=vp*1000.0;
vs=(DZ*(j-1)-fldepth[l])*(flvs[l+1]-flvs[l])/(fldepth[l+1]-fldepth[l])+flvs[l];
vs=vs*1000.0;
rhov=(DZ*(j-1)-fldepth[l])*(flrho[l+1]-flrho[l])/(fldepth[l+1]-fldepth[l])+flrho[l];
rhov=rhov*1000.0;
muv=vs*vs*rhov;
piv=vp*vp*rhov;
/* only the PE which belongs to the current global gridpoint
is saving model parameters in his local arrays */
if ((POS[1]==((i-1)/NX)) &&
(POS[2]==((j-1)/NY)) &&
(POS[3]==((k-1)/NZ))) {
ii=i-POS[1]*NX;
jj=j-POS[2]*NY;
kk=k-POS[3]*NZ;
mod->u[jj][ii][kk]=muv;
mod->rho[jj][ii][kk]=rhov;
mod->pi[jj][ii][kk]=piv;
}
}
}
}
for (j=(int)(fldepth[nodes]/DZ)+1;j<=NYG;j++){
vp=0.0; vs=0.0; rhov=0.0;
vp=flvp[nodes]*1000.0; vs=flvs[nodes]*1000.0; rhov=flrho[nodes]*1000.0;
muv=vs*vs*rhov;
piv=vp*vp*rhov;
/* only the PE which belongs to the current global gridpoint
is saving model parameters in his local arrays */
if ((POS[1]==((i-1)/NX)) &&
(POS[2]==((j-1)/NY)) &&
(POS[3]==((k-1)/NZ))) {
ii=i-POS[1]*NX;
jj=j-POS[2]*NY;
kk=k-POS[3]*NZ;
mod->u[jj][ii][kk]=muv;
mod->rho[jj][ii][kk]=rhov;
mod->pi[jj][ii][kk]=piv;
}
}
}
}
free_vector(fldepth,1,nodes);
free_vector(flrho,1,nodes);
free_vector(flvp,1,nodes);
free_vector(flvs,1,nodes);
}
#FLNODE
#converted by MOCOX V1.2 from final.mod.gremlin
# 0.0000 1 0 6371.0000
# depth rho vp vs
# in m in g/cm^3 in km/s in km/s
#3
0.0000 1.7030 0.3569 0.0917
9.0000 2.0010 1.7450 0.2751
9.0000 2.0010 1.7450 0.2751
......@@ -35,7 +35,6 @@
"READMOD" : "0",
"MFILE" : "model/rheinstetten",
"Q-approximation" : "comment",
"L" : "0",
......@@ -54,7 +53,7 @@
"Receiver" : "comment",
"SEISMO" : "1",
"READREC" : "2",
"READREC" : "2",
"Receiver array" : "comment",
"REC_ARRAY" : "1",
......
{
"MODELING PARAMETERS" : "comment",
"Domain Decomposition" : "comment",
"NPROCX" : "2",
"NPROCY" : "2",
"NPROCZ" : "2",
"3-D Grid" : "comment",
"NX" : "220",
"NY" : "100",
"NZ" : "220",
"DX" : "0.15",
"DY" : "0.15",
"DZ" : "0.15",
"FD order" : "comment",
"FDORDER" : "4",
"FDCOEFF" : "2",
"Time Stepping" : "comment",
"TIME" : "0.6",
"DT" : "4.0e-05",
"Source" : "comment",
"SOURCE_SHAPE" : "4",
"SOURCE_TYPE" : "4",
"SRCREC" : "1",
"SOURCE_FILE" : "./sources/sources_rheinstetten.dat",
"RUN_MULTIPLE_SHOTS" : "1",
"Model" : "comment",
"READMOD" : "0",
"MFILE" : "model/rheinstetten",
"Q-approximation" : "comment",
"L" : "0",
"Free Surface" : "comment",
"FREE_SURF" : "1",
"Absorbing Boundary" : "comment",
"ABS_TYPE" : "1",
"FW" : "10",
"VPPML" : "1700.0",
"FPML" : "31.25",
"Snapshots" : "comment",
"SNAP" : "0",
"Receiver" : "comment",
"SEISMO" : "1",
"READREC" : "2",
"Receiver array" : "comment",
"REC_ARRAY" : "1",
"REC_ARRAY_DEPTH" : "0.15",
"REC_ARRAY_DIST" : "30.0",
"DRX" : "10",
"DRZ" : "10",
"Seismograms" : "comment",
"NDT" : "1",
"SEIS_FORMAT" : "1",
"SEIS_FILE" : "./su/cal_rheinstetten",
"Method" : "comment",
"METHOD" : "1",
"INVERSION PARAMETERS" : "comment",
"In- and Output Files" : "comment",
"GRAD_FILE" : "./grad/rheinstetten_grad",
"MOD_OUT_FILE" : "./model/rheinstetten",
"SEIS_OBS_FILE" : "./su_obs/obs_rheinstetten",
"EXTOBS" : "0",
"INV_FILE" : "./in_and_out/workflow_rheinstetten.dat",
"General" : "comment",
"ITMIN, ITMAX" : "1 , 60",
"FILT" : "1",
"NFMAX" : "5",
"TAST" : "100",
"VP0, VS0, RHO0" : "800.0, 150.0, 1850.0",
"WEIGHT_VP,WEIGHT_VS,WEIGHT_RHO" : "1.0, 1.0, 0.0",
"Steplength estimation" : "comment",
"NSHOTS_STEP" : "6",
"TESTSTEP" : "0.02",
"Gradient preconditioning" : "comment",
"DAMPTYPE" : "2",
"Hessian" : "comment",
"HESS" : "0",
"L-BFGS" : "comment",
"LBFGS" : "0"
}
15 15 0.050 1 0.000 0.110 0.0 500.0 5 5.0 10.0 15.0 20.0 25.0
15 15 0.050 1 0.000 0.110 0.0 500.0 5 10.0 15.0 20.0 25.0 30.0
15 15 0.050 1 0.000 0.110 0.0 500.0 5 15.0 25.0 35.0 45.0 55.0
15 15 0.050 1 0.000 0.110 0.0 500.0 5 20.0 30.0 40.0 50.0 60.0
column description
1 Minimum number of iterations for this row of parameter.
2 Maximum number of iterations for this row of parameter.
3 !!not in use!! Switch to the next input line automatically by using this threshold value
4 !!not in use!! MUTE_SEIS: 0 = disabled, 1 = enabled.
5 !!not in use!! Time-windowing: Begin of the time-window which will be taken into account.
6 !!not in use!! Time-windowing: Length of the time-window.
7 !!not in use!! Offset-windowing: Begin of the offset-window which will be taken into account.
8 !!not in use!! Offset-windowing: Length of the offset-window.
9 Number of frequencies
10+ List of frequencies
......@@ -9,6 +9,6 @@ cp model/rheinstetten.rho_it0 model/rheinstetten.rho.true
# invert observed data using homogeneous starting model
#make clean
#make install MODEL=../genmod/rheinstetten_start.c
# mpirun -np 8 nice -19 ../bin/ifos3d ./in_and_out/rheinstetten/ifos3d_rheinstetten.json | tee ./in_and_out/rheinstetten/ifos3D_INV.out
make clean
make install MODEL=../genmod/rheinstetten_elastic_start.c
mpirun -np 8 nice -19 ../bin/ifos3d ./in_and_out/rheinstetten/rheinstetten_INV.json | tee ./in_and_out/rheinstetten/ifos3D_INV.out
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