[cig-commits] r18862 - seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform

rmodrak at geodynamics.org rmodrak at geodynamics.org
Tue Aug 30 23:17:27 PDT 2011


Author: rmodrak
Date: 2011-08-30 23:17:27 -0700 (Tue, 30 Aug 2011)
New Revision: 18862

Added:
   seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/clean
   seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/replicate
Modified:
   seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/Par_file_noise_1
   seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/Par_file_noise_2
   seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/Par_file_noise_3
   seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/adj_cc.f90
   seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/process.sh
Log:
Changes EXAMPLES/noise_uniform for improved consistency with the other test cases

Modified: seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/Par_file_noise_1
===================================================================
--- seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/Par_file_noise_1	2011-08-29 21:40:55 UTC (rev 18861)
+++ seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/Par_file_noise_1	2011-08-31 06:17:27 UTC (rev 18862)
@@ -2,9 +2,9 @@
 title                           = Noise_2D
 
 # forward or adjoint simulation
-SIMULATION_TYPE                 = 1   # 1 = forward, 2 = adjoint + kernels
-NOISE_TOMOGRAPHY                = 1   # 0 = earthquake simulation, 1/2/3 = noise simulation
-SAVE_FORWARD                    = .false.  # save the last frame, needed for adjoint simulation
+SIMULATION_TYPE                 = 1
+NOISE_TOMOGRAPHY                = 1
+SAVE_FORWARD                    = .false.
 
 # parameters concerning partitioning
 nproc                           = 1              # number of processes
@@ -98,7 +98,7 @@
 # PARAMETERS FOR INTERNAL MESHING
 
 # file containing interfaces for internal mesh
-interfacesfile                  = ../EXAMPLES/noise_uniform/uniform.dat
+interfacesfile                  = uniform.dat
 
 # geometry of the model (origin lower-left corner = 0,0) and mesh description
 xmin                            = 0.d0           # abscissa of left side of the model

Modified: seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/Par_file_noise_2
===================================================================
--- seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/Par_file_noise_2	2011-08-29 21:40:55 UTC (rev 18861)
+++ seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/Par_file_noise_2	2011-08-31 06:17:27 UTC (rev 18862)
@@ -2,9 +2,9 @@
 title                           = Noise_2D
 
 # forward or adjoint simulation
-SIMULATION_TYPE                 = 1   # 1 = forward, 2 = adjoint + kernels
-NOISE_TOMOGRAPHY                = 2   # 0 = earthquake simulation, 1/2/3 = noise simulation
-SAVE_FORWARD                    = .true.  # save the last frame, needed for adjoint simulation
+SIMULATION_TYPE                 = 1
+NOISE_TOMOGRAPHY                = 2
+SAVE_FORWARD                    = .true.
 
 # parameters concerning partitioning
 nproc                           = 1              # number of processes
@@ -98,7 +98,7 @@
 # PARAMETERS FOR INTERNAL MESHING
 
 # file containing interfaces for internal mesh
-interfacesfile                  = ../EXAMPLES/noise_uniform/uniform.dat
+interfacesfile                  = uniform.dat
 
 # geometry of the model (origin lower-left corner = 0,0) and mesh description
 xmin                            = 0.d0           # abscissa of left side of the model

Modified: seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/Par_file_noise_3
===================================================================
--- seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/Par_file_noise_3	2011-08-29 21:40:55 UTC (rev 18861)
+++ seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/Par_file_noise_3	2011-08-31 06:17:27 UTC (rev 18862)
@@ -2,9 +2,9 @@
 title                           = Noise_2D
 
 # forward or adjoint simulation
-SIMULATION_TYPE                 = 2   # 1 = forward, 2 = adjoint + kernels
-NOISE_TOMOGRAPHY                = 3   # 0 = earthquake simulation, 1/2/3 = noise simulation
-SAVE_FORWARD                    = .false.  # save the last frame, needed for adjoint simulation
+SIMULATION_TYPE                 = 2
+NOISE_TOMOGRAPHY                = 3
+SAVE_FORWARD                    = .false.
 
 # parameters concerning partitioning
 nproc                           = 1              # number of processes
