utils_dumpfiles

Module

Description

Utility routines used when reading and writing the

sphNG/Phantom dump file format

“Every complex file format eventually turns into a

badly-designed programming language.” - Anon

References:

None

Owner:

Daniel Price

Runtime parameters:

None

Dependencies:

None

Quick access

Types:

dump_h

Variables:

add_to_header, add_to_header_int4, add_to_header_int4arr, add_to_header_int8, add_to_header_int8arr, add_to_header_real4, add_to_header_real4arr, add_to_header_real8, add_to_header_real8arr, add_to_iheader_arr, add_to_rheader_arr, datatype_label, dump_h, extract, extract_int4, extract_int4arr, extract_int8, extract_int8arr, extract_real4, extract_real4arr, extract_real8, extract_real8arr, extracthdr_int4, extracthdr_int4arr, extracthdr_int8, extracthdr_int8arr, extracthdr_real4, extracthdr_real4arr, extracthdr_real8, extracthdr_real8arr, i_int, i_int1, i_int2, i_int4, i_int8, i_real, i_real4, i_real8, ierr_arraysize, ierr_endian, ierr_fileopen, ierr_intsize, ierr_notags, ierr_notenough, ierr_realsize, ierr_version, int1, int1o, int2, int2o, iversion, lenid, lentag, maxphead, ndatatypes, open_dumpfile_rh, read_array, read_array_from_file, read_array_from_file_r4, read_array_from_file_r8, read_array_int1, read_array_int4, read_array_int8, read_array_real4, read_array_real4arr, read_array_real8, read_array_real8arr, reset_header, reset_header_real, write_array, write_array_int1, write_array_int4, write_array_int8, write_array_real4, write_array_real4arr, write_array_real8, write_array_real8arr

Routines:

add_to_iheader(), add_to_rheader(), allocate_header(), check_tag(), free_header(), get_dumpname(), get_error_text(), match_tag(), num_in_header(), open_dumpfile_r(), open_dumpfile_w(), print_arrays_in_file(), print_header(), read_block_header(), read_header(), skip_arrays(), skip_headerblock(), skipblock(), tag(), write_block_header(), write_header()

Types

  • type  dump_utils/dump_h
    Type fields:
    • % int1tags (*) [character,allocatable]

    • % int1vals (*) [integer,allocatable]

    • % int2tags (*) [character,allocatable]

    • % int2vals (*) [integer,allocatable]

    • % int4tags (*) [character,allocatable]

    • % int4vals (*) [integer,allocatable]

    • % int8tags (*) [character,allocatable]

    • % int8vals (*) [integer,allocatable]

    • % inttags (*) [character,allocatable]

    • % intvals (*) [integer,allocatable]

    • % nums (ndatatypes) [integer]

    • % real4tags (*) [character,allocatable]

    • % real4vals (*) [real,allocatable]

    • % real8tags (*) [character,allocatable]

    • % real8vals (*) [real,allocatable]

    • % realtags (*) [character,allocatable]

    • % realvals (*) [real,allocatable]

