load_data_from_hdf5 Subroutine

public subroutine load_data_from_hdf5()

Arguments

None

Contents

Source Code


Source Code

  SUBROUTINE load_data_from_hdf5()
    CHARACTER(MAX_STRING_LENGTH) :: filename
    CHARACTER(MAX_STRING_LENGTH) :: gname
    CHARACTER(MAX_STRING_LENGTH) :: subgname
    CHARACTER(MAX_STRING_LENGTH) :: dset
    INTEGER(HID_T) :: h5file_id
    INTEGER(HID_T) :: group_id
    INTEGER(HID_T) :: subgroup_id
    REAL(rp) :: rdatum
    INTEGER :: h5error

    filename = TRIM(h_params%filename)
    call h5fopen_f(filename, H5F_ACC_RDONLY_F, h5file_id, h5error)
    if (h5error .EQ. -1) then
       write(6,'("KORC ERROR: Something went wrong in: load_data_from_hdf5 (korc_experimental) --> h5fopen_f")')
    end if

    dset = "/N"
    call load_from_hdf5(h5file_id,dset,rdatum)
    h_params%N = INT(rdatum)

    ALLOCATE(h_params%E_axis(h_params%N))
    ALLOCATE(h_params%fRE_E(h_params%N))
    ALLOCATE(h_params%fRE_pitch(h_params%N))

    dset = "/E"
    call load_array_from_hdf5(h5file_id,dset,h_params%E_axis)
    h_params%E_axis = h_params%E_axis*C_E

    dset = "/fRE_E"
    call load_array_from_hdf5(h5file_id,dset,h_params%fRE_E)

    dset = "/fRE_pitch"
    call load_array_from_hdf5(h5file_id,dset,h_params%fRE_pitch)

    call h5fclose_f(h5file_id, h5error)
    if (h5error .EQ. -1) then
       write(6,'("KORC ERROR: Something went wrong in: load_data_from_hdf5 (korc_experimental) --> h5fclose_f")')
    end if
  END SUBROUTINE load_data_from_hdf5