[cig-commits] r19259 - seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D

bozdag at geodynamics.org bozdag at geodynamics.org
Thu Dec 1 18:47:17 PST 2011


Author: bozdag
Date: 2011-12-01 18:47:16 -0800 (Thu, 01 Dec 2011)
New Revision: 19259

Modified:
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/initialize_simulation.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_output_SAC.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_seismograms.f90
Log:
updated SAC headers. KUSER slots are rearranged and KHOLE is added based on IRIS convention.

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/initialize_simulation.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/initialize_simulation.f90	2011-12-01 16:46:57 UTC (rev 19258)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/initialize_simulation.f90	2011-12-02 02:47:16 UTC (rev 19259)
@@ -44,7 +44,7 @@
                 SAVE_ALL_SEISMOS_IN_ONE_FILE,MOVIE_COARSE,OUTPUT_SEISMOS_ASCII_TEXT, &
                 OUTPUT_SEISMOS_SAC_ALPHANUM,OUTPUT_SEISMOS_SAC_BINARY, &
                 ROTATE_SEISMOGRAMS_RT,WRITE_SEISMOGRAMS_BY_MASTER,USE_BINARY_FOR_LARGE_FILE, &
-                LOCAL_PATH,OUTPUT_FILES, &
+                LOCAL_PATH,MODEL,OUTPUT_FILES, &
                 ratio_sampling_array, ner, doubling_index,r_bottom,r_top, &
                 this_region_has_a_doubling,rmins,rmaxs, &
                 TOPOGRAPHY,HONOR_1D_SPHERICAL_MOHO,ONE_CRUST, &
@@ -149,7 +149,6 @@
     HETEROGEN_3D_MANTLE,CRUSTAL,INFLATE_CENTRAL_CUBE
   character(len=150) :: MODEL,dummystring
   integer, external :: err_occurred
-
   ! sizeprocs returns number of processes started (should be equal to NPROCTOT).
   ! myrank is the rank of each process, between 0 and sizeprocs-1.
   ! as usual in MPI, process 0 is in charge of coordinating everything
@@ -233,7 +232,6 @@
                 HONOR_1D_SPHERICAL_MOHO,CRUSTAL,ONE_CRUST,CASE_3D,TRANSVERSE_ISOTROPY, &
                 ISOTROPIC_3D_MANTLE,ANISOTROPIC_3D_MANTLE,HETEROGEN_3D_MANTLE, &
                 ATTENUATION,ATTENUATION_3D,ANISOTROPIC_INNER_CORE,NOISE_TOMOGRAPHY)
-
   ! get the base pathname for output files
   call get_value_string(OUTPUT_FILES, 'OUTPUT_FILES', 'OUTPUT_FILES')
 

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90	2011-12-01 16:46:57 UTC (rev 19258)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/specfem3D.F90	2011-12-02 02:47:16 UTC (rev 19259)
@@ -826,7 +826,7 @@
           ROTATE_SEISMOGRAMS_RT,HONOR_1D_SPHERICAL_MOHO,WRITE_SEISMOGRAMS_BY_MASTER,&
           SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE
 
-  character(len=150) OUTPUT_FILES,LOCAL_PATH
+  character(len=150) OUTPUT_FILES,LOCAL_PATH,MODEL
 
 !  logical COMPUTE_AND_STORE_STRAIN
 
@@ -982,7 +982,7 @@
                 SAVE_ALL_SEISMOS_IN_ONE_FILE,MOVIE_COARSE,OUTPUT_SEISMOS_ASCII_TEXT, &
                 OUTPUT_SEISMOS_SAC_ALPHANUM,OUTPUT_SEISMOS_SAC_BINARY, &
                 ROTATE_SEISMOGRAMS_RT,WRITE_SEISMOGRAMS_BY_MASTER,USE_BINARY_FOR_LARGE_FILE, &
-                LOCAL_PATH,OUTPUT_FILES, &
+                LOCAL_PATH,MODEL,OUTPUT_FILES, &
                 ratio_sampling_array, ner, doubling_index,r_bottom,r_top, &
                 this_region_has_a_doubling,rmins,rmaxs, &
                 TOPOGRAPHY,HONOR_1D_SPHERICAL_MOHO,ONE_CRUST, &