Variables

  • dump_utils/add_to_header [public]
  • dump_utils/add_to_header_int4 [private]
  • dump_utils/add_to_header_int4arr [private]
  • dump_utils/add_to_header_int8 [private]
  • dump_utils/add_to_header_int8arr [private]
  • dump_utils/add_to_header_real4 [private]
  • dump_utils/add_to_header_real4arr [private]
  • dump_utils/add_to_header_real8 [private]
  • dump_utils/add_to_header_real8arr [private]
  • dump_utils/add_to_iheader_arr [private]
  • dump_utils/add_to_rheader_arr [private]
  • dump_utils/datatype_label (8) [character,private/parameter/optional/default=(/'integer','int*1  ','int*2  ','int*4  ','int*8  ','real   ','real*4 ','double '/)]
  • dump_utils/dump_h [public]
  • dump_utils/extract [public]
  • dump_utils/extract_int4 [private]
  • dump_utils/extract_int4arr [private]
  • dump_utils/extract_int8 [private]
  • dump_utils/extract_int8arr [private]
  • dump_utils/extract_real4 [private]
  • dump_utils/extract_real4arr [private]
  • dump_utils/extract_real8 [private]
  • dump_utils/extract_real8arr [private]
  • dump_utils/extracthdr_int4 [private]
  • dump_utils/extracthdr_int4arr [private]
  • dump_utils/extracthdr_int8 [private]
  • dump_utils/extracthdr_int8arr [private]
  • dump_utils/extracthdr_real4 [private]
  • dump_utils/extracthdr_real4arr [private]
  • dump_utils/extracthdr_real8 [private]
  • dump_utils/extracthdr_real8arr [private]
  • dump_utils/i_int [integer,public/parameter/optional/default=1]
  • dump_utils/i_int1 [integer,public/parameter/optional/default=2]
  • dump_utils/i_int2 [integer,public/parameter/optional/default=3]
  • dump_utils/i_int4 [integer,public/parameter/optional/default=4]
  • dump_utils/i_int8 [integer,public/parameter/optional/default=5]
  • dump_utils/i_real [integer,public/parameter/optional/default=6]
  • dump_utils/i_real4 [integer,public/parameter/optional/default=7]
  • dump_utils/i_real8 [integer,public/parameter/optional/default=8]
  • dump_utils/ierr_arraysize [integer,public/parameter/optional/default=9]
  • dump_utils/ierr_endian [integer,public/parameter/optional/default=2]
  • dump_utils/ierr_fileopen [integer,public/parameter/optional/default=1]
  • dump_utils/ierr_intsize [integer,public/parameter/optional/default=5]
  • dump_utils/ierr_notags [integer,public/parameter/optional/default=6]
  • dump_utils/ierr_notenough [integer,public/parameter/optional/default=8]
  • dump_utils/ierr_realsize [integer,public/parameter/optional/default=4]
  • dump_utils/ierr_unknown [integer,public/parameter/optional/default=7]
  • dump_utils/ierr_version [integer,public/parameter/optional/default=3]
  • dump_utils/int1 [integer,public/parameter/optional/default=060769]
  • dump_utils/int1o [integer,public/parameter/optional/default=690706]
  • dump_utils/int2 [integer,public/parameter/optional/default=060878]
  • dump_utils/int2o [integer,public/parameter/optional/default=780806]
  • dump_utils/iversion [integer,public/parameter/optional/default=1]
  • dump_utils/lenid [integer,public/parameter/optional/default=100]
  • dump_utils/lentag [integer,public/parameter/optional/default=16]

    tag length

  • dump_utils/maxphead [integer,public/parameter/optional/default=256]
  • dump_utils/ndatatypes [integer,public/parameter/optional/default=8]
  • dump_utils/open_dumpfile_rh [private]
  • dump_utils/read_array [public]
  • dump_utils/read_array_from_file [public]
  • dump_utils/read_array_from_file_r4 [private]
  • dump_utils/read_array_from_file_r8 [private]
  • dump_utils/read_array_int1 [private]
  • dump_utils/read_array_int4 [private]
  • dump_utils/read_array_int8 [private]
  • dump_utils/read_array_real4 [private]
  • dump_utils/read_array_real4arr [private]
  • dump_utils/read_array_real8 [private]
  • dump_utils/read_array_real8arr [private]
  • dump_utils/reset_header [public]
  • dump_utils/reset_header_real [private]
  • dump_utils/write_array [public]
  • dump_utils/write_array_int1 [private]
  • dump_utils/write_array_int4 [private]
  • dump_utils/write_array_int8 [private]
  • dump_utils/write_array_real4 [private]
  • dump_utils/write_array_real4arr [private]
  • dump_utils/write_array_real8 [private]
  • dump_utils/write_array_real8arr [private]

Subroutines and functions

function  dump_utils/get_dumpname(filename, id)
Parameters:
  • filename [character,in]

  • id [integer,in]

Return:

get_dumpname [character]

subroutine  dump_utils/skipblock(iunit, nums1, nums2, nums3, nums4, tagged, ierr)
Parameters:
Call to:

skip_arrays()

subroutine  dump_utils/skip_arrays(iunit, nskip, tagged, ierr[, verbose])
Parameters:
  • iunit [integer,in]

  • nskip [integer,in]

  • tagged [logical,in]

  • ierr [integer,out]

  • verbose [integer,in,]

