[cig-commits] r13458 - in seismo/3D/GRD_CMT3D: cmt3d grid3d scripts

liuqy at geodynamics.org liuqy at geodynamics.org
Thu Dec 4 09:22:00 PST 2008


Author: liuqy
Date: 2008-12-04 09:22:00 -0800 (Thu, 04 Dec 2008)
New Revision: 13458

Added:
   seismo/3D/GRD_CMT3D/scripts/cp_syn_all.bash
   seismo/3D/GRD_CMT3D/scripts/prep.bash
Modified:
   seismo/3D/GRD_CMT3D/cmt3d/cmt3d_sub2.f90
   seismo/3D/GRD_CMT3D/grid3d/grid3d_sub2.f90
Log:
Scripts/: Add pre-processing bash scripts
cmt3d/grid3d: Add npts=0 before reading in dsyn to avoid the possibility that rsac1 can not detect if the sac file exists or not.



Modified: seismo/3D/GRD_CMT3D/cmt3d/cmt3d_sub2.f90
===================================================================
--- seismo/3D/GRD_CMT3D/cmt3d/cmt3d_sub2.f90	2008-12-04 02:05:02 UTC (rev 13457)
+++ seismo/3D/GRD_CMT3D/cmt3d/cmt3d_sub2.f90	2008-12-04 17:22:00 UTC (rev 13458)
@@ -303,6 +303,7 @@
     ! read in dsyns
     do i = 1, npar
        dsyn_file = trim(syn_file) // '.' // trim(PAR_NAME(i))
+       npts1=0
        call rsac1(dsyn_file,dsyn_sngl(:,i),npts1,b1,dt1,NDATAMAX,nerr)
        if (nerr /= 0) stop 'Error reading frechet derivative synthetics'
        if (npts1 /= npts2 .or. abs(b1-b) > EPS2 .or. abs(dt1-dt) > EPS5) &

Modified: seismo/3D/GRD_CMT3D/grid3d/grid3d_sub2.f90
===================================================================
--- seismo/3D/GRD_CMT3D/grid3d/grid3d_sub2.f90	2008-12-04 02:05:02 UTC (rev 13457)
+++ seismo/3D/GRD_CMT3D/grid3d/grid3d_sub2.f90	2008-12-04 17:22:00 UTC (rev 13458)
@@ -199,6 +199,7 @@
     ! read synthetics
     do i = 1, NM
        dsyn_file = trim(syn_file)//'.'//trim(PAR_NAME(i))
+       npts2 = 0
        call rsac1(dsyn_file,dsyn(i,:), npts2,b2,dt2,NDATAMAX,nerr)
        if (abs(b-b2)>dt .or. abs(dt-dt2)>EPS5 .or. npts /= npts2) &
             stop 'Error reading dsyn-file'

