[cig-commits] [commit] devel: save_arrays_solver_adios bug corrected: local dimensions vary along interfaces. (74fa36e)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Fri Apr 4 06:35:47 PDT 2014


Repository : ssh://shell.geodynamics.org/specfem3d_globe

On branch  : devel
Link       : https://github.com/geodynamics/specfem3d_globe/compare/59cf4ee634c7818f3e4944baeab19158b67b6c17...e01ed889ffebfc2811fa41f2f5f1273af7777b81

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

commit 74fa36e80488b11e8b8ab789dca16bb613507e8b
Author: Matthieu Lefebvre <ml15 at princeton.edu>
Date:   Fri Apr 4 09:27:16 2014 -0400

    save_arrays_solver_adios bug corrected: local dimensions vary along interfaces.


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

74fa36e80488b11e8b8ab789dca16bb613507e8b
 src/meshfem3D/save_arrays_solver_adios.F90 | 51 +++++++++++++++++++++++-------
 1 file changed, 39 insertions(+), 12 deletions(-)

diff --git a/src/meshfem3D/save_arrays_solver_adios.F90 b/src/meshfem3D/save_arrays_solver_adios.F90
index e5ad587..a53abda 100644
--- a/src/meshfem3D/save_arrays_solver_adios.F90
+++ b/src/meshfem3D/save_arrays_solver_adios.F90
@@ -1389,18 +1389,45 @@ subroutine save_mpi_arrays_adios(myrank,iregion_code,LOCAL_PATH, &
   if( num_interfaces > 0 ) then
     call adios_write(handle, trim(region_name) // "max_nibool_interfaces", &
         max_nibool_interfaces, adios_err)
-    local_dim = num_interfaces_wmax
-    call write_adios_global_1d_array(handle, myrank, sizeprocs,      &
-                                     local_dim, trim(region_name) // &
-                                     STRINGIFY_VAR(my_neighbours))
-    call write_adios_global_1d_array(handle, myrank, sizeprocs,       &
-                                     local_dim,  trim(region_name) // &
-                                     STRINGIFY_VAR(nibool_interfaces))
-
-    local_dim = max_nibool_interfaces_wmax * num_interfaces_wmax
-    call write_adios_global_1d_array(handle, myrank, sizeprocs,      &
-                                     local_dim, trim(region_name) // &
-                                     STRINGIFY_VAR(ibool_interfaces))
+    !local_dim = num_interfaces_wmax
+    !call write_adios_global_1d_array(handle, myrank, sizeprocs,      &
+                                     !local_dim, trim(region_name) // &
+                                     !STRINGIFY_VAR(my_neighbours))
+    !call write_adios_global_1d_array(handle, myrank, sizeprocs,       &
+                                     !local_dim,  trim(region_name) // &
+                                     !STRINGIFY_VAR(nibool_interfaces))
+
+    !local_dim = max_nibool_interfaces_wmax * num_interfaces_wmax
+    !call write_adios_global_1d_array(handle, myrank, sizeprocs,      &
+                                     !local_dim, trim(region_name) // &
+                                     !STRINGIFY_VAR(ibool_interfaces))
+
+    call adios_write(handle, trim(region_name) // "my_neighbours/local_dim", &
+                     num_interfaces, adios_err)
+    call adios_write(handle, trim(region_name) // "my_neighbours/global_dim", &
+                     num_interfaces_wmax*sizeprocs, adios_err)
+    call adios_write(handle, trim(region_name) // "my_neighbours/offset", &
+                     num_interfaces_wmax*myrank, adios_err)
+    call adios_write(handle, trim(region_name) // "my_neighbours/array", &
+                     my_neighbours, adios_err)
+
+    call adios_write(handle, trim(region_name) // "nibool_interfaces/local_dim", &
+                     num_interfaces, adios_err)
+    call adios_write(handle, trim(region_name) // "nibool_interfaces/global_dim", &
+                     num_interfaces_wmax*sizeprocs, adios_err)
+    call adios_write(handle, trim(region_name) // "nibool_interfaces/offset", &
+                     num_interfaces_wmax*myrank, adios_err)
+    call adios_write(handle, trim(region_name) // "nibool_interfaces/array", &
+                     nibool_interfaces, adios_err)
+
+    call adios_write(handle, trim(region_name) // "ibool_interfaces/local_dim", &
+                     max_nibool_interfaces * num_interfaces, adios_err)
+    call adios_write(handle, trim(region_name) // "ibool_interfaces/global_dim", &
+                     max_nibool_interfaces_wmax * num_interfaces_wmax*sizeprocs, adios_err)
+    call adios_write(handle, trim(region_name) // "ibool_interfaces/offset", &
+                     max_nibool_interfaces_wmax * num_interfaces_wmax*myrank, adios_err)
+    call adios_write(handle, trim(region_name) // "ibool_interfaces/array", &
+                     ibool_interfaces, adios_err)
   endif
 
   ! inner/outer elements



More information about the CIG-COMMITS mailing list