[cig-commits] r22320 - in seismo/3D/SPECFEM3D_GLOBE/branches/undo_att: . src/shared
xie.zhinan at geodynamics.org
xie.zhinan at geodynamics.org
Sun Jun 16 00:01:56 PDT 2013
Author: xie.zhinan
Date: 2013-06-16 00:01:56 -0700 (Sun, 16 Jun 2013)
New Revision: 22320
Modified:
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part2_undo_att.f90
seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/shared/save_header_file.f90
Log:
set PARTIAL_PHYS_DISPERSION_ONLY to be .true. when undo_att is .true., fix the problem in write out seismogram when NT_DUMP is odd integer
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part2_undo_att.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part2_undo_att.f90 2013-06-16 06:55:14 UTC (rev 22319)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/part2_undo_att.f90 2013-06-16 07:01:56 UTC (rev 22320)
@@ -908,17 +908,23 @@
! write the current or final seismograms
if(seismo_current == NTSTEP_BETWEEN_OUTPUT_SEISMOS .or. it == it_end) then
if (SIMULATION_TYPE == 1 .or. SIMULATION_TYPE == 3) then
- do irec_local = 1,nrec_local
- do i = 1,seismo_current/NT_DUMP
- do j = 1,NT_DUMP/2
- do k = 1,3
- seismograms_temp(k) = seismograms(k,irec_local,(i-1)*NT_DUMP + j)
- seismograms(k,irec_local,(i-1)*NT_DUMP + j) = seismograms(k,irec_local,(i-1)*NT_DUMP + (NT_DUMP-j+1))
- seismograms(k,irec_local,(i-1)*NT_DUMP + (NT_DUMP-j+1)) = seismograms_temp(k)
- enddo
+ if(mod(NT_DUMP,2) == 0)then
+ do irec_local = 1,nrec_local; do i = 1,seismo_current/NT_DUMP; do j = 1,NT_DUMP/2
+ do k = 1,3
+ seismograms_temp(k) = seismograms(k,irec_local,(i-1)*NT_DUMP + j)
+ seismograms(k,irec_local,(i-1)*NT_DUMP + j) = seismograms(k,irec_local,(i-1)*NT_DUMP + (NT_DUMP-j+1))
+ seismograms(k,irec_local,(i-1)*NT_DUMP + (NT_DUMP-j+1)) = seismograms_temp(k)
enddo
- enddo
- enddo
+ enddo; enddo; enddo
+ else
+ do irec_local = 1,nrec_local; do i = 1,seismo_current/NT_DUMP; do j = 1,(NT_DUMP-1)/2
+ do k = 1,3
+ seismograms_temp(k) = seismograms(k,irec_local,(i-1)*NT_DUMP + j)
+ seismograms(k,irec_local,(i-1)*NT_DUMP + j) = seismograms(k,irec_local,(i-1)*NT_DUMP + (NT_DUMP-j+1))
+ seismograms(k,irec_local,(i-1)*NT_DUMP + (NT_DUMP-j+1)) = seismograms_temp(k)
+ enddo
+ enddo; enddo; enddo
+ endif
call write_seismograms(myrank,seismograms,number_receiver_global,station_name, &
network_name,stlat,stlon,stele,stbur, &
nrec,nrec_local,ANGULAR_WIDTH_XI_IN_DEGREES,NEX_XI,DT,t0,it_end, &
Modified: seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/shared/save_header_file.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/shared/save_header_file.f90 2013-06-16 06:55:14 UTC (rev 22319)
+++ seismo/3D/SPECFEM3D_GLOBE/branches/undo_att/src/shared/save_header_file.f90 2013-06-16 07:01:56 UTC (rev 22320)
@@ -539,7 +539,12 @@
! mimicking average (not full) effect of attenuation on apparent velocities, not amplitudes. that is,
! phase shifts will be partially accounted for, but amplitudes will differ in adjoint simulations
if( ATTENUATION ) then
- write(IOUT,*) 'logical, parameter :: PARTIAL_PHYS_DISPERSION_ONLY = .true.'
+ if(UNDO_ATT)then
+ !ZN in undoing attenuation we do not have to use the mimmic way for inclusion of visoelastic effect
+ write(IOUT,*) 'logical, parameter :: PARTIAL_PHYS_DISPERSION_ONLY = .false.'
+ else
+ write(IOUT,*) 'logical, parameter :: PARTIAL_PHYS_DISPERSION_ONLY = .true.'
+ endif
else
write(IOUT,*) 'logical, parameter :: PARTIAL_PHYS_DISPERSION_ONLY = .false.'
endif
More information about the CIG-COMMITS
mailing list