h5ltmake_compressed_dataset_double_f_3 Subroutine

public subroutine h5ltmake_compressed_dataset_double_f_3(loc_id, dset_name, rank, dims, buf, error, compress, level)

Write a compressed 64-bit float dataset of dimension 3

Arguments

TypeIntentOptionalAttributesName
integer(kind=hid_t), intent(in) :: loc_id

HDF5 file or group identifier

character(len=*), intent(in) :: dset_name

Name of the dataset to create

integer, intent(in) :: rank

Number of dimensions of dataspace

integer(kind=HSIZE_T), intent(in), dimension(*):: dims

Array of the size of each dimension

real(kind=Float64), intent(in), dimension(dims(1),dims(2),dims(3)):: buf

Buffer with data to be written to the dataset

integer, intent(out) :: error

HDF5 error code

logical, intent(in), optional :: compress

Flag to compress

integer, intent(in), optional :: level

Compression level


Calls

proc~~h5ltmake_compressed_dataset_double_f_3~~CallsGraph proc~h5ltmake_compressed_dataset_double_f_3 h5ltmake_compressed_dataset_double_f_3 proc~chunk_size chunk_size proc~h5ltmake_compressed_dataset_double_f_3->proc~chunk_size h5sclose_f h5sclose_f proc~h5ltmake_compressed_dataset_double_f_3->h5sclose_f h5ltmake_dataset_double_f h5ltmake_dataset_double_f proc~h5ltmake_compressed_dataset_double_f_3->h5ltmake_dataset_double_f h5pset_chunk_f h5pset_chunk_f proc~h5ltmake_compressed_dataset_double_f_3->h5pset_chunk_f h5pcreate_f h5pcreate_f proc~h5ltmake_compressed_dataset_double_f_3->h5pcreate_f h5pset_shuffle_f h5pset_shuffle_f proc~h5ltmake_compressed_dataset_double_f_3->h5pset_shuffle_f h5pset_deflate_f h5pset_deflate_f proc~h5ltmake_compressed_dataset_double_f_3->h5pset_deflate_f h5dcreate_f h5dcreate_f proc~h5ltmake_compressed_dataset_double_f_3->h5dcreate_f h5dwrite_f h5dwrite_f proc~h5ltmake_compressed_dataset_double_f_3->h5dwrite_f h5dclose_f h5dclose_f proc~h5ltmake_compressed_dataset_double_f_3->h5dclose_f h5pclose_f h5pclose_f proc~h5ltmake_compressed_dataset_double_f_3->h5pclose_f h5screate_simple_f h5screate_simple_f proc~h5ltmake_compressed_dataset_double_f_3->h5screate_simple_f

Called by