Called from:

skipblock()

subroutine  dump_utils/skip_headerblock(iunit, ierr)
Parameters:
  • iunit [integer,in]

  • ierr [integer,out]

function  dump_utils/tag(label)
Parameters:

label [character,in]

Return:

tag [character]

Called from:

write_header()

subroutine  dump_utils/check_tag(tag, expectedtag)
Parameters:
  • tag [character,in]

  • expectedtag [character,in]

function  dump_utils/match_tag(tag, expectedtag)
Parameters:
  • tag [character,in]

  • expectedtag [character,in]

Return:

match_tag [logical]

subroutine  dump_utils/add_to_rheader(rval, tag, hdr, ierr)
Parameters:
  • rval [real,in]

  • tag [character,in]

  • hdr [dump_h,inout]

  • ierr [integer,inout]

Called from:

write_headeropts_externbinary()

subroutine  dump_utils/add_to_iheader(ival, tag, hdr, ierr)
Parameters:
  • ival [integer,in]

  • tag [character,in]

  • hdr [dump_h,inout]

  • ierr [integer,inout]

function  dump_utils/num_in_header(tags)
Parameters:

tags (*) [character,in]

Return:

num_in_header [integer]

subroutine  dump_utils/open_dumpfile_w(iunit, filename, fileid, ierr[, singleprec])
Parameters:
  • iunit [integer,in]

  • filename [character,in]

  • fileid [character,in]

  • ierr [integer,out]

  • singleprec [logical,in,]

subroutine  dump_utils/open_dumpfile_r(iunit, filename, fileid, ierr[, singleprec[, requiretags[, tagged]]])
Parameters:
  • iunit [integer,in]

  • filename [character,in]

  • fileid [character,out]

  • ierr [integer,out]

  • singleprec [logical,in,]

  • requiretags [logical,in,]

  • tagged [logical,out,]

function  dump_utils/get_error_text(ierr)
Parameters:

ierr [integer,in]

Return:

get_error_text [character]

subroutine  dump_utils/read_header(iunit, hdr, ierr[, singleprec[, tagged]])
Parameters:
  • iunit [integer,in]

  • hdr [dump_h,out]

  • ierr [integer,out]

  • singleprec [logical,in,]

  • tagged [logical,in,]

function  dump_utils/allocate_header([nint[, nint1[, nint2[, nint4[, nint8[, nreal[, nreal4[, nreal8[, err]]]]]]]]])
Parameters:
  • nint [integer,in,]

  • nint1 [integer,in,]

  • nint2 [integer,in,]

  • nint4 [integer,in,]

  • nint8 [integer,in,]

  • nreal [integer,in,]

  • nreal4 [integer,in,]

  • nreal8 [integer,in,]

  • err [integer,out,]

Return:

hdr [dump_h]

Call to:

free_header()

subroutine  dump_utils/free_header(hdr[, ierr])
Parameters:
  • hdr [dump_h,inout]

  • ierr [integer,out,]

Called from:

allocate_header()

subroutine  dump_utils/print_header(hdr)
Parameters:

hdr [dump_h,in]

subroutine  dump_utils/write_header(iunit, hdr, ierr[, singleprec])
Parameters:
  • iunit [integer,in]

  • hdr [dump_h,in]

  • ierr [integer,out]

  • singleprec [logical,in,]

Call to:

tag()

subroutine  dump_utils/write_block_header(nblocks, number, nums, iunit, ierr)
Parameters:
  • nblocks [integer,in,]

  • number (nblocks) [integer,in]

  • nums (ndatatypes,nblocks) [integer,in]

  • iunit [integer,in]

  • ierr [integer,out]

subroutine  dump_utils/read_block_header(nblocks, number, nums, iunit, ierr)
Parameters:
  • nblocks [integer,in]

  • number (nblocks) [integer,out]

  • nums (ndatatypes,nblocks) [integer,out]

  • iunit [integer,in]

  • ierr [integer,out]

Called from:

print_arrays_in_file()

subroutine  dump_utils/print_arrays_in_file(iunit, filename)
Parameters:
  • iunit [integer,in]

  • filename [character,in]

Call to:

read_block_header()