diff --git a/sources/io.F90 b/sources/io.F90
index 774192c..f04f719 100644
--- a/sources/io.F90
+++ b/sources/io.F90
@@ -2431,7 +2431,6 @@ module io
logical :: test
character(len=64) :: dname, fname
character(len=256) :: vars
- character(len=22) :: digest_string
integer(kind=8) :: digest, bytes
integer(kind=4) :: lun = 103
integer :: nd, nl, l, p
@@ -2556,7 +2555,7 @@ module io
call write_attribute_xml(lun, "isnap" , isnap)
call write_attribute_xml(lun, "variables", trim(vars))
write(lun,"(a)") ''
- write(lun,"(a)") ''
+ write(lun,"(a)") ''
! prepare and store metablocks
!
@@ -2600,15 +2599,15 @@ module io
! store metablock data
!
- call write_binary_xml(trim(dname), 'metablock_fields.bin', &
+ write(fname,"(a,'.bin')") "metablock_fields"
+ call write_binary_xml(trim(dname), trim(fname), &
transfer(fields, [ 0_1 ]), bytes, digest)
- write(digest_string,"('xxh64:', 1z0.16)") digest
- call write_attribute_xml(lun, "fields", digest_string)
+ call write_attribute_xml(lun, "fields", trim(fname), bytes, digest)
- call write_binary_xml(trim(dname), 'metablock_bounds.bin', &
+ write(fname,"(a,'.bin')") "metablock_bounds"
+ call write_binary_xml(trim(dname), trim(fname), &
transfer(bounds, [ 0_1 ]), bytes, digest)
- write(digest_string,"('xxh64:', 1z0.16)") digest
- call write_attribute_xml(lun, "bounds", digest_string)
+ call write_attribute_xml(lun, "bounds", trim(fname), bytes, digest)
if (allocated(fields)) deallocate(fields)
if (allocated(bounds)) deallocate(bounds)
@@ -2620,7 +2619,7 @@ module io
return
end if ! allocation
- write(lun,"(a)") ''
+ write(lun,"(a)") ''
write(lun,"(a)") ''
close(lun)
@@ -2643,7 +2642,7 @@ module io
call write_attribute_xml(lun, "dblocks" , nd)
call write_attribute_xml(lun, "variables", trim(vars))
write(lun,"(a)") ''
- write(lun,"(a)") ''
+ write(lun,"(a)") ''
if (nd > 0) then
@@ -2670,15 +2669,13 @@ module io
write(fname,"(a,'_',a,'_',i6.6,'.bin')") "datablock", "ids", nproc
call write_binary_xml(trim(dname), trim(fname), &
transfer(ids, [ 0_1 ]), bytes, digest)
- write(digest_string,"('xxh64:', 1z0.16)") digest
- call write_attribute_xml(lun, "ids", digest_string)
+ call write_attribute_xml(lun, "ids", trim(fname), bytes, digest)
do p = 1, nv
write(fname,"(a,'_',a,'_',i6.6,'.bin')") "datablock", trim(pvars(p)), nproc
call write_binary_xml(trim(dname), trim(fname), &
transfer(arrays(p,:,:,:,:), [ 0_1 ]), bytes, digest)
- write(digest_string,"('xxh64:', 1z0.16)") digest
- call write_attribute_xml(lun, trim(pvars(p)), digest_string)
+ call write_attribute_xml(lun, trim(pvars(p)), trim(fname), bytes, digest)
end do
if (allocated(ids)) deallocate(ids)
@@ -2693,7 +2690,7 @@ module io
end if
- write(lun,"(a)") ''
+ write(lun,"(a)") ''
write(lun,"(a)") ''
close(lun)