[cig-commits] r8579 - seismo/2D/SPECFEM2D/trunk

walter at geodynamics.org walter at geodynamics.org
Fri Dec 7 15:58:07 PST 2007


Author: walter
Date: 2007-12-07 15:58:06 -0800 (Fri, 07 Dec 2007)
New Revision: 8579

Modified:
   seismo/2D/SPECFEM2D/trunk/specfem2D.F90
Log:
assembling of velocity model to create color image is now done only once.

Modified: seismo/2D/SPECFEM2D/trunk/specfem2D.F90
===================================================================
--- seismo/2D/SPECFEM2D/trunk/specfem2D.F90	2007-09-12 13:38:26 UTC (rev 8578)
+++ seismo/2D/SPECFEM2D/trunk/specfem2D.F90	2007-12-07 23:58:06 UTC (rev 8579)
@@ -1687,6 +1687,47 @@
     enddo
   enddo
 
+! getting velocity for each local pixels
+  image_color_vp_display(:,:) = 0.d0
+      
+  do k = 1, nb_pixel_loc
+    j = ceiling(real(num_pixel_loc(k)) / real(NX_IMAGE_color))
+    i = num_pixel_loc(k) - (j-1)*NX_IMAGE_color
+    image_color_vp_display(i,j) = vp_display(iglob_image_color(i,j))
+
+  enddo
+
+! assembling array image_color_vp_display on process zero for color output
+#ifdef USE_MPI
+  if ( nproc > 1 ) then
+    if ( myrank == 0 ) then
+      do iproc = 1, nproc-1
+        call MPI_RECV(data_pixel_recv(1),nb_pixel_per_proc(iproc+1), MPI_DOUBLE_PRECISION, &
+                iproc, 43, MPI_COMM_WORLD, request_mpi_status, ier)
+
+        do k = 1, nb_pixel_per_proc(iproc+1)
+          j = ceiling(real(num_pixel_recv(k,iproc+1)) / real(NX_IMAGE_color))
+          i = num_pixel_recv(k,iproc+1) - (j-1)*NX_IMAGE_color
+          image_color_vp_display(i,j) = data_pixel_recv(k)
+
+        enddo
+      enddo
+
+    else
+      do k = 1, nb_pixel_loc
+        j = ceiling(real(num_pixel_loc(k)) / real(NX_IMAGE_color))
+        i = num_pixel_loc(k) - (j-1)*NX_IMAGE_color
+        data_pixel_send(k) = vp_display(iglob_image_color(i,j))
+
+      enddo
+
+      call MPI_SEND(data_pixel_send(1),nb_pixel_loc,MPI_DOUBLE_PRECISION, 0, 43, MPI_COMM_WORLD, ier)
+
+    endif
+  endif
+
+#endif
+
 ! *********************************************************
 ! ************* MAIN LOOP OVER THE TIME STEPS *************
 ! *********************************************************
@@ -2247,13 +2288,11 @@
   endif
 
   image_color_data(:,:) = 0.d0
-  image_color_vp_display(:,:) = 0.d0
       
   do k = 1, nb_pixel_loc
      j = ceiling(real(num_pixel_loc(k)) / real(NX_IMAGE_color))
      i = num_pixel_loc(k) - (j-1)*NX_IMAGE_color
      image_color_data(i,j) = vector_field_display(2,iglob_image_color(i,j))
-     image_color_vp_display(i,j) = vp_display(iglob_image_color(i,j))
 
   end do
 
@@ -2289,39 +2328,8 @@
   end if
 
 #endif
-! assembling array image_color_vp_display on process zero for color output
-#ifdef USE_MPI
-  if ( nproc > 1 ) then
-     if ( myrank == 0 ) then
 
-        do iproc = 1, nproc-1
 
-           call MPI_RECV(data_pixel_recv(1),nb_pixel_per_proc(iproc+1), MPI_DOUBLE_PRECISION, &
-                iproc, 43, MPI_COMM_WORLD, request_mpi_status, ier)
-
-           do k = 1, nb_pixel_per_proc(iproc+1)
-              j = ceiling(real(num_pixel_recv(k,iproc+1)) / real(NX_IMAGE_color))
-              i = num_pixel_recv(k,iproc+1) - (j-1)*NX_IMAGE_color
-              image_color_vp_display(i,j) = data_pixel_recv(k)
-
-           end do
-        end do
-
-     else
-        do k = 1, nb_pixel_loc
-           j = ceiling(real(num_pixel_loc(k)) / real(NX_IMAGE_color))
-           i = num_pixel_loc(k) - (j-1)*NX_IMAGE_color
-           data_pixel_send(k) = vp_display(iglob_image_color(i,j))
-
-        end do
-
-        call MPI_SEND(data_pixel_send(1),nb_pixel_loc,MPI_DOUBLE_PRECISION, 0, 43, MPI_COMM_WORLD, ier)
-
-     end if
-  end if
-
-#endif
-
   if ( myrank == 0 ) then
      call create_color_image(image_color_data,iglob_image_color,NX_IMAGE_color,NZ_IMAGE_color,it,cutsnaps,image_color_vp_display)
      write(IOUT,*) 'Color image created'



More information about the cig-commits mailing list