<?xml version="1.0"?>
<cd:ProductClass xmlns:cd="http://www.stcorp.nl/coda/definition/2008/07" name="GEOMS" last-modified="2018-11-28">
  <cd:Description>Products using the Generic Earth Observation Metadata Standard (GEOMS)</cd:Description>
  <!-- version numbers are a combination of base format and template version: <format> + <version>
       format: hdf4=1000, hdf5=2000, netcdf3=3000 (netcdf4 is treated as hdf5) -->
  <cd:ProductType name="FTIR">
    <cd:Description>GEOMS template for FTIR</cd:Description>
    <cd:ProductDefinition id="FTIR_001_hdf4" format="hdf4" version="1001">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-FTIR-001"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="FTIR_002_hdf4" format="hdf4" version="1002">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-FTIR-002"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="FTIR_TCCON">
    <cd:Description>GEOMS template for FTIR TCCON measurements</cd:Description>
    <cd:ProductDefinition id="FTIR_TCCON_004_netcdf3" format="netcdf" version="3004">
      <cd:Description>The format definition for this product is taken from the netcdf file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-FTIR-TCCON-004"</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.,24) == "GEOMS-TE-FTIR-TCCON-004\000"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="LIDAR_O3">
    <cd:Description>GEOMS template for LIDAR ozone measurements</cd:Description>
    <cd:ProductDefinition id="LIDAR_O3_003_hdf4" format="hdf4" version="1003">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-O3-003"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="LIDAR_O3_004_hdf4" format="hdf4" version="1004">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-O3-004"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="LIDAR_O3_005_hdf4" format="hdf4" version="1005">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-O3-005"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="LIDAR_TEMPERATURE">
    <cd:Description>GEOMS template for LIDAR temperature measurements</cd:Description>
    <cd:ProductDefinition id="LIDAR_TEMPERATURE_002_hdf4" format="hdf4" version="1002">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-TEMPERATURE-002"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="LIDAR_TEMPERATURE_003_hdf4" format="hdf4" version="1003">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-TEMPERATURE-003"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="LIDAR_TEMPERATURE_004_hdf4" format="hdf4" version="1004">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-TEMPERATURE-004"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="LIDAR_TEMPERATURE_005_hdf4" format="hdf4" version="1005">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-TEMPERATURE-005"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="LIDAR_H2O">
    <cd:Description>GEOMS template for LIDAR water vapor (Raman) measurements</cd:Description>
    <cd:ProductDefinition id="LIDAR_H2O_003_hdf4" format="hdf4" version="1003">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-H2O-003"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="LIDAR_H2O_004_hdf4" format="hdf4" version="1004">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-H2O-004"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="LIDAR_H2O_005_hdf4" format="hdf4" version="1005">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-H2O-005"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="LIDAR_AEROSOL">
    <cd:Description>GEOMS template for LIDAR aerosol measurements</cd:Description>
    <cd:ProductDefinition id="LIDAR_AEROSOL_003_hdf4" format="hdf4" version="1003">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-AEROSOL-003"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="LIDAR_AEROSOL_004_hdf4" format="hdf4" version="1004">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-AEROSOL-004"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="LIDAR_AEROSOL_005_hdf4" format="hdf4" version="1005">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-LIDAR-AEROSOL-005"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="MWR">
    <cd:Description>GEOMS template for MWR</cd:Description>
    <cd:ProductDefinition id="MWR_001_hdf4" format="hdf4" version="1001">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-MWR-001"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="MWR_002_hdf4" format="hdf4" version="1002">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-MWR-002"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="MWR_003_hdf4" format="hdf4" version="1003">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-MWR-003"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="PANDORA_DIRECTSUN_GAS">
    <cd:Description>GEOMS template for Pandora UVVIS-DOAS direct-sun measurements</cd:Description>
    <cd:ProductDefinition id="PANDORA_DIRECTSUN_GAS_002_hdf5" format="hdf5" version="2002">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-PANDORA-DIRECTSUN-GAS-002"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="SONDE">
    <cd:Description>GEOMS template for Sonde measurements</cd:Description>
    <cd:ProductDefinition id="SONDE_002_hdf5" format="hdf5" version="2002">
      <cd:Description>The format definition for this product is taken from the HDF5 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-SONDE-002"</cd:MatchExpression>
      </cd:DetectionRule>
      <cd:DetectionRule>
          <cd:MatchExpression path="/@DATA_TEMPLATE">str(.,19) == "GEOMS-TE-SONDE-002\000"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="UVVIS_DOAS_DIRECTSUN_GAS">
    <cd:Description>GEOMS template for UVVIS-DOAS direct-sun measurements</cd:Description>
    <cd:ProductDefinition id="UVVIS_DOAS_DIRECTSUN_GAS_004_hdf4" format="hdf4" version="1004">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-DIRECTSUN-GAS-004"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="UVVIS_DOAS_DIRECTSUN_GAS_005_hdf4" format="hdf4" version="1005">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-DIRECTSUN-GAS-005"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="UVVIS_DOAS_DIRECTSUN_GAS_006_hdf4" format="hdf4" version="1006">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-DIRECTSUN-GAS-006"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="UVVIS_DOAS_DIRECTSUN_GAS_007_hdf4" format="hdf4" version="1007">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-DIRECTSUN-GAS-007"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="UVVIS_DOAS_OFFAXIS_GAS">
    <cd:Description>GEOMS template for UVVIS-DOAS MAXDOAS gas measurements</cd:Description>
    <cd:ProductDefinition id="UVVIS_DOAS_OFFAXIS_GAS_004_hdf4" format="hdf4" version="1004">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-OFFAXIS-GAS-004"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="UVVIS_DOAS_OFFAXIS_GAS_006_hdf4" format="hdf4" version="1006">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-OFFAXIS-GAS-006"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="UVVIS_DOAS_OFFAXIS_GAS_007_hdf4" format="hdf4" version="1007">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-OFFAXIS-GAS-007"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="UVVIS_DOAS_ZENITH_GAS">
    <cd:Description>GEOMS template for UVVIS-DOAS DOAS measurements</cd:Description>
    <cd:ProductDefinition id="UVVIS_DOAS_ZENITH_GAS_004_hdf4" format="hdf4" version="1004">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-ZENITH-GAS-004"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="UVVIS_DOAS_ZENITH_GAS_006_hdf4" format="hdf4" version="1006">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-ZENITH-GAS-006"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="UVVIS_DOAS_ZENITH_GAS_007_hdf4" format="hdf4" version="1007">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-ZENITH-GAS-007"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="UVVIS_DOAS_OFFAXIS_AEROSOL">
    <cd:Description>GEOMS template for UVVIS-DOAS MAXDOAS tropospheric aerosol measurements</cd:Description>
    <cd:ProductDefinition id="UVVIS_DOAS_OFFAXIS_AEROSOL_004_hdf4" format="hdf4" version="1004">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-OFFAXIS-AEROSOL-004"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="UVVIS_DOAS_OFFAXIS_AEROSOL_006_hdf4" format="hdf4" version="1006">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-OFFAXIS-AEROSOL-006"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
    <cd:ProductDefinition id="UVVIS_DOAS_OFFAXIS_AEROSOL_007_hdf4" format="hdf4" version="1007">
      <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOAS-OFFAXIS-AEROSOL-007"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="UVVIS_DOBSON_TOTALCOL">
      <cd:Description>GEOMS template for Dobson total column measurements</cd:Description>
      <cd:ProductDefinition id="UVVIS_DOBSON_TOTALCOL_001_hdf4" format="hdf4" version="1001">
          <cd:Description>The format definition for this product is taken from the HDF4 file itself.</cd:Description>
          <cd:DetectionRule>
              <cd:MatchExpression path="/@DATA_TEMPLATE">str(.) == "GEOMS-TE-UVVIS-DOBSON-TOTALCOL-001"</cd:MatchExpression>
          </cd:DetectionRule>
      </cd:ProductDefinition>
  </cd:ProductType>
</cd:ProductClass>