proc~~h5ltmake_compressed_dataset_double_f_3~~CalledByGraph proc~h5ltmake_compressed_dataset_double_f_3 h5ltmake_compressed_dataset_double_f_3 interface~h5ltmake_compressed_dataset_double_f h5ltmake_compressed_dataset_double_f interface~h5ltmake_compressed_dataset_double_f->proc~h5ltmake_compressed_dataset_double_f_3 proc~write_einstein write_einstein proc~write_einstein->interface~h5ltmake_compressed_dataset_double_f proc~write_bt_d_he3 write_bt_D_He3 proc~write_bt_d_he3->interface~h5ltmake_compressed_dataset_double_f proc~write_bt_d_d write_bt_D_D proc~write_bt_d_d->interface~h5ltmake_compressed_dataset_double_f proc~write_fida_weights write_fida_weights proc~write_fida_weights->interface~h5ltmake_compressed_dataset_double_f proc~write_bt_d_t write_bt_D_T proc~write_bt_d_t->interface~h5ltmake_compressed_dataset_double_f proc~write_bb_h_h write_bb_H_H proc~write_bb_h_h->interface~h5ltmake_compressed_dataset_double_f proc~write_bt_h_e write_bt_H_e proc~write_bt_h_e->interface~h5ltmake_compressed_dataset_double_f proc~write_bb_h_e write_bb_H_e proc~write_bb_h_e->interface~h5ltmake_compressed_dataset_double_f proc~write_bt_h_h write_bt_H_H proc~write_bt_h_h->interface~h5ltmake_compressed_dataset_double_f proc~write_bb_h_aq write_bb_H_Aq proc~write_bb_h_aq->interface~h5ltmake_compressed_dataset_double_f proc~write_spectra write_spectra proc~write_spectra->interface~h5ltmake_compressed_dataset_double_f proc~write_npa write_npa proc~write_npa->interface~h5ltmake_compressed_dataset_double_f proc~write_cfpd_weights write_cfpd_weights proc~write_cfpd_weights->interface~h5ltmake_compressed_dataset_double_f proc~write_bb_d_t write_bb_D_T proc~write_bb_d_t->interface~h5ltmake_compressed_dataset_double_f proc~write_bb_d_he3 write_bb_D_He3 proc~write_bb_d_he3->interface~h5ltmake_compressed_dataset_double_f proc~write_bt_h_aq write_bt_H_Aq proc~write_bt_h_aq->interface~h5ltmake_compressed_dataset_double_f proc~write_npa_weights write_npa_weights proc~write_npa_weights->interface~h5ltmake_compressed_dataset_double_f proc~write_beam_grid write_beam_grid proc~write_npa_weights->proc~write_beam_grid proc~write_beam_grid->interface~h5ltmake_compressed_dataset_double_f proc~write_neutral_population write_neutral_population proc~write_neutral_population->interface~h5ltmake_compressed_dataset_double_f proc~write_birth_profile write_birth_profile proc~write_birth_profile->interface~h5ltmake_compressed_dataset_double_f proc~write_birth_profile->proc~write_beam_grid proc~write_bb_d_d write_bb_D_D proc~write_bb_d_d->interface~h5ltmake_compressed_dataset_double_f proc~write_neutrons write_neutrons proc~write_neutrons->interface~h5ltmake_compressed_dataset_double_f program~fidasim fidasim program~fidasim->proc~write_spectra program~fidasim->proc~write_npa program~fidasim->proc~write_birth_profile proc~neutron_f neutron_f program~fidasim->proc~neutron_f proc~fida_weights_los fida_weights_los program~fidasim->proc~fida_weights_los proc~write_neutrals write_neutrals program~fidasim->proc~write_neutrals proc~neutron_mc neutron_mc program~fidasim->proc~neutron_mc proc~cfpd_f cfpd_f program~fidasim->proc~cfpd_f proc~fida_weights_mc fida_weights_mc program~fidasim->proc~fida_weights_mc proc~npa_weights npa_weights program~fidasim->proc~npa_weights proc~neutron_f->proc~write_neutrons proc~fida_weights_los->proc~write_fida_weights proc~write_neutrals->proc~write_beam_grid proc~write_neutrals->proc~write_neutral_population proc~neutron_mc->proc~write_neutrons proc~cfpd_f->proc~write_cfpd_weights proc~fida_weights_mc->proc~write_fida_weights proc~npa_weights->proc~write_npa_weights program~generate_tables generate_tables program~generate_tables->proc~write_einstein program~generate_tables->proc~write_bt_d_he3 program~generate_tables->proc~write_bt_d_d program~generate_tables->proc~write_bb_h_h program~generate_tables->proc~write_bt_h_e program~generate_tables->proc~write_bb_h_e program~generate_tables->proc~write_bt_h_h program~generate_tables->proc~write_bb_h_aq program~generate_tables->proc~write_bb_d_he3 program~generate_tables->proc~write_bt_h_aq program~generate_tables->proc~write_bb_d_d

Contents


Source Code

subroutine h5ltmake_compressed_dataset_double_f_3(loc_id,&
           dset_name, rank, dims, buf, error, compress, level  )
    !+ Write a compressed 64-bit float dataset of dimension 3

    IMPLICIT NONE

    integer(hid_t), intent(in)                                   :: loc_id
        !+ HDF5 file or group identifier
    character(len=*), intent(in)                                 :: dset_name
        !+ Name of the dataset to create
    integer, intent(in)                                          :: rank
        !+ Number of dimensions of dataspace
    integer(HSIZE_T), dimension(*), intent(in)                   :: dims
        !+ Array of the size of each dimension
    real(Float64), dimension(dims(1),dims(2),dims(3)), intent(in):: buf
        !+ Buffer with data to be written to the dataset
    integer, intent(out)                                         :: error
        !+ HDF5 error code
    logical, intent(in), optional                                :: compress
        !+ Flag to compress
    integer, intent(in), optional                                :: level
        !+ Compression level

    integer(HID_T) :: did, sid, plist_id
    integer(HSIZE_T) :: cdims(3)

    logical :: do_chunk
    integer :: c

    do_chunk=default_compress
    if(present(compress)) then
        do_chunk = compress
    endif

    c = default_compression_level
    if(present(level)) then
        c = level
    endif

    if(.not.compress_data) then
        call h5ltmake_dataset_double_f(loc_id, dset_name, rank, dims, buf, error)
    else
        call h5screate_simple_f(rank, dims, sid, error)
        call h5pcreate_f(H5P_DATASET_CREATE_F, plist_id, error)

        if(do_chunk) then
            call h5pset_shuffle_f(plist_id, error)
            call h5pset_deflate_f(plist_id, c, error)

            call chunk_size(Float64, dims, cdims)
            call h5pset_chunk_f(plist_id, rank, cdims, error)
        endif

        call h5dcreate_f(loc_id, dset_name, H5T_NATIVE_DOUBLE, sid, &
             did, error, dcpl_id=plist_id)

        call h5dwrite_f(did, H5T_NATIVE_DOUBLE, buf, dims, error)

        call h5sclose_f(sid, error)
        call h5pclose_f(plist_id, error)
        call h5dclose_f(did, error)
    endif

end subroutine h5ltmake_compressed_dataset_double_f_3