<?xml version="1.0" encoding="UTF-8" ?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <!-- Simple types -->

  <!-- Aurora model types -->
  <xs:simpleType name="aurora_model_type_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="FEDDER"/>
      <xs:enumeration value="RCMONO"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- bc types (boundary conditions?) -->
  <xs:simpleType name="bc_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="periodic"/>
      <xs:enumeration value="user"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Domain types -->
  <xs:simpleType name="domain_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="LFMCYL"/>
      <xs:enumeration value="MAGE"/>
      <xs:enumeration value="SPH"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Grid types -->
  <xs:simpleType name="grid_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="lfm"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Grid types (as grType) -->
  <xs:simpleType name="grType_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="LFM"/>
      <xs:enumeration value="LFM2D"/>
      <xs:enumeration value="SPHERICAL"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- imeth types (what is imeth?) -->
  <xs:simpleType name="imeth_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="DYN"/>
      <xs:enumeration value="FO"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- imType types (what is imType?) -->
  <xs:simpleType name="imType_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="RCM"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Initial condition types -->
  <xs:simpleType name="initial_condition_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="BW"/>
      <xs:enumeration value="LOOP2D"/>
      <xs:enumeration value="user"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- RCM domain types -->
  <xs:simpleType name="RCM_domain_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ELLIPSE"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- rmeth types (what is rmeth?) -->
  <xs:simpleType name="rmeth_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="7UP"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Species types (particle species?) -->
  <xs:simpleType name="species_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="e"/>
      <xs:enumeration value="Op"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Single or multi-character boolean ((T)rue or (F)alse) -->
  <xs:simpleType name="TorF">
    <xs:restriction base="xs:string">
      <xs:enumeration value="F"/>
      <xs:enumeration value="False"/>
      <xs:enumeration value="T"/>
      <xs:enumeration value="True"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Units types -->
  <xs:simpleType name="units_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="EARTH"/>
      <xs:enumeration value="EARTHCODE"/>
      <xs:enumeration value="LFM"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- wgt type (assume this is a weight?) -->
  <xs:simpleType name="wgt_type">
    <xs:restriction base="xs:string">
      <xs:enumeration value="TSC"/>
    </xs:restriction>
  </xs:simpleType>


  <!-- Complex types -->

  <!-- Grid axis specification -->
  <xs:complexType name="grid_axis_spec_type">
    <xs:attribute name="max" type="xs:decimal"/>
    <xs:attribute name="min" type="xs:decimal"/>
    <xs:attribute name="N" type="xs:positiveInteger"/>
    <!-- Uncomment the assertion if using a XML schema 1.1 parser. -->
    <!--     <xs:assert test="@min lt @max"/> -->
  </xs:complexType>

  <!-- Pdir type (what is Pdir?)-->
  <xs:complexType name="Pdir_type">
    <xs:attribute name="bcPeriodic" type="TorF"/>
    <xs:attribute name="N" type="xs:integer"/>
  </xs:complexType>


  <!-- Program configuration types -->

  <!-- Configuration data for CHIMP -->
  <xs:complexType name="CHIMP_config_type">
    <xs:all>

      <xs:element name="alpha" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="max" type="xs:decimal"/>
          <xs:attribute name="min" type="xs:decimal"/>
          <!-- Uncomment the assertion if using a XML schema 1.1 parser. -->
          <!-- <xs:assert test="@min lt @max"/> -->
        </xs:complexType>
      </xs:element>

      <xs:element name="domain" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="dtype" type="domain_type"/>
          <xs:attribute name="rmax" type="xs:decimal"/>
          <xs:attribute name="rmin" type="xs:decimal"/>
          <!-- Uncomment the assertion if using a XML schema 1.1 parser. -->
          <!-- <xs:assert test="@rmin lt @rmax"/> -->
        </xs:complexType>
      </xs:element>

      <xs:element name="energy" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doEBInit" type="TorF"/>
          <xs:attribute name="doLog" type="TorF"/>
          <xs:attribute name="max" type="xs:decimal"/>
          <xs:attribute name="min" type="xs:decimal"/>
          <!-- Uncomment the assertion if using a XML schema 1.1 parser. -->
          <!-- <xs:assert test="@min lt @max"/> -->
        </xs:complexType>
      </xs:element>

      <xs:element name="fields" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doJ" type="TorF"/>
          <xs:attribute name="doMHD" type="TorF"/>
          <xs:attribute name="ebfile" type="xs:string"/>
          <xs:attribute name="grType" type="grType_type"/>
          <xs:attribute name="isMPI" type="TorF"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="grid" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doGEO" type="TorF"/>
          <xs:attribute name="dzGG" type="xs:decimal"/>
          <xs:attribute name="NLat" type="xs:integer"/>
          <xs:attribute name="NLon" type="xs:integer"/>
          <xs:attribute name="Nz" type="xs:integer"/>
          <xs:attribute name="z0" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="height" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doOutflow" type="TorF"/>
          <xs:attribute name="max" type="xs:decimal"/>
          <xs:attribute name="min" type="xs:decimal"/>
          <!-- Uncomment the assertion if using a XML schema 1.1 parser. -->
          <!-- <xs:assert test="@min lt @max"/> -->
        </xs:complexType>
      </xs:element>

      <xs:element name="interp" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="wgt" type="wgt_type"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="output" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doEQProj" type="TorF"/>
          <xs:attribute name="doFat" type="TorF"/>
          <xs:attribute name="doSlim" type="TorF"/>
          <xs:attribute name="doTrc" type="TorF"/>
          <xs:attribute name="dtOut" type="xs:decimal"/>
          <xs:attribute name="T0Out" type="xs:decimal"/>
          <xs:attribute name="timer" type="TorF"/>
          <xs:attribute name="tsOut" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="parallel" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="Ri" type="xs:integer"/>
          <xs:attribute name="Rj" type="xs:integer"/>
          <xs:attribute name="Rk" type="xs:integer"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="parintime" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="NumB" type="xs:integer"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="phi" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="max" type="xs:decimal"/>
          <xs:attribute name="min" type="xs:decimal"/>
          <!-- Uncomment the assertion if using a XML schema 1.1 parser. -->
          <!-- <xs:assert test="@min lt @max"/> -->
        </xs:complexType>
      </xs:element>

      <xs:element name="points" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="grType" type="grType_type"/>
          <xs:attribute name="Nx1" type="xs:integer"/>
          <xs:attribute name="Nx2" type="xs:integer"/>
          <xs:attribute name="Nx3" type="xs:integer"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="pusher" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="epsht" type="xs:decimal"/>
          <xs:attribute name="imeth" type="imeth_type"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="radius" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="max" type="xs:decimal"/>
          <xs:attribute name="min" type="xs:decimal"/>
          <!-- Uncomment the assertion if using a XML schema 1.1 parser. -->
          <!-- <xs:assert test="@min lt @max"/> -->
        </xs:complexType>
      </xs:element>

      <xs:element name="sim" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="grType" type="grType_type"/>
          <xs:attribute name="runid" type="xs:string"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="slice" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doXY" type="TorF"/>
          <xs:attribute name="grType" type="grType_type"/>
          <xs:attribute name="Npow" type="xs:integer"/>
          <xs:attribute name="xSun" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="stream" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doStream" type="TorF"/>
          <xs:attribute name="max" type="xs:decimal"/>
          <xs:attribute name="min" type="xs:decimal"/>
          <!-- Uncomment the assertion if using a XML schema 1.1 parser. -->
          <!-- <xs:assert test="@min lt @max"/> -->
          <xs:attribute name="runid" type="xs:string"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="theta" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="max" type="xs:decimal"/>
          <xs:attribute name="min" type="xs:decimal"/>
          <!-- Uncomment the assertion if using a XML schema 1.1 parser. -->
          <!-- <xs:assert test="@min lt @max"/> -->
        </xs:complexType>
      </xs:element>

      <xs:element name="time" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="dt" type="xs:decimal"/>
          <xs:attribute name="T0" type="xs:decimal"/>
          <xs:attribute name="tFin" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="tps" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="Np" type="xs:integer"/>
          <xs:attribute name="species" type="species_type"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="tracer" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="epsds" type="xs:decimal"/>
          <xs:attribute name="runid" type="xs:string"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="units" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="uid" type="units_type"/>
        </xs:complexType>
      </xs:element>

    </xs:all>
  </xs:complexType>

  <!-- Configuration data for gamera -->
  <xs:complexType name="Gamera_config_type">
    <xs:all>

      <xs:element name="floors" minOccurs="0">
        <xs:complexType>
          <!-- These are strings to allow for scientific notation. -->
          <xs:attribute name="dFloor" type="xs:string"/>
          <xs:attribute name="pFloor" type="xs:string"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="ibc" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="bc" type="bc_type"/>
          <xs:attribute name="jperiod" type="TorF"/>
          <xs:attribute name="kperiod" type="TorF"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="idir" type="grid_axis_spec_type" minOccurs="0"/>
      <xs:element name="iPdir" type="Pdir_type" minOccurs="0"/>

      <xs:element name="jbc" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="bc" type="bc_type"/>
          <xs:attribute name="iperiod" type="TorF"/>
          <xs:attribute name="kperiod" type="TorF"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="jdir" type="grid_axis_spec_type" minOccurs="0"/>
      <xs:element name="jPdir" type="Pdir_type" minOccurs="0"/>

      <xs:element name="kbc" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="bc" type="bc_type"/>
          <xs:attribute name="iperiod" type="TorF"/>
          <xs:attribute name="jperiod" type="TorF"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="kdir" type="grid_axis_spec_type" minOccurs="0"/>
      <xs:element name="kPdir" type="Pdir_type" minOccurs="0"/>

      <xs:element name="output" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="dtOut" type="xs:decimal"/>
          <xs:attribute name="timer" type="TorF"/>
          <xs:attribute name="tsOut" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="physics" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="Ca" type="xs:decimal"/>
          <xs:attribute name="do25D" type="TorF"/>
          <xs:attribute name="doBoris" type="TorF"/>
          <xs:attribute name="doMHD" type="TorF"/>
          <xs:attribute name="gamma" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="prob" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="alpha" type="xs:integer"/>
          <xs:attribute name="B0" type="xs:decimal"/>
          <xs:attribute name="lCut" type="xs:decimal"/>
          <xs:attribute name="P0" type="xs:decimal"/>
          <xs:attribute name="rCut" type="xs:decimal"/>
          <xs:attribute name="Rho0" type="xs:decimal"/>
          <xs:attribute name="Tsolar" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="restart" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doRes" type="TorF"/>
          <xs:attribute name="doReset" type="TorF"/>
          <xs:attribute name="dtRes" type="xs:decimal"/>
          <xs:attribute name="nRes" type="xs:integer"/>
          <xs:attribute name="resFile" type="xs:string"/>
          <xs:attribute name="resID" type="xs:string"/>
          <xs:attribute name="tReset" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="ring" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doRing" type="TorF"/>
          <xs:attribute name="gid" type="grid_type"/>
          <xs:attribute name="Nc1" type="xs:integer"/>
          <xs:attribute name="Nc2" type="xs:integer"/>
          <xs:attribute name="Nc3" type="xs:integer"/>
          <xs:attribute name="Nc4" type="xs:integer"/>
          <xs:attribute name="Nr" type="xs:integer"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="ringknobs" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doVClean" type="TorF"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="sim" minOccurs="0">
        <xs:complexType>
          <!-- These are strings to allow for scientific notation. -->
          <xs:attribute name="dFloor" type="xs:string"/>
          <xs:attribute name="doH5g" type="TorF"/>
          <xs:attribute name="doH5init" type="TorF"/>
          <xs:attribute name="H5Grid" type="xs:string"/>
          <xs:attribute name="icType" type="initial_condition_type"/>
          <xs:attribute name="pdmb" type="xs:decimal"/>
          <!-- These are strings to allow for scientific notation. -->
          <xs:attribute name="pFloor" type="xs:string"/>
          <xs:attribute name="rmeth" type="rmeth_type"/>
          <xs:attribute name="runid" type="xs:string"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="source" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doBounceDT" type="TorF"/>
          <xs:attribute name="doSource" type="TorF"/>
          <xs:attribute name="doWolfLim" type="TorF"/>
          <xs:attribute name="nBounce" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="threading" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="NumTh" type="xs:integer"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="time" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="tFin" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="timestep" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doCPR" type="TorF"/>
          <xs:attribute name="limCPR" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="wind" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="tsfile" type="xs:string"/>
        </xs:complexType>
      </xs:element>

    </xs:all>
  </xs:complexType>

  <!-- Configuration data for OMEGA -->
  <xs:complexType name="OMEGA_config_type">
    <xs:all>

      <xs:element name="sim" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="tFin" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

    </xs:all>
  </xs:complexType>

  <!-- Configuration data for RCM -->
  <xs:complexType name="RCM_config_type">
    <xs:all>

      <xs:element name="clawpack" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doKaiClaw" type="TorF"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="ellipse" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="dRadMHD" type="xs:decimal"/>
          <xs:attribute name="isDynamic" type="TorF"/>
          <xs:attribute name="xSun" type="xs:decimal"/>
          <xs:attribute name="xTail" type="xs:decimal"/>
          <xs:attribute name="yDD" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="grid" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doLatStretch" type="TorF"/>
          <xs:attribute name="HiLat" type="xs:decimal"/>
          <xs:attribute name="LowLat" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="output" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="debug" type="TorF"/>
          <xs:attribute name="toMHD" type="TorF"/>
          <xs:attribute name="toRCM" type="TorF"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="plasmasphere" minOccurs="0">
        <xs:complexType>
          <!-- DenPP0 is a string to allow for scientific notation. -->
          <xs:attribute name="DenPP0" type="xs:string"/>
          <xs:attribute name="doRefill" type="TorF"/>
          <xs:attribute name="initKp" type="xs:integer"/>
          <xs:attribute name="isDynamic" type="TorF"/>
          <xs:attribute name="tAvg" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="rcmdomain" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="domType" type="RCM_domain_type"/>
        </xs:complexType>
      </xs:element>

    </xs:all>
  </xs:complexType>

  <!-- Configuration data for REMIX -->
  <xs:complexType name="REMIX_config_type">
    <xs:all>

      <xs:element name="conductance" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="const_sigma" type="TorF"/>
          <xs:attribute name="doRamp" type="TorF"/>
          <xs:attribute name="doStarlight" type="TorF"/>
          <xs:attribute name="F107" type="xs:decimal"/>
          <xs:attribute name="hallmin" type="xs:decimal"/>
          <xs:attribute name="ped0" type="xs:decimal"/>
          <xs:attribute name="pedmin" type="xs:decimal"/>
          <xs:attribute name="sigma_ratio" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="grid" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="LowLatBoundary" type="xs:decimal"/>
          <xs:attribute name="Np" type="xs:integer"/>
          <xs:attribute name="Nt" type="xs:integer"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="precipitation" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="alpha" type="xs:decimal"/>
          <xs:attribute name="aurora_model_type" type="aurora_model_type_type"/>
          <xs:attribute name="beta" type="xs:decimal"/>
          <xs:attribute name="doAuroralSmooth" type="TorF"/>
          <xs:attribute name="R" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

    </xs:all>
  </xs:complexType>

  <!-- Configuration data for VOLTRON -->
  <xs:complexType name="VOLTRON_config_type">
    <xs:all>

      <xs:element name="coupling" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doGCM" type="TorF"/>
          <xs:attribute name="doQkSquish" type="TorF"/>
          <xs:attribute name="dtCouple" type="xs:decimal"/>
          <xs:attribute name="imType" type="imType_type"/>
          <xs:attribute name="qkSquishStride" type="xs:integer"/>
          <xs:attribute name="rDeep" type="xs:decimal"/>
          <xs:attribute name="rTrc" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="ebsquish" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="epsSquish" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="imag" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doInit" type="TorF"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="output" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doTimer" type="TorF"/>
          <xs:attribute name="dtOut" type="xs:decimal"/>
          <xs:attribute name="tsOut" type="xs:integer"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="restart" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="dtRes" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="sim" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="tFin" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="spinup" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="doSpin" type="TorF"/>
          <xs:attribute name="tIO" type="xs:decimal"/>
          <xs:attribute name="tSpin" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="threading" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="NumTh" type="xs:integer"/>
        </xs:complexType>
      </xs:element>

      <xs:element name="time" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="tFin" type="xs:decimal"/>
        </xs:complexType>
      </xs:element>

    </xs:all>
  </xs:complexType>


  <!-- Top-level kaiju configuration element -->
  <xs:complexType name="Kaiju_config_type">
    <xs:all>
      <xs:element name="chimp" type="CHIMP_config_type" minOccurs="0"/>
      <xs:element name="Chimp" type="CHIMP_config_type" minOccurs="0"/>
      <xs:element name="CHIMP" type="CHIMP_config_type" minOccurs="0"/>
      <xs:element name="gamera" type="Gamera_config_type" minOccurs="0"/>
      <xs:element name="Gamera" type="Gamera_config_type" minOccurs="0"/>
      <xs:element name="GAMERA" type="Gamera_config_type" minOccurs="0"/>
      <xs:element name="omega" type="OMEGA_config_type" minOccurs="0"/>
      <xs:element name="Omega" type="OMEGA_config_type" minOccurs="0"/>
      <xs:element name="OMEGA" type="OMEGA_config_type" minOccurs="0"/>
      <xs:element name="rcm" type="RCM_config_type" minOccurs="0"/>
      <xs:element name="Rcm" type="RCM_config_type" minOccurs="0"/>
      <xs:element name="RCM" type="RCM_config_type" minOccurs="0"/>
      <xs:element name="remix" type="REMIX_config_type" minOccurs="0"/>
      <xs:element name="Remix" type="REMIX_config_type" minOccurs="0"/>
      <xs:element name="REMIX" type="REMIX_config_type" minOccurs="0"/>
      <xs:element name="voltron" type="VOLTRON_config_type" minOccurs="0"/>
      <xs:element name="Voltron" type="VOLTRON_config_type" minOccurs="0"/>
      <xs:element name="VOLTRON" type="VOLTRON_config_type" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <!-- The top-level element -->
  <xs:element name="Kaiju" type="Kaiju_config_type"/>

</xs:schema>
