[cig-commits] r16056 - in seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate: . PLOTTING src

carltape at geodynamics.org carltape at geodynamics.org
Mon Nov 30 07:00:12 PST 2009


Author: carltape
Date: 2009-11-30 07:00:11 -0800 (Mon, 30 Nov 2009)
New Revision: 16056

Modified:
   seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/PLOTTING/joint_inversion.pl
   seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/PLOTTING/plot_geometry.pl
   seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/PLOTTING/plot_surf_model.pl
   seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/README
   seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/src/wave2d_constants.f90
Log:
Minor updates to run scripts and README.


Modified: seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/PLOTTING/joint_inversion.pl
===================================================================
--- seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/PLOTTING/joint_inversion.pl	2009-11-30 08:51:56 UTC (rev 16055)
+++ seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/PLOTTING/joint_inversion.pl	2009-11-30 15:00:11 UTC (rev 16056)
@@ -26,12 +26,15 @@
 ($colors,$iker,$irun0,$ipoly,$qmax,$ihessian) = @ARGV;
 $iter = 0;
 
+# base directory
+$pwd = $ENV{PWD};
+$dirplot = `dirname $pwd`; chomp($dirplot);
+$basedir = `dirname $dirplot`; chomp($basedir);
+#$basedir = "/data1/cig/seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate_work";
+
 #-----------------------------------
 # USER INPUT
 
-# base directory
-$dirq = "/data1/cig/seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate_work";
-
 # OPTIONAL: directory with the "reference" conjugate gradient simulation is
 $irun0_cg = $irun0;
 #$irun0_cg = 600;
@@ -47,10 +50,10 @@
 $sth = sprintf("%1i",$ihessian);
 
 # directories
-$pdir = "${dirq}/PLOTTING";
+$pdir = "${basedir}/PLOTTING";
 $ddir = "${pdir}/DATA_FILES";
-$idir = "${dirq}/INPUT";
-$odir = "${dirq}/OUTPUT/run_";
+$idir = "${basedir}/INPUT";
+$odir = "${basedir}/OUTPUT/run_";
 if (not -e $ddir) {die("Check if ddir $ddir exist or not\n");}
 
 # misfit function variable

Modified: seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/PLOTTING/plot_geometry.pl
===================================================================
--- seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/PLOTTING/plot_geometry.pl	2009-11-30 08:51:56 UTC (rev 16055)
+++ seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/PLOTTING/plot_geometry.pl	2009-11-30 15:00:11 UTC (rev 16056)
@@ -22,12 +22,15 @@
 if (@ARGV < 7) {die("Usage: plot_geometry.pl xxx \n");}
 ($ibody,$irun,$efile_syn,$rfile_syn,$stf_tag,$mfile_syn,$hdur) = @ARGV;
 
-# USER INPUT
-$rundir = "/data1/cig/seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate_work";
+# base directory
+$pwd = $ENV{PWD};
+$dirplot = `dirname $pwd`; chomp($dirplot);
+$basedir = `dirname $dirplot`; chomp($basedir);
+#$basedir = "/data1/cig/seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate_work";
 
 # directories
-$plotdir = "${rundir}/PLOTTING";
-$odir = "${rundir}/OUTPUT";
+$plotdir = "${basedir}/PLOTTING";
+$odir = "${basedir}/OUTPUT";
 $figdir = "${plotdir}/FIGURES";
 if (not -e $figdir) {die("Check if figdir $figdir exist or not\n");}
 

Modified: seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/PLOTTING/plot_surf_model.pl
===================================================================
--- seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/PLOTTING/plot_surf_model.pl	2009-11-30 08:51:56 UTC (rev 16055)
+++ seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/PLOTTING/plot_surf_model.pl	2009-11-30 15:00:11 UTC (rev 16056)
@@ -30,8 +30,11 @@
 ($iopt,$irun0,$imodel,$ievents,$pbar,$stf_file1,$ifinite) = @ARGV;
 $comp = 1;
 
-# USER INPUT
-$rundir = "/data1/cig/seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate_work";
+# base directory
+$pwd = $ENV{PWD};
+$dirplot = `dirname $pwd`; chomp($dirplot);
+$basedir = `dirname $dirplot`; chomp($basedir);
+#$basedir = "/data1/cig/seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate_work";
 
 ($pmax,$ptick) = split("/",$pbar);
 ($ievent_all,$ievent_one,$ievent) = split("/",$ievents);
