[cig-commits] r18112 - in seismo/3D/ADJOINT_TOMO/measure_adj: . PLOTS UTIL UTIL/perl

carltape at geodynamics.org carltape at geodynamics.org
Mon Mar 14 20:40:49 PDT 2011


Author: carltape
Date: 2011-03-14 20:40:49 -0700 (Mon, 14 Mar 2011)
New Revision: 18112

Added:
   seismo/3D/ADJOINT_TOMO/measure_adj/PLOTS/9818433_T006_T030_MPM_CI_m16_iker07_win_adj_TEST.pdf
   seismo/3D/ADJOINT_TOMO/measure_adj/UTIL/
   seismo/3D/ADJOINT_TOMO/measure_adj/UTIL/perl/
   seismo/3D/ADJOINT_TOMO/measure_adj/UTIL/perl/CMT_TOOLS.pm
   seismo/3D/ADJOINT_TOMO/measure_adj/UTIL/perl/DELAZ5.pm
Removed:
   seismo/3D/ADJOINT_TOMO/measure_adj/PLOTS/9818433_T006_T030_MPM_CI_m16_iker07_win_adj.pdf
Modified:
   seismo/3D/ADJOINT_TOMO/measure_adj/README
   seismo/3D/ADJOINT_TOMO/measure_adj/combine_adj_src.pl
   seismo/3D/ADJOINT_TOMO/measure_adj/prepare_adj_src.pl
   seismo/3D/ADJOINT_TOMO/measure_adj/run_mt_measure_adj.csh
   seismo/3D/ADJOINT_TOMO/measure_adj/write_par_file.pl
Log:
added perl libraries that were needed and ran test case


Deleted: seismo/3D/ADJOINT_TOMO/measure_adj/PLOTS/9818433_T006_T030_MPM_CI_m16_iker07_win_adj.pdf
===================================================================
(Binary files differ)

Copied: seismo/3D/ADJOINT_TOMO/measure_adj/PLOTS/9818433_T006_T030_MPM_CI_m16_iker07_win_adj_TEST.pdf (from rev 18111, seismo/3D/ADJOINT_TOMO/measure_adj/PLOTS/9818433_T006_T030_MPM_CI_m16_iker07_win_adj.pdf)
===================================================================
(Binary files differ)

Modified: seismo/3D/ADJOINT_TOMO/measure_adj/README
===================================================================
--- seismo/3D/ADJOINT_TOMO/measure_adj/README	2011-03-15 03:16:09 UTC (rev 18111)
+++ seismo/3D/ADJOINT_TOMO/measure_adj/README	2011-03-15 03:40:49 UTC (rev 18112)
@@ -5,14 +5,10 @@
 This package is complementary to FLEXWIN, the automated window-picking algorithm that is also stored at CIG.
 Both FLEXWIN and measure_adj were used for the study of Tape-Liu-Maggi-Tromp (2009, Science), among others.
 
-The code was last tested on 3-14-2011 using:
+The code was last tested on 14-March-2011 using:
     openSUSE 11.3 Linux 64-bit
     gfortran 4.5.0
     64-bit SAC version 101.4, with patch (type "echo $SACHOME")
-#   7-27-09
-#   Ubuntu 9.04 Linux 64-bit
-#   gfortran 4.3.3
-#   64-bit SAC beta version Version 101.3 (type "echo $SACHOME")
 
 For a test to see if things are working, try this:
    make clean
@@ -25,9 +21,8 @@
 Please email Carl Tape (carltape at gi.alaska.edu) with questions, comments, or bug reports.
 
 TO-DO LIST:
-Eliminate external dependencies by including them here:
-   pssac2 for plotting (GMT, sac)
-   perl libraries: CMT_TOOLS, DELAZ5
+- Eliminate external dependencies by including them locally:
+    pssac2 for plotting (GMT, sac)
 
 ==============================
 Qinya Liu, 12/2/06

