diff --git a/sources/io.F90 b/sources/io.F90 index f04f719..61613bb 100644 --- a/sources/io.F90 +++ b/sources/io.F90 @@ -1970,7 +1970,6 @@ module io ! logical :: test character(len=64) :: dname, fname - character(len=22) :: digest_string integer(kind=8) :: digest, bytes integer(kind=4) :: lun = 103 integer :: nd, nl, nm, nx, i, j, l, n, p @@ -2112,7 +2111,7 @@ module io write(lun,"(a)") '' call write_attribute_xml(lun, "isnap" , isnap) write(lun,"(a)") '' - write(lun,"(a)") '' + write(lun,"(a)") '' ! prepare and store metablocks ! @@ -2214,43 +2213,43 @@ 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_children.bin', & + write(fname,"(a,'.bin')") "metablock_children" + call write_binary_xml(trim(dname), trim(fname), & transfer(children, [ 0_1 ]), bytes, digest) - write(digest_string,"('xxh64:', 1z0.16)") digest - call write_attribute_xml(lun, "children", digest_string) + call write_attribute_xml(lun, "children", trim(fname), bytes, digest) #if NDIMS == 3 - call write_binary_xml(trim(dname), 'metablock_faces.bin', & + write(fname,"(a,'.bin')") "metablock_faces" + call write_binary_xml(trim(dname), trim(fname), & transfer(faces, [ 0_1 ]), bytes, digest) - write(digest_string,"('xxh64:', 1z0.16)") digest - call write_attribute_xml(lun, "faces", digest_string) + call write_attribute_xml(lun, "faces", trim(fname), bytes, digest) #endif /* NDIMS == 3 */ - call write_binary_xml(trim(dname), 'metablock_edges.bin', & + write(fname,"(a,'.bin')") "metablock_edges" + call write_binary_xml(trim(dname), trim(fname), & transfer(edges, [ 0_1 ]), bytes, digest) - write(digest_string,"('xxh64:', 1z0.16)") digest - call write_attribute_xml(lun, "edges", digest_string) + call write_attribute_xml(lun, "edges", trim(fname), bytes, digest) - call write_binary_xml(trim(dname), 'metablock_corners.bin', & + write(fname,"(a,'.bin')") "metablock_corners" + call write_binary_xml(trim(dname), trim(fname), & transfer(corners, [ 0_1 ]), bytes, digest) - write(digest_string,"('xxh64:', 1z0.16)") digest - call write_attribute_xml(lun, "corners", digest_string) + call write_attribute_xml(lun, "corners", 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 (nmodes > 0) then - call write_binary_xml(trim(dname), 'forcing_coefficients.bin', & + write(fname,"(a,'.bin')") "forcing_coefficients" + call write_binary_xml(trim(dname), trim(fname), & transfer(fcoefs, [ 0_1 ]), bytes, digest) - write(digest_string,"('xxh64:', 1z0.16)") digest - call write_attribute_xml(lun, "forcing", digest_string) + call write_attribute_xml(lun, "forcing", trim(fname), bytes, digest) end if if (allocated(fields)) deallocate(fields) @@ -2270,7 +2269,7 @@ module io end if ! allocation #if NDIMS == 3 #endif /* NDIMS == 3 */ - write(lun,"(a)") '' + write(lun,"(a)") '' write(lun,"(a)") '' close(lun) @@ -2298,7 +2297,7 @@ module io call write_attribute_xml(lun, "gentype", gentype) call write_attribute_xml(lun, "nseeds" , nseeds) write(lun,"(a)") '' - write(lun,"(a)") '' + write(lun,"(a)") '' if (nd > 0) then @@ -2331,14 +2330,12 @@ 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) write(fname,"(a,'_',a,'_',i6.6,'.bin')") "datablock", "arrays", nproc call write_binary_xml(trim(dname), trim(fname), & transfer(arrays, [ 0_1 ]), bytes, digest) - write(digest_string,"('xxh64:', 1z0.16)") digest - call write_attribute_xml(lun, "arrays", digest_string) + call write_attribute_xml(lun, "arrays", trim(fname), bytes, digest) if (allocated(ids)) deallocate(ids) if (allocated(arrays)) deallocate(arrays) @@ -2365,8 +2362,7 @@ module io write(fname,"(a,'_',a,'_',i6.6,'.bin')") "random", "seeds", nproc call write_binary_xml(trim(dname), trim(fname), & transfer(seeds, [ 0_1 ]), bytes, digest) - write(digest_string,"('xxh64:', 1z0.16)") digest - call write_attribute_xml(lun, "seeds", digest_string) + call write_attribute_xml(lun, "seeds", trim(fname), bytes, digest) if (allocated(seeds)) deallocate(seeds) @@ -2379,7 +2375,7 @@ module io end if - write(lun,"(a)") '' + write(lun,"(a)") '' write(lun,"(a)") '' close(lun)