<?xml version="1.0"?>
<adios-config host-language="C">
    <adios-group name="schema" coordination-communicator="comm">
    <var name="NX"   type="integer"/>
    <var name="size" type="integer"/>
    <var name="size-2" type="integer"/>
    <var name="rank" type="integer"/>
    <var name="mean" type="double"/>
    <var name="date" type="string" gwrite="str"/>
    <var name="O1" type="integer"/>
    <var name="O2" type="integer"/>
    <var name="S1" type="integer"/>
    <var name="M2" type="integer"/>
    <global-bounds  dimensions="size,NX" offsets="rank,0">
        <var name="temperature" mesh="mesh3" gwrite="t" gread="t" type="double" dimensions="1,NX"/>
    </global-bounds>
    <!-- Uniform meshes to visualize temperature 2D array of size*NX -->

    <!-- Mesh1: Reader will assume 
         - 0 for origin
         - unit spacing, and
         - extract dimensions from vars
    -->
    <mesh name="mesh1" type="uniform" time-varying="no">
    </mesh>

    <!-- Mesh 2: 
         - dimensions,
         - origin (first point), and
         - spacing
    Note: For an n-dimensional variable reader will expect n coordinates for origin.
    In this case, the spacing is uniform in both direction, so only one value
    is provided. Otherwise, use spacing value="S1,S2" as shown in Mesh 3.
    -->
    <mesh name="mesh2" type="uniform" time-varying="no">
        <dimensions value="size,NX" />
        <origin value="O1,O2" />
        <spacing value="S1" />
    </mesh>

    <!-- Mesh 3:
         - dimensions,
         - origin (first point), and 
         - spacing different in each dimension
    Note: Values can be scalars or variable names. 
    -->
    <mesh name="mesh3" type="uniform" time-varying="no">
        <dimensions value="size,NX" />
        <origin value="-2,O2" />
        <spacing value="S1,4" />
    </mesh>

    <!-- Mesh 4:
         - dimensions,
         - origin (first point), and 
         - maximum (last point)
    Note: "size-2" is a variable name in ADIOS XML, so a variable with such name
    must be written by the application
    -->
    <mesh name="mesh4" type="uniform" time-varying="no">
        <dimensions value="40,60" />
        <origin value="-2,-1" />
        <maximum value="size-2,M2" />
    </mesh>
</adios-group>

<method group="schema" method="MPI"/>
<buffer size-MB="5" allocate-time="now"/>
</adios-config>
