TerraFabric
Catalog
NOAA Atlantic Oceanographic and Meteorological Laboratory

Global Drifter Program Hourly Trajectories

OpenL3Data productOcean buoys

Quality-controlled hourly interpolated buoy locations, ocean current estimates and sea-surface temperatures. Hourly sample spacing is not a promise of hourly publication or live vessel tracking.

Surface drifting buoys
Category
In-situ observations
Update cadence
—
Latency
—
Archive
2026 – present
Instruments
Satellite location telemetry, Sea-surface temperature sensors
Sources
Surface drifting buoys
Formats
NetCDF
Pricing
Free
Licence
U.S. Government Public Domain
IRI
terrafabric.world/id/collection/noaa-drifter-trajectories

Access

Access endpoints

  • https
    https://www.aoml.noaa.gov/phod/gdp/hourly_data.php
    Catalog entry reviewed 2026-09-29; start denotes catalog inclusion, not archive inception. Nominal scope is not observed coverage. Consult source quality flags, effective periods and access requirements. No live footprint adapter is supplied for this discovery record.
  • https
    https://erddap.aoml.noaa.gov/gdp/erddap/tabledap/drifter_hourly_qc.html
    Official quality-controlled hourly trajectory access. Interpolation and release cadence differ from real-time telemetry.

Licence

U.S. Government Public Domain

No restrictions on use; citation requested.

open: trueattribution: falsecommercial use: true

Related

Machine view