@@ -98,7 +98,7 @@
 # PARAMETERS FOR INTERNAL MESHING
 
 # file containing interfaces for internal mesh
-interfacesfile                  = ../EXAMPLES/noise_uniform/uniform.dat
+interfacesfile                  = uniform.dat
 
 # geometry of the model (origin lower-left corner = 0,0) and mesh description
 xmin                            = 0.d0           # abscissa of left side of the model

Modified: seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/adj_cc.f90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/adj_cc.f90	2011-08-29 21:40:55 UTC (rev 18861)
+++ seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/adj_cc.f90	2011-08-31 06:17:27 UTC (rev 18862)
@@ -5,19 +5,21 @@
 ! flags
 logical, parameter :: use_filtering = .true.
 logical, parameter :: use_positive_branch = .false.
+logical, parameter :: use_custom_window = .false.
+logical, parameter :: reverse = .true.
+integer, parameter :: differentiate = 1
 
 ! FILTERING PARAMETERS
 real  freq_low,freq_high
-data  freq_low  / 1d-2 /
-data  freq_high / 1d1  /
+data  freq_low  / 1.d-2 /
+data  freq_high / 1.5d1  /
 
-! WINDOW PARAMETERS
+! CUSTOM WINDOW PARAMETERS
 real :: w_delay, w_width, w_tukey
-data w_delay / 1.25 /
-data w_width / 1.00 /
+data w_delay / 1.d0 /
+data w_width / 1.d2 /
 data w_tukey / 0.4 /
-!see explanation of 
-!window parameters, below
+!see explanation below
 
 ! time variables
 integer :: it, nt, nthalf
@@ -39,10 +41,8 @@
 real :: alpha, beta
 
 
+! EXPLANATION OF CUSTOM WINDOW PARAMETERS
 
-
-! EXPLANATION OF WINDOW PARAMETERS
-
 !To select the desired branch of the cross-correlogram, we employ a Tukey window.  A Tukey taper is just a variant of a cosine taper.  We use three control parameters
 
 !W_DELAY controls the time offset of the window
@@ -57,6 +57,7 @@
 
 
 
+
 ! Get file info
 call getarg(1,file_in)
 call getlen(file_in,nt)
@@ -88,16 +89,20 @@
 !!!!!!!!!! READ INPUT !!!!!!!!!!!!!!!!!!!!
 open(unit=1001,file=trim(file_in),status='old',action='read')
 do it = 1, nt
-    read(1001,*) t(it), seismo_1(nt-it+1)
+    if (.not. reverse) read(1001,*) t(it), seismo_1(it)
+    if (reverse) read(1001,*) t(it), seismo_1(nt-it+1)
 end do
 close(1001)
 
 
 !!!!!!!!!! DIFFERENTIATE !!!!!!!!!!!!!!!!!!!
-seismo_1(1) = 0.0
-seismo_1(nt) = 0.0
+seismo_2(1) = 0.0
+seismo_2(nt) = 0.0
 do it = 2, nt-1
-    seismo_2(it) = ( seismo_2(it+1) - seismo_1(it-1) ) / (2*dt)
+    if (differentiate == 0) seismo_2(it) = seismo_1(it)
+    if (differentiate == 1) seismo_2(it) = ( seismo_1(it+1) - seismo_1(it-1) ) / (2*dt)
+    if (differentiate == 2) seismo_2(it) = ( seismo_1(it+1) - 2 * seismo_1(it) + seismo_1(it-1) ) / dt**2
+
 end do
 
 
@@ -125,8 +130,13 @@
 
 
 !!!!!!!!!! WINDOW !!!!!!!!!!!!!!!!!!!!
-it_off = floor(w_delay/dt)
-it_wdt = 2*floor(w_width/(2.*dt))
+if (use_custom_window) then
+  it_off = floor(w_delay/dt)
+  it_wdt = 2*floor(w_width/(2.*dt))
+else
+  it_off = int(nthalf/2)
+  it_wdt = int(nthalf) + 1
+endif
 alpha = w_tukey
 
 if (use_positive_branch) then
