iload_from_hdf5 Subroutine

private subroutine iload_from_hdf5(h5file_id, dset, idatum, attr)

Arguments

Type IntentOptional AttributesName
integer(kind=HID_T), intent(in) :: h5file_id
character(len=MAX_STRING_LENGTH), intent(in) :: dset
integer, intent(out) :: idatum
character(len=MAX_STRING_LENGTH), intent(out), optional :: attr

Calls

proc~~iload_from_hdf5~~CallsGraph proc~iload_from_hdf5 iload_from_hdf5 proc~korc_abort korc_abort proc~iload_from_hdf5->proc~korc_abort h5dclose_f h5dclose_f proc~iload_from_hdf5->h5dclose_f h5dread_f h5dread_f proc~iload_from_hdf5->h5dread_f mpi_abort mpi_abort proc~korc_abort->mpi_abort

Called by

proc~~iload_from_hdf5~~CalledByGraph proc~iload_from_hdf5 iload_from_hdf5 interface~load_from_hdf5 load_from_hdf5 interface~load_from_hdf5->proc~iload_from_hdf5 proc~load_time_stepping_params load_time_stepping_params proc~load_time_stepping_params->interface~load_from_hdf5 proc~load_profiles_data_from_hdf5 load_profiles_data_from_hdf5 proc~load_profiles_data_from_hdf5->interface~load_from_hdf5 proc~allocate_1d_fs_arrays allocate_1D_FS_arrays proc~allocate_1d_fs_arrays->interface~load_from_hdf5 proc~load_prev_iter load_prev_iter proc~load_prev_iter->interface~load_from_hdf5 proc~load_prev_time load_prev_time proc~load_prev_time->interface~load_from_hdf5 proc~load_data_from_hdf5_bmc load_data_from_hdf5_BMC proc~load_data_from_hdf5_bmc->interface~load_from_hdf5 proc~load_dim_data_from_hdf5 load_dim_data_from_hdf5 proc~load_dim_data_from_hdf5->interface~load_from_hdf5 proc~load_field_data_from_hdf5 load_field_data_from_hdf5 proc~load_field_data_from_hdf5->interface~load_from_hdf5 proc~load_data_from_hdf5 load_data_from_hdf5 proc~load_data_from_hdf5->interface~load_from_hdf5 proc~initialize_fields initialize_fields proc~initialize_fields->proc~allocate_1d_fs_arrays proc~initialize_fields->proc~load_prev_iter proc~initialize_fields->proc~load_dim_data_from_hdf5 proc~initialize_fields->proc~load_field_data_from_hdf5 proc~initialize_m3d_c1 initialize_m3d_c1 proc~initialize_m3d_c1->proc~load_prev_iter proc~bmc_radial BMC_radial proc~bmc_radial->proc~load_data_from_hdf5_bmc proc~initialize_hollmann_params initialize_Hollmann_params proc~initialize_hollmann_params->proc~load_data_from_hdf5 proc~initialize_nimrod initialize_nimrod proc~initialize_nimrod->proc~load_prev_iter proc~initialize_profiles initialize_profiles proc~initialize_profiles->proc~load_profiles_data_from_hdf5 proc~define_time_step define_time_step proc~define_time_step->proc~load_time_stepping_params proc~define_time_step->proc~load_prev_time proc~get_hollmann_distribution_3d get_Hollmann_distribution_3D proc~get_hollmann_distribution_3d->proc~initialize_hollmann_params program~main main program~main->proc~initialize_fields program~main->proc~initialize_m3d_c1 program~main->proc~initialize_nimrod program~main->proc~initialize_profiles program~main->proc~define_time_step proc~get_hollmann_distribution_1dtransport get_Hollmann_distribution_1Dtransport proc~get_hollmann_distribution_1dtransport->proc~initialize_hollmann_params proc~get_hollmann_distribution_3d_psi get_Hollmann_distribution_3D_psi proc~get_hollmann_distribution_3d_psi->proc~initialize_hollmann_params proc~get_hollmann_distribution get_Hollmann_distribution proc~get_hollmann_distribution->proc~initialize_hollmann_params

Contents

Source Code


Source Code

  subroutine iload_from_hdf5(h5file_id,dset,idatum,attr)
    INTEGER(HID_T), INTENT(IN) 				:: h5file_id
    CHARACTER(MAX_STRING_LENGTH), INTENT(IN) 		:: dset
    INTEGER, INTENT(OUT) 				:: idatum
    CHARACTER(MAX_STRING_LENGTH), OPTIONAL, INTENT(OUT) :: attr
    CHARACTER(4) 					:: aname = "Info"
    INTEGER(HID_T) 					:: dset_id
    INTEGER(HID_T) 					:: dspace_id
    INTEGER(HID_T) 					:: aspace_id
    INTEGER(HID_T) 					:: attr_id
    INTEGER(HID_T) 					:: atype_id
    INTEGER(HSIZE_T), DIMENSION(1) 			:: dims = (/1/)
    INTEGER(HSIZE_T), DIMENSION(1) 			:: adims = (/1/)
    INTEGER 						:: h5error

    ! * * * Read datum from file * * *

    call h5dopen_f(h5file_id, TRIM(dset), dset_id, h5error)
    if (h5error .EQ. -1) then
       write(output_unit_write,'("KORC ERROR: Something went wrong in: iload_from_hdf5 &
            --> h5dopen_f")')
       call KORC_ABORT(14)
    end if

    call h5dread_f(dset_id, H5T_NATIVE_INTEGER, idatum, dims, h5error)

    if (h5error .EQ. -1) then
       write(output_unit_write,'("KORC ERROR: Something went wrong in: iload_from_hdf5 &
            --> h5dread_f")')
       call KORC_ABORT(14)
    end if

    call h5dclose_f(dset_id, h5error)
    if (h5error .EQ. -1) then
       write(output_unit_write,'("KORC ERROR: Something went wrong in: iload_from_hdf5 &
            --> h5dclose_f")')
       call KORC_ABORT(14)
    end if

    if (PRESENT(attr)) then
       ! * * * Read attribute from file * * *

       ! * * * Read attribute from file * * *
    end if

    ! * * * Read datum from file * * *
  end subroutine iload_from_hdf5