@@ -994,7 +994,6 @@
                 hprimewgll_xx,hprimewgll_yy,hprimewgll_zz,hprimewgll_xxT, &
                 wgllwgll_xy,wgllwgll_xz,wgllwgll_yz, &
                 rec_filename,STATIONS,nrec,NOISE_TOMOGRAPHY)
-
 !
 !-------------------------------------------------------------------------------------------------
 !-------------------------------------------------------------------------------------------------
@@ -3961,7 +3960,7 @@
             OUTPUT_SEISMOS_ASCII_TEXT,OUTPUT_SEISMOS_SAC_ALPHANUM, &
             OUTPUT_SEISMOS_SAC_BINARY,ROTATE_SEISMOGRAMS_RT,NTSTEP_BETWEEN_OUTPUT_SEISMOS, &
             seismo_offset,seismo_current,WRITE_SEISMOGRAMS_BY_MASTER, &
-            SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE)
+            SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE,MODEL)
       if(myrank==0) then
         write(IMAIN,*)
         write(IMAIN,*) ' Total number of time steps written: ', it-it_begin+1

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_output_SAC.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_output_SAC.f90	2011-12-01 16:46:57 UTC (rev 19258)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_output_SAC.f90	2011-12-02 02:47:16 UTC (rev 19259)
@@ -31,7 +31,7 @@
               yr,jda,ho,mi,sec,tshift_cmt,t_shift,&
               elat,elon,depth,event_name,cmt_lat,cmt_lon,cmt_depth,cmt_hdur, &
               OUTPUT_FILES, &
-              OUTPUT_SEISMOS_SAC_ALPHANUM,OUTPUT_SEISMOS_SAC_BINARY, &
+              OUTPUT_SEISMOS_SAC_ALPHANUM,OUTPUT_SEISMOS_SAC_BINARY, MODEL, &
               NTSTEP_BETWEEN_OUTPUT_SEISMOS,seismo_offset,seismo_current, &
               iorientation,phi,chn,sisname)
 
@@ -61,7 +61,7 @@
 
   character(len=4) chn
   character(len=256) sisname
-  character(len=150) OUTPUT_FILES
+  character(len=150) OUTPUT_FILES,MODEL
 
   double precision tshift_cmt,t_shift,elat,elon,depth
   double precision cmt_lat,cmt_lon,cmt_depth,cmt_hdur
@@ -112,6 +112,7 @@
   character(len=16) KEVNM
   character(len=8) KCMPNM
   character(len=8) KNETWK
+  character(len=8) KHOLE
   character(len=8) KUSER0,KUSER1,KUSER2
   character(len=8), parameter :: str_undef='-12345  '
 
@@ -334,10 +335,18 @@
   KCMPNM = chn(1:3)           ! 3A8
   KNETWK = network_name(irec) !  A6
 
+  ! KHOLE slot represents SEED location IDs. Based on the IRIS convention, S1 and S3 are assigned to 1D and 3D seismograms, respectively.
+  ! If a model is a combination of 1D and 3D models (e.g., 3D mantle with 1D crust), it will be considered as 3D. 
+  ! Currently, the decision is made based on model names given in Par_file assuming that all 1D model names start with "1D". 
+  ! Ebru, December 1, 2011  
+
+  KHOLE = 'S3'
+  if(trim(MODEL(1:2)) == "1D") KHOLE = 'S1'
+
   ! indicates SEM synthetics
   ! by Ebru
-  KUSER0 = 'SEM'          !  A8
-  KUSER1 = 'v5.1.1'
+  KUSER0 = 'SY'          ! Network code assigned by IRIS for synthetic seismograms 
+  KUSER1 = 'SEM5.1.1'
   KUSER2 = 'Tiger' ! aka. awesome (princeton) tiger version :)
 
   !KUSER0 = 'PDE_LAT_'          !  A8
@@ -426,10 +435,10 @@
       !                                   KUSER1     KUSER2       KCMPNM
       !                                   KNETWK   KDATRD   KINST
       !
+      write(IOUT_SAC,540) KHOLE,'-12345  ','-12345  '
       write(IOUT_SAC,540) '-12345  ','-12345  ','-12345  '
       write(IOUT_SAC,540) '-12345  ','-12345  ','-12345  '
       write(IOUT_SAC,540) '-12345  ','-12345  ','-12345  '
-      write(IOUT_SAC,540) '-12345  ','-12345  ','-12345  '
       write(IOUT_SAC,540) '-12345  ','-12345  ',KUSER0
       write(IOUT_SAC,540)   KUSER1, KUSER2, KCMPNM
       write(IOUT_SAC,540)   KNETWK,'-12345  ','-12345  '
