{
  "type": "Collection",
  "id": "copernicus-glo90",
  "stac_version": "1.0.0",
  "stac_extensions": [
    "https://stac-extensions.github.io/raster/v1.1.0/schema.json",
    "https://stac-extensions.github.io/table/v1.2.0/schema.json",
    "https://stac-extensions.github.io/classification/v2.0.0/schema.json"
  ],
  "title": "Copernicus DEM GLO-90 (Global 90 m Digital Surface Model)",
  "description": "Global digital surface model (DSM) at 90 m resolution from the Copernicus DEM GLO-90 Public product, mosaicked from the 26,475 released 1\u00b0\u00d71\u00b0 COG tiles (AWS Open Data s3://copernicus-dem-90m/) into a single global cloud-optimized GeoTIFF in WGS84 (EPSG:4326), uniform 0.000833\u00b0 (~90 m) grid. Elevation is orthometric height in metres above the EGM2008 geoid. This is a DSM (reflects the reflective surface \u2014 canopy and buildings \u2014 not bare earth); for bare-earth terrain see FABDEM (not mirrored here, CC-BY-NC). Values range from ~ -427 m (Dead Sea shore) to ~8693 m (Everest). The ocean/void nodata sentinel is -9999. The COG is Int16 (whole metres): GLO-90's ~2-4 m vertical accuracy makes the native Float32 decimals false precision, and Int16 halves the file. The H3 hex layer aggregates the COG to H3 resolution 9 by mean elevation (parents 8,7,6,5,0), matching the cgls-lc100-2019 land-cover hex for cell-for-cell joins (e.g. Area-of-Habitat elevation masking). Primary source of elevation for the catalog; the COG is the asset used directly as an elevation mask, the hex is a catalog-convenience aggregate. Produced using Copernicus WorldDEM-90 \u00a9 DLR e.V. 2010-2014 and \u00a9 Airbus Defence and Space GmbH 2014-2018 provided under COPERNICUS by the European Union and ESA; all rights reserved. Redistribution permitted with attribution.\n\nThe collection also carries the GLO-90 Water Body Mask (land, ocean, lake, river) as a global COG and as class fractions per H3 resolution 8 cell.\n\nWater Body Mask provenance: the 26,475 AUXFILES *_WBM.tif tiles were copied from the Copernicus DEM GLO-90 Public release on AWS Open Data (s3://copernicus-dem-90m/) on 2026-09-29 and are kept unchanged at s3://public-dem/raw/glo90-wbm/ (575,012,864 bytes). Per-tile SHA-256 checksums are listed in the SHA256SUMS file there (its own sha256 is 209005869e8627e84d0f189f55d61c9fb76abcea1d868d98309d29e3aaa20b57).",
  "license": "other",
  "keywords": [
    "elevation",
    "DEM",
    "DSM",
    "terrain",
    "topography",
    "Copernicus",
    "GLO-90",
    "altitude"
  ],
  "links": [
    {
      "rel": "self",
      "href": "https://s3-west.nrp-nautilus.io/public-dem/copernicus-glo90/stac-collection.json",
      "type": "application/json"
    },
    {
      "rel": "root",
      "href": "https://s3-west.nrp-nautilus.io/public-data/stac/catalog.json",
      "type": "application/json",
      "title": "NRP Public Data Catalog"
    },
    {
      "rel": "parent",
      "href": "https://s3-west.nrp-nautilus.io/public-dem/stac-collection.json",
      "type": "application/json"
    },
    {
      "rel": "license",
      "href": "https://spacedata.copernicus.eu/documents/20126/0/CSCDA_ESA_Mission-specific+Annex.pdf",
      "type": "application/pdf",
      "title": "Copernicus DEM licence (attribution required; redistribution permitted)"
    },
    {
      "rel": "derived_from",
      "href": "https://registry.opendata.aws/copernicus-dem/",
      "title": "Copernicus DEM on AWS Open Data (s3://copernicus-dem-90m/)"
    },
    {
      "rel": "cite-as",
      "href": "https://doi.org/10.5270/ESA-c5d3d65",
      "title": "Copernicus DEM \u2014 Global and European Digital Elevation Model (COP-DEM)"
    }
  ],
  "extent": {
    "spatial": {
      "bbox": [
        [
          -180,
          -90,
          180,
          84
        ]
      ]
    },
    "temporal": {
      "interval": [
        [
          "2010-12-01T00:00:00Z",
          "2015-01-07T00:00:00Z"
        ]
      ]
    }
  },
  "assets": {
    "copernicus-glo90-cog": {
      "href": "https://s3-west.nrp-nautilus.io/public-dem/copernicus-glo90/copernicus-glo90-cog.tif",
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "title": "Copernicus DEM GLO-90 global COG (90 m, EPSG:4326)",
      "description": "Single global cloud-optimized GeoTIFF, 432004 x 208800 px, uniform 0.000833\u00b0 (~90 m) grid, EPSG:4326, Int16 orthometric metres (EGM2008 geoid), ZSTD-compressed with 10 overview levels (~17.6 GB). NoData sentinel -9999 marks ocean and inter-tile void. Digital Surface Model (includes canopy/buildings). Use directly as an elevation-limit mask (e.g. AOH elevation_lower/upper banding) or as a base terrain/hillshade layer.",
      "roles": [
        "data",
        "visual"
      ],
      "raster:bands": [
        {
          "name": "elevation",
          "data_type": "int16",
          "nodata": -9999,
          "unit": "metre",
          "spatial_resolution": 90,
          "statistics": {
            "minimum": -427,
            "maximum": 8693
          }
        }
      ],
      "created": "2026-07-18T08:39:01Z"
    },
    "copernicus-glo90-hex": {
      "href": "https://s3-west.nrp-nautilus.io/public-dem/copernicus-glo90/hex/h0=*/data_0.parquet",
      "type": "application/x-parquet",
      "title": "Copernicus DEM GLO-90 H3 hex (mean elevation, res 9)",
      "description": "Per-hex mean elevation (metres, EGM2008) of the GLO-90 COG at H3 resolution 9 (~174 m edge; ~13 source 90 m pixels per cell), parents 8,7,6,5,0. One row per h9 cell. mean reducer: elevation is a per-area intensity, so each cell holds the area-mean elevation \u2014 roll up to coarser resolutions by AVG (optionally cell-area-weighted), and NEVER SUM (a sum of mean elevations is meaningless). Ocean/void pixels (nodata -9999) are excluded from each cell mean, so cells over open ocean are absent (sparse over water; a full grid on land). Resolution and parents match cgls-lc100-2019 for cell-for-cell joins.",
      "roles": [
        "data",
        "overview"
      ],
      "h3:native_resolution": 9,
      "h3:parent_resolutions": [
        8,
        7,
        6,
        5,
        0
      ],
      "table:columns": [
        {
          "name": "elevation",
          "type": "double",
          "description": "Mean orthometric elevation in metres (EGM2008 geoid) across the H3 res-9 cell, from the GLO-90 DSM. Per-area intensity \u2014 aggregate by AVG (never SUM). Nodata (-9999) pixels excluded from the mean."
        },
        {
          "name": "h9",
          "type": "uint64",
          "description": "H3 cell index at resolution 9 (~174 m edge; native resolution, one row per cell)."
        },
        {
          "name": "h8",
          "type": "uint64",
          "description": "H3 cell index at resolution 8 (~461 m edge), parent of h9; the catalog's universal join key."
        },
        {
          "name": "h7",
          "type": "uint64",
          "description": "H3 cell index at resolution 7 (~1.2 km edge), parent of h8."
        },
        {
          "name": "h6",
          "type": "uint64",
          "description": "H3 cell index at resolution 6 (~3.2 km edge), parent of h7."
        },
        {
          "name": "h5",
          "type": "uint64",
          "description": "H3 cell index at resolution 5 (~8.5 km edge), parent of h6."
        },
        {
          "name": "h0",
          "type": "int64",
          "description": "H3 base cell index at resolution 0, used as the hive partition key."
        }
      ],
      "created": "2026-07-18T13:21:49Z"
    },
    "copernicus-glo90-wbm-cog": {
      "href": "https://s3-west.nrp-nautilus.io/public-dem/copernicus-glo90/copernicus-glo90-wbm-cog.tif",
      "type": "image/tiff; application=geotiff; profile=cloud-optimized",
      "roles": [
        "data"
      ],
      "title": "Copernicus GLO-90 Water Body Mask (global COG)",
      "description": "The Water Body Mask that Copernicus ships alongside each GLO-90 elevation tile, mosaicked into one global COG on the same 90 m grid. It marks each pixel as land, ocean, lake or river. Use it to tell sea from land: the elevation layer stores open water near coasts as 0 m, not as missing. 255 marks areas with no Copernicus tile, which are open ocean.",
      "raster:bands": [
        {
          "name": "wbm_class",
          "data_type": "uint8",
          "nodata": 255,
          "spatial_resolution": 0.000833333333333,
          "classification:classes": [
            {
              "value": 0,
              "name": "Not water",
              "description": "Land.",
              "color_hint": "E8E2D0"
            },
            {
              "value": 1,
              "name": "Ocean",
              "description": "Sea and ocean.",
              "color_hint": "2C6FA8"
            },
            {
              "value": 2,
              "name": "Lake",
              "description": "Lakes and other inland standing water.",
              "color_hint": "6BAED6"
            },
            {
              "value": 3,
              "name": "River",
              "description": "Rivers.",
              "color_hint": "9ECAE1"
            }
          ]
        }
      ],
      "created": "2026-09-29T18:20:01Z"
    },
    "copernicus-glo90-wbm-hex": {
      "href": "https://s3-west.nrp-nautilus.io/public-dem/copernicus-glo90/wbm/hex/h0=*/data_0.parquet",
      "type": "application/vnd.apache.parquet",
      "roles": [
        "data"
      ],
      "title": "Copernicus GLO-90 Water Body Mask \u2014 class fractions per H3 resolution 8 cell",
      "description": "Share of each H3 resolution 8 cell covered by each Water Body Mask class, one row per (cell, class present). A cell's land fraction is the sum of frac over classes 0, 2 and 3. Cells entirely outside any Copernicus tile (open ocean) have no rows.\n\n```sql\n-- land (non-ocean) fraction per cell\nSELECT h8, SUM(frac) FILTER (WHERE wbm_class IN (0, 2, 3)) AS land_frac\nFROM read_parquet('https://s3-west.nrp-nautilus.io/public-dem/copernicus-glo90/wbm/hex/h0=*/data_0.parquet') GROUP BY h8\n```",
      "h3:native_resolution": 8,
      "h3:parent_resolutions": [
        0
      ],
      "table:columns": [
        {
          "name": "wbm_class",
          "type": "int32",
          "description": "Water Body Mask class. Values: 0=Not water (land), 1=Ocean, 2=Lake, 3=River, 255=No Copernicus tile (open ocean).",
          "values": [
            0,
            1,
            2,
            3,
            255
          ]
        },
        {
          "name": "frac",
          "type": "double",
          "description": "Share of the cell's area in this class, from 0 to 1. The fractions of one cell sum to at most 1."
        },
        {
          "name": "h8",
          "type": "uint64",
          "description": "H3 cell index at resolution 8 (~461 m edge), parent of h9; the catalog's universal join key."
        },
        {
          "name": "h0",
          "type": "int64",
          "description": "H3 base cell index at resolution 0, used as the hive partition key."
        }
      ],
      "created": "2026-09-29T18:52:20Z"
    }
  },
  "created": "2026-07-18T08:39:01Z",
  "updated": "2026-09-29T18:52:20Z"
}