<?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="cce-lter_euphausiids.v2026.09.06" 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/4a92a0044bcd1523a4f994ece874a57d</alternateIdentifier>
    <alternateIdentifier>https://calcofi.io/datasets/cce-lter_euphausiids/</alternateIdentifier>
    <shortName>Euphausiids (Krill)</shortName>
    <title>CCE-LTER Euphausiid Abundance</title>
    <creator>
      <individualName>
        <givenName>Rasmus</givenName>
        <surName>Swalethorp</surName>
      </individualName>
      <organizationName>California Current Ecosystem Long Term Ecological Research</organizationName>
    </creator>
    <creator>
      <individualName>
        <givenName>Linsey</givenName>
        <surName>Sala</surName>
      </individualName>
      <organizationName>California Current Ecosystem Long Term Ecological Research</organizationName>
    </creator>
    <pubDate>2026-09-06</pubDate>
    <language>eng</language>
    <abstract>
      <para>Species- and life-stage-resolved euphausiid (krill) abundance from CalCOFI / CCE-LTER net tows (BTEDB export), 1951-present, one row per tow x species x life stage. Supersedes the prior single-Abundance- column ingest, which had no taxonomic scope (Q02, now resolved) — units remain provisional pending provider confirmation (Q01).</para>
    </abstract>
    <keywordSet>
      <keyword>EARTH SCIENCE &gt; BIOSPHERE &gt; ECOSYSTEMS &gt; AQUATIC ECOSYSTEMS &gt; PLANKTON &gt; ZOOPLANKTON</keyword>
      <keyword>EARTH SCIENCE &gt; BIOLOGICAL CLASSIFICATION &gt; ANIMALS/INVERTEBRATES &gt; ARTHROPODS &gt; CRUSTACEANS &gt; EUPHAUSIIDS (KRILL)</keyword>
      <keywordThesaurus>GCMD Science Keywords</keywordThesaurus>
    </keywordSet>
    <keywordSet>
      <keyword>Euphausiids (Krill)</keyword>
      <keyword>euphausiid_abundance</keyword>
      <keyword>numberPerMeterSquared</keyword>
    </keywordSet>
    <intellectualRights>
      <para>Custom terms stated by the provider (https://portal.edirepository.org/nis/metadataviewer?packageid=knb-lter-cce.313.1)</para>
    </intellectualRights>
    <distribution scope="document">
      <online>
        <url function="information">https://calcofi.io/datasets/cce-lter_euphausiids/</url>
      </online>
    </distribution>
    <coverage>
      <geographicCoverage>
        <geographicDescription>28.0–46.6°N, 133.5–117.3°W</geographicDescription>
        <boundingCoordinates>
          <westBoundingCoordinate>-133.467</westBoundingCoordinate>
          <eastBoundingCoordinate>-117.283</eastBoundingCoordinate>
          <northBoundingCoordinate>46.6</northBoundingCoordinate>
          <southBoundingCoordinate>28</southBoundingCoordinate>
        </boundingCoordinates>
      </geographicCoverage>
      <temporalCoverage>
        <rangeOfDates>
          <beginDate>
            <calendarDate>1951</calendarDate>
          </beginDate>
          <endDate>
            <calendarDate>2019</calendarDate>
          </endDate>
        </rangeOfDates>
      </temporalCoverage>
      <taxonomicCoverage>
        <generalTaxonomicCoverage>Euphausiids (Krill)</generalTaxonomicCoverage>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Euphausia brevis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110683</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Euphausia diomedeae</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">221056</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Euphausia distinguenda</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">237852</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Euphausia eximia</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">237853</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Euphausia gibboides</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110684</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Euphausia hemigibba</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110686</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Euphausia lamelligera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">237856</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Euphausia mutica</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110688</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Euphausia pacifica</taxonRankValue>
          <commonName>Pacific krill</commonName>
          <taxonId provider="https://www.marinespecies.org">237851</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Euphausia recurva</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">221047</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Euphausia tenera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">221052</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Hansarsia atlantica</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">1649783</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Hansarsia difficilis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">1649784</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Hansarsia gracilis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">1649787</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Hansarsia microps</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">1649790</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Hansarsia tenella</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">1649791</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Nematobrachion boopis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110691</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Nematobrachion flexipes</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110692</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Nyctiphanes simplex</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">237864</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Stylocheiron abbreviatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110699</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Stylocheiron affine</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110700</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Stylocheiron carinatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110701</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Stylocheiron elongatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110702</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Stylocheiron longicorne</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110703</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Stylocheiron maximum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110704</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Stylocheiron suhmii</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110706</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Tessarabrachion oculatum</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">237870</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thysanoessa gregaria</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110707</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thysanoessa longipes</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">237873</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thysanoessa spinifera</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">237874</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thysanopoda astylata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">237875</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thysanopoda cornuta</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110714</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thysanopoda egregia</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110716</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thysanopoda monacantha</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110718</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thysanopoda obtusifrons</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110719</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thysanopoda orientalis</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">221063</taxonId>
        </taxonomicClassification>
        <taxonomicClassification>
          <taxonRankName>species</taxonRankName>
          <taxonRankValue>Thysanopoda pectinata</taxonRankValue>
          <taxonId provider="https://www.marinespecies.org">110720</taxonId>
        </taxonomicClassification>
      </taxonomicCoverage>
    </coverage>
    <contact>
      <organizationName>CalCOFI</organizationName>
      <electronicMailAddress>data@calcofi.io</electronicMailAddress>
    </contact>
    <project>
      <title>CCE-LTER Euphausiid Abundance</title>
      <personnel>
        <individualName>
          <givenName>Rasmus</givenName>
          <surName>Swalethorp</surName>
        </individualName>
        <organizationName>California Current Ecosystem Long Term Ecological Research</organizationName>
        <role>principalInvestigator</role>
      </personnel>
      <personnel>
        <individualName>
          <givenName>Linsey</givenName>
          <surName>Sala</surName>
        </individualName>
        <organizationName>California Current Ecosystem Long Term Ecological Research</organizationName>
        <role>principalInvestigator</role>
      </personnel>
      <funding>
        <para>Data originate from the Brinton and Townsend Euphausiid Database of the Pelagic Invertebrate Collection, Scripps Institution of Oceanography. Supported in recent years by NSF grants to M.D. Ohman and the CCE-LTER site.</para>
      </funding>
    </project>
    <dataTable>
      <entityName>sample</entityName>
      <entityDescription>One row per physical sampling event at its native grain (site, tow, net, cast, bottle, underway, transect, 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, cast, bottle, underway, transect or region_pool.</attributeDefinition>
          <storageType>VARCHAR</storageType>
          <measurementScale>
            <nominal>
              <nonNumericDomain>
                <textDomain>
                  <definition>Event grain: site, tow, net, cast, bottle, underway, transect 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). 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). 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.</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>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">710442</size>
        <authentication method="SHA-256">841d387165b801fc91807e26b9d4c11aee6527b25ea33b7a356e75f3baa7c87d</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=cce-lter_euphausiids/eb06f688035ebc51fe036938/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>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>
        <acknowledgement>Data originate from the Brinton and Townsend Euphausiid Database of the Pelagic Invertebrate Collection, Scripps Institution of Oceanography. Supported in recent years by NSF grants to M.D. Ohman and the CCE-LTER site.</acknowledgement>
        <datasetCitation>Ohman, M.D. 2022. California Current Ecosystem Euphausiid data, Brinton and Townsend Euphausiid Database (BTEDB) ver 1. Environmental Data Initiative. https://doi.org/10.6073/pasta/4a92a0044bcd1523a4f994ece874a57d</datasetCitation>
        <datasetKey>cce-lter_euphausiids</datasetKey>
        <datasetPage>https://calcofi.io/datasets/cce-lter_euphausiids/</datasetPage>
        <release>v2026.09.06</release>
        <releaseCitation>CalCOFI (2026). CalCOFI Integrated Database, release v2026.09.06 [Data set]. Scripps Institution of Oceanography, NOAA Fisheries, and California Department of Fish and Wildlife. https://calcofi.io/db-schema/?v=v2026.09.06</releaseCitation>
        <sourceAccessed>2026-09-04</sourceAccessed>
      </calcofi>
    </metadata>
  </additionalMetadata>
</eml:eml>
