<?xml version="1.0"?>
<adios-config host-language="Fortran">
  <adios-group name="genarray" coordination-communicator="group_comm" time-index="steps">
    <var name="X" path="/dimensions" type="integer"/>
    <var name="Y" path="/dimensions" type="integer"/>
    <var name="Z" path="/dimensions" type="integer"/>

    <var name="nproc" path="/info" type="integer"/>
    <attribute name="description" path="/info/nproc" value="Number of writers"/>
    <var name="npx" path="/info" type="integer"/>
    <attribute name="description" path="/info/npx" value="Number of processors in x dimension"/>
    <var name="npy" path="/info" type="integer"/>
    <attribute name="description" path="/info/npy" value="Number of processors in y dimension"/>
    <var name="npz" path="/info" type="integer"/>
    <attribute name="description" path="/info/npz" value="Number of processors in z dimension"/>


    <!-- Auxiliary variables for global array indexing -->
    <var name="offs_x" path="/aux" type="integer"/>
    <var name="offs_y" path="/aux" type="integer"/>
    <var name="offs_z" path="/aux" type="integer"/>
    <var name="size_x" path="/aux" type="integer"/>
    <var name="size_y" path="/aux" type="integer"/>
    <var name="size_z" path="/aux" type="integer"/>

    <!-- 2D array written by genarray2D with 1 timesteps OR 
         3D array written by genarray2D with multiple timesteps -->
    <global-bounds dimensions="X,Y" offsets="offs_x,offs_y">
        <var name="int_xy" path="/var" type="integer" dimensions="size_x,size_y"/>
        <var name="int_xyt" path="/var" type="integer" dimensions="size_x,size_y,steps"/>
    </global-bounds>
    <attribute name="description" path="/var/int_xy" 
               value="2D array with 2D decomposition"/>
    <attribute name="description" path="/var/int_xyt" 
               value="3D array with 2D decomposition with time in 3rd dimension"/>

    <!-- 3D array written by genarray with 1 timesteps -->
    <global-bounds dimensions="X,Y,Z" offsets="offs_x,offs_y,offs_z">
        <var name="int_xyz" path="/var" type="integer" dimensions="size_x,size_y,size_z"/>
    </global-bounds>
    <attribute name="description" path="/var/int_xyz" 
               value="3D array with 3D decomposition"/>


  </adios-group>

  <method group="genarray" method="MPI"></method>
  <!--method group="genarray" method="VAR_MERGE">chunk_size=1048576,io_method=MPI_LUSTRE,io_parameters=stripe_count=16,stripe_size=1048576</method-->

  <buffer size-MB="400" allocate-time="now"/>

</adios-config>
