<?xml version="1.0"?>
<cd:ProductClass xmlns:cd="http://www.stcorp.nl/coda/definition/2008/07" name="CALIPSO" last-modified="2017-06-20">
  <cd:Description>Cloud-Aerosol Lidar and Infrared Pathfinder Satellite Observations (CALIPSO) products</cd:Description>
  <!-- Level 2 products -->
  <!-- Level 2 CALIOP Lidar products -->
  <!-- Level 2 CALIOP Lidar: Aerosol Profiles and Layers -->
  <cd:ProductType name="CAL_LID_L2_ALay">
    <cd:Description>L2 Aerosol Layers</cd:Description>
    <cd:ProductDefinition id="CAL_LID_L2_ALay" format="hdf4" version="5">
      <cd:Description>The format definition for this product is taken from the netcdf file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 10, filename()) == "CAL_LID_L2"</cd:MatchExpression>
        <cd:MatchExpression>regex("ALay", filename())</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="CAL_LID_L2_APro">
    <cd:Description>L2 Aerosol Profiles</cd:Description>
    <cd:ProductDefinition id="CAL_LID_L2_APro" format="hdf4" version="4">
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 10, filename()) == "CAL_LID_L2"</cd:MatchExpression>
        <cd:MatchExpression>regex("APro", filename())</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <!-- Level 2 CALIOP Lidar: Cloud Profiles and Layers -->
  <cd:ProductType name="CAL_LID_L2_CLay">
    <cd:Description>L2 Cloud Layers</cd:Description>
    <cd:ProductDefinition id="CAL_LID_L2_CLay" format="hdf4" version="4">
      <cd:Description>The format definition for this product is taken from the netcdf file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 10, filename()) == "CAL_LID_L2"</cd:MatchExpression>
        <cd:MatchExpression>regex("CLay", filename())</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="CAL_LID_L2_CPro">
    <cd:Description>L2 Cloud Profiles</cd:Description>
    <cd:ProductDefinition id="CAL_LID_L2_CPro" format="hdf4" version="4">
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 10, filename()) == "CAL_LID_L2"</cd:MatchExpression>
        <cd:MatchExpression>regex("CPro", filename())</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <!-- Level 2 CALIOP Lidar: Merged Aerosol and Cloud Layers -->
  <cd:ProductType name="CAL_LID_L2_MLay">
    <cd:Description>L2 Merged Aerosol and Cloud Layers</cd:Description>
    <cd:ProductDefinition id="CAL_LID_L2_MLay" format="hdf4" version="4">
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 10, filename()) == "CAL_LID_L2"</cd:MatchExpression>
        <cd:MatchExpression>regex("MLay", filename())</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <!-- Level 2 CALIOP Lidar: Vertical Feature Mask (VFM) -->
  <cd:ProductType name="CAL_LID_L2_VFM">
    <cd:Description>L2 Vertical Feature Mask</cd:Description>
    <cd:ProductDefinition id="CAL_LID_L2_VFM" format="hdf4" version="4">
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 10, filename()) == "CAL_LID_L2"</cd:MatchExpression>
        <cd:MatchExpression>regex("VFM", filename())</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <!-- Level 2 CALIOP Lidar: Polar Stratospheric Cloud (PSC) -->
  <cd:ProductType name="CAL_LID_L2_PSC">
    <cd:Description>L2 Polar Stratospheric Cloud</cd:Description>
    <cd:ProductDefinition id="CAL_LID_L2_PSC" format="hdf4" version="4">
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 10, filename()) == "CAL_LID_L2"</cd:MatchExpression>
        <cd:MatchExpression>regex("PSC", filename())</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <!-- Level 2 Imaging Infrared Radiometer (IIR) products -->
  <cd:ProductType name="CAL_IIR_L2_Track">
    <cd:Description>L2 IIR along CALIOP Lidar Track</cd:Description>
    <cd:ProductDefinition id="CAL_IIR_L2_Track" format="hdf4" version="4">
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 16, filename()) == "CAL_IIR_L2_Track"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="CAL_IIR_L2_Swath">
    <cd:Description>L2 IIR Full Swath</cd:Description>
    <cd:ProductDefinition id="CAL_IIR_L2_Swath" format="hdf4" version="4">
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 16, filename()) == "CAL_IIR_L2_Swath"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <!-- Level 3 products -->
  <cd:ProductType name="CAL_LID_L3_APro_AllSky">
    <cd:Description>L3 CALIOP Lidar: All-Sky Aerosol Extinction Profiles</cd:Description>
    <cd:ProductDefinition id="CAL_LID_L3_APro_AllSky" format="hdf4" version="5">
      <cd:Description>The format definition for this product is taken from the netcdf file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 22, filename()) == "CAL_LID_L3_APro_AllSky"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="CAL_LID_L3_APro_CloudFree">
    <cd:Description>L3 CALIOP Lidar: Cloud-Free Aerosol Extinction Profiles</cd:Description>
    <cd:ProductDefinition id="CAL_LID_L3_APro_CloudFree" format="hdf4" version="5">
      <cd:Description>The format definition for this product is taken from the netcdf file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 25, filename()) == "CAL_LID_L3_APro_CloudFree"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="CAL_LID_L3_APro_CloudySkyTransparent">
    <cd:Description>L3 CALIOP Lidar: Cloudy-Sky, Transparent Aerosol Extinction Profiles</cd:Description>
    <cd:ProductDefinition id="CAL_LID_L3_APro_CloudySkyTransparent" format="hdf4" version="5">
      <cd:Description>The format definition for this product is taken from the netcdf file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 36, filename()) == "CAL_LID_L3_APro_CloudySkyTransparent"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
  <cd:ProductType name="CAL_LID_L3_APro_CloudySkyOpaque">
    <cd:Description>L3 CALIOP Lidar: Cloudy-Sky, Opaque Aerosol Extinction Profiles</cd:Description>
    <cd:ProductDefinition id="CAL_LID_L3_APro_CloudySkyOpaque" format="hdf4" version="5">
      <cd:Description>The format definition for this product is taken from the netcdf file itself.</cd:Description>
      <cd:DetectionRule>
        <cd:MatchExpression>substr(0, 31, filename()) == "CAL_LID_L3_APro_CloudySkyOpaque"</cd:MatchExpression>
      </cd:DetectionRule>
    </cd:ProductDefinition>
  </cd:ProductType>
</cd:ProductClass>