@@ -41,9 +44,9 @@
 $mfile_dat = "structure_dat.dat";
 
 # directories
-$plotdir = "${rundir}/PLOTTING";
-$odir = "${rundir}/OUTPUT";
-$idir = "${rundir}/INPUT";
+$plotdir = "${basedir}/PLOTTING";
+$odir = "${basedir}/OUTPUT";
+$idir = "${basedir}/INPUT";
 $figdir = "${plotdir}/FIGURES";
 if (not -e $figdir) {die("Check if figdir $figdir exist or not\n");}
 

Modified: seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/README
===================================================================
--- seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/README	2009-11-30 08:51:56 UTC (rev 16055)
+++ seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/README	2009-11-30 15:00:11 UTC (rev 16056)
@@ -49,8 +49,8 @@
 make clean
 make wave2d
 
-Lots of warning with the -fbounds-check flag.
-Need to modify the simple loops:
+There are lots of warning with the -fbounds-check flag.
+One of these indicates that we need to modify several simple loops:
    Warning: Deleted feature: Step expression in DO loop at (1) must be integer
 
 --------------------------------
@@ -60,7 +60,7 @@
 The first six employ a conjugate-gradient algorithm,
 while the fifth uses a source subspace projection method.
 
-In examples 1-5, the scalelength of the checkerboard is set by Nfac=3.
+In examples 0-5, the scalelength of the checkerboard is set by Nfac=3.
 In examples 6-7, the scalelength of the checkerboard is set by Nfac=2 (more detailed).
 
 Example 0: 1 source, structure inversion only using CG algorithm - 2 iterations
@@ -97,11 +97,9 @@
 Then compile and execute:
    make clean ; make wave2d ; wave2d
 
-Note that the output files are in the directories beginning with OUTPUT/run_0100.
-   cd PLOTTING
-Change the user base directory
-in plot_geometry.pl, plot_surf_model.pl, joint_inversion.pl
-   cd FIGURES
+The output files are in directories beginning with OUTPUT/run_0100.
+   cd PLOTTING/FIGURES
+Open ../plot_geometry.pl and ../plot_surf_model.pl
 Execute the example lines --> geometry_0100.ps, model_0100.ps
    cd ../../matlab/
 Open matlab and the files wave2d_cg_poly.m and wave2d_cg_figs.m.

Modified: seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/src/wave2d_constants.f90
===================================================================
--- seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/src/wave2d_constants.f90	2009-11-30 08:51:56 UTC (rev 16055)
+++ seismo/3D/ADJOINT_TOMO/iterate_adj/SEM2D_iterate/src/wave2d_constants.f90	2009-11-30 15:00:11 UTC (rev 16056)
@@ -19,15 +19,15 @@
   integer, parameter :: NSTEP  = NFRAME*NSAVE
 
 ! time step in seconds
-  !double precision, parameter :: DT = 2.0d-02 ! body waves
-  double precision, parameter :: DT = 6.0d-02 ! membrane surface waves
+  !double precision, parameter :: DT = 2.0e-2 ! body waves
+  double precision, parameter :: DT = 6.0e-2 ! membrane surface waves
 
 ! temporal properties of source (source time function)
   integer, parameter :: ISRC_TIME = 1                   ! type (1)
-  double precision, parameter :: hdur = 10.0d0            ! HALF-duration (s), membrane
-  !double precision, parameter :: hdur = 2.0d0            ! HALF-duration (s), body
-  double precision, parameter :: tshift = 2.0d0*DT*dble(NSAVE) ! time shift (s)
-  !double precision, parameter :: tshift = 8.0d0*hdur
+  double precision, parameter :: hdur = 10.0            ! HALF-duration (s), membrane
+  !double precision, parameter :: hdur = 2.0            ! HALF-duration (s), body
+  double precision, parameter :: tshift = 2.0*DT*dble(NSAVE) ! time shift (s)
+  !double precision, parameter :: tshift = 8.0*hdur
   logical, parameter :: SRC_TAPER  = .true.             ! taper the endpoints of the time series
 
 ! normalization factor of point source force
