printf("         stride = [%llu, %llu, %llu] \n", (unsigned long long)stride_out[0], (unsigned long long)stride_out[1], (unsigned long long)stride_out[2]);
 
/************************************************************
  This example illustrates the concept of the virtual dataset.
  Percival use case. Every fifth 10x10 plane in VDS is stored in 
  the corresponding 3D unlimited dataset. 
  EIP: For now we will use finite dimension.
  There are 4 source datasets total.
  This file is intended for use with HDF5 Library version 1.10
 ************************************************************/
/* EIP Add link to the picture */
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define FILE         "vds-percival.h5"
#define DATASET      "VDS-Percival"
/* later
#define VDSDIM0       H5S_UNLIMITED 
*/
#define VDSDIM0       40
#define VDSDIM1       10 
#define VDSDIM2       10 
/* later
#define DIM0          H5S_UNLIMITED 
*/
#define DIM0          10 
#define DIM1          10 
#define DIM2          10 
#define RANK          3 
#define PLANE_STRIDE  4
const char *SRC_FILE[] = {
    "a.h5",
    "b.h5",
    "c.h5",
    "d.h5"
};
const char *SRC_DATASET[] = {
    "A",
    "B",
    "C",
    "D"
};
int
main (void)
{
    hid_t        file, src_space, vspace,