@@ -179,7 +189,7 @@
 write(*,*) 'Writing to file: '//trim(file_in)//'.adj'
 
 do it = 1,nt
-    write(1002,*), t(it), seismo_adj(it)
+    write(1002,'(f16.12,1pe18.8)'), t(it), seismo_adj(it)
 end do
 close(1002)
 

Added: seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/clean
===================================================================
--- seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/clean	                        (rev 0)
+++ seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/clean	2011-08-31 06:17:27 UTC (rev 18862)
@@ -0,0 +1,13 @@
+#!/bin/bash
+#
+# runs all three noise tomography simulations
+#
+
+echo "Cleaning up."
+
+rm -rf DATA SEM NOISE_TOMOGRAPHY OUTPUT_FILES OUTPUT_ALL &> /dev/null
+rm xmeshfem2D xspecfem2D &> /dev/null
+rm adj_run &> /dev/null
+rm log.* &> /dev/null
+
+


Property changes on: seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/clean
___________________________________________________________________
Name: svn:executable
   + *

Modified: seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/process.sh
===================================================================
--- seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/process.sh	2011-08-29 21:40:55 UTC (rev 18861)
+++ seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/process.sh	2011-08-31 06:17:27 UTC (rev 18862)
@@ -1,31 +1,27 @@
 #!/bin/sh
 
