<?xml version="1.0"?>
<cd:ProductClass xmlns:cd="http://www.stcorp.nl/coda/definition/2008/07" name="AURA_OMI" last-modified="2021-10-19">
  <cd:Description>Aura OMI products</cd:Description>
  <cd:ProductType name="OMAERUV">
    <cd:Description>OMI Aerosol Optical Depth and Single Scattering Albedo (Near-UV Algorithm) - Level 2</cd:Description>
    <cd:ProductDefinition id="OMAERUV" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./Aerosol_NearUV_Swath)</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "L2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./Aerosol_NearUV_Swath)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMBRO">
    <cd:Description>OMI Bromine Monoxide (BrO) Total Column - Level 2</cd:Description>
    <cd:ProductDefinition id="OMBRO" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./OMI_Total_Column_Amount_BrO)</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "L2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./OMI_Total_Column_Amount_BrO)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMCHOCHO">
    <cd:Description>OMI Glyoxal (CHOCHO) Total Column - Level 2</cd:Description>
    <cd:ProductDefinition id="OMCHOCHO" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./OMI_Total_Column_Amount_CHOCHO)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMCLDO2">
    <cd:Description>OMI Cloud Pressure and Fraction (O2-O2 Absorption Algorithm) - Level 2</cd:Description>
    <cd:ProductDefinition id="OMCLDO2" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./CloudFractionAndPressure)</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "L2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./CloudFractionAndPressure)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMCLDRR">
    <cd:Description>OMI Cloud Pressure and Fraction (Raman Scattering Algorithm) - Level 2</cd:Description>
    <cd:ProductDefinition id="OMCLDRR" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./Cloud_Product)</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "L2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./Cloud_Product)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMDOAO3">
    <cd:Description>OMI Total Column Ozone (DOAS Technique) - Level 2</cd:Description>
    <cd:ProductDefinition id="OMDOAO3" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./ColumnAmountO3)</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "L2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./ColumnAmountO3)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMDOAO3e">
    <cd:Description>OMI Total Column Ozone (DOAS Technique) - Level 3</cd:Description>
    <cd:ProductDefinition id="OMDOAO3e" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "3e"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/GRIDS">exists(./ColumnAmountO3)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMDOMINO">
    <cd:Description>OMI Total Column Ozone (DOAS Technique) - Level 2</cd:Description>
    <cd:ProductDefinition id="OMDOMINO" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./DominoNO2)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMHCHO">
    <cd:Description>OMI Formaldehyde (HCHO) Total Column - Level 2</cd:Description>
    <cd:ProductDefinition id="OMHCHO" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./OMI_Total_Column_Amount_HCHO)</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "L2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./OMI_Total_Column_Amount_HCHO)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMNO2">
    <cd:Description>OMI Nitrogen Dioxide, Total and Tropospheric Columns - Level 2</cd:Description>
    <cd:ProductDefinition id="OMNO2" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./ColumnAmountNO2)</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "L2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./ColumnAmountNO2)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMO3PR">
    <cd:Description>OMI Ozone Profile - Level 2</cd:Description>
    <cd:ProductDefinition id="OMO3PR" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./O3Profile)</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "L2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./O3Profile)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMOCLO">
    <cd:Description>OMI Chlorine Dioxide (OClO) Slant Column - Level 2</cd:Description>
    <cd:ProductDefinition id="OMOCLO" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./OMI_Slant_Column_Amount_OClO)</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "L2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./OMI_Slant_Column_Amount_OClO)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMSO2">
    <cd:Description>OMI Total Column Sulphur Dioxide (SO2) - Level 2</cd:Description>
    <cd:ProductDefinition id="OMSO2" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./OMI_Total_Column_Amount_SO2)</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "L2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./OMI_Total_Column_Amount_SO2)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMTO3">
    <cd:Description>OMI Total Column Ozone &amp; Aerosol Index, (TOMS-Like Algorithm) - Level 2</cd:Description>
    <cd:ProductDefinition id="OMTO3" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./OMI_Column_Amount_O3)</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "L2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./OMI_Column_Amount_O3)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMTO3d">
    <cd:Description>OMI Total Column Ozone &amp; Aerosol Index, (TOMS-Like Algorithm) - Level 3</cd:Description>
    <cd:ProductDefinition id="OMTO3d" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel) == "3"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/GRIDS">exists(./OMI_Column_Amount_O3)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMTO3e">
    <cd:Description>OMI Total Column Ozone &amp; Aerosol Index, (TOMS-Like Algorithm) - Level 3</cd:Description>
    <cd:ProductDefinition id="OMTO3e" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "3e"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/GRIDS">exists(./OMI_Column_Amount_O3)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="OMUVB">
    <cd:Description>OMI Surface UVB Irradiance &amp; Erythemal Dose - Level 2</cd:Description>
    <cd:ProductDefinition id="OMUVB" format="hdf5" version="0">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,1) == "2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./UVB)</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/HDFEOS/ADDITIONAL/FILE_ATTRIBUTES">str(.@InstrumentName) == "OMI"</cd:MatchExpression>
        <cd:MatchExpression>str(.@ProcessLevel,2) == "L2"</cd:MatchExpression>
        <cd:MatchExpression path="/HDFEOS/SWATHS">exists(./UVB)</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
</cd:ProductClass>
