IO: Fix generation of XDMF files.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
This commit is contained in:
parent
8d27d95a76
commit
fcce326245
@ -5443,29 +5443,21 @@ module io
|
||||
!
|
||||
subroutine write_snapshot_xdmf()
|
||||
|
||||
! import procedures and variables from other modules
|
||||
!
|
||||
use blocks , only : block_data, list_data
|
||||
use blocks , only : get_dblocks
|
||||
use equations , only : nv, pvars
|
||||
use mpitools , only : nproc
|
||||
use coordinates , only : ni => ncells, ng => nghosts
|
||||
use coordinates , only : adx, ady
|
||||
use blocks , only : block_data, list_data
|
||||
use blocks , only : get_dblocks
|
||||
use equations , only : nv, pvars
|
||||
use mpitools , only : nproc
|
||||
use coordinates, only : ni => ncells, ng => nghosts
|
||||
use coordinates, only : adx, ady
|
||||
#if NDIMS == 3
|
||||
use coordinates , only : adz
|
||||
use coordinates, only : adz
|
||||
#endif /* NDIMS == 3 */
|
||||
use evolution , only : time
|
||||
use evolution , only : time
|
||||
|
||||
! local variables are not implicit by default
|
||||
!
|
||||
implicit none
|
||||
|
||||
! local pointers
|
||||
!
|
||||
type(block_data), pointer :: pdata
|
||||
|
||||
! local variables
|
||||
!
|
||||
character(len=64) :: fname, hname
|
||||
character(len=128) :: stmp, ttmp, sdim, bdim, pdim
|
||||
integer(kind=4) :: l, p
|
||||
@ -5474,23 +5466,15 @@ module io
|
||||
integer(kind=4) :: kp
|
||||
#endif /* NDIMS == 3 */
|
||||
|
||||
! local arrays
|
||||
!
|
||||
integer, dimension(12) :: slab
|
||||
|
||||
! local parameters
|
||||
!
|
||||
integer, parameter :: xdmf = 101
|
||||
!
|
||||
|
||||
!-------------------------------------------------------------------------------
|
||||
!
|
||||
! prepare the XDMF and HDF5 file names
|
||||
|
||||
write(fname, "('p',i6.6,'_',i5.5,'.xdmf')") isnap, nproc
|
||||
write(hname, "('p',i6.6,'_',i5.5,'.h5' )") isnap, nproc
|
||||
|
||||
! open the XDMF file
|
||||
!
|
||||
open (unit = xdmf, file = fname, status = 'replace')
|
||||
|
||||
! write the header
|
||||
@ -5529,20 +5513,24 @@ module io
|
||||
#endif /* NDIMS == 3 */
|
||||
bdim = trim(adjustl(stmp)) // ' ' // trim(adjustl(ttmp))
|
||||
|
||||
#if NDIMS == 3
|
||||
write(stmp, "(1i8)") ni
|
||||
#else /* NDIMS == 3 */
|
||||
write(stmp, "(1i8)") 1
|
||||
#endif /* NDIMS == 3 */
|
||||
write(ttmp, "(1i8)") ni
|
||||
stmp = trim(adjustl(stmp)) // ' ' // trim(adjustl(ttmp))
|
||||
write(ttmp, "(1i8)") ni
|
||||
stmp = trim(adjustl(stmp)) // ' ' // trim(adjustl(ttmp))
|
||||
write(ttmp, "(1i8)") get_dblocks()
|
||||
sdim = trim(adjustl(stmp)) // ' ' // trim(adjustl(ttmp))
|
||||
sdim = trim(adjustl(ttmp)) // ' ' // trim(adjustl(stmp))
|
||||
|
||||
! prepare slab indices
|
||||
!
|
||||
#if NDIMS == 3
|
||||
slab(:) = (/ ng, ng, ng, -1, 1, 1, 1, 1, ni, ni, ni, 1 /)
|
||||
slab(:) = (/ -1, ng, ng, ng, 1, 1, 1, 1, 1, ni, ni, ni /)
|
||||
#else /* NDIMS == 3 */
|
||||
slab(:) = (/ 0, ng, ng, -1, 1, 1, 1, 1, 1, ni, ni, 1 /)
|
||||
slab(:) = (/ -1, 0, ng, ng, 1, 1, 1, 1, 1, 1, ni, ni /)
|
||||
#endif /* NDIMS == 3 */
|
||||
|
||||
! iterate over all data blocks
|
||||
@ -5595,7 +5583,7 @@ module io
|
||||
|
||||
! convert slab dimensions to string
|
||||
!
|
||||
slab(4) = l
|
||||
slab(1) = l
|
||||
write(pdim, "(1i8)") slab(1)
|
||||
do p = 2, 12
|
||||
write(ttmp, "(1i8)") slab(p)
|
||||
@ -5640,8 +5628,6 @@ module io
|
||||
write(xdmf, "(a)") ' </Domain>'
|
||||
write(xdmf, "(a)") '</Xdmf>'
|
||||
|
||||
! close the XDMF file
|
||||
!
|
||||
close(xdmf)
|
||||
|
||||
!-------------------------------------------------------------------------------
|
||||
@ -5664,31 +5650,19 @@ module io
|
||||
!
|
||||
subroutine write_snapshot_xdmf_master()
|
||||
|
||||
! import procedures and variables from other modules
|
||||
!
|
||||
use mpitools , only : npmax
|
||||
use mpitools, only : npmax
|
||||
|
||||
! local variables are not implicit by default
|
||||
!
|
||||
implicit none
|
||||
|
||||
! local variables
|
||||
!
|
||||
character(len=64) :: fname, pname
|
||||
integer(kind=4) :: np
|
||||
character(len=64) :: fname, pname
|
||||
integer(kind=4) :: np
|
||||
|
||||
! local parameters
|
||||
!
|
||||
integer, parameter :: xdmf = 102
|
||||
!
|
||||
|
||||
!-------------------------------------------------------------------------------
|
||||
!
|
||||
! prepare the XDMF and HDF5 file names
|
||||
|
||||
write(fname, "('p',i6.6,'.xdmf')") isnap
|
||||
|
||||
! open the XDMF file
|
||||
!
|
||||
open (unit = xdmf, file = fname, status = 'replace')
|
||||
|
||||
! write the header
|
||||
@ -5714,8 +5688,6 @@ module io
|
||||
write(xdmf, "(a)") ' </Domain>'
|
||||
write(xdmf, "(a)") '</Xdmf>'
|
||||
|
||||
! close the XDMF file
|
||||
!
|
||||
close(xdmf)
|
||||
|
||||
!-------------------------------------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user