anchor.diff:        REAL(kind=NXr8),  POINTER       :: data(:,:,:)
         CHARACTER(len=*), INTENT(out), OPTIONAL :: units
         INTEGER,          INTENT(in),  OPTIONAL :: data_start(:), data_size(:)
  -      INTEGER :: status, dimensions(NX_MAXRANK)
  +      INTEGER :: status, dimensions(NX_MAXRANK), data_shape(3)
         REAL, ALLOCATABLE :: buffer(:)
   
         status = NXUconfirmdata (file_id, data_name, NX_FLOAT64, 3, dimensions)
  
positive.code:       REAL(kind=NXr4),  POINTER       :: data(:,:,:)
        CHARACTER(len=*), INTENT(out), OPTIONAL :: units
        INTEGER,          INTENT(in),  OPTIONAL :: data_start(:), data_size(:)
        INTEGER :: status, dimensions(NX_MAXRANK)
        REAL, ALLOCATABLE :: buffer(:)
  
        status = NXUconfirmdata (file_id, data_name, NX_FLOAT32, 3, dimensions)
  
negative.code:       REAL(kind=NXr8),  POINTER       :: data(:,:)
        CHARACTER(len=*), INTENT(out), OPTIONAL :: units
        INTEGER,          INTENT(in),  OPTIONAL ::data_start(:), data_size(:)
        INTEGER :: status, dimensions(NX_MAXRANK), data_shape(2)
        REAL, ALLOCATABLE :: buffer(:)
  
        status = NXUconfirmdata (file_id, data_name, NX_FLOAT64, 2, dimensions)
  