[cig-commits] [commit] devel: Reads locally and broadcasts OC databases (2bf98d4)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Fri Dec 5 07:22:48 PST 2014


Repository : https://github.com/geodynamics/specfem3d_globe

On branch  : devel
Link       : https://github.com/geodynamics/specfem3d_globe/compare/b9fb1aa33196d161098710455fadbb4ed91c5e47...897de40783bd1a4630c2aacd3fa5f8b016d4c189

>---------------------------------------------------------------

commit 2bf98d45578a2a984a65228250a9a33222a83a88
Author: Matthieu Lefebvre <ml15 at princeton.edu>
Date:   Mon Dec 1 16:24:51 2014 -0500

    Reads locally and broadcasts OC databases


>---------------------------------------------------------------

2bf98d45578a2a984a65228250a9a33222a83a88
 src/specfem3D/read_mesh_databases.F90 | 127 ++++++++++++++++++++++------------
 1 file changed, 81 insertions(+), 46 deletions(-)

diff --git a/src/specfem3D/read_mesh_databases.F90 b/src/specfem3D/read_mesh_databases.F90
index d82857e..3d343d5 100644
--- a/src/specfem3D/read_mesh_databases.F90
+++ b/src/specfem3D/read_mesh_databases.F90
@@ -364,53 +364,56 @@
   if (ier /= 0) stop 'Error allocating dummy rmass and dummy ispec/idoubling in outer core'
 
   ! reads in mesh arrays
-  if (ADIOS_FOR_ARRAYS_SOLVER) then
-    call read_arrays_solver_adios(IREGION_OUTER_CORE,myrank, &
-                                  NSPEC_OUTER_CORE,NGLOB_OUTER_CORE,NGLOB_XY_dummy, &
-                                  nspec_iso,nspec_tiso,nspec_ani, &
-                                  vp_outer_core,dummy_array, &
-                                  xstore_outer_core,ystore_outer_core,zstore_outer_core, &
-                                  xix_outer_core,xiy_outer_core,xiz_outer_core, &
-                                  etax_outer_core,etay_outer_core,etaz_outer_core, &
-                                  gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
-                                  rhostore_outer_core,kappavstore_outer_core,dummy_array, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  ibool_outer_core,dummy_idoubling_outer_core,dummy_ispec_is_tiso, &
-                                  dummy_rmass,dummy_rmass,rmass_outer_core, &
-                                  1,dummy_array, &
-                                  READ_KAPPA_MU,READ_TISO, &
-                                  dummy_rmass,dummy_rmass)
-  else
-    call read_arrays_solver(IREGION_OUTER_CORE,myrank, &
-                            NSPEC_OUTER_CORE,NGLOB_OUTER_CORE,NGLOB_XY_dummy, &
-                            nspec_iso,nspec_tiso,nspec_ani, &
-                            vp_outer_core,dummy_array, &
-                            xstore_outer_core,ystore_outer_core,zstore_outer_core, &
-                            xix_outer_core,xiy_outer_core,xiz_outer_core, &
-                            etax_outer_core,etay_outer_core,etaz_outer_core, &
-                            gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
-                            rhostore_outer_core,kappavstore_outer_core,dummy_array, &
-                            dummy_array,dummy_array,dummy_array, &
-                            dummy_array,dummy_array,dummy_array, &
-                            dummy_array,dummy_array,dummy_array, &
-                            dummy_array,dummy_array,dummy_array, &
-                            dummy_array,dummy_array,dummy_array, &
-                            dummy_array,dummy_array,dummy_array, &
-                            dummy_array,dummy_array,dummy_array, &
-                            dummy_array,dummy_array,dummy_array, &
-                            ibool_outer_core,dummy_idoubling_outer_core,dummy_ispec_is_tiso, &
-                            dummy_rmass,dummy_rmass,rmass_outer_core, &
-                            1, dummy_array, &
-                            READ_KAPPA_MU,READ_TISO, &
-                            dummy_rmass,dummy_rmass)
+  if (I_should_read_the_database) then
+    if (ADIOS_FOR_ARRAYS_SOLVER) then
+      call read_arrays_solver_adios(IREGION_OUTER_CORE,myrank, &
+                                    NSPEC_OUTER_CORE,NGLOB_OUTER_CORE,NGLOB_XY_dummy, &
+                                    nspec_iso,nspec_tiso,nspec_ani, &
+                                    vp_outer_core,dummy_array, &
+                                    xstore_outer_core,ystore_outer_core,zstore_outer_core, &
+                                    xix_outer_core,xiy_outer_core,xiz_outer_core, &
+                                    etax_outer_core,etay_outer_core,etaz_outer_core, &
+                                    gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
+                                    rhostore_outer_core,kappavstore_outer_core,dummy_array, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    ibool_outer_core,dummy_idoubling_outer_core,dummy_ispec_is_tiso, &
+                                    dummy_rmass,dummy_rmass,rmass_outer_core, &
+                                    1,dummy_array, &
+                                    READ_KAPPA_MU,READ_TISO, &
+                                    dummy_rmass,dummy_rmass)
+    else
+      call read_arrays_solver(IREGION_OUTER_CORE,myrank, &
+                              NSPEC_OUTER_CORE,NGLOB_OUTER_CORE,NGLOB_XY_dummy, &
+                              nspec_iso,nspec_tiso,nspec_ani, &
+                              vp_outer_core,dummy_array, &
+                              xstore_outer_core,ystore_outer_core,zstore_outer_core, &
+                              xix_outer_core,xiy_outer_core,xiz_outer_core, &
+                              etax_outer_core,etay_outer_core,etaz_outer_core, &
+                              gammax_outer_core,gammay_outer_core,gammaz_outer_core, &
+                              rhostore_outer_core,kappavstore_outer_core,dummy_array, &
+                              dummy_array,dummy_array,dummy_array, &
+                              dummy_array,dummy_array,dummy_array, &
+                              dummy_array,dummy_array,dummy_array, &
+                              dummy_array,dummy_array,dummy_array, &
+                              dummy_array,dummy_array,dummy_array, &
+                              dummy_array,dummy_array,dummy_array, &
+                              dummy_array,dummy_array,dummy_array, &
+                              dummy_array,dummy_array,dummy_array, &
+                              ibool_outer_core,dummy_idoubling_outer_core,dummy_ispec_is_tiso, &
+                              dummy_rmass,dummy_rmass,rmass_outer_core, &
+                              1, dummy_array, &
+                              READ_KAPPA_MU,READ_TISO, &
+                              dummy_rmass,dummy_rmass)
+    endif
   endif
