[cig-commits] r13438 - in seismo/3D/GRD_CMT3D: cmt3d grid3d scripts
liuqy at geodynamics.org
liuqy at geodynamics.org
Tue Dec 2 08:09:37 PST 2008
Author: liuqy
Date: 2008-12-02 08:09:37 -0800 (Tue, 02 Dec 2008)
New Revision: 13438
Modified:
seismo/3D/GRD_CMT3D/cmt3d/cmt3d_constants.f90
seismo/3D/GRD_CMT3D/cmt3d/cmt3d_sub.f90
seismo/3D/GRD_CMT3D/cmt3d/cmt3d_sub2.f90
seismo/3D/GRD_CMT3D/grid3d/grid3d_variables.f90
seismo/3D/GRD_CMT3D/scripts/mech_table.pl
Log:
cmt3d: change derivative extensions to Mrr,Mtt,Mpp,Mrt,Mrp,Mtp,dep,lon,lat,ctm,hdr,
set npts1=0 before reading derivative syn to make sure they do exist
grid3d: eliminate the use of real*8
mech_table.pl: fix the case when CMTSOLUTION_GRD does not exist
Modified: seismo/3D/GRD_CMT3D/cmt3d/cmt3d_constants.f90
===================================================================
--- seismo/3D/GRD_CMT3D/cmt3d/cmt3d_constants.f90 2008-12-02 09:27:31 UTC (rev 13437)
+++ seismo/3D/GRD_CMT3D/cmt3d/cmt3d_constants.f90 2008-12-02 16:09:37 UTC (rev 13438)
@@ -27,10 +27,9 @@
SCALE_MOMENT, SCALE_MOMENT, SCALE_DEPTH, SCALE_DELTA, SCALE_DELTA, &
SCALE_CTIME, SCALE_HDUR /)
- character(len=9), parameter :: PAR_NAME(NPARMAX) = &
- (/'Mrr ','Mtt ','Mpp ','Mrt ','Mrp ', &
- 'Mtp ','depth ','longitude','latitude ', &
- 'ctime ','hdur '/)
+ character(len=3), parameter :: PAR_NAME(NPARMAX) = &
+ (/'Mrr','Mtt','Mpp','Mrt','Mrp', 'Mtp','dep','lon','lat', &
+ 'ctm','hdr'/)
! maximum npts for records
integer, parameter :: NDATAMAX = 30000
Modified: seismo/3D/GRD_CMT3D/cmt3d/cmt3d_sub.f90
===================================================================
--- seismo/3D/GRD_CMT3D/cmt3d/cmt3d_sub.f90 2008-12-02 09:27:31 UTC (rev 13437)
+++ seismo/3D/GRD_CMT3D/cmt3d/cmt3d_sub.f90 2008-12-02 16:09:37 UTC (rev 13438)
@@ -118,7 +118,7 @@
read(IOWIN,'(a)') syn_file
read(IOWIN,*) nwins(i)
if (nwins(i) < 0) stop 'Check nwins(i) '
-! if (DEBUG) print *, trim(data_file), ' ', trim(syn_file)
+ if (DEBUG) print *, trim(data_file), ' ', trim(syn_file)
nwin_total = nwin_total + nwins(i)
do j = 1, nwins(i)
read(IOWIN,*) tstart, tend
@@ -282,6 +282,8 @@
new_cmt_par(1:npar) = new_par(1:npar) * SCALE_PAR(1:npar)
if (DEBUG) then
+ write(*,'(/,a)') 'Gaussian Elimination gives dm(1:npar) ...'
+ write(*,'(11e15.3)') sngl(dm(1:npar))
write(*,'(/,a)') ' Output scaled parameters are ...'
write(*,*)
write(*,'(11e15.3,/)') sngl(new_par(1:npar))
Modified: seismo/3D/GRD_CMT3D/cmt3d/cmt3d_sub2.f90
===================================================================
--- seismo/3D/GRD_CMT3D/cmt3d/cmt3d_sub2.f90 2008-12-02 09:27:31 UTC (rev 13437)
+++ seismo/3D/GRD_CMT3D/cmt3d/cmt3d_sub2.f90 2008-12-02 16:09:37 UTC (rev 13438)
@@ -186,12 +186,14 @@
do i = 1, npar
dsyn_file = trim(syn_file) // '.' // trim(PAR_NAME(i))
! wierd enough, rsac1 can not detect the non-existence of dsyn_file
+ npts1=0
call rsac1(dsyn_file,dsyn_sngl(:,i),npts1,t0_1,dt1,NDATAMAX,nerr)
if (nerr /= 0) stop 'Error reading dsynthetics'
if (npts1 /= npts2 .or. abs(t0_1-t0) > EPS2 .or. abs(dt1-dt) > EPS5) then
print *, trim(dsyn_file),npts1,t0_1,dt1,'; nerr = ', nerr
stop 'Check npts, b, dt of the derivative synthetics'
endif
+
if (i <= NM) then
dsyn_sngl(1:npts,i) = dsyn_sngl(1:npts,i) / dcmt_par(i)
else
Modified: seismo/3D/GRD_CMT3D/grid3d/grid3d_variables.f90
===================================================================
--- seismo/3D/GRD_CMT3D/grid3d/grid3d_variables.f90 2008-12-02 09:27:31 UTC (rev 13437)
+++ seismo/3D/GRD_CMT3D/grid3d/grid3d_variables.f90 2008-12-02 16:09:37 UTC (rev 13438)
@@ -11,7 +11,7 @@
! data selection
character(len=150) :: flexwin_out_file
logical :: weigh_data_files
- real*8 :: comp_z_weight, comp_r_weight, comp_t_weight,&
+ real :: comp_z_weight, comp_r_weight, comp_t_weight,&
az_exp_weight, &
pnl_dist_weight, rayleigh_dist_weight, love_dist_weight
Modified: seismo/3D/GRD_CMT3D/scripts/mech_table.pl
===================================================================
--- seismo/3D/GRD_CMT3D/scripts/mech_table.pl 2008-12-02 09:27:31 UTC (rev 13437)
+++ seismo/3D/GRD_CMT3D/scripts/mech_table.pl 2008-12-02 16:09:37 UTC (rev 13438)
@@ -14,7 +14,7 @@
$weigh_data_nocomp="1 1 1 0.5 1.15 0.55 0.78";
$weigh_data_noaz="2 2 1 0 1.15 0.55 0.78";
- at names=("initial","grid_search","7 Par+ZT", "6 Par+ZT","7 Par+no-SC","7 Par+no-AZ","6 Par+dc","7 Par+DC","7 Par+no-Comp");
+ at names=("initial","grid_search","7 Par+ZT", "6 Par+ZT","7 Par+no-SC","7 Par+no-AZ","6 Par+DC","7 Par+DC","7 Par+no-Comp");
@npars=(6,6, 7, 6,7,7, 6,7,7);
@wdatas=($weigh_data, $weigh_data, $weigh_data, $weigh_data,$weigh_data,$weigh_data_noaz, $weigh_data,$weigh_data,$weigh_data_nocomp);
@scorrs=("true","true",".true.", ".true.", ".false.", ".true.", ".true.",".true.",".true.");
@@ -32,15 +32,17 @@
if (not -f "cmt3d_flexwin") {die("Check if cmt3d_flexwin exists or not\n");}
-open(INV,"$inv_file");@all=<INV>;close(INV);
+open(INV,"$inv_file")|| die("check $inv_file\n");
+ at all=<INV>;close(INV);
+
$cmt=$all[0]; $cmt_new=$all[1]; $npar=$all[2]; $delta=$all[3];
$flex=$all[4];$lwdata=$all[5]; $wdata=$all[6]; $scorr=$all[7]; $con=$all[8];
$wns=$all[9];
chomp($cmt_new);chomp($cmt);
(undef,undef,$ename)=split(" ",`grep 'event name' $cmt`);
- at cmt=($cmt);
-if (-f "${cmt}_GRD") {@cmt=(@cmt,"${cmt}_GRD"); print BASH "cp -f ${cmt}_GRD $outdir\n";}
+ at cmt=($cmt);@cmt=(@cmt,"${cmt}_GRD");
+if (-f "${cmt}_GRD") {print BASH "cp -f ${cmt}_GRD $outdir\n";}
for ($i=2;$i<$nbeach;$i++) {@cmt=(@cmt,"CMTSOLUTION.$i");}
open(BASH,">mech_table.bash");
@@ -64,19 +66,21 @@
}
close(BASH);
system("chmod a+x mech_table.bash; mech_table.bash");
-
for ($k=2;$k<$nbeach;$k++) {
(@tmp)=split(" ",`grep Variance $outdir/cmt3d_stdout.$k`);
- $var[$k]=$tmp[8]; print "$k,$var[$k]\n";}
+ $var[$k]=$tmp[8]; print "$k -- VR = $var[$k]\n";}
#die("here\n");
open(BASH,">mech_plot.bash");
+print BASH "gmtset BASEMAP_TYPE plain ANOT_FONT_SIZE 9 HEADER_FONT_SIZE 10 MEASURE_UNIT inch PAPER_MEDIA letter TICK_LENGTH 0.1c\n";
+
plot_psxy(\*BASH,$psfile,"$JX -K -X0 -Y0 $R","");
$k=0;
for ($i=0;$i<$nrows;$i++) {
for ($j=0;$j<$ncols;$j++) {
- print BASH "# ---- Mech $k ------\n";
+ print BASH "# ---- Mech $k, $cmt[$k]------\n";
+ print "---- Mech $k, $cmt[$k]------\n";
$xy=$xy[$i][$j];($x,$y) = split(/\//,$xy);
plot_psxy(\*BASH,$psfile,"$JX -X$x -Y$y $R","");
if (-f "$outdir/$cmt[$k]") {
More information about the CIG-COMMITS
mailing list