[cig-commits] [commit] devel: Reads locally and broadcasts IC databases (478353a)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Fri Dec 5 07:23:01 PST 2014


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

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

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

commit 478353a41cef72b09cc78435e2afdebfa1e2d202
Author: Matthieu Lefebvre <ml15 at princeton.edu>
Date:   Mon Dec 1 16:31:36 2014 -0500

    Reads locally and broadcasts IC databases


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

478353a41cef72b09cc78435e2afdebfa1e2d202
 src/specfem3D/read_mesh_databases.F90 | 138 ++++++++++++++++++++++------------
 1 file changed, 92 insertions(+), 46 deletions(-)

diff --git a/src/specfem3D/read_mesh_databases.F90 b/src/specfem3D/read_mesh_databases.F90
index 3d343d5..815a20c 100644
--- a/src/specfem3D/read_mesh_databases.F90
+++ b/src/specfem3D/read_mesh_databases.F90
@@ -490,53 +490,56 @@
   if (ier /= 0) stop 'Error allocating b_rmassx, b_rmassy in inner_core'
 
   ! reads in arrays
-  if (ADIOS_FOR_ARRAYS_SOLVER) then
-    call read_arrays_solver_adios(IREGION_INNER_CORE,myrank, &
-                                  NSPEC_INNER_CORE,NGLOB_INNER_CORE,NGLOB_XY_IC, &
-                                  nspec_iso,nspec_tiso,nspec_ani, &
-                                  dummy_array,dummy_array, &
-                                  xstore_inner_core,ystore_inner_core,zstore_inner_core, &
-                                  xix_inner_core,xiy_inner_core,xiz_inner_core, &
-                                  etax_inner_core,etay_inner_core,etaz_inner_core, &
-                                  gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
-                                  rhostore_inner_core,kappavstore_inner_core,muvstore_inner_core, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  c11store_inner_core,c12store_inner_core,c13store_inner_core, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  dummy_array,dummy_array,c33store_inner_core, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  c44store_inner_core,dummy_array,dummy_array, &
-                                  dummy_array,dummy_array,dummy_array, &
-                                  ibool_inner_core,idoubling_inner_core,dummy_ispec_is_tiso, &
-                                  rmassx_inner_core,rmassy_inner_core,rmassz_inner_core, &
-                                  1,dummy_array, &
-                                  READ_KAPPA_MU,READ_TISO, &
-                                  b_rmassx_inner_core,b_rmassy_inner_core)
-  else
-    call read_arrays_solver(IREGION_INNER_CORE,myrank, &
-                            NSPEC_INNER_CORE,NGLOB_INNER_CORE,NGLOB_XY_IC, &
-                            nspec_iso,nspec_tiso,nspec_ani, &
-                            dummy_array,dummy_array, &
-                            xstore_inner_core,ystore_inner_core,zstore_inner_core, &
-                            xix_inner_core,xiy_inner_core,xiz_inner_core, &
-                            etax_inner_core,etay_inner_core,etaz_inner_core, &
-                            gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
-                            rhostore_inner_core,kappavstore_inner_core,muvstore_inner_core, &
-                            dummy_array,dummy_array,dummy_array, &
-                            c11store_inner_core,c12store_inner_core,c13store_inner_core, &
-                            dummy_array,dummy_array,dummy_array, &
-                            dummy_array,dummy_array,dummy_array, &
-                            dummy_array,dummy_array,c33store_inner_core, &
-                            dummy_array,dummy_array,dummy_array, &
-                            c44store_inner_core,dummy_array,dummy_array, &
-                            dummy_array,dummy_array,dummy_array, &
-                            ibool_inner_core,idoubling_inner_core,dummy_ispec_is_tiso, &
-                            rmassx_inner_core,rmassy_inner_core,rmassz_inner_core, &
-                            1,dummy_array, &
-                            READ_KAPPA_MU,READ_TISO, &
-                            b_rmassx_inner_core,b_rmassy_inner_core)
+  if (I_should_read_the_database) then
+    if (ADIOS_FOR_ARRAYS_SOLVER) then
+      call read_arrays_solver_adios(IREGION_INNER_CORE,myrank, &
+                                    NSPEC_INNER_CORE,NGLOB_INNER_CORE,NGLOB_XY_IC, &
+                                    nspec_iso,nspec_tiso,nspec_ani, &
+                                    dummy_array,dummy_array, &
+                                    xstore_inner_core,ystore_inner_core,zstore_inner_core, &
+                                    xix_inner_core,xiy_inner_core,xiz_inner_core, &
+                                    etax_inner_core,etay_inner_core,etaz_inner_core, &
+                                    gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
+                                    rhostore_inner_core,kappavstore_inner_core,muvstore_inner_core, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    c11store_inner_core,c12store_inner_core,c13store_inner_core, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    dummy_array,dummy_array,c33store_inner_core, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    c44store_inner_core,dummy_array,dummy_array, &
+                                    dummy_array,dummy_array,dummy_array, &
+                                    ibool_inner_core,idoubling_inner_core,dummy_ispec_is_tiso, &
+                                    rmassx_inner_core,rmassy_inner_core,rmassz_inner_core, &
+                                    1,dummy_array, &
+                                    READ_KAPPA_MU,READ_TISO, &
+                                    b_rmassx_inner_core,b_rmassy_inner_core)
+    else
+      call read_arrays_solver(IREGION_INNER_CORE,myrank, &
+                              NSPEC_INNER_CORE,NGLOB_INNER_CORE,NGLOB_XY_IC, &
+                              nspec_iso,nspec_tiso,nspec_ani, &
+                              dummy_array,dummy_array, &
+                              xstore_inner_core,ystore_inner_core,zstore_inner_core, &
+                              xix_inner_core,xiy_inner_core,xiz_inner_core, &
+                              etax_inner_core,etay_inner_core,etaz_inner_core, &
+                              gammax_inner_core,gammay_inner_core,gammaz_inner_core, &
+                              rhostore_inner_core,kappavstore_inner_core,muvstore_inner_core, &
+                              dummy_array,dummy_array,dummy_array, &
+                              c11store_inner_core,c12store_inner_core,c13store_inner_core, &
+                              dummy_array,dummy_array,dummy_array, &
+                              dummy_array,dummy_array,dummy_array, &
+                              dummy_array,dummy_array,c33store_inner_core, &
+                              dummy_array,dummy_array,dummy_array, &
+                              c44store_inner_core,dummy_array,dummy_array, &
+                              dummy_array,dummy_array,dummy_array, &
+                              ibool_inner_core,idoubling_inner_core,dummy_ispec_is_tiso, &
+                              rmassx_inner_core,rmassy_inner_core,rmassz_inner_core, &
+                              1,dummy_array, &
+                              READ_KAPPA_MU,READ_TISO, &
+                              b_rmassx_inner_core,b_rmassy_inner_core)
+    endif
   endif