+  call bcast_mesh_databases_OC()
 
   deallocate(dummy_idoubling_outer_core,dummy_ispec_is_tiso,dummy_rmass)
 
@@ -1464,3 +1467,35 @@
   call bcast_all_cr_for_database(b_rmassy_crust_mantle(1), size(b_rmassy_crust_mantle))
 
   end subroutine bcast_mesh_databases_CM
+
+!
+!-------------------------------------------------------------------------------------------------
+!
+
+  subroutine bcast_mesh_databases_OC()
+
+  use specfem_par
+  use specfem_par_outercore
+  implicit none
+
+  call bcast_all_i_for_database(NSPEC_OUTER_CORE, 1)
+  call bcast_all_i_for_database(NGLOB_OUTER_CORE, 1)
+  call bcast_all_cr_for_database(vp_outer_core(1,1,1,1), size(vp_outer_core))
+  call bcast_all_cr_for_database(xstore_outer_core(1), size(xstore_outer_core))
+  call bcast_all_cr_for_database(ystore_outer_core(1), size(ystore_outer_core))
+  call bcast_all_cr_for_database(zstore_outer_core(1), size(zstore_outer_core))
+  call bcast_all_cr_for_database(xix_outer_core(1,1,1,1), size(xix_outer_core))
+  call bcast_all_cr_for_database(xiy_outer_core(1,1,1,1), size(xiy_outer_core))
+  call bcast_all_cr_for_database(xiz_outer_core(1,1,1,1), size(xiz_outer_core))
+  call bcast_all_cr_for_database(etax_outer_core(1,1,1,1), size(etax_outer_core))
+  call bcast_all_cr_for_database(etay_outer_core(1,1,1,1), size(etay_outer_core))
+  call bcast_all_cr_for_database(etaz_outer_core(1,1,1,1), size(etaz_outer_core))
+  call bcast_all_cr_for_database(gammax_outer_core(1,1,1,1), size(gammax_outer_core))
+  call bcast_all_cr_for_database(gammay_outer_core(1,1,1,1), size(gammay_outer_core))
+  call bcast_all_cr_for_database(gammaz_outer_core(1,1,1,1), size(gammaz_outer_core))
+  call bcast_all_cr_for_database(rhostore_outer_core(1,1,1,1), size(rhostore_outer_core))
+  call bcast_all_cr_for_database(kappavstore_outer_core(1,1,1,1), size(kappavstore_outer_core))
+  call bcast_all_i_for_database(ibool_outer_core(1,1,1,1), size(ibool_outer_core))
+  call bcast_all_cr_for_database(rmass_outer_core(1), size(rmass_outer_core))
+    
+  end subroutine bcast_mesh_databases_OC



More information about the CIG-COMMITS mailing list