@@ -590,7 +599,7 @@
       ! write character header variables 111:302
       call write_character(KSTNM,8)         !(111:118)
       call write_character(KEVNM,16)         !(119:134)
-      call write_character(str_undef,8)      !(135:142)KHOLE
+      call write_character(KHOLE,8)          !(135:142)KHOLE
       call write_character(str_undef,8)      !(143:150)KO
       call write_character(str_undef,8)      !(151:158)KA
       call write_character(str_undef,8)      !(159:166)KT0

Modified: seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_seismograms.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_seismograms.f90	2011-12-01 16:46:57 UTC (rev 19258)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/src/specfem3D/write_seismograms.f90	2011-12-02 02:47:16 UTC (rev 19259)
@@ -35,7 +35,7 @@
             OUTPUT_SEISMOS_ASCII_TEXT,OUTPUT_SEISMOS_SAC_ALPHANUM, &
             OUTPUT_SEISMOS_SAC_BINARY,ROTATE_SEISMOGRAMS_RT,NTSTEP_BETWEEN_OUTPUT_SEISMOS, &
             seismo_offset,seismo_current,WRITE_SEISMOGRAMS_BY_MASTER,&
-            SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE)
+            SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE,MODEL)
 
  implicit none
 
@@ -75,7 +75,7 @@
 
  integer msg_status(MPI_STATUS_SIZE)
 
- character(len=150) OUTPUT_FILES
+ character(len=150) OUTPUT_FILES, MODEL
 
 ! new flags to decide on seismogram type BS BS 06/2007
   logical OUTPUT_SEISMOS_ASCII_TEXT, OUTPUT_SEISMOS_SAC_ALPHANUM, &
@@ -151,7 +151,7 @@
                              OUTPUT_SEISMOS_ASCII_TEXT,OUTPUT_SEISMOS_SAC_ALPHANUM, &
                              OUTPUT_SEISMOS_SAC_BINARY,ROTATE_SEISMOGRAMS_RT, &
                              NTSTEP_BETWEEN_OUTPUT_SEISMOS,seismo_offset,seismo_current, &
-                             SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE,myrank)
+                             SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE,MODEL,myrank)
 
     enddo
 
@@ -235,7 +235,7 @@
                                        OUTPUT_SEISMOS_ASCII_TEXT,OUTPUT_SEISMOS_SAC_ALPHANUM, &
                                        OUTPUT_SEISMOS_SAC_BINARY,ROTATE_SEISMOGRAMS_RT, &
                                        NTSTEP_BETWEEN_OUTPUT_SEISMOS,seismo_offset,seismo_current,&
-                                       SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE,myrank)
+                                       SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE,MODEL,myrank)
            enddo
          endif
        enddo
@@ -288,7 +288,7 @@
               OUTPUT_SEISMOS_ASCII_TEXT,OUTPUT_SEISMOS_SAC_ALPHANUM, &
               OUTPUT_SEISMOS_SAC_BINARY,ROTATE_SEISMOGRAMS_RT, &
               NTSTEP_BETWEEN_OUTPUT_SEISMOS,seismo_offset,seismo_current, &
-              SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE,myrank)
+              SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE,MODEL,myrank)
 
   implicit none
 
@@ -325,6 +325,7 @@
   integer yr,jda,ho,mi
   double precision sec
   character(len=20) event_name
+  character(len=150) MODEL
 
   ! flags to determine seismogram type
   logical OUTPUT_SEISMOS_ASCII_TEXT, OUTPUT_SEISMOS_SAC_ALPHANUM, &
@@ -449,7 +450,7 @@
               yr,jda,ho,mi,sec,tshift_cmt,t_shift,&
               elat,elon,depth,event_name,cmt_lat,cmt_lon,cmt_depth,cmt_hdur, &
               OUTPUT_FILES, &
-              OUTPUT_SEISMOS_SAC_ALPHANUM,OUTPUT_SEISMOS_SAC_BINARY, &
+              OUTPUT_SEISMOS_SAC_ALPHANUM,OUTPUT_SEISMOS_SAC_BINARY,MODEL, &
               NTSTEP_BETWEEN_OUTPUT_SEISMOS,seismo_offset,seismo_current, &
               iorientation,phi,chn,sisname)
 



More information about the CIG-COMMITS mailing list