@@ -63,25 +63,25 @@
 ! STATION_COAST_BUFFER : exclude stations within this distance from edge of coast
   integer, parameter          :: IREC_SPACE = 2 ! see wave2d.f90
   integer, parameter          :: NMESH_REC = 17
-  double precision, parameter :: SOURCE_GRID_BUFFER   =  4.0d+03  ! m    !  4km for membrane surface waves
-  double precision, parameter :: STATION_GRID_BUFFER  = 15.0d+03  ! m    ! 15km for membrane surface waves
-  double precision, parameter :: STATION_COAST_BUFFER =  0.0d+03  ! m
+  double precision, parameter :: SOURCE_GRID_BUFFER   =  4.0e3  ! m    !  4km for membrane surface waves
+  double precision, parameter :: STATION_GRID_BUFFER  = 15.0e3  ! m    ! 15km for membrane surface waves
+  double precision, parameter :: STATION_COAST_BUFFER =  0.0e3  ! m
 
 ! lower right corner for membrane surface waves plotting grid
-  double precision, parameter :: LAT_MIN = 32.0d0
-  double precision, parameter :: LON_MIN = -120.d0
+  double precision, parameter :: LAT_MIN = 32.0
+  double precision, parameter :: LON_MIN = -120.0
   integer, parameter :: UTM_PROJECTION_ZONE = 11     ! southern California
 
 ! mesh specifications: membrane surface waves
-  double precision, parameter :: LENGTH = 480.0d+03 ! m
-  double precision, parameter :: HEIGHT = 480.0d+03 ! m
+  double precision, parameter :: LENGTH = 480.0e3 ! m
+  double precision, parameter :: HEIGHT = 480.0e3 ! m
   double precision, parameter :: AREA = LENGTH*HEIGHT  
   integer, parameter :: NEX = 40
   integer, parameter :: NEZ = 40
 !!$
 !!$! mesh specifications: body waves
-!!$  double precision, parameter :: LENGTH = 200.0d+03 ! m      ! 400 for 1D body waves
-!!$  double precision, parameter :: HEIGHT = 80.0d+03 ! m
+!!$  double precision, parameter :: LENGTH = 200.0e3 ! m      ! 400 for 1D body waves
+!!$  double precision, parameter :: HEIGHT = 80.0e3 ! m
 !!$  integer, parameter :: NEX = 80   ! 160
 !!$  integer, parameter :: NEZ = 32   ! 32
 
@@ -91,10 +91,10 @@
 ! model perturbations for HOMOGENEOUS model (or perturbation)
 ! scaling from beta to alpha
 ! value is from Master et al. (2000), "The relative behavior of shear velocity..."
-  double precision, parameter :: R_BETA_OVER_ALPHA = 1.3d0
-  double precision, parameter :: PBETA  = 10.0d0
+  double precision, parameter :: R_BETA_OVER_ALPHA = 1.3
+  double precision, parameter :: PBETA  = 10.0
   double precision, parameter :: PALPHA = PBETA / R_BETA_OVER_ALPHA
-  double precision, parameter :: PRHO   = 0.0d0
+  double precision, parameter :: PRHO   = 0.0
 
   ! reference model and target model choice
   integer, parameter :: IMODEL_SYN = 0
@@ -116,7 +116,7 @@
   integer, parameter :: ISMOOTH_MISFIT_KERNEL = 1
 
   ! smoothing scalelength
-  double precision, parameter :: GAMMA_SMOOTH_MODEL = 30.0d+03
+  double precision, parameter :: GAMMA_SMOOTH_MODEL = 30.0e3
 
 !========================
 
@@ -170,17 +170,17 @@
   ! SIGMA_FAC   : stop if a model value exceeds SIGMA_FAC * sigma_m 
   ! CONV_STOP   : stop when the misfit value is this fraction of the INITIAL misfit value
   integer, parameter :: NITERATION = 1
-  double precision, parameter :: VAR_RED_MIN = 8.0d0
+  double precision, parameter :: VAR_RED_MIN = 8.0
 
   ! Gaussian errors containted in input file
   ! see wave2d_sigmas.m and INPUT/sigma_0p1_pert.dat
