<?xml version="1.0" encoding="UTF-8"?>
<eml:eml xmlns:eml="https://eml.ecoinformatics.org/eml-2.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stmml="http://www.xml-cml.org/schema/stmml-1.2" packageId="calcofi_phytoplankton.v2026.10.21" system="calcofi.io" xsi:schemaLocation="https://eml.ecoinformatics.org/eml-2.2.0 https://eml.ecoinformatics.org/eml-2.2.0/eml.xsd">
  <dataset>
    <alternateIdentifier>https://doi.org/10.6073/pasta/60edabfbfd85c623fce05822befaa071</alternateIdentifier>
    <alternateIdentifier>https://calcofi.io/datasets/calcofi_phytoplankton/</alternateIdentifier>
    <shortName>Phytoplankton</shortName>
    <title>CalCOFI Phytoplankton (Venrick)</title>
    <creator>
      <individualName>
        <givenName>Elizabeth L.</givenName>
        <surName>Venrick</surName>
      </individualName>
      <organizationName>UCSD SIO</organizationName>
      <electronicMailAddress>evenrick@ucsd.edu</electronicMailAddress>
    </creator>
    <pubDate>2026-10-21</pubDate>
    <language>eng</language>
    <abstract>
      <para>Abundance and species composition of phytoplankton (385 taxonomic categories) in the California Current, 1996-2022, by inverted-microscope counts (E. Venrick). Samples from the near-surface "second depth" are pooled across stations into four regions (NE, SE, Alley, Offshore; Hayward &amp; Venrick 1998) before counting, so the grain is cruise x region, not per-station. Source: EDI knb-lter-cce.254.4.</para>
    </abstract>
    <keywordSet>
      <keyword>EARTH SCIENCE &gt; BIOSPHERE &gt; ECOSYSTEMS &gt; AQUATIC ECOSYSTEMS &gt; PLANKTON &gt; PHYTOPLANKTON</keyword>
      <keyword>EARTH SCIENCE &gt; BIOLOGICAL CLASSIFICATION &gt; PROTISTS &gt; PLANKTON &gt; PHYTOPLANKTON</keyword>
      <keywordThesaurus>GCMD Science Keywords</keywordThesaurus>
    </keywordSet>
    <keywordSet>
      <keyword>Phytoplankton Biomass and Diversity</keyword>
      <keyword>Phytoplankton</keyword>
      <keyword>phytoplankton_abundance</keyword>
      <keyword>cells/L</keyword>
    </keywordSet>
    <intellectualRights>
      <para>This work is licensed under a <ulink url="https://creativecommons.org/publicdomain/zero/1.0/"><citetitle>CC0 1.0 Universal (public domain dedication)</citetitle></ulink>.</para>
    </intellectualRights>
    <licensed>
      <licenseName>CC0 1.0 Universal (public domain dedication)</licenseName>
      <url>https://creativecommons.org/publicdomain/zero/1.0/</url>
      <identifier>CC0-1.0</identifier>
    </licensed>
    <distribution scope="document">
      <online>
        <url function="information">https://calcofi.io/datasets/calcofi_phytoplankton/</url>
      </online>
    </distribution>
    <coverage>
      <geographicCoverage>
        <geographicDescription>32.4–33.6°N, 121.7–118.8°W</geographicDescription>
        <boundingCoordinates>
          <westBoundingCoordinate>-121.6543</westBoundingCoordinate>
          <eastBoundingCoordinate>-118.7603</eastBoundingCoordinate>
          <northBoundingCoordinate>33.5668</northBoundingCoordinate>
          <southBoundingCoordinate>32.4352</southBoundingCoordinate>
        </boundingCoordinates>
      </geographicCoverage>
      <temporalCoverage>
        <rangeOfDates>
          <beginDate>
            <calendarDate>1996</calendarDate>
          </beginDate>
          <endDate>
            <calendarDate>2022</calendarDate>
          </endDate>
        </rangeOfDates>
      </temporalCoverage>
      <taxonomicCoverage>
        <generalTaxonomicCoverage>Phytoplankton</generalTaxonomicCoverage>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Acanthoica quattrospina</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235802</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Actiniscus pentasterias</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109717</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Actinocyclus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">148944</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>variety</taxonRankName>
          <taxonRankValue>Actinocyclus octonarius var. octonarius</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">162770</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Actinocyclus senarius</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">162810</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Actinoptychus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">148947</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Akashiwo sanguinea</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">232546</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Algirosphaera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235910</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Amphidoma nucula</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">233201</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Amphiprora</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149140</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Amylax</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109518</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Asterionella glacialis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">148955</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Asterolampra marylandica</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">248070</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Asteromphalus heptactis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">162258</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Azpeitia</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149650</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>class</taxonRankName>
          <taxonRankValue>Bacillariophyceae</taxonRankValue>
          <commonName>diatoms</commonName>
          <taxonId provider="https://www.marinespecies.org">148899</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Bacteriastrum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149118</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Bacteriastrum biconicum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">418485</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Bacteriastrum comosum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">248066</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Bacteriastrum delicatulum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">164108</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Bacteriastrum elegans</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">418486</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Bacteriastrum elongatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">162916</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Bacteriastrum hyalinum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149119</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Bacteriastrum mediterraneum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">418487</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Biddulphia weissflogii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">465381</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Blepharocysta</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109548</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Braarudosphaera bigelowii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235922</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Brachidinium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">231770</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Brachidinium capitatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">232115</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Calcidiscus leptoporus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235923</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Calciosolenia brasiliensis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">555889</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Calciosolenia murrayi</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235926</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Calyptrolithina wettsteinii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">612208</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Calyptrolithophora</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235827</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Calyptrolithophora gracillima</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235891</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Calyptrolithophora hasleana</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">236004</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Calyptrosphaera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235828</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Centrodinium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109526</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Cerataulina pelagica</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149619</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Ceratium divaricatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">233246</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Ceratocorys</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109507</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Ceratocorys armata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109984</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Ceratolithus cristatus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235933</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Chaetoceros</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">148985</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros aequatorialis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">254448</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros affinis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149241</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros anastomosans</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149292</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros atlanticus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149288</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros bacteriastroides</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">465386</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros borealis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149124</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros compressus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149129</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros constrictus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">156609</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros costatus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149289</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros curvisetus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149221</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros dadayi</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">465390</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros danicus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149120</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros debilis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149219</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros decipiens</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149126</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros didymus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149122</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros eibenii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">160521</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros laciniosus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149228</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros lorenzianus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">156617</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros messanense</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">418509</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros neogracilis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">178207</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros peruvianus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">178185</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros radicans</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">163112</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros septentrionalis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">962003</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros seychellarum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">961885</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros socialis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149123</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros teres</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149125</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Chaetoceros tetrastichon</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">178241</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Cladopyxis brachiolata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109989</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Climacodium biconcavum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">418539</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>class</taxonRankName>
          <taxonRankValue>Coccolithophyceae</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">592906</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coccolithus pelagicus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">178600</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Corethron criophilum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149110</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Corisphaera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235829</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Coronosphaera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235934</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coronosphaera mediterranea</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235944</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Corythodinium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109527</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>variety</taxonRankName>
          <taxonRankValue>Coscinodiscus africanus var. africanus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">977643</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coscinodiscus angustelineatus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">964359</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coscinodiscus centralis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149159</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coscinodiscus concinnus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">148992</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coscinodiscus curvatulus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149266</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coscinodiscus granii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149271</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coscinodiscus marginatus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">156629</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coscinodiscus oculus-iridis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">341484</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coscinodiscus perforatus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149272</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coscinodiscus radiatus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149158</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coscinodiscus sol</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">573437</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>variety</taxonRankName>
          <taxonRankValue>Coscinodiscus stellaris var. stellaris</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">975029</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Coscinodiscus wailesii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">156632</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Coscinosira</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">148926</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Crystallolithus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235838</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Cylindrotheca closterium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149004</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Deutschlandia</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235935</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Dictyocha fibula</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">157463</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>class</taxonRankName>
          <taxonRankValue>Dictyochophyceae</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">146232</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>class</taxonRankName>
          <taxonRankValue>Dinophyceae</taxonRankValue>
          <commonName>dinoflagellates</commonName>
          <taxonId provider="https://www.marinespecies.org">19542</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Dinophysis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109462</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Dinophysis acuminata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109603</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Dinophysis acuta</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109604</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Dinophysis caudata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109612</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Dinophysis hastata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109627</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Dinophysis tripos</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109662</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Dinophysis uracantha</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109664</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Discosphaera tubifera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">573399</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Ditylum brightwellii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149023</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Erythropsidinium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">231793</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Ethmodiscus punctiger</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">148941</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Eucampia zoodiacus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">616809</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Florisphaera profunda</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235952</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Fragilariopsis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149313</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Fragilariopsis doliolus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">366281</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Fragilariopsis pseudonana</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">341558</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Gephyrocapsa</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235823</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Gephyrocapsa huxleyi</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">236056</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Gephyrocapsa oceanica</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235955</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Gephyrocapsa ornata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235956</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Glenodinium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109538</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Gonyaulax</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109519</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Gonyaulax areolata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">233495</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Gonyaulax diegensis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110014</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Gonyaulax digitale</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110015</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Gonyaulax fragilis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110019</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Gonyaulax polygramma</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110035</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Gonyaulax turbynei</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110043</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>variety</taxonRankName>
          <taxonRankValue>Guinardia blavyana var. blavyana</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">975336</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Gyrosigma</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149033</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Halopappus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235859</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Haslea wawrikae</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">248063</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Helicosphaera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235863</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Helicotheca</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">157438</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Helladosphaera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235841</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Hemiaulus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">163248</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Hemiaulus hauckii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">163249</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Hemiaulus membranaceus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">418540</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Hemiaulus sinensis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">163250</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Hemidiscus cuneiformis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">180367</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Heterodinium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109522</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Histioneis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109463</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Kofoidinium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109499</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Lauderia annulata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149135</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Lauderia mediterranea</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">163261</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Lauderia pumila</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">163226</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Leptocylindrus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149038</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Leucocryptos marina</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">119077</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Licmophora</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149342</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Lingulaulax polyedra</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">1778370</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Lioloma</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">292726</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Liriogramma</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">601779</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Lithodesmium undulatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149322</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Margalefidinium catenatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">990878</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Mastogloia rostrata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">958143</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Meringosphaera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">115075</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Mesoporos</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109564</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Micracanthodinium setiferum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109993</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Navicula challengeri</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">573488</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Navicula gigantea</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">573491</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Nitzschia</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149045</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Nitzschia bicapitata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">341566</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Nitzschia kolaczekii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">700193</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Nitzschia marina</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">418205</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Nitzschia sicula</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">341379</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Noctiluca scintillans</taxonRankValue>
          <commonName>sea sparkle</commonName>
          <taxonId provider="https://www.marinespecies.org">109921</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Octactis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">369960</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Octactis speculum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">1310442</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Odontella</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">148963</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Oolithotus fragilis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235962</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Ophiaster</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">115081</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Oxytoxum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109528</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Oxytoxum adriaticum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110079</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Oxytoxum curvatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110090</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Oxytoxum laticeps</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110097</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Oxytoxum longum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110100</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Oxytoxum scolopax</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110115</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Oxytoxum turbo</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">233871</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Palaeophalacroma</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109512</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Palaeophalacroma verrucosum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109996</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Palusphaera vandelii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">613388</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Peridiniella danica</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">233369</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Peridinium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109549</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Peridinium minusculum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">233476</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Periphyllophora mirabilis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235877</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Phaeocystis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">115088</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Phalacroma oxytoxoides</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">624358</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Pleurosigma</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149181</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Pleurosigma directum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">248088</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Pleurosigma nicobaricum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">509591</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>family</taxonRankName>
          <taxonRankValue>Pleurosigmataceae</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149032</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Podolampas bipes</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110199</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Podolampas palmipes</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">232625</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Podolampas spinifera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110202</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Podosira</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149059</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Pontosphaera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">115082</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Pontosphaera discopora</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235970</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Porosira</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">148980</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Proboscia alata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149168</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Pronoctiluca</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109487</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Pronoctiluca pelagica</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109903</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Prorocentrum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109566</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Prorocentrum dactylus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110297</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Prorocentrum gracile</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110300</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Prorocentrum micans</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110303</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Prorocentrum obtusidens</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110307</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Prorocentrum rostratum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110311</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Prorocentrum rotundatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110312</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Prorocentrum vaginulum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110317</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Protoceratium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109567</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Protoceratium areolatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110319</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Protoperidinium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109553</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Protoperidinium depressum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110217</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Protoperidinium leonis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110229</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Protoperidinium pallidum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110244</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Protoperidinium tenuissimum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">232882</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Pseudo-nitzschia</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149151</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Pseudosolenia calcar-avis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">163344</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Pterosperma</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">160595</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Pterosperma marginatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">376082</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Ptychodiscus noctiluca</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109888</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Pyrocystis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109571</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Pyrocystis acuta</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">232277</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Pyrocystis fusiformis</taxonRankValue>
          <commonName>ocean night light</commonName>
          <taxonId provider="https://www.marinespecies.org">110328</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Pyrocystis lunula</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">164053</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Pyrophacus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109555</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Rhabdosphaera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235966</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Rhabdosphaera clavigera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235972</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Rhizosolenia</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149069</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Rhizosolenia cylindrus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">163242</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Rhizosolenia delicatula</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149114</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Rhizosolenia flaccida</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">160530</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>forma</taxonRankName>
          <taxonRankValue>Rhizosolenia fragilissima f. fragilissima</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">985165</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>forma</taxonRankName>
          <taxonRankValue>Rhizosolenia hebetata f. hebetata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">163347</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Rhizosolenia imbricata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149116</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Rhizosolenia robusta</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149311</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Rhizosolenia semispina</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">163348</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Rhizosolenia styliformis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149629</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>family</taxonRankName>
          <taxonRankValue>Rhizosoleniaceae</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149068</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Richelia intracellularis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">376490</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Roperia tesselata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149105</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Skeletonema costatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149074</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Spatulodinium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109502</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Spiraulax</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109521</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Stephanopyxis turris</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149631</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Sundstroemia setigera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">1590706</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Syndendrium diadema</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">163042</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Syracolithus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235846</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Syracosphaera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">115084</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Syracosphaera anthos</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">555903</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Syracosphaera histrica</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235976</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Syracosphaera molischii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">236039</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Syracosphaera pirus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235977</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Syracosphaera prolongata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235978</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Syracosphaera pulchra</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235979</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thalassionema bacillare</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">418647</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thalassionema frauenfeldii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">555052</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thalassionema nitzschioides</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149093</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Thalassiosira</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">148912</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thalassiosira aestivalis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">345529</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thalassiosira allenii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">573627</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thalassiosira eccentrica</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">148922</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thalassiosira endoseriata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">573639</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thalassiosira gravida</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149102</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thalassiosira lineata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">345546</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thalassiosira simonsenii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">573654</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thalassiosira subtilis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">149101</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Thalassiothrix</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">157081</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thalassiothrix longissima</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">157083</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thoracosphaera heimii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110277</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Torodinium</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">109479</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>genus</taxonRankName>
          <taxonRankValue>Tripos</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">494057</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos arietinus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">841182</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos brevis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">841189</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos candelabrum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">841193</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos carriensis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">837448</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos concilians</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">841198</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos declinatus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">841202</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos falcatiformis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">837221</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos falcatus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">837220</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos furca</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">840627</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos fusus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">840626</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos gibberus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">837222</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos horridus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">837453</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos lineatus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">837459</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos macroceros</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">841260</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos massiliensis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">841261</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos minutus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">841263</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos muelleri</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">495363</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos pentagonus</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">841746</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tripos teres</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">1381154</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Umbellosphaera irregularis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235982</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Umbellosphaera tenuis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235983</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Umbilicosphaera hulburtiana</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235984</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Umbilicosphaera sibogae</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">235985</taxonId>
        </taxonomicClassification>
      </taxonomicCoverage>
    </coverage>
    <maintenance>
      <description>
        <para>archived</para>
      </description>
    </maintenance>
    <contact>
      <organizationName>California Cooperative Oceanic Fisheries Investigations</organizationName>
      <electronicMailAddress>evenrick@ucsd.edu</electronicMailAddress>
    </contact>
    <dataTable>
      <entityName>sample</entityName>
      <entityDescription>One row per physical sampling event at its native grain (site, tow, net, subsample, cast, bottle, water, filter, underway, transect, sighting, deployment, scan, region pool). An adjacency list: parent_sample_key points at the containing event and root_sample_key at the top of the chain, so counting distinct events at any level is a single GROUP BY.</entityDescription>
      <attributeList>
        <attribute>
          <attributeName>sample_key</attributeName>
          <attributeLabel>Sample Key</attributeLabel>
          <attributeDefinition>Globally unique event key, namespaced dataset_key:sample_type:id so the same integer id in two datasets — or at two event levels in one dataset — never collides.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Globally unique event key, namespaced dataset_key:sample_type:id so the same integer id in two datasets — or at two event levels in one dataset — never collides.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>sample_type</attributeName>
          <attributeLabel>Sample Type</attributeLabel>
          <attributeDefinition>Event grain: site, tow, net, subsample, cast, bottle, water (an eDNA water sample), filter (an eDNA water filter), underway, transect (a visual-survey effort segment), sighting, deployment (a sonobuoy), scan (one analysed hour of a recording) or region_pool.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Event grain: site, tow, net, subsample, cast, bottle, water (an eDNA water sample), filter (an eDNA water filter), underway, transect (a visual-survey effort segment), sighting, deployment (a sonobuoy), scan (one analysed hour of a recording) or region_pool.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>parent_sample_key</attributeName>
          <attributeLabel>Parent Sample Key</attributeLabel>
          <attributeDefinition>The containing event (net → tow → site; bottle → cast; sighting → transect; scan → deployment). NULL at the top of the chain. Flat adjacency list: attributes are not inherited.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>The containing event (net → tow → site; bottle → cast; sighting → transect; scan → deployment). NULL at the top of the chain. Flat adjacency list: attributes are not inherited.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>root_sample_key</attributeName>
          <attributeLabel>Root Sample Key</attributeLabel>
          <attributeDefinition>Top of this event's containment chain; equals sample_key for single-level datasets. Use count(DISTINCT root_sample_key) to count stations/casts irrespective of grain.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Top of this event's containment chain; equals sample_key for single-level datasets. Use count(DISTINCT root_sample_key) to count stations/casts irrespective of grain.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>dataset_key</attributeName>
          <attributeLabel>Dataset Key</attributeLabel>
          <attributeDefinition>Provenance stamp: provider_dataset.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Provenance stamp: provider_dataset.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>grid_key</attributeName>
          <attributeLabel>Grid Key</attributeLabel>
          <attributeDefinition>CalCOFI station grid cell. NULL where the dataset has no station assignment (region-pooled phytoplankton).</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>CalCOFI station grid cell. NULL where the dataset has no station assignment (region-pooled phytoplankton).</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>site_key</attributeName>
          <attributeLabel>Site Key</attributeLabel>
          <attributeDefinition>CalCOFI station natural key as the source records it (line/station, e.g. 090.0 060.0). Present on 13 of the 18 source event tables, so it is carried on the event dimension rather than lost to consolidation; grid_key is the derived grid cell, this is the source's own station id.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>CalCOFI station natural key as the source records it (line/station, e.g. 090.0 060.0). Present on 13 of the 18 source event tables, so it is carried on the event dimension rather than lost to consolidation; grid_key is the derived grid cell, this is the source's own station id.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>cruise_key</attributeName>
          <attributeLabel>Cruise Key</attributeLabel>
          <attributeDefinition>CalCOFI cruise natural key YYYY-MM-NODC.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>CalCOFI cruise natural key YYYY-MM-NODC.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>order_occ</attributeName>
          <attributeLabel>Order of Occupation</attributeLabel>
          <attributeDefinition>Order in which the station was occupied on the cruise. Source spelling varies (order_occ, ord_occ) and CTD stores it as text; normalised to an integer here.</attributeDefinition>
          <storageType>INTEGER</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>integer</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>latitude</attributeName>
          <attributeLabel>Latitude</attributeLabel>
          <attributeDefinition>Event latitude (WGS84).</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>degree</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>longitude</attributeName>
          <attributeLabel>Longitude</attributeLabel>
          <attributeDefinition>Event longitude (WGS84).</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>degree</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>datetime</attributeName>
          <attributeLabel>Datetime</attributeLabel>
          <attributeDefinition>Event start time (UTC).</attributeDefinition>
          <storageType>TIMESTAMP</storageType>
          <measurementScale>
            <dateTime>
              <formatString>YYYY-MM-DDThh:mm:ss</formatString>
            </dateTime>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>depth_min_m</attributeName>
          <attributeLabel>Depth Min</attributeLabel>
          <attributeDefinition>Shallowest depth sampled by this event.</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>meter</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>depth_max_m</attributeName>
          <attributeLabel>Depth Max</attributeLabel>
          <attributeDefinition>Deepest depth sampled by this event; for swfsc_ichthyo tows and nets the maximum possible depth of the net (SWFSC Net.NetDepth, nominal: over a shallower sea floor the net did not reach it).</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>meter</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>tow_type</attributeName>
          <attributeLabel>Tow Type</attributeLabel>
          <attributeDefinition>Net gear code where the dataset records one (C1/CB/CV/PV oblique or vertical, MT manta); NULL for gears and datasets without one. Needed to compute gear-appropriate CPUE.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Net gear code where the dataset records one (C1/CB/CV/PV oblique or vertical, MT manta); NULL for gears and datasets without one. Needed to compute gear-appropriate CPUE.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>data_stage</attributeName>
          <attributeLabel>Data Stage</attributeLabel>
          <attributeDefinition>The source's own processing state for this event: final (post-cruise calibrations applied) or preliminary (not for publication — the source warns that oxygen, nitrate and chlorophyll may change significantly once calibrated). Populated by calcofi_ctd-cast; NULL where the dataset draws no such distinction, which is not a claim that the data are final.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>The source's own processing state for this event: final (post-cruise calibrations applied) or preliminary (not for publication — the source warns that oxygen, nitrate and chlorophyll may change significantly once calibrated). Populated by calcofi_ctd-cast; NULL where the dataset draws no such distinction, which is not a claim that the data are final.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>geom</attributeName>
          <attributeLabel>Geometry</attributeLabel>
          <attributeDefinition>Point geometry minted from longitude/latitude (OGC:CRS84).</attributeDefinition>
          <storageType>GEOMETRY('EPSG:4326')</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Point geometry minted from longitude/latitude (OGC:CRS84).</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>source_uuid</attributeName>
          <attributeLabel>Source Uuid</attributeLabel>
          <attributeDefinition>Source Uuid</attributeDefinition>
          <storageType>UUID</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Source Uuid</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>hex7</attributeName>
          <attributeLabel>H3 Cell (res 7)</attributeLabel>
          <attributeDefinition>One UBIGINT H3 cell at resolution 7: the parent of the resolution-10 cell of this event's own latitude / longitude (not the resolution-7 cell the position falls in), defined exactly as obs_bio.hex7 / obs_env.hex7; NULL without a finite position. Lets a per-sample value in sample_measurement be drawn in hexagons. An observation carries its own position, so a CTD scan can sit in another cell than its cast.</attributeDefinition>
          <storageType>UBIGINT</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>whole</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>seafloor_depth_m</attributeName>
          <attributeDefinition>seafloor_depth_m</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>station_uuid</attributeName>
          <attributeDefinition>station_uuid</attributeDefinition>
          <storageType>UUID</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>station_uuid</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>station_uuid_method</attributeName>
          <attributeDefinition>station_uuid_method</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>station_uuid_method</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
      </attributeList>
    </dataTable>
    <dataTable>
      <entityName>obs</entityName>
      <entityDescription>The occurrence-headline long table: one scalar measurement per row, environmental (realm = 'env') and biological (realm = 'bio') together. Biological taxon is the global taxon_key; sub-occurrence detail (length/stage bins, behavior) lives in obs_attribute, and event-level effort in sample_measurement.</entityDescription>
      <physical>
        <objectName>data_0.parquet</objectName>
        <size unit="bytes">253033</size>
        <authentication method="SHA-256">437b61494721355cee8b18c2ba818e5a197f5e998ef273c880c60a5832a7ba26</authentication>
        <dataFormat>
          <externallyDefinedFormat>
            <formatName>Apache Parquet</formatName>
          </externallyDefinedFormat>
        </dataFormat>
        <distribution>
          <online>
            <url function="download">https://storage.googleapis.com/calcofi-db/ducklake/tables/obs/dataset_key=calcofi_phytoplankton/dae4bc332c929c5bbf8e26ee/data_0.parquet</url>
          </online>
        </distribution>
      </physical>
      <attributeList>
        <attribute>
          <attributeName>obs_id</attributeName>
          <attributeLabel>Observation ID</attributeLabel>
          <attributeDefinition>Surrogate key, renumbered globally when the release concatenates the per-dataset shards.</attributeDefinition>
          <storageType>BIGINT</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>integer</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>realm</attributeName>
          <attributeLabel>Realm</attributeLabel>
          <attributeDefinition>env for physical/chemical measurements, bio for organism observations.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>env for physical/chemical measurements, bio for organism observations.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>dataset_key</attributeName>
          <attributeLabel>Dataset Key</attributeLabel>
          <attributeDefinition>Provenance stamp: provider_dataset.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Provenance stamp: provider_dataset.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>sample_key</attributeName>
          <attributeLabel>Sample Key</attributeLabel>
          <attributeDefinition>The sampling event this observation came from; joins sample.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>The sampling event this observation came from; joins sample.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>grid_key</attributeName>
          <attributeLabel>Grid Key</attributeLabel>
          <attributeDefinition>CalCOFI station grid cell, denormalized from sample so rollups need no join. NULL for region-pooled data.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>CalCOFI station grid cell, denormalized from sample so rollups need no join. NULL for region-pooled data.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>cruise_key</attributeName>
          <attributeLabel>Cruise Key</attributeLabel>
          <attributeDefinition>Cruise, denormalized from sample so rollups need no join.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Cruise, denormalized from sample so rollups need no join.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>latitude</attributeName>
          <attributeLabel>Latitude</attributeLabel>
          <attributeDefinition>Observation latitude (WGS84).</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>degree</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>longitude</attributeName>
          <attributeLabel>Longitude</attributeLabel>
          <attributeDefinition>Observation longitude (WGS84).</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>degree</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>datetime</attributeName>
          <attributeLabel>Datetime</attributeLabel>
          <attributeDefinition>Observation time (UTC). NULL for region-pooled data with no event time.</attributeDefinition>
          <storageType>TIMESTAMP</storageType>
          <measurementScale>
            <dateTime>
              <formatString>YYYY-MM-DDThh:mm:ss</formatString>
            </dateTime>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>depth_min_m</attributeName>
          <attributeLabel>Depth Min</attributeLabel>
          <attributeDefinition>Shallowest depth this observation represents.</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>meter</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>depth_max_m</attributeName>
          <attributeLabel>Depth Max</attributeLabel>
          <attributeDefinition>Deepest depth this observation represents; equal to depth_min_m for point measurements (bottle, CTD scan).</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>meter</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>taxon_key</attributeName>
          <attributeLabel>Taxon Key</attributeLabel>
          <attributeDefinition>Global taxon key, worms:&lt;AphiaID&gt; or itis:&lt;TSN&gt; for birds. NULL for env rows. Joins taxon.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Global taxon key, worms:&lt;AphiaID&gt; or itis:&lt;TSN&gt; for birds. NULL for env rows. Joins taxon.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>life_stage</attributeName>
          <attributeLabel>Life Stage</attributeLabel>
          <attributeDefinition>Life stage where the source resolves one (larva, adult, juvenile, egg, phyllosoma).</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Life stage where the source resolves one (larva, adult, juvenile, egg, phyllosoma).</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>measurement_type</attributeName>
          <attributeLabel>Measurement Type</attributeLabel>
          <attributeDefinition>Measured quantity; joins the measurement_type vocabulary.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Measured quantity; joins the measurement_type vocabulary.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>measurement_value</attributeName>
          <attributeLabel>Measurement Value</attributeLabel>
          <attributeDefinition>The measured value, in the units measurement_type declares.</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>measurement_qual</attributeName>
          <attributeLabel>Measurement Qualifier</attributeLabel>
          <attributeDefinition>Source quality flag, verbatim.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Source quality flag, verbatim.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>measurement_prec</attributeName>
          <attributeLabel>Measurement Precision</attributeLabel>
          <attributeDefinition>Source-reported precision where available.</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>hex_id</attributeName>
          <attributeLabel>Hex ID</attributeLabel>
          <attributeDefinition>H3 cell at resolution 10, stored as UBIGINT. Aggregate coarser at query time with h3_cell_to_parent(hex_id, res) — there is no per-resolution column ladder.</attributeDefinition>
          <storageType>UBIGINT</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>whole</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
      </attributeList>
    </dataTable>
    <dataTable>
      <entityName>taxon</entityName>
      <entityDescription>Taxonomic hierarchy for species via WoRMS and ITIS authorities (built from spp.duckdb via recursive CTEs)</entityDescription>
      <attributeList>
        <attribute>
          <attributeName>taxon_key</attributeName>
          <attributeLabel>Taxon Key</attributeLabel>
          <attributeDefinition>Global taxon key: lowercase authority prefix plus id, worms:127023 or itis:176754.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Global taxon key: lowercase authority prefix plus id, worms:127023 or itis:176754.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>worms_id</attributeName>
          <attributeLabel>WoRMS ID</attributeLabel>
          <attributeDefinition>WoRMS AphiaID.</attributeDefinition>
          <storageType>INTEGER</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>integer</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>itis_id</attributeName>
          <attributeLabel>ITIS ID</attributeLabel>
          <attributeDefinition>ITIS Taxonomic Serial Number.</attributeDefinition>
          <storageType>INTEGER</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>integer</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>gbif_id</attributeName>
          <attributeLabel>GBIF ID</attributeLabel>
          <attributeDefinition>GBIF backbone taxon key.</attributeDefinition>
          <storageType>INTEGER</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>integer</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>ncbi_id</attributeName>
          <attributeLabel>NCBI ID</attributeLabel>
          <attributeDefinition>NCBI Taxonomy id.</attributeDefinition>
          <storageType>INTEGER</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>integer</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>inat_id</attributeName>
          <attributeLabel>iNaturalist ID</attributeLabel>
          <attributeDefinition>iNaturalist taxon id.</attributeDefinition>
          <storageType>INTEGER</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>integer</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>scientific_name</attributeName>
          <attributeLabel>Scientific Name</attributeLabel>
          <attributeDefinition>Accepted scientific name.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Accepted scientific name.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>common_name</attributeName>
          <attributeLabel>Common Name</attributeLabel>
          <attributeDefinition>Common name where one is recorded.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Common name where one is recorded.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>rank</attributeName>
          <attributeLabel>Rank</attributeLabel>
          <attributeDefinition>Taxonomic rank.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Taxonomic rank.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>rank_order</attributeName>
          <attributeLabel>Rank Order</attributeLabel>
          <attributeDefinition>Ordinal for sorting ranks from kingdom down.</attributeDefinition>
          <storageType>INTEGER</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>integer</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>taxonomic_status</attributeName>
          <attributeLabel>Taxonomic Status</attributeLabel>
          <attributeDefinition>Status as fetched from the keying authority (accepted, unaccepted, superseded combination, ...). Read it with status_checked — before v2026.08.05 this column was the literal string "accepted" on every row, stamped rather than fetched.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Status as fetched from the keying authority (accepted, unaccepted, superseded combination, ...). Read it with status_checked — before v2026.08.05 this column was the literal string "accepted" on every row, stamped rather than fetched.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>status_checked</attributeName>
          <attributeLabel>Status Checked</attributeLabel>
          <attributeDefinition>Date taxonomic_status was last confirmed against the authority. A status with no check date is not a fact.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Date taxonomic_status was last confirmed against the authority. A status with no check date is not a fact.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>parent_taxon_key</attributeName>
          <attributeLabel>Parent Taxon Key</attributeLabel>
          <attributeDefinition>Lineage parent; walk this to expand a taxon to its descendants.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Lineage parent; walk this to expand a taxon to its descendants.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>kingdom</attributeName>
          <attributeLabel>Kingdom</attributeLabel>
          <attributeDefinition>Kingdom.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Kingdom.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>phylum</attributeName>
          <attributeLabel>Phylum</attributeLabel>
          <attributeDefinition>Phylum.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Phylum.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>class</attributeName>
          <attributeLabel>Class</attributeLabel>
          <attributeDefinition>Class.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Class.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>order_taxon</attributeName>
          <attributeLabel>Order</attributeLabel>
          <attributeDefinition>Order (named order_taxon because order is a SQL keyword).</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Order (named order_taxon because order is a SQL keyword).</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>family</attributeName>
          <attributeLabel>Family</attributeLabel>
          <attributeDefinition>Family.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Family.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>notes</attributeName>
          <attributeLabel>Notes</attributeLabel>
          <attributeDefinition>Append-only provenance log, one datestamped line per entry: how each id was resolved and any re-key onto an authority-accepted id (e.g. itis:174553 Puffinus griseus -&gt; itis:1255050 Ardenna grisea). The dataset's own original code and name stay in dataset_taxon.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Append-only provenance log, one datestamped line per entry: how each id was resolved and any re-key onto an authority-accepted id (e.g. itis:174553 Puffinus griseus -&gt; itis:1255050 Ardenna grisea). The dataset's own original code and name stay in dataset_taxon.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
      </attributeList>
    </dataTable>
    <dataTable>
      <entityName>dataset_taxon</entityName>
      <entityDescription>Crosswalk from each dataset's own taxon vocabulary to the global taxon_key. obs resolves its taxon by joining this on (dataset_key, ds_taxa_code), so a dataset can keep its local codes without leaking them into the shared model.</entityDescription>
      <attributeList>
        <attribute>
          <attributeName>ds_taxon_key</attributeName>
          <attributeLabel>Dataset Taxon Key</attributeLabel>
          <attributeDefinition>Key of this crosswalk row, &lt;dataset-or-known-list&gt;:&lt;local code&gt;.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Key of this crosswalk row, &lt;dataset-or-known-list&gt;:&lt;local code&gt;.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>dataset_key</attributeName>
          <attributeLabel>Dataset Key</attributeLabel>
          <attributeDefinition>The dataset whose vocabulary this row belongs to.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>The dataset whose vocabulary this row belongs to.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>taxon_key</attributeName>
          <attributeLabel>Taxon Key</attributeLabel>
          <attributeDefinition>The global taxon it resolves to; joins taxon.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>The global taxon it resolves to; joins taxon.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>ds_scientific_name</attributeName>
          <attributeLabel>Dataset Scientific Name</attributeLabel>
          <attributeDefinition>Scientific name as the source dataset spells it.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Scientific name as the source dataset spells it.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>ds_common_name</attributeName>
          <attributeLabel>Dataset Common Name</attributeLabel>
          <attributeDefinition>Common name as the source dataset spells it.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Common name as the source dataset spells it.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>ds_taxa_code</attributeName>
          <attributeLabel>Dataset Taxa Code</attributeLabel>
          <attributeDefinition>The dataset's own code, as stored on its measurement rows.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>The dataset's own code, as stored on its measurement rows.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>ds_source_json</attributeName>
          <attributeLabel>Ds Source Json</attributeLabel>
          <attributeDefinition>Ds Source Json</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Ds Source Json</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
      </attributeList>
    </dataTable>
    <dataTable>
      <entityName>taxon_group</entityName>
      <entityDescription>Portable groupings of taxa (phytoplankton functional groups, seabirds, marine mammals). Many taxa per group; a taxon may belong to several.</entityDescription>
      <attributeList>
        <attribute>
          <attributeName>taxon_group_key</attributeName>
          <attributeLabel>Taxon Group Key</attributeLabel>
          <attributeDefinition>Group key, &lt;dataset-or-known-list&gt;:&lt;group&gt;.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Group key, &lt;dataset-or-known-list&gt;:&lt;group&gt;.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>description</attributeName>
          <attributeLabel>Description</attributeLabel>
          <attributeDefinition>Human-readable description of the group.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Human-readable description of the group.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>taxon_key</attributeName>
          <attributeLabel>Taxon Key</attributeLabel>
          <attributeDefinition>A member taxon; joins taxon.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>A member taxon; joins taxon.</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
      </attributeList>
    </dataTable>
    <dataTable>
      <entityName>region</entityName>
      <entityDescription>The 4 pooled regions defined on the CalCOFI grid (Hayward &amp; Venrick 1998), with the member station codes the source declares and a POLYGON derived from them: each declared station claims the water nearest to it, clipped to the convex hull of all 34 stations and dissolved by region, so the four tile their pooled domain with no overlap and no gaps. Stations are placed by the +proj=calcofi transform rather than a grid lookup, which is what lets the six intermediate inshore stations with no cell in the regularized grid resolve. latitude/longitude is an interior representative point, not a centroid (the regions are concave). Land is not erased. See questions Q01.</entityDescription>
      <physical>
        <objectName>region.parquet</objectName>
        <size unit="bytes">4018</size>
        <authentication method="SHA-256">3cd3267556a56a9ed1eb4481964db389d80c822dcd501b696b50925fbe21260c</authentication>
        <dataFormat>
          <externallyDefinedFormat>
            <formatName>Apache Parquet</formatName>
          </externallyDefinedFormat>
        </dataFormat>
        <distribution>
          <online>
            <url function="download">https://storage.googleapis.com/calcofi-db/ducklake/tables/region/b0b4ead4d403485c9fc0e93c/region.parquet</url>
          </online>
        </distribution>
      </physical>
      <attributeList>
        <attribute>
          <attributeName>region_key</attributeName>
          <attributeLabel>Region</attributeLabel>
          <attributeDefinition>Pooled-region code: NE, SE, Alley, or Offshore (primary key).</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Pooled-region code: NE, SE, Alley, or Offshore (primary key).</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>description</attributeName>
          <attributeLabel>Description</attributeLabel>
          <attributeDefinition>Region description (Northern Inshore, Southern Inshore, California Current, Central Pacific).</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Region description (Northern Inshore, Southern Inshore, California Current, Central Pacific).</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>latitude</attributeName>
          <attributeLabel>Latitude</attributeLabel>
          <attributeDefinition>Provisional region centroid latitude (mean of member CalCOFI stations; Q01).</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>degree</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>longitude</attributeName>
          <attributeLabel>Longitude</attributeLabel>
          <attributeDefinition>Provisional region centroid longitude (mean of member CalCOFI stations; Q01).</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>degree</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>n_stations</attributeName>
          <attributeLabel>Number of Stations</attributeLabel>
          <attributeDefinition>Count of CalCOFI grid stations defining the region.</attributeDefinition>
          <storageType>INTEGER</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>integer</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>station_codes</attributeName>
          <attributeLabel>Station Codes</attributeLabel>
          <attributeDefinition>Member CalCOFI line.station codes (Hayward &amp; Venrick 1998).</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Member CalCOFI line.station codes (Hayward &amp; Venrick 1998).</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>geom</attributeName>
          <attributeLabel>Geom</attributeLabel>
          <attributeDefinition>Geom</attributeDefinition>
          <storageType>GEOMETRY('EPSG:4326')</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Geom</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
      </attributeList>
    </dataTable>
    <dataTable>
      <entityName>measurement_type</entityName>
      <attributeList>
        <attribute>
          <attributeName>measurement_type</attributeName>
          <attributeLabel>Measurement Type</attributeLabel>
          <attributeDefinition>Measurement Type</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Measurement Type</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>description</attributeName>
          <attributeLabel>Description</attributeLabel>
          <attributeDefinition>Description</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Description</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>units</attributeName>
          <attributeLabel>Units</attributeLabel>
          <attributeDefinition>Units</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Units</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>valid_min</attributeName>
          <attributeLabel>Valid Min</attributeLabel>
          <attributeDefinition>Valid Min</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>valid_max</attributeName>
          <attributeLabel>Valid Max</attributeLabel>
          <attributeDefinition>Valid Max</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>valid_depth_min_m</attributeName>
          <attributeLabel>Valid Depth Min M</attributeLabel>
          <attributeDefinition>Valid Depth Min M</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>valid_depth_max_m</attributeName>
          <attributeLabel>Valid Depth Max M</attributeLabel>
          <attributeDefinition>Valid Depth Max M</attributeDefinition>
          <storageType>DOUBLE</storageType>
          <measurementScale>
            <ratio>
              <unit>
                <standardUnit>dimensionless</standardUnit>
              </unit>
              <numericDomain>
                <numberType>real</numberType>
              </numericDomain>
            </ratio>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>derivation</attributeName>
          <attributeLabel>Derivation</attributeLabel>
          <attributeDefinition>Derivation</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Derivation</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>is_canonical</attributeName>
          <attributeLabel>Is Canonical</attributeLabel>
          <attributeDefinition>Is Canonical</attributeDefinition>
          <storageType>BOOLEAN</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Is Canonical</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>_source_column</attributeName>
          <attributeLabel> Source Column</attributeLabel>
          <attributeDefinition>Source Column</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Source Column</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>_source_table</attributeName>
          <attributeLabel> Source Table</attributeLabel>
          <attributeDefinition>Source Table</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Source Table</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>_source_datasets</attributeName>
          <attributeLabel> Source Datasets</attributeLabel>
          <attributeDefinition>Source Datasets</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Source Datasets</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>_qual_column</attributeName>
          <attributeLabel> Qual Column</attributeLabel>
          <attributeDefinition>Qual Column</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Qual Column</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>_prec_column</attributeName>
          <attributeLabel> Prec Column</attributeLabel>
          <attributeDefinition>Prec Column</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Prec Column</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>grain</attributeName>
          <attributeLabel>Grain</attributeLabel>
          <attributeDefinition>Grain</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Grain</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>denominator</attributeName>
          <attributeLabel>Denominator</attributeLabel>
          <attributeDefinition>Denominator</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Denominator</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>category</attributeName>
          <attributeLabel>Category</attributeLabel>
          <attributeDefinition>Category</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Category</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>variable</attributeName>
          <attributeLabel>Variable</attributeLabel>
          <attributeDefinition>Variable</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Variable</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>nerc_p01</attributeName>
          <attributeLabel>Nerc P01</attributeLabel>
          <attributeDefinition>Nerc P01</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Nerc P01</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>units_nerc_p06</attributeName>
          <attributeLabel>Units Nerc P06</attributeLabel>
          <attributeDefinition>Units Nerc P06</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Units Nerc P06</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>provider</attributeName>
          <attributeLabel>Provider</attributeLabel>
          <attributeDefinition>Provider</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Provider</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
        <attribute>
          <attributeName>dataset</attributeName>
          <attributeLabel>Dataset</attributeLabel>
          <attributeDefinition>Dataset</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Dataset</definition>
                </textDomain>
              </nonNumericDomain>
            </nominal>
          </measurementScale>
        </attribute>
      </attributeList>
    </dataTable>
  </dataset>
  <additionalMetadata>
    <metadata>
      <calcofi>
        <datasetCitation>CalCOFI - Scripps Institution of Oceanography, California Current Ecosystem LTER, and E. Venrick. 2023. Temporal and spatial changes of the abundance and species composition of phytoplankton in the California Current from samples collected aboard CalCOFI cruises from summer 1996 through 2022. ver 4. Environmental Data Initiative. https://doi.org/10.6073/pasta/60edabfbfd85c623fce05822befaa071</datasetCitation>
        <datasetKey>calcofi_phytoplankton</datasetKey>
        <datasetPage>https://calcofi.io/datasets/calcofi_phytoplankton/</datasetPage>
        <release>v2026.10.21</release>
        <releaseCitation>CalCOFI (2026). CalCOFI Integrated Database, release v2026.10.21 [Data set]. Scripps Institution of Oceanography, NOAA Fisheries, and California Department of Fish and Wildlife. https://calcofi.io/db-schema/?v=v2026.10.21</releaseCitation>
        <sourceAccessed>2026-10-21</sourceAccessed>
      </calcofi>
    </metadata>
  </additionalMetadata>
</eml:eml>