+  call bcast_mesh_databases_IC()
 
   deallocate(dummy_ispec_is_tiso)
 
@@ -1499,3 +1502,46 @@
   call bcast_all_cr_for_database(rmass_outer_core(1), size(rmass_outer_core))
     
   end subroutine bcast_mesh_databases_OC
+
+!
+!-------------------------------------------------------------------------------------------------
+!
+
+  subroutine bcast_mesh_databases_IC()
+
+  use specfem_par
+  use specfem_par_innercore
+  implicit none
+
+  call bcast_all_i_for_database(NSPEC_INNER_CORE, 1)
+  call bcast_all_i_for_database(NGLOB_INNER_CORE, 1)
+  call bcast_all_i_for_database(NGLOB_XY_IC, 1)
+  call bcast_all_cr_for_database(xstore_inner_core(1), size(xstore_inner_core))
+  call bcast_all_cr_for_database(ystore_inner_core(1), size(ystore_inner_core))
+  call bcast_all_cr_for_database(zstore_inner_core(1), size(zstore_inner_core))
+  call bcast_all_cr_for_database(xix_inner_core(1,1,1,1), size(xix_inner_core))
+  call bcast_all_cr_for_database(xiy_inner_core(1,1,1,1), size(xiy_inner_core))
+  call bcast_all_cr_for_database(xiz_inner_core(1,1,1,1), size(xiz_inner_core))
+  call bcast_all_cr_for_database(etax_inner_core(1,1,1,1), size(etax_inner_core))
+  call bcast_all_cr_for_database(etay_inner_core(1,1,1,1), size(etay_inner_core))
+  call bcast_all_cr_for_database(etaz_inner_core(1,1,1,1), size(etaz_inner_core))
+  call bcast_all_cr_for_database(gammax_inner_core(1,1,1,1), size(gammax_inner_core))
+  call bcast_all_cr_for_database(gammay_inner_core(1,1,1,1), size(gammay_inner_core))
+  call bcast_all_cr_for_database(gammaz_inner_core(1,1,1,1), size(gammaz_inner_core))
+  call bcast_all_cr_for_database(rhostore_inner_core(1,1,1,1), size(rhostore_inner_core))
+  call bcast_all_cr_for_database(kappavstore_inner_core(1,1,1,1), size(kappavstore_inner_core))
+  call bcast_all_cr_for_database(muvstore_inner_core(1,1,1,1), size(muvstore_inner_core))
+  call bcast_all_cr_for_database(c11store_inner_core(1,1,1,1), size(c11store_inner_core))
+  call bcast_all_cr_for_database(c12store_inner_core(1,1,1,1), size(c12store_inner_core))
+  call bcast_all_cr_for_database(c13store_inner_core(1,1,1,1), size(c13store_inner_core))
+  call bcast_all_cr_for_database(c33store_inner_core(1,1,1,1), size(c33store_inner_core))
+  call bcast_all_cr_for_database(c44store_inner_core(1,1,1,1), size(c44store_inner_core))
+  call bcast_all_i_for_database(ibool_inner_core(1,1,1,1), size(ibool_inner_core))
+  call bcast_all_i_for_database(idoubling_inner_core(1), size(idoubling_inner_core))
+  call bcast_all_cr_for_database(rmassx_inner_core(1), size(rmassx_inner_core))
+  call bcast_all_cr_for_database(rmassy_inner_core(1), size(rmassy_inner_core))
+  call bcast_all_cr_for_database(rmassz_inner_core(1), size(rmassz_inner_core))
+  call bcast_all_cr_for_database(b_rmassx_inner_core(1), size(b_rmassx_inner_core))
+  call bcast_all_cr_for_database(b_rmassy_inner_core(1), size(b_rmassy_inner_core))
+
+  end subroutine bcast_mesh_databases_IC



More information about the CIG-COMMITS mailing list