-  double precision, parameter :: SIGMA_DT = 0.10d0
-  double precision, parameter :: SIGMA_DLNA = 1.0d0
-  double precision, parameter :: SIGMA_WAVEFORM = 1.0d0
+  double precision, parameter :: SIGMA_DT = 0.10
+  double precision, parameter :: SIGMA_DLNA = 1.0
+  double precision, parameter :: SIGMA_WAVEFORM = 1.0
   logical, parameter :: ADD_DATA_ERRORS = .true.
   
-  !double precision, parameter :: SIGMA_FAC = 2.0d0 
-  !double precision, parameter :: CONV_STOP = 1.0d-04
+  !double precision, parameter :: SIGMA_FAC = 2.0 
+  !double precision, parameter :: CONV_STOP = 1.0e-4
 
   ! order of interpolating polynomial in conjugate gradient algorithm
   ! using POLY_ORDER = 3 required computing the gradient of the test model
@@ -218,22 +218,22 @@
 ! scalelength of smoothing Gaussian
 ! GJI paper : 30,60,90
 ! body waves : 10
-  double precision, parameter :: GAMMA_SMOOTH = 60.0d+03
+  double precision, parameter :: GAMMA_SMOOTH = 60.0e3
 
   ! parameters for smoothing
   logical, parameter :: HIGH_RES_SMOOTHING = .true.  ! smooth at high resolution
   logical, parameter :: EXAMPLE_GAUSSIAN = .false.   ! plot an example Gaussian
 
 ! homogeneous background model (S.I. units)
-  double precision, parameter :: DENSITY           = 2.60d+03 ! kg/m^3
-  double precision, parameter :: INCOMPRESSIBILITY = 5.20d+10 ! Pa
-  double precision, parameter :: RIGIDITY          = 2.66d+10 ! Pa
+  double precision, parameter :: DENSITY           = 2.60e3 ! kg/m^3
+  double precision, parameter :: INCOMPRESSIBILITY = 5.20e10 ! Pa
+  double precision, parameter :: RIGIDITY          = 2.66e10 ! Pa
 
 !---------------------------------------------------------------
 ! measurement windows
 
-  double precision, parameter :: HWIN1 = 2.5d0*hdur   ! half-window width for pulse (2.5)
-  double precision, parameter :: HWIN2 = 5.0d0*hdur   ! half-window with for MTM measurement (zero-padding)
+  double precision, parameter :: HWIN1 = 2.5*hdur   ! half-window width for pulse (2.5)
+  double precision, parameter :: HWIN2 = 5.0*hdur   ! half-window with for MTM measurement (zero-padding)
 
 !---------------------------------------------------------------
 ! CHT: do not change these
@@ -284,20 +284,20 @@
   integer, parameter :: NUM_ITER = 1
 
 ! very large and very small values
-  double precision, parameter :: HUGEVAL = 1.0d+30, TINYVAL = 1.0d-9
+  double precision, parameter :: HUGEVAL = 1.0e30, TINYVAL = 1.0e-9
 
 ! for the Gauss-Lobatto-Legendre points and weights
-  double precision, parameter :: GAUSSALPHA = 0.0d0,GAUSSBETA = 0.0d0
+  double precision, parameter :: GAUSSALPHA = 0.0,GAUSSBETA = 0.0
 
 !
 ! CONSTANTS
 !
-  double precision, parameter :: PI = 3.141592653589793d+00
-  double precision, parameter :: FOUR_THIRDS = 4.0d0 / 3.0d0
-  double precision, parameter :: ONE_THIRD = 1.0d0 / 3.0d0
-  double precision, parameter :: ONEOVERTWO = 0.5d0
-  double precision, parameter :: EPS = 1.0d-35
+  double precision, parameter :: PI = 3.141592653589793
+  double precision, parameter :: FOUR_THIRDS = 4.0 / 3.0
+  double precision, parameter :: ONE_THIRD = 1.0 / 3.0
+  double precision, parameter :: ONEOVERTWO = 0.5
   double precision, parameter :: DEG = 180.0/PI
+!  double precision, parameter :: EPS = 1.0e-35
 
 !!$! parameter for FFTW
 !!$  integer, parameter :: NOUT = NSTEP/2 + 1



More information about the CIG-COMMITS mailing list