{
  "@context": {
    "AcademicProvider": "tf:AcademicProvider",
    "AccessMethod": "tf:AccessMethod",
    "Agent": "tf:Agent",
    "AgentAction": "tf:AgentAction",
    "AirbornePlatform": "tf:AirbornePlatform",
    "ApprovalAction": "tf:ApprovalAction",
    "AreaOfInterest": "tf:AreaOfInterest",
    "Asset": "tf:Asset",
    "AvailabilityEvent": "tf:AvailabilityEvent",
    "C2System": "tf:C2System",
    "Collection": "tf:Collection",
    "CollectionRequirement": "tf:CollectionRequirement",
    "CommercialLicense": "tf:CommercialLicense",
    "CommercialProvider": "tf:CommercialProvider",
    "Constellation": "tf:Constellation",
    "CoverageAssessment": "tf:CoverageAssessment",
    "DataCategory": "tf:DataCategory",
    "DataFormat": "tf:DataFormat",
    "DataProductCollection": "tf:DataProductCollection",
    "DataTier": "tf:DataTier",
    "Delivery": "tf:Delivery",
    "GovernmentAgency": "tf:GovernmentAgency",
    "Instrument": "tf:Instrument",
    "Item": "tf:Item",
    "License": "tf:License",
    "LicenseTier": "tf:LicenseTier",
    "Modality": "tf:Modality",
    "Offer": "tf:Offer",
    "OpenLicense": "tf:OpenLicense",
    "Order": "tf:Order",
    "OrderAction": "tf:OrderAction",
    "Place": "tf:Place",
    "Platform": "tf:Platform",
    "PreprocessedCollection": "tf:PreprocessedCollection",
    "PricingModel": "tf:PricingModel",
    "Principal": "tf:Principal",
    "Priority": "tf:Priority",
    "ProcessingLevel": "tf:ProcessingLevel",
    "Provider": "tf:Provider",
    "Quote": "tf:Quote",
    "QuoteAction": "tf:QuoteAction",
    "RawDataCollection": "tf:RawDataCollection",
    "ReleasabilityMarking": "tf:ReleasabilityMarking",
    "RestrictedLicense": "tf:RestrictedLicense",
    "Satellite": "tf:Satellite",
    "SearchAction": "tf:SearchAction",
    "SpaceAgency": "tf:SpaceAgency",
    "SpatialExtent": "tf:SpatialExtent",
    "SpectralBand": "tf:SpectralBand",
    "SpendingMandate": "tf:SpendingMandate",
    "StreetAddress": "tf:StreetAddress",
    "TaskAction": "tf:TaskAction",
    "TaskingRequest": "tf:TaskingRequest",
    "TemporalExtent": "tf:TemporalExtent",
    "Tool": "tf:Tool",
    "about": {
      "@id": "tf:about",
      "@type": "@id"
    },
    "accessClass": {
      "@id": "tf:accessClass",
      "@type": "xsd:string"
    },
    "accessKind": {
      "@id": "tf:accessKind",
      "@type": "xsd:string"
    },
    "accessibleVia": {
      "@id": "tf:accessibleVia",
      "@type": "@id"
    },
    "acquiredAt": {
      "@id": "tf:acquiredAt",
      "@type": "xsd:dateTime"
    },
    "actsOn": {
      "@id": "tf:actsOn",
      "@type": "@id"
    },
    "addresses": {
      "@id": "tf:addresses",
      "@type": "@id"
    },
    "allWeather": {
      "@id": "tf:allWeather",
      "@type": "xsd:boolean"
    },
    "aoi": {
      "@id": "tf:aoi",
      "@type": "@id"
    },
    "approvedBy": {
      "@id": "tf:approvedBy",
      "@type": "@id"
    },
    "archiveUsdPerKm2": {
      "@id": "tf:archiveUsdPerKm2",
      "@type": "xsd:decimal"
    },
    "areaKm2": {
      "@id": "tf:areaKm2",
      "@type": "xsd:decimal"
    },
    "asWKT": {
      "@id": "tf:asWKT",
      "@type": "geo:wktLiteral"
    },
    "bandCount": {
      "@id": "tf:bandCount",
      "@type": "xsd:integer"
    },
    "bbox": {
      "@id": "tf:bbox",
      "@type": "xsd:string"
    },
    "cloudCover": {
      "@id": "tf:cloudCover",
      "@type": "xsd:decimal"
    },
    "country": {
      "@id": "tf:country",
      "@type": "xsd:string"
    },
    "dataCategory": {
      "@id": "tf:dataCategory",
      "@type": "@id"
    },
    "dataTier": {
      "@id": "tf:dataTier",
      "@type": "@id"
    },
    "dcat": "http://www.w3.org/ns/dcat#",
    "dct": "http://purl.org/dc/terms/",
    "derivedFrom": {
      "@id": "tf:derivedFrom",
      "@type": "@id"
    },
    "description": "dct:description",
    "endDate": {
      "@id": "tf:endDate",
      "@type": "xsd:date"
    },
    "endpointURL": {
      "@id": "tf:endpointURL",
      "@type": "xsd:anyURI"
    },
    "format": {
      "@id": "tf:format",
      "@type": "@id"
    },
    "fulfils": {
      "@id": "tf:fulfils",
      "@type": "@id"
    },
    "geo": "http://www.opengis.net/ont/geosparql#",
    "governedBy": {
      "@id": "tf:governedBy",
      "@type": "@id"
    },
    "gsdMeters": {
      "@id": "tf:gsdMeters",
      "@type": "xsd:decimal"
    },
    "hasAsset": {
      "@id": "tf:hasAsset",
      "@type": "@id"
    },
    "hasDelivery": {
      "@id": "tf:hasDelivery",
      "@type": "@id"
    },
    "hasInstrument": {
      "@id": "tf:hasInstrument",
      "@type": "@id"
    },
    "hasItem": {
      "@id": "tf:hasItem",
      "@type": "@id"
    },
    "hasModality": {
      "@id": "tf:hasModality",
      "@type": "@id"
    },
    "hasOffer": {
      "@id": "tf:hasOffer",
      "@type": "@id"
    },
    "hasPlatform": {
      "@id": "tf:hasPlatform",
      "@type": "@id"
    },
    "hosts": {
      "@id": "tf:hosts",
      "@type": "@id"
    },
    "httpMethod": "schema:httpMethod",
    "id": "@id",
    "identifier": "dct:identifier",
    "inCollection": {
      "@id": "tf:inCollection",
      "@type": "@id"
    },
    "invokesTool": {
      "@id": "tf:invokesTool",
      "@type": "@id"
    },
    "isOpen": {
      "@id": "tf:isOpen",
      "@type": "xsd:boolean"
    },
    "keyword": "dcat:keyword",
    "label": "rdfs:label",
    "latencyHours": {
      "@id": "tf:latencyHours",
      "@type": "xsd:decimal"
    },
    "license": {
      "@id": "tf:license",
      "@type": "@id"
    },
    "licenseTier": {
      "@id": "tf:licenseTier",
      "@type": "@id"
    },
    "maxOrderUsd": {
      "@id": "tf:maxOrderUsd",
      "@type": "xsd:decimal"
    },
    "minimumAreaKm2": {
      "@id": "tf:minimumAreaKm2",
      "@type": "xsd:decimal"
    },
    "multiplier": {
      "@id": "tf:multiplier",
      "@type": "xsd:decimal"
    },
    "name": "schema:name",
    "nightCapable": {
      "@id": "tf:nightCapable",
      "@type": "xsd:boolean"
    },
    "odrl": "http://www.w3.org/ns/odrl/2/",
    "offNadirDeg": {
      "@id": "tf:offNadirDeg",
      "@type": "xsd:decimal"
    },
    "onBehalfOf": {
      "@id": "tf:onBehalfOf",
      "@type": "@id"
    },
    "operatedBy": {
      "@id": "tf:operatedBy",
      "@type": "@id"
    },
    "owl": "http://www.w3.org/2002/07/owl#",
    "placedBy": {
      "@id": "tf:placedBy",
      "@type": "@id"
    },
    "polarization": {
      "@id": "tf:polarization",
      "@type": "xsd:string"
    },
    "potentialAction": "schema:potentialAction",
    "priceCurrency": "schema:priceCurrency",
    "pricingModel": {
      "@id": "tf:pricingModel",
      "@type": "@id"
    },
    "priority": {
      "@id": "tf:priority",
      "@type": "@id"
    },
    "processingLevel": {
      "@id": "tf:processingLevel",
      "@type": "@id"
    },
    "prov": "http://www.w3.org/ns/prov#",
    "providedBy": {
      "@id": "tf:providedBy",
      "@type": "@id"
    },
    "quotesCollection": {
      "@id": "tf:quotesCollection",
      "@type": "@id"
    },
    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
    "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
    "releasability": {
      "@id": "tf:releasability",
      "@type": "@id"
    },
    "revisitHours": {
      "@id": "tf:revisitHours",
      "@type": "xsd:decimal"
    },
    "sarBand": {
      "@id": "tf:sarBand",
      "@type": "xsd:string"
    },
    "satisfiedBy": {
      "@id": "tf:satisfiedBy",
      "@type": "@id"
    },
    "schema": "https://schema.org/",
    "skos": "http://www.w3.org/2004/02/skos/core#",
    "sosa": "http://www.w3.org/ns/sosa/",
    "spatialExtent": {
      "@id": "tf:spatialExtent",
      "@type": "@id"
    },
    "spectralRange": {
      "@id": "tf:spectralRange",
      "@type": "xsd:string"
    },
    "ssn": "http://www.w3.org/ns/ssn/",
    "startDate": {
      "@id": "tf:startDate",
      "@type": "xsd:date"
    },
    "status": {
      "@id": "tf:status",
      "@type": "xsd:string"
    },
    "subscriptionUsdPerMonth": {
      "@id": "tf:subscriptionUsdPerMonth",
      "@type": "xsd:decimal"
    },
    "target": "schema:target",
    "taskable": {
      "@id": "tf:taskable",
      "@type": "xsd:boolean"
    },
    "taskingUsdPerKm2": {
      "@id": "tf:taskingUsdPerKm2",
      "@type": "xsd:decimal"
    },
    "temporalExtent": {
      "@id": "tf:temporalExtent",
      "@type": "@id"
    },
    "tf": "https://terrafabric.world/ont#",
    "tfr": "https://terrafabric.world/id/",
    "title": "dct:title",
    "toolName": {
      "@id": "tf:toolName",
      "@type": "xsd:string"
    },
    "totalUsd": {
      "@id": "tf:totalUsd",
      "@type": "xsd:decimal"
    },
    "type": "@type",
    "url": "schema:url",
    "urlTemplate": "schema:urlTemplate",
    "validUntil": {
      "@id": "tf:validUntil",
      "@type": "xsd:dateTime"
    },
    "windowHours": {
      "@id": "tf:windowHours",
      "@type": "xsd:decimal"
    },
    "xsd": "http://www.w3.org/2001/XMLSchema#"
  },
  "accessClass": "free",
  "accessibleVia": [
    {
      "accessKind": "https",
      "endpointURL": "https://www.aoml.noaa.gov/phod/gdp/hourly_data.php",
      "type": "AccessMethod"
    },
    {
      "accessKind": "https",
      "endpointURL": "https://erddap.aoml.noaa.gov/gdp/erddap/tabledap/drifter_hourly_qc.html",
      "type": "AccessMethod"
    }
  ],
  "allWeather": false,
  "dataTier": "tf:tier-product",
  "description": "Quality-controlled hourly interpolated buoy locations, ocean current estimates and sea-surface temperatures. Hourly sample spacing is not a promise of hourly publication or live vessel tracking.",
  "format": [
    {
      "id": "https://terrafabric.world/id/format/netcdf",
      "label": "NetCDF"
    }
  ],
  "hasInstrument": [
    {
      "id": "https://terrafabric.world/id/instrument/satellite-location-telemetry",
      "label": "Satellite location telemetry"
    },
    {
      "id": "https://terrafabric.world/id/instrument/sea-surface-temperature-sensors",
      "label": "Sea-surface temperature sensors"
    }
  ],
  "hasModality": [
    "tf:modality-ocean-in-situ"
  ],
  "hasPlatform": [
    {
      "id": "https://terrafabric.world/id/platform/surface-drifting-buoys",
      "label": "Surface drifting buoys"
    }
  ],
  "id": "https://terrafabric.world/id/collection/noaa-drifter-trajectories",
  "identifier": "noaa-drifter-trajectories",
  "keyword": [
    "movement",
    "trajectory",
    "maritime",
    "ocean",
    "currents"
  ],
  "license": "https://terrafabric.world/id/license/us-public-domain",
  "nightCapable": false,
  "potentialAction": [
    {
      "@type": [
        "SearchAction",
        "schema:SearchAction"
      ],
      "name": "search_items",
      "target": {
        "@type": "schema:EntryPoint",
        "httpMethod": "GET",
        "urlTemplate": "https://terrafabric.world/api/v1/collections/noaa-drifter-trajectories/items?bbox={bbox}&datetime={datetime}"
      }
    },
    {
      "@type": "QuoteAction",
      "name": "get_quote",
      "target": {
        "@type": "schema:EntryPoint",
        "contentType": "application/json",
        "httpMethod": "POST",
        "urlTemplate": "https://terrafabric.world/api/v1/quotes"
      }
    }
  ],
  "processingLevel": "tf:level-L3",
  "providedBy": {
    "id": "https://terrafabric.world/id/provider/noaa-aoml",
    "label": "NOAA Atlantic Oceanographic and Meteorological Laboratory",
    "url": "https://www.aoml.noaa.gov"
  },
  "spatialExtent": {
    "asWKT": "POLYGON((-180 -90,180 -90,180 90,-180 90,-180 -90))",
    "bbox": "-180,-90,180,90",
    "type": "SpatialExtent"
  },
  "taskable": false,
  "temporalExtent": {
    "startDate": "2026-09-29",
    "type": "TemporalExtent"
  },
  "title": "Global Drifter Program Hourly Trajectories",
  "type": [
    "DataProductCollection",
    "dcat:Dataset"
  ]
}