Added: seismo/3D/ADJOINT_TOMO/measure_adj/UTIL/perl/CMT_TOOLS.pm
===================================================================
--- seismo/3D/ADJOINT_TOMO/measure_adj/UTIL/perl/CMT_TOOLS.pm	                        (rev 0)
+++ seismo/3D/ADJOINT_TOMO/measure_adj/UTIL/perl/CMT_TOOLS.pm	2011-03-15 03:40:49 UTC (rev 18112)
@@ -0,0 +1,319 @@
+package CMT_TOOLS;
+
+#use warnings;
+use Exporter;
+use Time::Local;
+use POSIX;
+
+ at ISA = ('Exporter');
+ at EXPORT = ('get_cmt','get_cmt_long','get_cmt_short','get_cmt_moment',
+	   'get_cmt_long2', 'get_cmt_evnm', 'get_cmt_hdur_evdp',
+	   'get_cmt_location','cmt2dc', 'cmt2dc_simple','moment2dc',
+           'tdiff', 'tdiff2', 'mday2jday', 'jday2mday'
+	  );
+
+$BIN = "/opt/seismo-util/bin";
+
+# get_cmt : all your want from a cmt_file except event name
+sub get_cmt {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my($pde,$oyear,$omonth,$oday,$ohr,$omin,$osec1)=split(" ",$cmt[0]);
+  my($osec,$omsec)=split(/\./,$osec1); $omsec=$omsec*10;
+  my(undef,undef,$evid) = split(" ",$cmt[1]);
+  my(undef,undef,$tshift)=split(" ",$cmt[2]);
+  my(undef,undef,$hdur)=split(" ",$cmt[3]);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+
+  return($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$evid,$tshift,$hdur,
+         $elat,$elon,$edep,$Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp);
+
+}
+
+
+# get_cmt_long  : all you want from cmt_files including event name
+sub get_cmt_long {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my($pde,$oyear,$omonth,$oday,$ohr,$omin,$osec1,undef,undef,undef,$mw,undef, at evnm)=split(" ",$cmt[0]);
+  my($osec,$omsec)=split(/\./,$osec1); $omsec=$omsec*10;
+  my(undef,undef,$evid) = split(" ",$cmt[1]);
+  my(undef,undef,$tshift)=split(" ",$cmt[2]);
+  my(undef,undef,$hdur)=split(" ",$cmt[3]);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+
+  return($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$evid,$tshift,$hdur,
+         $elat,$elon,$edep,$Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp,$mw, at evnm);
+
+}
+
+# get_cmt_long2 : same as get_cmt_long except that the time shift has been
+#                 added to the output reference time.
+sub get_cmt_long2 {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my($pde,$oyear,$omonth,$oday,$ohr,$omin,$osec1,undef,undef,undef,$mw,undef, at evnm)=split(" ",$cmt[0]);
+  my($osec,$omsec)=split(/\./,$osec1); $omsec="0.$omsec";
+  $omsec = floor($omsec * 1000);
+  my(undef,undef,$evid) = split(" ",$cmt[1]);
+  my(undef,undef,$tshift)=split(" ",$cmt[2]);
+  my(undef,undef,$hdur)=split(" ",$cmt[3]);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+
+  ($oyear1,$ojday1,$ohr1,$omin1,$osec1,$omsec1)=&tdiff($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tshift);
+
+  return($oyear1,$ojday1,$ohr1,$omin1,$osec1,$omsec1,$evid,$tshift,$hdur,
+         $elat,$elon,$edep,$Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp,$mw, at evnm);
+
+}
+
+# get_cmt_evnm  : all you want from cmt_files including event name
+sub get_cmt_evnm {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my($pde,$oyear,$omonth,$oday,$ohr,$omin,$osec1,undef,undef,undef,$mw,undef, at evnm)=split(" ",$cmt[0]);
+  my($osec,$omsec)=split(/\./,$osec1); $omsec=$omsec*10;
+  my(undef,undef,$evid) = split(" ",$cmt[1]);
+  my(undef,undef,$tshift)=split(" ",$cmt[2]);
+  my(undef,undef,$hdur)=split(" ",$cmt[3]);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+  my($evnm) = join(" ", at evnm);
+  return($evnm);
+
+}
+
+
+# get_cmt_short : simply outputs M and location
+sub get_cmt_short {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+
+  return($Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp,$elat,$elon,$edep);
+
+}
+
+# get_cmt_hdur_evdp
+sub get_cmt_hdur_evdp {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my(undef,undef,$hdur)=split(" ",$cmt[3]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+
+  return($hdur,$edep);
+}
+
+
+# get_cmt_moment : simply outputs M
+sub get_cmt_moment {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+
+  return($Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp);
+
+}
+
+# get_cmt_location: only outputs location
+sub get_cmt_location {
+ 
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+
+  return($elat,$elon,$edep);
+}
+
+# ($mw,$elat,$elon,$edep,$s1,$d1,$r1,$s2,$d2,$r2,$moment) = cmt2dc ($cmt_file)
+sub cmt2dc{
+
+  my ($cmt_file) = @_;
+  my (@M,$elat,$elon,$edep,$mij2dc,$output);
+  my ($s1,$d1,$r1,$s2,$d2,$r2,$moment,$mw);
+
+  (@M[0..5],$elat,$elon,$edep) = get_cmt_short($cmt_file);
+  $mij2dc = "${BIN}/mij2dc";
+  if (not -f $mij2dc) {die("not mij2dc file\n");}
+  $output = "mij2dc.tmp";
+  open(MIJ,"|$mij2dc > $output");
+  print MIJ "1 @M[0..5]\n";
+  close(MIJ);
+  (undef,$s1,$d1,$r1) = split(" ",`egrep output1 $output`);
+  (undef,$s2,$d2,$r2) = split(" ",`egrep output2 $output`);
+  (undef,undef,$moment) =
+    split(" ",`egrep 'scalar moment' $output`);
+  system("\\rm -f $output ");
+  $mw = log($moment)/log(10)/1.5-10.73;
+  return($mw,$elat,$elon,$edep,$s1,$d1,$r1,$s2,$d2,$r2,$moment);
+}
+
+
+# ($s1,$d1,$r1,$s2,$d2,$r2,$moment) = cmt2dc_simple($cmt_file)
+sub cmt2dc_simple{
+
+  my ($cmt_file) = @_;
+  my (@M,$mij2dc,$output);
+  my ($s1,$d1,$r1,$s2,$d2,$r2,$moment);
+
+  (@M[0..5]) = get_cmt_moment($cmt_file);
+  $mij2dc = "${BIN}/mij2dc";
+  if (not -f $mij2dc) {die("no  $mij2dc file\n");}
+  $output = "mij2dc.tmp";
+  open(MIJ,"|$mij2dc > $output");
+  print MIJ "1 @M[0..5]\n";
+  close(MIJ);
+  (undef,$s1,$d1,$r1) = split(" ",`egrep output1 $output`);
+  (undef,$s2,$d2,$r2) = split(" ",`egrep output2 $output`);
+  (undef,undef,$moment) =
+    split(" ",`egrep 'scalar moment' $output`);
+  system("\\rm -f $output ");
+  return($s1,$d1,$r1,$s2,$d2,$r2,$moment);
+}
+
+# convert moment tensors to double couples
+sub moment2dc{
+  if (@_ != 6) {die("moment2dc(moment_tensor[0..5])\n");}
+  my (@M) = @_;
+  my ($s1,$d1,$r1,$s2,$d2,$r2,$moment,$mij2dc,$output);
+
+  $mij2dc = "${BIN}/mij2dc";
+  if (not -f $mij2dc) {die("no  $mij2dc file\n");}
+  $output = "mij2dc.tmp";
+  open(MIJ,"|$mij2dc > $output");
+  print MIJ "1 @M[0..5]\n";
+  close(MIJ);
+  (undef,$s1,$d1,$r1) = split(" ",`egrep output1 $output`);
+  (undef,$s2,$d2,$r2) = split(" ",`egrep output2 $output`);
+  (undef,undef,$moment) =
+    split(" ",`egrep 'scalar moment' $output`);
+  system("\\rm -f $output ");
+  return($s1,$d1,$r1,$s2,$d2,$r2,$moment);
+}
+
+# add tdiff time
+sub tdiff{
+  my ($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tadd)=@_;
+  $time = timegm($osec, $omin, $ohr, $oday , $omonth-1, $oyear);
+  $time += ($tadd +$omsec/1000); #event_time in machine format
+  $msec = sprintf("%03.0f",($time - (floor($time)))*1000);
+  $time = floor($time);
+  my($sec, $min, $hr, $day , $month, $year,$weekday,$jday) = gmtime($time);
+  $month += 1;
+  $year += 1900;
+  $jday +=1;
+  return ($year,$jday,$hr,$min,$sec,$msec);
+}
+
+# add tdiff time
+sub tdiff2{
+  my ($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tadd)=@_;
+  $time = timegm($osec, $omin, $ohr, $oday , $omonth-1, $oyear);
+  $time += ($tadd +$omsec/1000); #event_time in machine format
+  $msec = sprintf("%03.0f",($time - (floor($time)))*1000);
+  $time = floor($time);
+  my($sec, $min, $hr, $day , $month, $year,$weekday,$jday) = gmtime($time);
+  $month += 1;
+  $year += 1900;
+  $jday +=1;
+  return ($year,$month,$day,$hr,$min,$sec,$msec);
+}
+
+
+sub mday2jday {
+  my($oyear,$omonth,$oday)=@_;
+  $omonth = $omonth-1;  #months range from 0..11
+  $time_sec = timegm(3,3,3,$oday,$omonth,$oyear);
+  @t = gmtime($time_sec);
+  my($jday) = $t[7];
+  $jday += 1;
+  return ($jday);
+}
+
+sub jday2mday {
+  my($year,$jday)=@_;
+  $time = timegm(1,0,0,1,0,$year);
+  $time=$time+($jday-1)*24*60*60;
+  my @gmt_time=gmtime($time);
+  return($gmt_time[4]+1,$gmt_time[3]);
+}
+
+
+1;

Added: seismo/3D/ADJOINT_TOMO/measure_adj/UTIL/perl/DELAZ5.pm
===================================================================
--- seismo/3D/ADJOINT_TOMO/measure_adj/UTIL/perl/DELAZ5.pm	                        (rev 0)
+++ seismo/3D/ADJOINT_TOMO/measure_adj/UTIL/perl/DELAZ5.pm	2011-03-15 03:40:49 UTC (rev 18112)
@@ -0,0 +1,124 @@
+package DELAZ5;
+use strict;
+use warnings;
+use Math::Trig;
+BEGIN {
+    use Exporter();
+    our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+    $VERSION     = 1.00;
+    @ISA         = qw(Exporter);
+    @EXPORT      = qw(&delaz5);
+    %EXPORT_TAGS = ( );
+    @EXPORT_OK   = ( );
+}
+our @EXPORT_OK;
+
+# culled from Hiroos subroutines
+sub delaz5 {
+    my($thei, $alei, $thsi, $alsi, $i) = @_;
+#	This is an old Fortran subroutine to compute the
+#       distance and azimuths between two points.
+#	Point A:  Latitude   THEI,  Longitude  ALEI
+#	Point B:  Latitude   THSI,  Longitude  ALSI
+# 	If the coordinates are in geographical coordinates in deg,  then I=0
+#        If the coordinates are in geocentric in radia, then I=1
+#	These are the input parameters.
+#	Outputs are:
+#		DELT=distance in radian
+#  		DELTDG=distance in degree
+#		DELTKM=distance in km
+#               AZES=azimuth of Point B as viewed from Point A (radian)
+#		AZESDEG=azimuth of Point B as viewed from Point A (radian) (degree)          
+#		AZSE=azimuth of Point A as viewed from Point B (radian)
+#		AZSEDEG=azimuth of Point A as viewed from Point B (radian) (degree)
+    my($h, $delt, $deltkm, $azes, $azse);
+    my($azsedg, $deltdg,$azesdg);
+    my($the, $ale, $ths, $als, $aaa);
+    my($c, $ak, $d, $e, $g);
+    my($cp, $akp, $dp ,$ep, $ap, $bp, $gp, $hp);
+    my($c1, $c2, $c3, $c4, $c5, $c6);
+    
+#   if(i) 50, 50, 51
+    if($i <= 0.0) {
+#   if  coordinates are geograph deg i=0
+#   if coordinates are geocent radian  i=1
+	$the=1.745329252e-2*$thei; # Line 50
+	$ale=1.745329252e-2*$alei;
+	$ths=1.745329252e-2*$thsi;
+	$als=1.745329252e-2*$alsi;
+	$aaa=0.9931177*tan($the);
+	$the=atan($aaa);
+	$aaa=0.9931177*tan($ths);
+	$ths=atan($aaa);
+#      go to 32
+    } else {
+	$the=$thei; # Line 51
+	$ale=$alei;
+	$ths=$thsi;
+	$als=$alsi;
+    }
+#    32 continue
+    $c= sin($the);
+    $ak=-cos($the);
+    $d=sin($ale);
+    $e= -cos($ale);
+    $a= $ak*$e;
+    $b= -$ak*$d;
+    $g=-$c*$e;
+    $h=$c*$d;
+    $cp=sin($ths);
+    $akp=-cos($ths);
+    $dp=sin($als);
+    $ep = -cos($als);
+    $ap = $akp*$ep;
+    $bp=-$akp*$dp;
+    $gp=-$cp*$ep;
+    $hp=$cp*$dp;
+    $c1=$a*$ap+$b*$bp+$c*$cp;
+    
+#      if( c1-0.94 )  30, 31, 31
+    if($c1-0.94 < 0.0) {
+#    30	if(c1+0.94) 28, 28, 29 
+	if($c1+0.94 <= 0.0) {
+	    # this used to be lower in the code delaz5.f
+	    $c1=($a+$ap)**2+($b+$bp)**2+($c+$cp)**2; # Line 28
+	    $c1 = sqrt($c1 );
+	    $c1= $c1/2.0;
+	    $delt = acos($c1);
+	    $delt = 2.0*$delt;
+#	    go to 33
+	} else {
+	    $delt=acos($c1); #Line 29
+	}
+    } else {
+	# this used to be lower in the code delaz5.f
+	$c1=($a-$ap)**2+($b-$bp)**2+($c-$cp)**2; # Line 31
+	$c1= sqrt($c1);
+	$c1=$c1/2.0;
+	$delt = asin($c1);
+	$delt= 2.0*$delt;
+	#go to 33
+    }
+    $deltkm=6371.0*$delt; # Line 33
+    $c3 = ($ap-$d)**2+($bp-$e)**2+$cp**2-2.0;
+    $c4 = ($ap-$g)**2+($bp-$h)**2+($cp-$ak)**2-2.0;
+    $c5 = ($a-$dp)**2+ ($b-$ep)**2+$c**2-2.0;
+    $c6 = ($a-$gp)**2+($b-$hp)**2+($c-$akp)**2-2.0;
+    $deltdg = 57.29577951*$delt;
+    $azes = atan2($c3, $c4 );
+#    if ( $azes ) 80, 81, 81
+    if($azes < 0.0) {
+	$azes = 6.283185308+ $azes; # Line 80
+    }
+    $azse = atan2( $c5, $c6 ); # Line 81
+
+#    if ( azse ) 70, 71 , 71
+    if($azse < 0.0) {
+	$azse=6.283185308+$azse; #line 70
+    }
+    $azesdg=57.29577951*$azes; # Line 71
+    $azsedg=57.29577951*$azse;
+    return($delt, $deltdg, $deltkm, $azes, $azesdg, $azse, $azsedg);
+}
+
+1;

Modified: seismo/3D/ADJOINT_TOMO/measure_adj/combine_adj_src.pl
===================================================================
--- seismo/3D/ADJOINT_TOMO/measure_adj/combine_adj_src.pl	2011-03-15 03:16:09 UTC (rev 18111)
+++ seismo/3D/ADJOINT_TOMO/measure_adj/combine_adj_src.pl	2011-03-15 03:40:49 UTC (rev 18112)
@@ -1,8 +1,7 @@
 #!/usr/bin/perl -w
-
+#
 #--------------------------------------------------------------------
 # combine_adj_src.pl
-# Qinya Liu, 05-May-2007
 #
 # This script combines two sets of adjoint sources (for example, two different bandpassed versions), and outputs the new adjoint sources, along with a new STATIONS file to be used.
 #

Modified: seismo/3D/ADJOINT_TOMO/measure_adj/prepare_adj_src.pl
===================================================================
--- seismo/3D/ADJOINT_TOMO/measure_adj/prepare_adj_src.pl	2011-03-15 03:16:09 UTC (rev 18111)
+++ seismo/3D/ADJOINT_TOMO/measure_adj/prepare_adj_src.pl	2011-03-15 03:40:49 UTC (rev 18112)
@@ -1,8 +1,7 @@
 #!/usr/bin/perl -w
-
+#
 #--------------------------------------------------------------------
 # prepare_adj_src.pl
-# Qinya Liu, 05-May-2007
 #
 # This script reads in a set of adjoint sources made from Z-R-T records
 # and outputs a set of adjoint sources in Z-E-N that can be used in SPECFEM3D.
@@ -16,7 +15,7 @@
 
 use File::Basename;
 use Getopt::Std;
-use lib '/opt/seismo-util/lib/perl';
+use lib 'UTIL/perl';
 use CMT_TOOLS;
 use DELAZ5;
 

Modified: seismo/3D/ADJOINT_TOMO/measure_adj/run_mt_measure_adj.csh
===================================================================
--- seismo/3D/ADJOINT_TOMO/measure_adj/run_mt_measure_adj.csh	2011-03-15 03:16:09 UTC (rev 18111)
+++ seismo/3D/ADJOINT_TOMO/measure_adj/run_mt_measure_adj.csh	2011-03-15 03:40:49 UTC (rev 18112)
@@ -16,4 +16,4 @@
 \mv STATIONS_ADJOINT PLOTS
 cd PLOTS
 plot_win_adj_all.pl -l -10/200 -m ../CMTSOLUTION_9818433 -n BH -b 0 -k 7/1 -a STATIONS_ADJOINT -d DATA -s SYN -c RECON -w MEASUREMENT.WINDOWS -i m16 -j 6/30
-cd /data1/cig/seismo/3D/ADJOINT_TOMO/measure_adj_work
+cd ..

Modified: seismo/3D/ADJOINT_TOMO/measure_adj/write_par_file.pl
===================================================================
--- seismo/3D/ADJOINT_TOMO/measure_adj/write_par_file.pl	2011-03-15 03:16:09 UTC (rev 18111)
+++ seismo/3D/ADJOINT_TOMO/measure_adj/write_par_file.pl	2011-03-15 03:40:49 UTC (rev 18112)
@@ -1,10 +1,7 @@
 #!/usr/bin/perl -w
-
-#==========================================================
 #
+#==========================================================
 #  write_par_file.pl
-#  Carl Tape
-#  19-Oct-2009
 #
 #  This script writes a parameters file to be used in the measurement code.
 #  See the reading-in of this file in mt_measure_adj.f90.



More information about the CIG-COMMITS mailing list