Page tree

This page includes information on:


HDF5 Fortran Datatypes

HDF5 Fortran datatypes are listed in HDF5 Predefined Datatypes.

 

HDF5 Fortran Flags

HDF5 Fortran flags have the same meanings as the C flags defined in the HDF5 Reference Manual and HDF5 User's Guide - Old.

File access flags

      H5F_ACC_RDWR_F 
      H5F_ACC_RDONLY_F
      H5F_ACC_TRUNC_F
      H5F_ACC_EXCL_F
      H5F_ACC_DEBUG_F
      H5F_SCOPE_LOCAL_F
      H5F_SCOPE_GLOBAL_F

Group management flags

      H5G_UNKNOWN_F
      H5G_LINK_F
      H5G_GROUP_F
      H5G_DATASET_F
      H5G_TYPE_F
      H5G_LINK_ERROR_F
      H5G_LINK_HARD_F
      H5G_LINK_SOFT_F

Dataset format flags

      H5D_COMPACT_F  
      H5D_CONTIGUOUS_F
      H5D_CHUNKED_F

MPI IO data transfer flags

      H5FD_MPIO_INDEPENDENT_F 
      H5FD_MPIO_COLLECTIVE_F
 

Error flags

      H5E_NONE_MAJOR_F 
      H5E_ARGS_F 
      H5E_RESOURCE_F 
      H5E_INTERNAL_F 
      H5E_FILE_F 
      H5E_IO_F 
      H5E_FUNC_F 
      H5E_ATOM_F 
      H5E_CACHE_F 
      H5E_BTREE_F 
      H5E_SYM_F 
      H5E_HEAP_F 
      H5E_OHDR_F 
      H5E_DATATYPE_F 
      H5E_DATASPACE_F 
      H5E_DATASET_F 
      H5E_STORAGE_F 
      H5E_PLIST_F 
      H5E_ATTR_F 
      H5E_PLINE_F 
      H5E_EFL_F 
      H5E_REFERENCE_F
      H5E_VFL_F 
      H5E_TBBT_F 

Object identifier flags

      H5I_FILE_F
      H5I_GROUP_F
      H5I_DATATYPE_F
      H5I_DATASPACE_F
      H5I_DATASET_F
      H5I_ATTR_F
      H5I_BADID_F

Property list flags

      H5P_FILE_CREATE_F 
      H5P_FILE_ACCESS_F 
      H5P_DATASET_CREATE_F
      H5P_DATASET_XFER_F 
      H5P_MOUNT_F 
      H5P_DEFAULT_F 

Reference pointer flags

      H5R_OBJECT_F
      H5R_DATASET_REGION_F
 
      

Dataspace flags

      H5S_SCALAR_F 
      H5S_SIMPLE_F 
      H5S_SELECT_SET_F
      H5S_SELECT_OR_F
      H5S_UNLIMITED_F
      H5S_ALL_F

Datatype flags

      H5T_NO_CLASS_F 
      H5T_INTEGER_F 
      H5T_FLOAT_F  
      H5T_TIME_F 
      H5T_STRING_F 
      H5T_BITFIELD_F
      H5T_OPAQUE_F 
      H5T_COMPOUND_F 
      H5T_REFERENCE_F
      H5T_ENUM_F 
      H5T_ORDER_LE_F 
      H5T_ORDER_BE_F
      H5T_ORDER_VAX_F
      H5T_PAD_ZERO_F
      H5T_PAD_ONE_F
      H5T_PAD_BACKGROUND_F
      H5T_PAD_ERROR_F    
      H5T_SGN_NONE_F   
      H5T_SGN_2_F     
      H5T_SGN_ERROR_F
      H5T_NORM_IMPLIED_F
      H5T_NORM_MSBSET_F
      H5T_NORM_NONE_F 
      H5T_CSET_ASCII_F
      H5T_CSET_UTF8_F
      H5T_STR_NULLTERM_F 
      H5T_STR_NULLPAD_F 
      H5T_STR_SPACEPAD_F
      H5T_STR_ERROR_F

 

HDF5 Fortran Required Calls

HDF5 Fortran applications must begin and end, respectively, with the subroutines described below. h5open_f initializes the HDF5 Fortran interface, providing the application with access to the HDF5 library. h5close_f closes the HDF5 Fortran interface without closing the HDF5 library, thereby leaving HDF5 available to other software that may require that resource.

h5open_f

Signature:

  SUBROUTINE h5open_f(error)
    INTEGER, INTENT(OUT) :: error

Outputs:

  error - Returns 0 if successful and -1 if fails

h5close_f

Signature:

  SUBROUTINE h5close_f(error)
    INTEGER, INTENT(OUT) :: error

Outputs:

  error - Returns 0 if successful and -1 if fails

 

HDF5 Fortran Utility Functions

The HDF5 Fortran library offers the following utility functions to facilitate the development of HDF5 Fortran applications.h5offsetof is available only in Fortran 2003 environments; h5kind_to_type and h5gmtime are available in any Fortran environment:

h5offsetof

Signature:

  FUNCTION h5offsetof(start,end) RESULT(offset)
    USE, INTRINSIC :: ISO_C_BINDING
    USE H5GLOBAL
    IMPLICIT NONE
    INTEGER(SIZE_T) :: offset
    TYPE(C_PTR), VALUE, INTENT(IN) :: start, end

Inputs:

  start - starting pointer address
  end   - ending pointer address

Outputs:

  offset - offset

 

h5kind_to_type

Signature:

  INTEGER(HID_T) FUNCTION h5kind_to_type(kind, flag) RESULT(h5_type)
    INTEGER, INTENT(IN) :: kind
    INTEGER, INTENT(IN) :: flag

Inputs:

  kind    - Fortran KIND parameter
  flag    - Whether KIND is of type INTEGER or REAL:
              H5_INTEGER_KIND - integer
              H5_REAL_KIND    - real

Outputs:

  h5_type - Returns the type
 

 

 h5gmtime

 Purpose:

  Convert time_t structure (C) to Fortran DATE AND TIME storage format.

Signature:

   FUNCTION h5gmtime(stdtime_t)
    INTEGER(KIND=TIME_T), INTENT(IN) :: stdtime_t
    INTEGER, DIMENSION(1:8) :: h5gmtime

 Inputs:

  stdtime_t - Object of type time_t that contains a time value

 Outputs:

   datetime - A date/time array using Fortran conventions:
 datetime(1)     = year
 datetime(2)     = month
 datetime(3)     = day
 datetime(4)     = 0 ! time is expressed as UTC (or GMT timezone) */
 datetime(5)     = hour
 datetime(6)     = minute
datetime(7)     = second
datetime(8)     = millisecond -- not available, assigned - HUGE(0)

 

 

 

 

--- Last Modified: February 22, 2019 | 10:30 AM