Skip to main content

Wrangling data

NASA Earthdata Harmony Transformation Services

Harmony provides access to services that can transform data from NASA’s Earthdata Cloud. Transformation services available may include spatial subsetting, temporal subsetting, variable subsetting, reformatting, and reprojection. Not all data have transformation services available and the available services vary by data set. Transformations can be requested using one of two Open Geospatial Consortium (OGC) inspired APIs.

Query the Harmony Capabilities endpoint using the collection concept-ID or short name to determine whether your collection has Harmony services enabled. Supply the url in a browser or use curl to request the json response in the terminal.

https://harmony.earthdata.nasa.gov/capabilities?collectionId=<collection-concept-id>
https://harmony.earthdata.nasa.gov/capabilities?shortName=<collection-short-name>

Example

SMAP L2 Radar Half-Orbit 3 km EASE-Grid Soil Moisture. (SPL2SMA, Version 3) = C2812935277-NSIDC_CPRD

Query the capabilities endpoint using the concept-id for the data set.

https://harmony.earthdata.nasa.gov/capabilities?collectionId=C2812935277-NSIDC_CPRD

You’ll get back a JSON response containing information about transformation services available.

{
  "conceptId": "C2812935277-NSIDC_CPRD",
  "shortName": "SPL2SMA",
  "summary": {
    "subsetting": {
      "bbox": true,
      "dimension": false,
      "shape": true,
      "temporal": false,
      "variable": true
    },
    "reprojection": {
      "supported": true,
      "supportedProjections": [],
      "interpolationMethods": []
    },
    "averaging": {
      "time": false,
      "area": false
    },
    "concatenation": false,
    "outputFormats": [
      {
        "name": "GEOTIFF",
        "mimeType": "image/tiff"
      },
      {
        "name": "HDF",
        "mimeType": "application/x-hdf"
      },
      {
        "name": "NETCDF-4",
        "mimeType": "application/netcdf"
      }
    ]
  }

Harmony documentation can be found here.

You can use the Harmony APIs and endpoints to interact with Harmony directly. The harmony-py Python library is the recommended option for Python users.

What if my data set does not have Harmony services enabled?

Tutorial on subsetting in the cloud using Python and downloading the smaller volume data here.