-USAGE="USAGE:  submit  par_file_directory"
-if [ $# -eq 0 ]; then PAR_DIR=uniform; fi
-if [ $# -eq 1 ]; then PAR_DIR=$1; fi
-if [ $# -ne 0 ] && [ $# -ne 1 ]; then echo "$USAGE"; exit 1; fi
+RUN_DIR=$PWD
 
-
-PAR_DIR_FULL=$PWD/$PAR_DIR
-RUN_DIR=../..
-cd $RUN_DIR
-
-
 # prepare directories
-rm -rf   SEM NOISE_TOMOGRAPHY OUTPUT_FILES OUTPUT_ALL
-mkdir -p SEM NOISE_TOMOGRAPHY OUTPUT_FILES OUTPUT_ALL
+rm -rf   DATA SEM NOISE_TOMOGRAPHY OUTPUT_FILES OUTPUT_ALL
+mkdir -p DATA SEM NOISE_TOMOGRAPHY OUTPUT_FILES OUTPUT_ALL
 
 
 # prepare files
-cp $PAR_DIR_FULL/SOURCE_noise           DATA/SOURCE
-cp $PAR_DIR_FULL/STATIONS_target_noise  DATA/STATIONS_target
-#cp $PAR_DIR_FULL/S_squared              NOISE_TOMOGRAPHY
-echo 1 >                                NOISE_TOMOGRAPHY/irec_master
+cp SOURCE_noise           DATA/SOURCE
+cp STATIONS_target_noise  DATA/STATIONS_target
+cp S_squared              NOISE_TOMOGRAPHY
+cp uniform.dat            DATA/
+echo 1 >                  NOISE_TOMOGRAPHY/irec_master
+cd ../..
+make
+cd $RUN_DIR
+ln -s ../../bin/xmeshfem2D .
+ln -s ../../bin/xspecfem2D .
 
-
 #simulation 1
-cp $PAR_DIR_FULL/Par_file_noise_1  DATA/Par_file
-make; bin/xmeshfem2D; bin/xspecfem2D
+cp Par_file_noise_1  DATA/Par_file
+./xmeshfem2D; ./xspecfem2D
 mkdir OUTPUT_ALL/step_1
 mv OUTPUT_FILES/image*  OUTPUT_ALL/step_1
 mv OUTPUT_FILES/*.semd  OUTPUT_ALL/step_1
@@ -33,14 +29,14 @@
 
 
 #simulation 2
-cp $PAR_DIR_FULL/Par_file_noise_2  DATA/Par_file
-bin/xmeshfem2D; bin/xspecfem2D
+cp Par_file_noise_2  DATA/Par_file
+./xmeshfem2D; ./xspecfem2D
 mkdir OUTPUT_ALL/step_2
 
-ADJ_CODE=$PAR_DIR_FULL/adj_cc.f90
-gfortran $ADJ_CODE -o adj_cc
+ADJ_CODE=adj_cc.f90
+gfortran $ADJ_CODE -o adj_run
 cp OUTPUT_FILES/*.semd  SEM
-./adj_cc SEM/S0003.AA.BXY.semd
+./adj_run SEM/S0003.AA.BXY.semd
 
 cd SEM
 rename '.semd' '' *.adj
@@ -57,8 +53,8 @@
 
 
 #simulation 3
-cp $PAR_DIR_FULL/Par_file_noise_3  DATA/Par_file
-bin/xmeshfem2D; bin/xspecfem2D
+cp Par_file_noise_3  DATA/Par_file
+./xmeshfem2D; ./xspecfem2D
 mkdir OUTPUT_ALL/step_3
 mv OUTPUT_FILES/image*  OUTPUT_ALL/step_3
 mv OUTPUT_FILES/*.semd  OUTPUT_ALL/step_3

Added: seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/replicate
===================================================================
--- seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/replicate	                        (rev 0)
+++ seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/replicate	2011-08-31 06:17:27 UTC (rev 18862)
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+if [ $# -ne 2 ]; then echo "Usage:  replicate  par_file  dir"; exit 1; fi
+
+if [ ! -e $1 ];  then echo "File not found: $1"; exit 1; fi
+if [ ! -d $2 ];  then echo "Directory not found: $2"; exit 1; fi
+
+FILE=$1
+DIR=$2
+
+FILE_BAK=$DIR/replicate.bak
+cp $FILE $FILE_BAK
+cd $DIR
+
+Line1=`grep ^SIMULATION_TYPE $FILE_BAK`
+Line2=`grep ^NOISE_TOMOGRAPHY $FILE_BAK`
+Line3=`grep ^SAVE_FORWARD $FILE_BAK`
+
+if [ `echo $Line1 | wc -l` -ne 1 ]; then echo "Error reading SIMULATION_TYPE."; exit 1; fi
+if [ `echo $Line2 | wc -l` -ne 1 ]; then echo "Error reading NOISE_TOMOGRAPHY."; exit 1; fi
+if [ `echo $Line3 | wc -l` -ne 1 ]; then echo "Error reading SAVE_FORWARD."; exit 1; fi
+
+
+#PAR_FILE_NOISE_1
+cp $FILE_BAK Par_file_noise_1
+sed -i -e "s:${Line1}:SIMULATION_TYPE                 = 1:"  Par_file_noise_1
+sed -i -e "s:${Line2}:NOISE_TOMOGRAPHY                = 1:"  Par_file_noise_1
+sed -i -e "s:${Line3}:SAVE_FORWARD                    = .false.:"  Par_file_noise_1
+
+#PAR_FILE_NOISE_2
+cp $FILE_BAK Par_file_noise_2
+sed -i -e "s:${Line1}:SIMULATION_TYPE                 = 1:"  Par_file_noise_2
+sed -i -e "s:${Line2}:NOISE_TOMOGRAPHY                = 2:"  Par_file_noise_2
+sed -i -e "s:${Line3}:SAVE_FORWARD                    = .true.:"  Par_file_noise_2
+
+#PAR_FILE_NOISE_3
+cp $FILE_BAK Par_file_noise_3
+sed -i -e "s:${Line1}:SIMULATION_TYPE                 = 2:"  Par_file_noise_3
+sed -i -e "s:${Line2}:NOISE_TOMOGRAPHY                = 3:"  Par_file_noise_3
+sed -i -e "s:${Line3}:SAVE_FORWARD                    = .false.:"  Par_file_noise_3
+


Property changes on: seismo/2D/SPECFEM2D/trunk/EXAMPLES/noise_uniform/replicate
___________________________________________________________________
Name: svn:executable
   + *



More information about the CIG-COMMITS mailing list