Added: seismo/3D/GRD_CMT3D/scripts/cp_syn_all.bash
===================================================================
--- seismo/3D/GRD_CMT3D/scripts/cp_syn_all.bash	                        (rev 0)
+++ seismo/3D/GRD_CMT3D/scripts/cp_syn_all.bash	2008-12-04 17:22:00 UTC (rev 13458)
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+# this program copies over the synthetics from wagholi and untar them and set them up for cmt3d and grid3d inversions
+
+if [ $# != 1 ]; then
+  echo "Usage: cp_syn.bash evid-file"; exit
+fi
+
+cluster="lqy@$wag:/net/wagholi/scratch1/lqy/CMT3D_Basin_Adjoint/cmt_mass/"
+
+extra_dir="_rerun"
+
+for evid in `cat $1 `; do 
+  mkdir -p ${evid}${extra_dir}; 
+  cd ${evid}${extra_dir}; mkdir -p syn; mkdir -p backup
+  scp $cluster/${evid}${extra_dir}/* syn/
+  cp syn/CMTSOLUTION .; cp ../event_info/STATIONS .
+  cp ../event_info/MEASUREMENT_WINDOWS_${evid}_T00?_T030_m12 .
+## here check if MEASURE file has the right number of data/syn pairsa
+  mafile="MEASUREMENT_WINDOWS_${evid}_ALL"
+  nma=0
+  rm -f $mafile
+  for freq in 2 3 6; do
+    mfile="MEASUREMENT_WINDOWS_${evid}_T00${freq}_T030_m12"
+    n0=`grep "^[DS]" $mfile | wc | awk '{print $1}'`
+    n1=`echo "$n0 / 2" | bc`
+    n2=`head -1 $mfile`
+    if [ $n1 != $n2 ]; then
+      echo "Number of files inconsistent in $mfile: $n1 and $n2"; exit
+    fi
+## here to modify DATA -> data_T006_T030, SYN -> syn_T006_T030
+    perl -pi -e "s/DATA/data_T00${freq}_T030/g" $mfile
+    perl -pi -e "s/SYN/syn_T00${freq}_T030/g" $mfile
+    perl -pi -e "s/\.T00${freq}_T030//g" $mfile
+    perl -pi -e "s/\.semd\.sac\.m12//g" $mfile
+    awk 'NR > 1 {print $0}' $mfile >> $mafile
+    nm0=`head -n 1 $mfile`
+    nma=`echo $nm0 + $nma | bc ` 
+    rm -f $mfile
+  done
+## here to link cmt3d/grid3d_flexwin
+  ln -s ../../grd_cmt3d/cmt3d/cmt3d_flexwin
+  ln -s ../../grd_cmt3d/grid3d/grid3d_flexwin
+## here to modify INVERSION.PAR GRID3D.PAR for MEASURE file
+  cp ../../grd_cmt3d/cmt3d/INVERSION.PAR .
+  cp ../../grd_cmt3d/grid3d/GRID3D.PAR .
+  perl -pi -e "s/flexwin\.out/$mafile/g" INVERSION.PAR
+  cp INVERSION.PAR INVERSION.PAR.SAVE
+##  make sure you have the right dmoment, ddepth, and dlocation
+  perl -pi -e "s/flexwin\.out/$mafile/g" GRID3D.PAR
+  echo $nma | cat - $mafile > out.tmp; mv out.tmp $mafile 
+## Unzip synthetics
+  cd syn
+  for ext in Mrr Mtt Mpp Mrt Mrp Mtp dep lat lon; do
+    tar xjvf ${evid}_${ext}.tar.bz >/dev/null
+    if [ $? != 0 ]; then
+      echo "Error untaring ... $ext ..."; exit
+    fi
+    mv -f ${evid}_${ext}.tar.bz ../backup
+    rename "s/semd.sac.$ext/$ext/" *.semd.sac.$ext
+  done
+  ls -1 *.Mrr | perl -pi -e 's/\.Mrr//g' -- > file_list
+  xadd_frechet_derivatives  s file_list ../CMTSOLUTION 1.0e22
+  cd ..
+####
+  cd ..; 
+done


Property changes on: seismo/3D/GRD_CMT3D/scripts/cp_syn_all.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/GRD_CMT3D/scripts/prep.bash
===================================================================
--- seismo/3D/GRD_CMT3D/scripts/prep.bash	                        (rev 0)
+++ seismo/3D/GRD_CMT3D/scripts/prep.bash	2008-12-04 17:22:00 UTC (rev 13458)
@@ -0,0 +1,13 @@
+#!/bin/bash 
+
+# this is the program that uses process_data_and_syn.pl to pre-process data and synthetics for cmt3d/grid3d inversions
+
+# add data and syn headers
+../scripts/process_data_and_syn.pl -d data,sac -s syn, -0 -m CMTSOLUTION -a STATIONS -x
+# pad zeros to data and syn and cut accordingly
+../scripts/process_data_and_syn.pl -d data,sac -s syn, -1 -b -26 -x
+
+# filter at different frequency bands
+for freq in 2 3 6; do
+  ../scripts/process-data_and_syn.pl -d data,sac -s syn, -2 -t ${freq}/30 -x
+done


Property changes on: seismo/3D/GRD_CMT3D/scripts/prep.bash
___________________________________________________________________
Name: svn:executable
   + *



More information about the CIG-COMMITS mailing list