Table of contents

Introduction

The Unit service provides dimension/measurement and unit definitions. Given two unit definitions, the service also offers conversion parameters with two different parameterizations.

Note: Viewers permission to the common data partition is required to use these APIs.

The service implementation is in its second version. The tutorial describes the latest version with the latest encoding of references.

Back to table of contents

Measurements

Measurements are organized in a hierarchy. The dimension is the root measurement; a childMeasurement has a parent measurement, which can be another childMeasurement or a dimension.

Units are associated with a dimension (root or base measurement). Unit conversions are possible if the two units belong to the same dimension. The following graph shows this:

Units of measure hierarchy

The catalog may contain definitions from multiple source catalogs. Namespaces are used to distinguish the contributions. Mappings are defined where a measurement or a unit has the same meaning in different namespaces. That does not mean they have to be identical; a mapping can be defined as a "correction," which might imply conversions before reassignments.

Known namespaces

NamespaceUnitsMeasurementsRemarks
ECLXDerived from the Eclipse simulator, this code is used for all Petrel related extensions in the OSDD (Schlumberger Oilfield Services Data Dictionary).
Energistics_UoMXXThe 'clean' Energistics unit of measure standard.
FNDXDerived from the Finder database.
GFXDerived from GeoFrame.
LISXThe legacy Log Information Standard, predecessor of RP66.
NeedUpdateXThe OSDD (Schlumberger Oilfield Services Data Dictionary) internal namespace indicating problematic content.
POSCXThe Legacy standard "Petrotechnical Open Software Corporation," predecessor of Energistics.
RP66XThe Legacy standard, predecessor of POSC, that comes in two versions, V1 and V2, which are merged in this namespace.
SeabedXUnits.
SLBXThe measurement namespace code to SLB specific dimensions, unit quantities and properties.

The current catalog combines the following sources:

  • Energistics (namespace Energistics_UoM).
  • Units and measurements as defined in the Schlumberger Oilfield Services Data Dictionary.
  • Extensions as added by Petrel.

Back to table of contents

API Method Overview

MethodTry it out (in new window)Request typeResponse type
GET /v2/catalogget-catalog-summaryCatalog
GET /v2/catalog/lastmodifiedget-catalog-attributesCatalogLastModified
GET /v2/catalog/mapstatesget-map-statesQueryResult
POST /v2/catalog/searchsearch-entire-catalogSearchRequestQueryResult
Measurement related
GET /v2/measurementget-measurementsQueryResult
POST /v2/measurementget-measurementMeasurementRequestMeasurement
GET /v2/measurement/{ancestry}get-measurement-ancestryMeasurement
POST /v2/measurement/searchsearch-measurementsSearchMeasurementRequestQueryResult
GET /v2/measurement/mapsget-measurement-map-itemsQueryResult
Unit related
GET /v2/unitget-unitsQueryResult
POST /v2/unitget-unitUnitRequestUnit
GET /v2/unit/symbol/{symbol}get-units-symbolQueryResult
GET /v2/unit/symbol/{namespaces}/{symbol}get-unit-namespace-and-symbolUnit
GET /v2/unit/measurement/preferred/{ancestry}get-preferred-units-measurement-ancestryQueryResult
POST /v2/unit/measurement/preferredget-preferred-units-measurementMeasurementRequestQueryResult
POST /v2/unit/measurementget-units-measurementMeasurementRequestQueryResult
GET /v2/unit/measurement/{ancestry}get-units-measurement-ancestryQueryResult
POST /v2/unit/searchsearch-unitsSearchUnitRequestQueryResult
GET /v2/unit/mapsget-unit-map-itemsQueryResult
Unit system related
POST /v2/unitsystemget-unitsystem-essenceUnitSystemRequestUnitSystem
GET /v2/unitsystem/listget-unitsystem-listUnitSystemInfoList
GET /v2/unitsystem/{unitSystemName}get-unitsystem-nameUnitSystem
GET /v2/unit/unitsystem/{unitSystemName}/{ancestry}get-unit-unitsystem-and-measurement-ancestryUnit
POST /v2/unit/unitsystemget-unit-unitsystem-and-measurementMeasurementRequestUnit
Conversion related
GET /v2/conversion/abcd/{namespace}/{fromSymbol}/{toSymbol}get-conversion-abcd-namespace-and-symbolsConversionResult
POST /v2/conversion/abcdget-conversion-abcdConversionAbcdRequestConversionResult
GET /v2/conversion/scale/{namespace}/{fromSymbol}/{toSymbol}get-conversion-scaleoffset-namespace-and-symbolsConversionResult
POST /v2/conversion/scaleget-conversion-scaleConversionScaleOffsetRequestConversionResult

Back to table of contents

Unit conversion

Units are parameterized in two different ways

  1. scale and offset from Schlumberger's Oilfield Services Data Dictionary.
  2. A, B, C, D Energistics notation. Under Downloads, select "v1.0 Energistics UOM Standard" and submit the download request.

Back to table of contents

Scale, offset parameterization

y = scale*(x-offset)

Query example for a conversion from degC (degrees Celsius) to degF (degrees Fahrenheit), limiting the symbols to the namespaces LIS,RP66:

GET /api/crs-catalog/v2/conversion/scale/{namespaces}/{fromSymbol/{toSymbol}
GET /api/crs-catalog/v2/conversion/scale/LIS,RP66/apigC/apigF                   with example values
ParameterValue, un-encoded when used in Try it outValue encoded when used in path
{namespaces}LIS,RP66LIS%2CRP66
{fromSymbol}degCdegF
{toSymbol}degFdegF
CURL conversion command for scale/offset
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  --url '{root-url}/api/crs-catalog/v2/conversion/scale/LIS,RP66/degC/degF'
Response
{
  "abcd": null,
  "scaleOffset": {
    "scale": 1.7999999999999998,
    "offset": -17.777777777777715
  },
  "fromUnit": {
    "essence": {
      "abcd": null,
      "scaleOffset": {
        "scale": 1,
        "offset": -273.15
      },
      "symbol": "degC",
      "baseMeasurement": {
        "ancestry": "Temperature",
        "type": "UM"
      },
      "type": "USO"
    },
    "deprecationInfo": null,
    "displaySymbol": "degC",
    "name": "degree celsius",
    "description": null,
    "lastModified": "19920228",
    "source": "APIRP661",
    "namespace": "RP66",
    "persistableReference": "{\"scaleOffset\":{\"scale\":1.0,\"offset\":-273.15},\"symbol\":\"degC\",\"baseMeasurement\":{\"ancestry\":\"Temperature\",\"type\":\"UM\"},\"type\":\"USO\"}"
  },
  "toUnit": {
    "essence": {
      "abcd": null,
      "scaleOffset": {
        "scale": 0.5555555555555556,
        "offset": -459.67
      },
      "symbol": "degF",
      "baseMeasurement": {
        "ancestry": "Temperature",
        "type": "UM"
      },
      "type": "USO"
    },
    "deprecationInfo": null,
    "displaySymbol": "degF",
    "name": "degree fahrenheit",
    "description": null,
    "lastModified": "19920228",
    "source": "APIRP661",
    "namespace": "RP66",
    "persistableReference": "{\"scaleOffset\":{\"scale\":0.5555555555555556,\"offset\":-459.67},\"symbol\":\"degF\",\"baseMeasurement\":{\"ancestry\":\"Temperature\",\"type\":\"UM\"},\"type\":\"USO\"}"
  }
}

With these parameters:

"x": 37.0 degC
"scale": 1.7999999999999998
"offset": -17.777777777777715

y = scale*(x-offset)
y = 1.7999999999999998 * (37.0 - -17.777777777777715)
y = 98.6 degF

Back to table of contents

A, B, C, D parameterization

y = (A+B*x)/(C+D*x)

Query example for a conversion from degC (degrees Celsius) to degF (degrees Fahrenheit) in namespace Energistics_UoM:

GET /api/crs-catalog/v2/conversion/abcd/{namespaces}/{fromSymbol}/{toSymbol}
GET /api/crs-catalog/v2/conversion/abcd/Energistics_UoM/degC/degF            with example values
ParameterValue, un-encoded when used in Try it outValue encoded when used in path
{namespaces}Energistics_UoMEnergistics_UoM
{fromSymbol}degCdegC
{toSymbol}degFdegF

Try it out

POST /api/crs-catalog/v2/conversion/abcd - body using persistable reference strings
{
  "fromUnitPersistableReference": "{\"abcd\":{\"a\":273.15,\"b\":1.0,\"c\":1.0,\"d\":0.0},\"symbol\":\"degC\",\"baseMeasurement\":{\"ancestry\":\"K\",\"type\":\"UM\"},\"type\":\"UAD\"}",
  "toUnitPersistableReference": "{\"abcd\":{\"a\":2298.35,\"b\":5.0,\"c\":9.0,\"d\":0.0},\"symbol\":\"degF\",\"baseMeasurement\":{\"ancestry\":\"K\",\"type\":\"UM\"},\"type\":\"UAD\"}"
}
POST /api/crs-catalog/v2/conversion/abcd - body using essence structures
{
  "fromUnit": {
      "abcd": {
        "a": 273.15,
        "b": 1,
        "c": 1,
        "d": 0
      },
      "scaleOffset": null,
      "symbol": "degC",
      "baseMeasurement": {
        "ancestry": "K",
        "type": "UM"
      },
      "type": "UAD"
  },
  "toUnit": {
      "abcd": {
        "a": 2298.35,
        "b": 5,
        "c": 9,
        "d": 0
      },
      "scaleOffset": null,
      "symbol": "degF",
      "baseMeasurement": {
        "ancestry": "K",
        "type": "UM"
      },
      "type": "UAD"
  }
}

Try it out

CURL request for the example
curl \
  -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI App Key}' \
  --data '{"fromUnitPersistableReference": "{\"abcd\":{\"a\":273.15,\"b\":1.0,\"c\":1.0,\"d\":0.0},\"symbol\":\"degC\",\"baseMeasurement\":{\"ancestry\":\"K\",\"type\":\"UM\"},\"type\":\"UAD\"}","toUnitPersistableReference": "{\"abcd\":{\"a\":2298.35,\"b\":5.0,\"c\":9.0,\"d\":0.0},\"symbol\":\"degF\",\"baseMeasurement\":{\"ancestry\":\"K\",\"type\":\"UM\"},\"type\":\"UAD\"}"}' \
  --url '{root-url}/api/crs-catalog/v2/conversion/abcd'

With the above parameters this ConversionResult response is returned:

Response example
{
  "abcd": {
    "a": 32,
    "b": 1.8,
    "c": 1,
    "d": 0
  },
  "scaleOffset": null,
  "fromUnit": {
    "essence": {
      "abcd": {
        "a": 273.15,
        "b": 1,
        "c": 1,
        "d": 0
      },
      "scaleOffset": null,
      "symbol": "degC",
      "baseMeasurement": {
        "ancestry": "K",
        "type": "UM"
      },
      "type": "UAD"
    },
    "deprecationInfo": null,
    "displaySymbol": "degC",
    "name": "degree Celsius",
    "description": null,
    "lastModified": "20160322",
    "source": "Energistics",
    "namespace": "Energistics_UoM",
    "persistableReference": "{\"abcd\":{\"a\":273.15,\"b\":1.0,\"c\":1.0,\"d\":0.0},\"symbol\":\"degC\",\"baseMeasurement\":{\"ancestry\":\"K\",\"type\":\"UM\"},\"type\":\"UAD\"}"
  },
  "toUnit": {
    "essence": {
      "abcd": {
        "a": 2298.35,
        "b": 5,
        "c": 9,
        "d": 0
      },
      "scaleOffset": null,
      "symbol": "degF",
      "baseMeasurement": {
        "ancestry": "K",
        "type": "UM"
      },
      "type": "UAD"
    },
    "deprecationInfo": null,
    "displaySymbol": "degF",
    "name": "degree Fahrenheit",
    "description": null,
    "lastModified": "20160322",
    "source": "Energistics",
    "namespace": "Energistics_UoM",
    "persistableReference": "{\"abcd\":{\"a\":2298.35,\"b\":5.0,\"c\":9.0,\"d\":0.0},\"symbol\":\"degF\",\"baseMeasurement\":{\"ancestry\":\"K\",\"type\":\"UM\"},\"type\":\"UAD\"}"
  }
}

With these parameters:

  "x": 37.0
  "a": 32.0
  "b": 1.8
  "c": 1.0
  "d": 0.0

  y = (A+B*x)/(C+D*x)
  y = (32.0 + 1.8*37.0)/(1.0 + 0.0*37.0)
  y = 98.6

Back to table of contents

This section describes the different methods to query for units, measurements, and unit systems.

Measurements

Get measurements

Query for many or all measurements in the catalog. This query returns base measurements (dimensions) and child measurements. The size of the response for GET requests can be controlled by limit and offset.

GET /measurement?offset={offset}&limit={limit}
ParameterValue
{offset}250 (default 0)
{limit}2 (default -1, which means all items); be aware that getting all items in one request can take time.

Try it out

With the above example parameters, the following QueryResult response is expected (the contents may change depending on the catalog version deployed):

Response example
{
  "totalCount": 4943,
  "offset": 250,
  "units": [],
  "measurements": [
    {
      "essence": {
        "ancestry": "Conductivity.Array_Conductivity",
        "type": "UM"
      },
      "deprecationInfo": null,
      "code": "Array_Conductivity",
      "name": "Array Conductivity",
      "description": "Formation conductivity as measured by a device capable of taking measurements at various combinations of resolution, depth of investigation, azimuth; such surveys allow detailed investigation of the invasion profile.",
      "dimensionCode": "Conductivity",
      "unitQuantityCode": "Conductivity",
      "namespace": "SLB",
      "lastModified": "19940930",
      "dimensionAnalysis": "I2T3/L3M",
      "baseMeasurement": false,
      "baseMeasurementEssenceJson": "{\"ancestry\":\"Conductivity\",\"type\":\"UM\"}",
      "childMeasurementEssenceJsons": [
        "{\"ancestry\":\"Conductivity.Array_Conductivity.Array_Induction_Conductivity\",\"type\":\"UM\"}",
        "{\"ancestry\":\"Conductivity.Array_Conductivity.Array_Laterolog_Conductivity\",\"type\":\"UM\"}"
      ],
      "unitEssenceJsons": [],
      "preferredUnitEssenceJsons": [],
      "parentEssenceJson": "{\"ancestry\":\"Conductivity\",\"type\":\"UM\"}",
      "persistableReference": "{\"ancestry\":\"Conductivity.Array_Conductivity\",\"type\":\"UM\"}"
    },
    {
      "essence": {
        "ancestry": "Conductivity.Array_Conductivity.Array_Induction_Conductivity",
        "type": "UM"
      },
      "deprecationInfo": null,
      "code": "Array_Induction_Conductivity",
      "name": "Array InductionConductivity",
      "description": "Formation conductivity as measured by an induction device capable of taking measurements at various combinations of resolution, depth of investigation, azimuth; such surveys allow detailed investigation of the invasion profile.",
      "dimensionCode": "Conductivity",
      "unitQuantityCode": "Conductivity",
      "namespace": "SLB",
      "lastModified": "20000425",
      "dimensionAnalysis": "I2T3/L3M",
      "baseMeasurement": false,
      "baseMeasurementEssenceJson": "{\"ancestry\":\"Conductivity\",\"type\":\"UM\"}",
      "childMeasurementEssenceJsons": [],
      "unitEssenceJsons": [],
      "preferredUnitEssenceJsons": [],
      "parentEssenceJson": "{\"ancestry\":\"Conductivity.Array_Conductivity\",\"type\":\"UM\"}",
      "persistableReference": "{\"ancestry\":\"Conductivity.Array_Conductivity.Array_Induction_Conductivity\",\"type\":\"UM\"}"
    }
  ],
  "unitMapItems": [],
  "measurementMapItems": [],
  "mapStates": [],
  "count": 2
}

Back to table of contents

Get a specific measurement

Query for a single measurement in the catalog. This query returns a base measurement (dimension) or a child measurement. The measurement can be one of the following two options:

  • An ancestry code like Conductivity.Array_Conductivity via a GET request.
  • A persistable reference string via a POST request.

Here the two variants:

GET /measurement/reference/{ancestry}
ParameterValue
{ancestry}Conductivity.Array_Conductivity

Try it out

POST /measurement

with body as persistable reference string:
{
    "persistableReference": "{\"ancestry\":\"Conductivity.Array_Conductivity\",\"type\":\"UM\"}"
}

or as essence:
{
  "essence": {
    "ancestry": "Conductivity.Array_Conductivity",
    "type": "UM"
  }
}

Try it out

CURL commands to get one measurement persistable reference
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI App Key}' \
  --url '{root-url}/api/crs-catalog/v2/measurement/Conductivity.Array_Conductivity'


curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI App Key}' \
  -d '{
         "persistableReference": "{\"ancestry\":\"Conductivity.Array_Conductivity\",\"type\":\"UM\"}"
      }' \
  --url '{root-url}/api/crs-catalog/v2/measurement'

curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI App Key}' \
  -d '{
        "essence": {
          "ancestry": "Conductivity.Array_Conductivity",
          "type": "UM"
        }
      }' \
  --url '{root-url}/api/crs-catalog/v2/measurement'

Both return measurement:

Response example
{
  "essence": {
    "ancestry": "Conductivity.Array_Conductivity",
    "type": "UM"
  },
  "deprecationInfo": null,
  "code": "Array_Conductivity",
  "name": "Array Conductivity",
  "description": "Formation conductivity as measured by a device capable of taking measurements at various combinations of resolution, depth of investigation, azimuth; such surveys allow detailed investigation of the invasion profile.",
  "dimensionCode": "Conductivity",
  "unitQuantityCode": "Conductivity",
  "namespace": "SLB",
  "lastModified": "19940930",
  "dimensionAnalysis": "I2T3/L3M",
  "baseMeasurement": false,
  "baseMeasurementEssenceJson": "{\"ancestry\":\"Conductivity\",\"type\":\"UM\"}",
  "childMeasurementEssenceJsons": [
    "{\"ancestry\":\"Conductivity.Array_Conductivity.Array_Induction_Conductivity\",\"type\":\"UM\"}",
    "{\"ancestry\":\"Conductivity.Array_Conductivity.Array_Laterolog_Conductivity\",\"type\":\"UM\"}"
  ],
  "unitEssenceJsons": [],
  "preferredUnitEssenceJsons": [],
  "parentEssenceJson": "{\"ancestry\":\"Conductivity\",\"type\":\"UM\"}",
  "persistableReference": "{\"ancestry\":\"Conductivity.Array_Conductivity\",\"type\":\"UM\"}"
}

Back to table of contents

Search measurements by keyword

More general queries are possible via the 'search by keyword(s)' option. The following keywords are supported:

Keyword codeConstrain byWorks forValues in use
CTypecoefficient typeUnitsABCD,ScaleOffset
Namespecific words/sub-strings in the nameMeasurements, units, unit systems, mapsnot enumerated
Namespacespecific sub-strings in the namespaceMeasurements, unitsnot enumerated
Sourcespecific words/sub-strings in the source stringMeasurements, unitsnot enumerated
ancestry(sub-)string of the ancestry for a dimension/measurementMeasurementsnot enumerated
Codespecific words/sub-strings in the codeMeasurements
DimensionCodeConstraining the OSDD (Schlumberger Oilfield Services Data Dictionary) dimension code for measurement searchMeasurementsnot enumerated
UnitQuantityCodeConstraining the OSDD (Schlumberger Oilfield Services Data Dictionary) Unit_Quantity code for measurement searchMeasurementsnot enumerated
DimensionAnalysisSearch for measurements belonging to a specific dimensionMeasurementsnot enumerated
StateSearch for specific statesMeasurements, units, Mapsprecision, corrected, conversion, conditional, different, unresolved
BaseMeasurementConstrain the search to BaseMeasurement True or FalseMeasurementsTrue, False

OSDD stands for Oilfield Services Data Dictionary and acts as Schlumberger's master database for, among others, measurements and units. It also replicates Energistics Units of Measure standard definitions.

Example query:

POST /measurement/search?limit={limit}&offset={offset}

with body:
{
    "query": "dimensionAnalysis:L2/T"
}
ParameterExample Value
{offset}0 (default 0)
{limit}2 (default 100)

Try it out

Returns QueryResult.

Response example
{
    "totalCount": 37,
    "offset": 0,
    "units": [],
    "measurements": [
        {
            "essence": {
                "ancestry": "Area_Per_Time",
                "type": "UM"
            },
            "deprecationInfo": null,
            "code": "Area_Per_Time",
            "name": "Area Per Time",
            "description": "This is a copy of the unit quantity AreaPerTime, which acts as the parent for other SDM_Property instances",
            "dimensionCode": "AreaPerTime",
            "unitQuantityCode": "AreaPerTime",
            "namespace": "SLB",
            "lastModified": "20160113",
            "dimensionAnalysis": "L2/T",
            "baseMeasurement": true,
            "baseMeasurementEssenceJson": "{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"}",
            "childMeasurementEssenceJsons": [
                "{\"ancestry\":\"Area_Per_Time.AreaPerTime\",\"type\":\"UM\"}",
                "{\"ancestry\":\"Area_Per_Time.NMR_Diffusion_Coefficient\",\"type\":\"UM\"}",
                "{\"ancestry\":\"Area_Per_Time.NMRDiffusionCoefficient\",\"type\":\"UM\"}",
                "{\"ancestry\":\"Area_Per_Time.ThermalDiffusivity\",\"type\":\"UM\"}",
                "{\"ancestry\":\"Area_Per_Time.Flowrate_Per_Length\",\"type\":\"UM\"}",
                "{\"ancestry\":\"Area_Per_Time.FlowratePerLength\",\"type\":\"UM\"}",
                "{\"ancestry\":\"Area_Per_Time.Diffusivity\",\"type\":\"UM\"}",
                "{\"ancestry\":\"Area_Per_Time.Kinematic_Viscosity\",\"type\":\"UM\"}"
            ],
            "unitEssenceJsons": [
                "{\"scaleOffset\":{\"scale\":0.001075266666666667,\"offset\":0.0},\"symbol\":\"1000ft3/d.ft\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.006037174650043744,\"offset\":0.0},\"symbol\":\"1E3 bbl/(d.ft)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":6.037174650043744E-6,\"offset\":0.0},\"symbol\":\"bbl/d.ft\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":6.037174650043744E-6,\"offset\":0.0},\"symbol\":\"BBDF\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.006037174650043744,\"offset\":0.0},\"symbol\":\"kbbl/d.ft\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.01157407407407407,\"offset\":0.0},\"symbol\":\"km3/(d.m)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.01157407407407407,\"offset\":0.0},\"symbol\":\"km3/d.m\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.2777777777777778,\"offset\":0.0},\"symbol\":\"km3/h.m\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.157407407407407E-5,\"offset\":0.0},\"symbol\":\"m3/d.m\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":2.777777777777778E-4,\"offset\":0.0},\"symbol\":\"m3/h.m\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":3.280839895013123,\"offset\":0.0},\"symbol\":\"m3/s.ft\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"m3/s.m\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":6.037174650043744E-6,\"offset\":0.0},\"symbol\":\"B/DF\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":2.58064E-5,\"offset\":0.0},\"symbol\":\"FT2/HR\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0E-6,\"offset\":0.0},\"symbol\":\"MM2/S\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.001075266666666667,\"offset\":0.0},\"symbol\":\"KF2D\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.2777777777777778,\"offset\":0.0},\"symbol\":\"KM2H\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":2.777777777777778E-4,\"offset\":0.0},\"symbol\":\"M2/H\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"M2/S\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.157407407407407E-5,\"offset\":0.0},\"symbol\":\"M3DM\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"M3MS\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":3.280839895013123,\"offset\":0.0},\"symbol\":\"M3SF\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.006037174650043744,\"offset\":0.0},\"symbol\":\"1000 bbl/(d.ft)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.001075266666666667,\"offset\":0.0},\"symbol\":\"1000 ft3/(d.ft)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.01157407407407407,\"offset\":0.0},\"symbol\":\"1000 m3/(d.m)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.2777777777777778,\"offset\":0.0},\"symbol\":\"1000 m3/(h.m)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0E-8,\"offset\":0.0},\"symbol\":\"1E-4 cm2/s\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0E-4,\"offset\":0.0},\"symbol\":\"cm2/s\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0E-4,\"offset\":0.0},\"symbol\":\"C2/S\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0E-8,\"offset\":0.0},\"symbol\":\"TC2S\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":6.4516E-4,\"offset\":0.0},\"symbol\":\"in2/s\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":6.037174650043744E-6,\"offset\":0.0},\"symbol\":\"bbl/(d.ft)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":2.58064E-5,\"offset\":0.0},\"symbol\":\"ft2/h\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":2.777777777777778E-4,\"offset\":0.0},\"symbol\":\"m2/h\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"m2/s\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.157407407407407E-5,\"offset\":0.0},\"symbol\":\"m3/(d.m)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":2.777777777777778E-4,\"offset\":0.0},\"symbol\":\"m3/(h.m)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"m3/(m.s)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":3.280839895013123,\"offset\":0.0},\"symbol\":\"m3/(s.ft)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"m3/(s.m)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0E-6,\"offset\":0.0},\"symbol\":\"mm2/s\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.15740740740741E-5,\"offset\":0.0},\"symbol\":\"m2/d\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.07526666666667E-6,\"offset\":0.0},\"symbol\":\"ft2/d\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":2.77777777777778E-8,\"offset\":0.0},\"symbol\":\"cm2/h\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0E-12,\"offset\":0.0},\"symbol\":\"um2/s\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0E-11,\"offset\":0.0},\"symbol\":\"1E-5 mm2/s\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":3.16875355494539E-8,\"offset\":0.0},\"symbol\":\"km2/Ma\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.00107526666666667,\"offset\":0.0},\"symbol\":\"MSCF/(d.ft)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":6.03717449815301E-6,\"offset\":0.0},\"symbol\":\"STB/(d.ft)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.15740740740741E-5,\"offset\":0.0},\"symbol\":\"sm3/(d.m)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.00603717430555556,\"offset\":0.0},\"symbol\":\"kbbl/d.ft\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.00603717430555556,\"offset\":0.0},\"symbol\":\"1000 bbl/(d.ft)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.00603717430555556,\"offset\":0.0},\"symbol\":\"1E3 bbl/(d.ft)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":0.09290304,\"offset\":0.0},\"symbol\":\"ft2/s\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":2931850.90905713,\"offset\":0.0},\"symbol\":\"ft2/a\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":3.155815E7,\"offset\":0.0},\"symbol\":\"m2/a\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":2.77777777777778E-4,\"offset\":0.0},\"symbol\":\"sm3/(h.m)\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}"
            ],
            "preferredUnitEssenceJsons": [
                "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"m2/s\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0E-4,\"offset\":0.0},\"symbol\":\"cm2/s\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0E-6,\"offset\":0.0},\"symbol\":\"mm2/s\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":2.777777777777778E-4,\"offset\":0.0},\"symbol\":\"m2/h\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":2.77777777777778E-8,\"offset\":0.0},\"symbol\":\"cm2/h\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.15740740740741E-5,\"offset\":0.0},\"symbol\":\"m2/d\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":6.4516E-4,\"offset\":0.0},\"symbol\":\"in2/s\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":2.58064E-5,\"offset\":0.0},\"symbol\":\"ft2/h\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.07526666666667E-6,\"offset\":0.0},\"symbol\":\"ft2/d\",\"baseMeasurement\":{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"},\"type\":\"USO\"}"
            ],
            "parentEssenceJson": null,
            "persistableReference": "{\"ancestry\":\"Area_Per_Time\",\"type\":\"UM\"}"
        },
        {
            "essence": {
                "ancestry": "L2/T",
                "type": "UM"
            },
            "deprecationInfo": null,
            "code": "L2/T",
            "name": "L2/T",
            "description": "",
            "dimensionCode": "L2/T",
            "unitQuantityCode": "",
            "namespace": "Energistics_UoM",
            "lastModified": "20160322",
            "dimensionAnalysis": "L2/T",
            "baseMeasurement": true,
            "baseMeasurementEssenceJson": "{\"ancestry\":\"L2/T\",\"type\":\"UM\"}",
            "childMeasurementEssenceJsons": [
                "{\"ancestry\":\"L2/T.kinematic viscosity\",\"type\":\"UM\"}",
                "{\"ancestry\":\"L2/T.thermal diffusivity\",\"type\":\"UM\"}",
                "{\"ancestry\":\"L2/T.area per time\",\"type\":\"UM\"}",
                "{\"ancestry\":\"L2/T.(volume per time) per length\",\"type\":\"UM\"}",
                "{\"ancestry\":\"L2/T.diffusion coefficient\",\"type\":\"UM\"}"
            ],
            "unitEssenceJsons": [
                "{\"abcd\":{\"a\":0.0,\"b\":1.0E-4,\"c\":1.0,\"d\":0.0},\"symbol\":\"St\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"m2/s\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"m3/(s.m)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"mol.m2/(mol.s)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"Pa.s.m3/kg\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"W.m2.deltaK/(J.deltaK)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"USO\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":1.0E-4,\"c\":1.0,\"d\":0.0},\"symbol\":\"cm2/s\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":0.09290304,\"c\":3600.0,\"d\":0.0},\"symbol\":\"ft2/h\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":0.09290304,\"c\":1.0,\"d\":0.0},\"symbol\":\"ft2/s\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":6.4516E-4,\"c\":1.0,\"d\":0.0},\"symbol\":\"in2/s\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":1.0,\"c\":86400.0,\"d\":0.0},\"symbol\":\"m2/d\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":1.0,\"c\":3600.0,\"d\":0.0},\"symbol\":\"m2/h\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":1.0E-6,\"c\":1.0,\"d\":0.0},\"symbol\":\"mm2/s\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":28.316846592,\"c\":26334.72,\"d\":0.0},\"symbol\":\"1000 ft3/(d.ft)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":1000.0,\"c\":86400.0,\"d\":0.0},\"symbol\":\"1000 m3/(d.m)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":1000.0,\"c\":3600.0,\"d\":0.0},\"symbol\":\"1000 m3/(h.m)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":0.158987294928,\"c\":26334.72,\"d\":0.0},\"symbol\":\"bbl/(d.ft)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":0.09290304,\"c\":86400.0,\"d\":0.0},\"symbol\":\"ft3/(d.ft)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":0.00454609,\"c\":1097.28,\"d\":0.0},\"symbol\":\"gal[UK]/(h.ft)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":0.00454609,\"c\":91.44,\"d\":0.0},\"symbol\":\"gal[UK]/(h.in)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":0.00454609,\"c\":18.288,\"d\":0.0},\"symbol\":\"gal[UK]/(min.ft)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":0.003785411784,\"c\":1097.28,\"d\":0.0},\"symbol\":\"gal[US]/(h.ft)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":0.003785411784,\"c\":91.44,\"d\":0.0},\"symbol\":\"gal[US]/(h.in)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":0.003785411784,\"c\":18.288,\"d\":0.0},\"symbol\":\"gal[US]/(min.ft)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":1.0,\"c\":86400.0,\"d\":0.0},\"symbol\":\"m3/(d.m)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":1.0,\"c\":3600.0,\"d\":0.0},\"symbol\":\"m3/(h.m)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":1.0,\"c\":0.3048,\"d\":0.0},\"symbol\":\"m3/(s.ft)\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                "{\"abcd\":{\"a\":0.0,\"b\":1.0E-6,\"c\":1.0,\"d\":0.0},\"symbol\":\"cSt\",\"baseMeasurement\":{\"ancestry\":\"L2/T\",\"type\":\"UM\"},\"type\":\"UAD\"}"
            ],
            "preferredUnitEssenceJsons": [],
            "parentEssenceJson": null,
            "persistableReference": "{\"ancestry\":\"L2/T\",\"type\":\"UM\"}"
        }
    ],
    "unitMapItems": [],
    "measurementMapItems": [],
    "mapStates": [],
    "count": 2
}

Back to table of contents

Units

Get all units

This query returns all units - with limit controlling the maximum size of the response and offset the start position:

GET /unit?limit={limit}&offset={offset}
ParameterValue
{offset}100 (default 0)
{limit}2 (default -1, which means all items)

Try it out

CURL command to get units
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI App Key}' \
  --url '{root-url}/api/crs-catalog/v2/unit?offset=100&limit=2'

The example command leads to this example QueryResult response (content may vary depending on the catalog version):

Response example
{
    "totalCount": 3695,
    "offset": 100,
    "units": [
        {
            "essence": {
                "abcd": {
                    "a": 0,
                    "b": 0.45359237,
                    "c": 3.785411784,
                    "d": 0
                },
                "scaleOffset": null,
                "symbol": "0.001 lbm/gal[US]",
                "baseMeasurement": {
                    "ancestry": "M/L3",
                    "type": "UM"
                },
                "type": "UAD"
            },
            "deprecationInfo": null,
            "displaySymbol": "0.001 lbm/gal[US]",
            "name": "pound-mass per thousand US gallon",
            "description": null,
            "lastModified": "20160322",
            "source": "Energistics",
            "namespace": "Energistics_UoM",
            "persistableReference": "{\"abcd\":{\"a\":0.0,\"b\":0.45359237,\"c\":3.785411784,\"d\":0.0},\"symbol\":\"0.001 lbm/gal[US]\",\"baseMeasurement\":{\"ancestry\":\"M/L3\",\"type\":\"UM\"},\"type\":\"UAD\"}"
        },
        {
            "essence": {
                "abcd": null,
                "scaleOffset": {
                    "scale": 2.30665872585026,
                    "offset": 0
                },
                "symbol": "0.001 lbm/in2.ft",
                "baseMeasurement": {
                    "ancestry": "Mass_Per_Volume",
                    "type": "UM"
                },
                "type": "USO"
            },
            "deprecationInfo": null,
            "displaySymbol": "0.001 lbm/in2.ft",
            "name": "psi per thousand feet equivalent",
            "description": null,
            "lastModified": "20091019",
            "source": "APIRP661",
            "namespace": "RP66",
            "persistableReference": "{\"scaleOffset\":{\"scale\":2.30665872585026,\"offset\":0.0},\"symbol\":\"0.001 lbm/in2.ft\",\"baseMeasurement\":{\"ancestry\":\"Mass_Per_Volume\",\"type\":\"UM\"},\"type\":\"USO\"}"
        }
    ],
    "measurements": [],
    "unitMapItems": [],
    "measurementMapItems": [],
    "mapStates": [],
    "count": 2
}

Back to table of contents

Get units given a measurement

This query returns all units given a measurement by the following methods

  • An ancestry code, e.g. Conductivity.Array_Conductivity (GET request).
  • Persistable reference, e.g. "{\"ancestry\":\"Conductivity.Array_Conductivity\",\"type\":\"UM\"}" (POST request).
  • Essence { "ancestry": "Conductivity.Array_Conductivity", "type": "UM" } (POST request).
GET /unit/measurement/{ancestry}
ParameterValue
{ancestry}Conductivity.Array_Conductivity

Try it out Similarly, the persistable reference or essence of the measurement can be passed in the body for the following POST request:

POST /unit/measurement

with body:

{
  "persistableReference": "{\"ancestry\":\"Conductivity.Array_Conductivity\",\"type\":\"UM\"}"
}

or:

{
  "essence": {
    "ancestry": "Conductivity.Array_Conductivity",
    "type": "UM"
  }
}
CURL commands to get units given a measurement
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI App Key}' \
  --url '{root-url}/api/crs-catalog/v2/unit/measurement/Conductivity.Array_Conductivity'


curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI App Key}' \
  -d '{
        "persistableReference": "{\"ancestry\":\"Conductivity.Array_Conductivity\",\"type\":\"UM\"}"
      }' \
  --url '{root-url}/api/crs-catalog/v2/unit/measurement'

curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI App Key}' \
  -d '{
        "essence": {
          "ancestry": "Conductivity.Array_Conductivity",
          "type": "UM"
        }
      }' \
  --url '{root-url}/api/crs-catalog/v2/unit/measurement'

Try it out

The above query returns QueryResult.

Response example (truncated)
{
    "totalCount": 19,
    "offset": 0,
    "units": [
        {
            "essence": {
                "abcd": null,
                "scaleOffset": {
                    "scale": 0.001,
                    "offset": 0
                },
                "symbol": "1E-3 S/m",
                "baseMeasurement": {
                    "ancestry": "Conductivity",
                    "type": "UM"
                },
                "type": "USO"
            },
            "deprecationInfo": {
                "state": "identical",
                "remarks": "GeoFrame legacy unit",
                "supersededByUnit": "{\"scaleOffset\":{\"scale\":0.001,\"offset\":0.0},\"symbol\":\"mS/m\",\"baseMeasurement\":{\"ancestry\":\"Conductivity\",\"type\":\"UM\"},\"type\":\"USO\"}"
            },
            "displaySymbol": "1E-3 S/m",
            "name": "GeoFrame legacy unit",
            "description": null,
            "lastModified": "19930310",
            "source": "",
            "namespace": "GF",
            "persistableReference": "{\"scaleOffset\":{\"scale\":0.001,\"offset\":0.0},\"symbol\":\"1E-3 S/m\",\"baseMeasurement\":{\"ancestry\":\"Conductivity\",\"type\":\"UM\"},\"type\":\"USO\"}"
        },
        ...
    ],
    "measurements": [],
    "unitMapItems": [],
    "measurementMapItems": [],
    "mapStates": [],
    "count": 19
}

Back to table of contents

Get units given a unit symbol

Due to multiple namespaces contributing to the catalog, unit symbols may not be unique. This query returns all units with a matching symbol:

GET /unit/symbol/{symbol}
ParameterValue, un-encoded when used in Try it outValue encoded when used in path
{symbol}FF
{symbol}ft/sft%2Fs

Try it out

Returns a QueryResult response - the symbol F is in this case aliasing the unit Farad and international foot (LIS namespace) belonging to different dimensions.

CURL commands to get units given a symbol
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI App Key}' \
  --url '{root-url}/api/crs-catalog/v2/unit/symbol/F'
Response example
{
    "totalCount": 3,
    "offset": 0,
    "units": [
        {
            "essence": {
                "abcd": null,
                "scaleOffset": {
                    "scale": 1,
                    "offset": 0
                },
                "symbol": "F",
                "baseMeasurement": {
                    "ancestry": "Capacitance",
                    "type": "UM"
                },
                "type": "USO"
            },
            "deprecationInfo": null,
            "displaySymbol": "F",
            "name": "farad",
            "description": null,
            "lastModified": "19920228",
            "source": "APIRP661",
            "namespace": "RP66",
            "persistableReference": "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"F\",\"baseMeasurement\":{\"ancestry\":\"Capacitance\",\"type\":\"UM\"},\"type\":\"USO\"}"
        },
        {
            "essence": {
                "abcd": null,
                "scaleOffset": {
                    "scale": 0.3048,
                    "offset": 0
                },
                "symbol": "F",
                "baseMeasurement": {
                    "ancestry": "Length",
                    "type": "UM"
                },
                "type": "USO"
            },
            "deprecationInfo": {
                "state": "identical",
                "remarks": "foot",
                "supersededByUnit": "{\"scaleOffset\":{\"scale\":0.3048,\"offset\":0.0},\"symbol\":\"ft\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
            },
            "displaySymbol": "F",
            "name": "foot",
            "description": null,
            "lastModified": "19920228",
            "source": "",
            "namespace": "LIS",
            "persistableReference": "{\"scaleOffset\":{\"scale\":0.3048,\"offset\":0.0},\"symbol\":\"F\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
        },
        {
            "essence": {
                "abcd": null,
                "scaleOffset": {
                    "scale": 1,
                    "offset": 0
                },
                "symbol": "F",
                "baseMeasurement": {
                    "ancestry": "I2T4/L2M",
                    "type": "UM"
                },
                "type": "USO"
            },
            "deprecationInfo": null,
            "displaySymbol": "F",
            "name": "farad",
            "description": null,
            "lastModified": "20160322",
            "source": "Energistics",
            "namespace": "Energistics_UoM",
            "persistableReference": "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"F\",\"baseMeasurement\":{\"ancestry\":\"I2T4/L2M\",\"type\":\"UM\"},\"type\":\"USO\"}"
        }
    ],
    "measurements": [],
    "unitMapItems": [],
    "measurementMapItems": [],
    "mapStates": [],
    "count": 3
}

Back to table of contents

Get the preferred units for a measurement

Not all units compatible with the base dimension make sense for a specialized measurement. This query returns the units considered preferred:

GET /unit/measurement/preferred/{ancestry}
ParameterValue
{ancestry}Length.Standard_Depth_Index

Try it out

CURL command to get the preferred units given a measurement
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  --url '{root-url}/api/crs-catalog/v2/unit/measurement/preferred/Length.Standard_Depth_Index'

curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  -d '{
        "persistableReference": "{\"ancestry\":\"Length.Standard_Depth_Index\",\"type\":\"UM\"}"
      }' \
  --url '{root-url}/api/crs-catalog/v2/unit/measurement/preferred'

curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  -d '{
        "essence": {
          "ancestry": "Length",
          "type": "UM"
      }' \
  --url '{root-url}/api/crs-catalog/v2/unit/measurement/preferred'

Returns QueryResult.

Response example
{
    "totalCount": 5,
    "offset": 0,
    "units": [
        {
            "essence": {
                "abcd": null,
                "scaleOffset": {
                    "scale": 1,
                    "offset": 0
                },
                "symbol": "m",
                "baseMeasurement": {
                    "ancestry": "Length",
                    "type": "UM"
                },
                "type": "USO"
            },
            "deprecationInfo": null,
            "displaySymbol": "m",
            "name": "meter",
            "description": null,
            "lastModified": "19920228",
            "source": "APIRP661",
            "namespace": "RP66",
            "persistableReference": "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"m\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
        },
        {
            "essence": {
                "abcd": null,
                "scaleOffset": {
                    "scale": 0.3048,
                    "offset": 0
                },
                "symbol": "ft",
                "baseMeasurement": {
                    "ancestry": "Length",
                    "type": "UM"
                },
                "type": "USO"
            },
            "deprecationInfo": null,
            "displaySymbol": "ft",
            "name": "foot (international)",
            "description": null,
            "lastModified": "19920228",
            "source": "APIRP661",
            "namespace": "RP66",
            "persistableReference": "{\"scaleOffset\":{\"scale\":0.3048,\"offset\":0.0},\"symbol\":\"ft\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
        },
        {
            "essence": {
                "abcd": null,
                "scaleOffset": {
                    "scale": 0.01,
                    "offset": 0
                },
                "symbol": "cm",
                "baseMeasurement": {
                    "ancestry": "Length",
                    "type": "UM"
                },
                "type": "USO"
            },
            "deprecationInfo": null,
            "displaySymbol": "cm",
            "name": "centimeter",
            "description": null,
            "lastModified": "19920228",
            "source": "APIRP661",
            "namespace": "RP66",
            "persistableReference": "{\"scaleOffset\":{\"scale\":0.01,\"offset\":0.0},\"symbol\":\"cm\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
        },
        {
            "essence": {
                "abcd": null,
                "scaleOffset": {
                    "scale": 1000,
                    "offset": 0
                },
                "symbol": "km",
                "baseMeasurement": {
                    "ancestry": "Length",
                    "type": "UM"
                },
                "type": "USO"
            },
            "deprecationInfo": null,
            "displaySymbol": "km",
            "name": "kilometer",
            "description": null,
            "lastModified": "19920228",
            "source": "APIRP661",
            "namespace": "RP66",
            "persistableReference": "{\"scaleOffset\":{\"scale\":1000.0,\"offset\":0.0},\"symbol\":\"km\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
        },
        {
            "essence": {
                "abcd": null,
                "scaleOffset": {
                    "scale": 1609.344,
                    "offset": 0
                },
                "symbol": "mi",
                "baseMeasurement": {
                    "ancestry": "Length",
                    "type": "UM"
                },
                "type": "USO"
            },
            "deprecationInfo": null,
            "displaySymbol": "mi",
            "name": "mile (international)",
            "description": null,
            "lastModified": "19920228",
            "source": "APIRP661",
            "namespace": "RP66",
            "persistableReference": "{\"scaleOffset\":{\"scale\":1609.344,\"offset\":0.0},\"symbol\":\"mi\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
        }
    ],
    "measurements": [],
    "unitMapItems": [],
    "measurementMapItems": [],
    "mapStates": [],
    "count": 5
}

Back to table of contents

Get a single unit given a namespace and a symbol

With the help of an ordered, comma-separated list of namespace codes, the unit symbol look-up can be made unique.

NamespaceRemarks
ECLDerived from the Eclipse simulator, this code is used for all Petrel related extensions in OSDD.
Energistics_UoMThe 'clean' Energistics unit of measure standard
FNDDerived from the Finder database
GFDerived from GeoFrame
LISThe legacy Log Information Standard, predecessor of RP66
NeedUpdateOSDD internal namespace indicating problematic contents - do not use
POSCLegacy standard "Petrotechnical Open Software Corporation", predecessor of Energistics
RP66Legacy standard, predecessor of POSC
SeabedUnits

The following example would be used in the context of a log data loader. In this domain, the LIS namespace is more likely to contain the correct unit for F than the Energistics_UoM namespace. The example query:

GET /unit/symbol/{namespaces}/{symbol}
ParameterValue, un-encoded when used in Try it outValue encoded when used in path
{namespaces}LIS,Energistics_UoMLIS%2CEnergistics_UoM
{symbol}FF

Try it out

CURL command to get a unique unit given a namespace list and a symbol
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  --url '{root-url}/api/crs-catalog/v2/unit/symbol/LIS%2CEnergistics_UoM/F'

This request leads to the following unit response - The LIS unit F (foot) wins over the Energistics_UoM F (farad):

Returns unit.

Response example
{
    "essence": {
        "abcd": null,
        "scaleOffset": {
            "scale": 0.3048,
            "offset": 0
        },
        "symbol": "F",
        "baseMeasurement": {
            "ancestry": "Length",
            "type": "UM"
        },
        "type": "USO"
    },
    "deprecationInfo": {
        "state": "identical",
        "remarks": "foot",
        "supersededByUnit": "{\"scaleOffset\":{\"scale\":0.3048,\"offset\":0.0},\"symbol\":\"ft\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
    },
    "displaySymbol": "F",
    "name": "foot",
    "description": null,
    "lastModified": "19920228",
    "source": "",
    "namespace": "LIS",
    "persistableReference": "{\"scaleOffset\":{\"scale\":0.3048,\"offset\":0.0},\"symbol\":\"F\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
}

Back to table of contents

Get a single unit given a persistable reference or essence

A unit's persistable reference can be used to uniquely look up a unit. In this example the Energistics_UoM F is queried:

POST /unit
with persistable reference in body:
{
    "persistableReference": "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"F\",\"baseMeasurement\":{\"ancestry\":\"I2T4/L2M\",\"type\":\"UM\"},\"type\":\"USO\"}"
}

with essence in body:
{
    "essence": {
        "abcd": null,
        "scaleOffset": {
            "scale": 1,
            "offset": 0
        },
        "symbol": "F",
        "baseMeasurement": {
            "ancestry": "I2T4/L2M",
            "type": "UM"
        },
        "type": "USO"
    }
}

Try it out

CURL command to get a unique unit given a persistable reference or essence
curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  -d '{
        "persistableReference": "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"F\",\"baseMeasurement\":{\"ancestry\":\"I2T4/L2M\",\"type\":\"UM\"},\"type\":\"USO\"}"
      }' \
  --url '{root-url}/api/crs-catalog/v2/unit'


curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
-d '{
      "essence": {
        "abcd": null,
        "scaleOffset": {
            "scale": 1,
            "offset": 0
        },
        "symbol": "F",
        "baseMeasurement": {
            "ancestry": "I2T4/L2M",
            "type": "UM"
        },
        "type": "USO"
      }
    }' \
  --url '{root-url}/api/crs-catalog/v2/unit'

The request returns unit.

Response example
{
    "essence": {
        "abcd": null,
        "scaleOffset": {
            "scale": 1,
            "offset": 0
        },
        "symbol": "F",
        "baseMeasurement": {
            "ancestry": "I2T4/L2M",
            "type": "UM"
        },
        "type": "USO"
    },
    "deprecationInfo": null,
    "displaySymbol": "F",
    "name": "farad",
    "description": null,
    "lastModified": "20160322",
    "source": "Energistics",
    "namespace": "Energistics_UoM",
    "persistableReference": "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"F\",\"baseMeasurement\":{\"ancestry\":\"I2T4/L2M\",\"type\":\"UM\"},\"type\":\"USO\"}"
}

Back to table of contents

Get a single unit given a unit system name and a measurement

With a unit system, a unit can be assigned to a measurement. This query returns a unique unit given a unit system and a measurement. The measurement can be defined as either of the following:

  • Ancestry string, e.g. Velocity.Acoustic_Velocity.Water_Acoustic_Velocity.
  • Persistable reference string, e.g. %7B%22Ancestry%22%3A%22Velocity.Acoustic_Velocity.Water_Acoustic_Velocity%22%7D.

The example requests the unit for measurement Velocity.Acoustic_Velocity.Water_Acoustic_Velocity given the ProductionEnglish unit system:

POST /unit/unitsystem/{unitSystemName}

with body as persistable regerence:
{
  "persistableReference": "{\"ancestry\":\"Velocity.Acoustic_Velocity.Water_Acoustic_Velocity\",\"type\":\"UM\"}"
}

or with body as essence:
{
  "essence": {
    "ancestry": "Velocity.Acoustic_Velocity.Water_Acoustic_Velocity",
    "type": "UM"
  }
}
ParameterValue
{unitSystemName}ProductionEnglish

Try it out

CURL command to get a unique unit given a unit system name
curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  -d '{
        "persistableReference": "{\"ancestry\":\"Velocity.Acoustic_Velocity.Water_Acoustic_Velocity\",\"type\":\"UM\"}"
      }' \
  --url '{root-url}/api/crs-catalog/v2/unit/unitsystem/ProductionEnglish'

Returns unit.

Response example
{
    "essence": {
        "abcd": null,
        "scaleOffset": {
            "scale": 0.3048,
            "offset": 0
        },
        "symbol": "ft/s",
        "baseMeasurement": {
            "ancestry": "Velocity",
            "type": "UM"
        },
        "type": "USO"
    },
    "deprecationInfo": null,
    "displaySymbol": "ft/s",
    "name": "foot per second",
    "description": null,
    "lastModified": "19920228",
    "source": "APIRP661",
    "namespace": "RP66",
    "persistableReference": "{\"scaleOffset\":{\"scale\":0.3048,\"offset\":0.0},\"symbol\":\"ft/s\",\"baseMeasurement\":{\"ancestry\":\"Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}"
}

Back to table of contents

Search units by keywords

Keyword codeConstrained byWorks forValues in use
CTypeCoefficient typeUnitsABCD,ScaleOffset
NameSpecific words/sub-strings in the nameMeasurements, units, unit systems, mapsnot enumerated
NamespaceSpecific sub-strings in the namespaceMeasurements, unitsnot enumerated
SourceSpecific words/sub-strings in the source stringMeasurements, unitsnot enumerated
SymbolSpecific sub-strings in the symbolUnitsnot enumerated
BaseMeasurementReferenceSearch for units belonging to a specific measurementUnitspersistable reference string (fragments)
StateSearch for specific statesMeasurements, units, mapsprecision, corrected, conversion, conditional, different, unresolved

With this endpoint, you can perform a generic search query using keywords. In this example, any unit that has barn in its name and Energistics in its namespace are returned. Example request:

POST /unit/search?offset={offset}&limit={limit}

with body:
{
    "query": "name:*barn* namespace:Energistics*"
}

Try it out

CURL command to search units by keywords, Lucene style
curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  -d '{
        "query": "name:*barn* namespace:Energistics*"
      }' \
  --url '{root-url}/api/crs-catalog/v2/unit/search'

The request returns QueryResult.

Response example
{
    "totalCount": 2,
    "offset": 0,
    "units": [
        {
            "essence": {
                "abcd": {
                    "a": 0,
                    "b": 1e-22,
                    "c": 1,
                    "d": 0
                },
                "scaleOffset": null,
                "symbol": "b/cm3",
                "baseMeasurement": {
                    "ancestry": "1/L",
                    "type": "UM"
                },
                "type": "UAD"
            },
            "deprecationInfo": null,
            "displaySymbol": "b/cm3",
            "name": "barn per cubic centimetre",
            "description": null,
            "lastModified": "20160322",
            "source": "Energistics",
            "namespace": "Energistics_UoM",
            "persistableReference": "{\"abcd\":{\"a\":0.0,\"b\":1.0E-22,\"c\":1.0,\"d\":0.0},\"symbol\":\"b/cm3\",\"baseMeasurement\":{\"ancestry\":\"1/L\",\"type\":\"UM\"},\"type\":\"UAD\"}"
        },
        {
            "essence": {
                "abcd": {
                    "a": 0,
                    "b": 1e-28,
                    "c": 1,
                    "d": 0
                },
                "scaleOffset": null,
                "symbol": "b",
                "baseMeasurement": {
                    "ancestry": "L2",
                    "type": "UM"
                },
                "type": "UAD"
            },
            "deprecationInfo": null,
            "displaySymbol": "b",
            "name": "barn",
            "description": null,
            "lastModified": "20160322",
            "source": "Energistics",
            "namespace": "Energistics_UoM",
            "persistableReference": "{\"abcd\":{\"a\":0.0,\"b\":1.0E-28,\"c\":1.0,\"d\":0.0},\"symbol\":\"b\",\"baseMeasurement\":{\"ancestry\":\"L2\",\"type\":\"UM\"},\"type\":\"UAD\"}"
        }
    ],
    "measurements": [],
    "unitMapItems": [],
    "measurementMapItems": [],
    "mapStates": [],
    "count": 2
}

Back to table of contents

Unit systems

Get a list of unit system descriptions

This query takes no arguments and returns a list of unit system descriptions:

GET /unitsystem/list?offset={offset}&limit={limit}

Try it out

CURL command to get a list of unit system descriptions
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  --url '{root-url}/api/crs-catalog/v2/unitsystem/list?offset=5&limit=2'

The request returns UnitSystemInfoList.

Response example
{
    "unitSystemInfoList": [
        {
            "name": "Canonical",
            "description": "Unit is the Canonical form for the Unit_Dimension corresponding to each Unit_Quantity",
            "ancestry": "Canonical",
            "persistableReference": "{\"ancestry\":\"Canonical\"}"
        },
        {
            "name": "English",
            "description": "Conventional oilfield units in areas where English units are used",
            "ancestry": "Metric.English",
            "persistableReference": "{\"ancestry\":\"Metric.English\"}"
        }
    ],
    "totalCount": 14,
    "offset": 5,
    "count": 2
}

Back to table of contents

Get measurement-unit assignments given a unit system name or reference

The purpose of a unit system is to uniquely assign a single unit per measurement. As explained above, measurements are organized in a hierarchy. Not all measurements are therefore registered. Unit assignments are inherited from the parent measurement if the child measurement does not have a separate unit assignment. The size of the response can be controlled by limit and offset because the total response contains a unit for each measurement.

There are two methods to obtain the unit system settings, via the unit system name and via a persistable reference or unit system essence.

By unit system name
GET /unitsystem/{name}?offset={offset}&limit={limit}'
ParameterValue
{name}ProductionEnglish
{offset}example 2000, default 0
{limit}example 2, default 100; -1 fo all items

Try it out

CURL command to get a list of unit system assignments
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  --url '{root-url}/api/crs-catalog/v2/unitsystem/{name}?offset=2000&limit=2'
By persistable reference or unit system essence
POST /unitsystem?offset=2000&limit=2

with body as persistable referenence:
{
  "persistableReference": "{\"ancestry\": \"Metric.English.ProductionEnglish\"}"
}

or with body as essence:
{
  "essence": {
    "ancestry": "Metric.English.ProductionEnglish"
  }
}

Try it out or Try it out in new window

CURL command to get a list of unit system assignments
curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  -d '{
        "persistableReference": "{\"ancestry\": \"Metric.English.ProductionEnglish\"}"
      }' \
  --url '{root-url}/api/crs-catalog/v2/unitsystem?offset=2000&limit=2'

The request returns UnitSystem.

Response example
{
    "name": "ProductionEnglish",
    "description": "Non-standard production units based on English",
    "referenceUnitSystem": "English",
    "ancestry": "Metric.English.ProductionEnglish",
    "lastModified": "19920228",
    "source": "",
    "offset": 2000,
    "unitAssignments": [
        {
            "lastModified": "19920228",
            "measurement": {
                "essence": {
                    "ancestry": "Velocity.Acoustic_Velocity.Stack_Velocity",
                    "type": "UM"
                },
                "deprecationInfo": null,
                "code": "Stack_Velocity",
                "name": "Stacking Velocity",
                "description": "The velocity determined from velocity analysis based upon normal-moveout measurements.",
                "dimensionCode": "Velocity",
                "unitQuantityCode": "AcousticVelocity",
                "namespace": "SLB",
                "lastModified": "19940930",
                "dimensionAnalysis": "L/T",
                "baseMeasurement": false,
                "baseMeasurementEssenceJson": "{\"ancestry\":\"Velocity\",\"type\":\"UM\"}",
                "childMeasurementEssenceJsons": [],
                "unitEssenceJsons": [],
                "preferredUnitEssenceJsons": [],
                "parentEssenceJson": "{\"ancestry\":\"Velocity.Acoustic_Velocity\",\"type\":\"UM\"}",
                "persistableReference": "{\"ancestry\":\"Velocity.Acoustic_Velocity.Stack_Velocity\",\"type\":\"UM\"}"
            },
            "unit": {
                "essence": {
                    "abcd": null,
                    "scaleOffset": {
                        "scale": 0.3048,
                        "offset": 0
                    },
                    "symbol": "ft/s",
                    "baseMeasurement": {
                        "ancestry": "Velocity",
                        "type": "UM"
                    },
                    "type": "USO"
                },
                "deprecationInfo": null,
                "displaySymbol": "ft/s",
                "name": "foot per second",
                "description": null,
                "lastModified": "19920228",
                "source": "APIRP661",
                "namespace": "RP66",
                "persistableReference": "{\"scaleOffset\":{\"scale\":0.3048,\"offset\":0.0},\"symbol\":\"ft/s\",\"baseMeasurement\":{\"ancestry\":\"Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}"
            }
        },
        {
            "lastModified": "",
            "measurement": {
                "essence": {
                    "ancestry": "Time.Time_Interval.Peak_Peak_Delta_Time",
                    "type": "UM"
                },
                "deprecationInfo": null,
                "code": "Peak_Peak_Delta_Time",
                "name": "Peak Peak Delta Time",
                "description": "Time difference between two peaks.",
                "dimensionCode": "Time",
                "unitQuantityCode": "Time",
                "namespace": "SLB",
                "lastModified": "19961028",
                "dimensionAnalysis": "T",
                "baseMeasurement": false,
                "baseMeasurementEssenceJson": "{\"ancestry\":\"Time\",\"type\":\"UM\"}",
                "childMeasurementEssenceJsons": [],
                "unitEssenceJsons": [],
                "preferredUnitEssenceJsons": [],
                "parentEssenceJson": "{\"ancestry\":\"Time.Time_Interval\",\"type\":\"UM\"}",
                "persistableReference": "{\"ancestry\":\"Time.Time_Interval.Peak_Peak_Delta_Time\",\"type\":\"UM\"}"
            },
            "unit": {
                "essence": {
                    "abcd": null,
                    "scaleOffset": {
                        "scale": 3600,
                        "offset": 0
                    },
                    "symbol": "h",
                    "baseMeasurement": {
                        "ancestry": "Time",
                        "type": "UM"
                    },
                    "type": "USO"
                },
                "deprecationInfo": null,
                "displaySymbol": "h",
                "name": "hour",
                "description": null,
                "lastModified": "19920228",
                "source": "APIRP661",
                "namespace": "RP66",
                "persistableReference": "{\"scaleOffset\":{\"scale\":3600.0,\"offset\":0.0},\"symbol\":\"h\",\"baseMeasurement\":{\"ancestry\":\"Time\",\"type\":\"UM\"},\"type\":\"USO\"}"
            }
        }
    ],
    "persistableReference": "{\"ancestry\":\"Metric.English.ProductionEnglish\"}",
    "unitAssignmentCountTotal": 3897,
    "unitAssignmentCountInResponse": 2
}

Back to table of contents

Search anything in the entire catalog

This method provides a general search across all items in the catalog. In this example, the entire Energistics unit of measure system is accessible.

POST /catalog/search?offset=0&limit=2

with body:
{
    "query": "namespace:Energistics_UoM"
}

Try it out

CURL command to search the entire catalog by keywords, Lucene style
curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  -d '{
        "query": "namespace:Energistics_UoM"
      }' \
  --url '{root-url}/api/crs-catalog/v2/catalog/search?offset=0&limit=2'

The request returns QueryResult.

Response example
{
    "totalCount": 3210,
    "offset": 0,
    "units": [
        {
            "essence": {
                "abcd": {
                    "a": 0,
                    "b": 0.01,
                    "c": 1,
                    "d": 0
                },
                "scaleOffset": null,
                "symbol": "%",
                "baseMeasurement": {
                    "ancestry": "1",
                    "type": "UM"
                },
                "type": "UAD"
            },
            "deprecationInfo": null,
            "displaySymbol": "%",
            "name": "percent",
            "description": null,
            "lastModified": "20160322",
            "source": "Energistics",
            "namespace": "Energistics_UoM",
            "persistableReference": "{\"abcd\":{\"a\":0.0,\"b\":0.01,\"c\":1.0,\"d\":0.0},\"symbol\":\"%\",\"baseMeasurement\":{\"ancestry\":\"1\",\"type\":\"UM\"},\"type\":\"UAD\"}"
        },
        {
            "essence": {
                "abcd": {
                    "a": 0,
                    "b": 0.001,
                    "c": 1,
                    "d": 0
                },
                "scaleOffset": null,
                "symbol": "ppk",
                "baseMeasurement": {
                    "ancestry": "1",
                    "type": "UM"
                },
                "type": "UAD"
            },
            "deprecationInfo": null,
            "displaySymbol": "ppk",
            "name": "part per thousand",
            "description": null,
            "lastModified": "20160322",
            "source": "Energistics",
            "namespace": "Energistics_UoM",
            "persistableReference": "{\"abcd\":{\"a\":0.0,\"b\":0.001,\"c\":1.0,\"d\":0.0},\"symbol\":\"ppk\",\"baseMeasurement\":{\"ancestry\":\"1\",\"type\":\"UM\"},\"type\":\"UAD\"}"
        }
    ],
    "measurements": [],
    "unitMapItems": [],
    "measurementMapItems": [],
    "mapStates": [],
    "count": 2
}

Back to table of contents

Miscellaneous methods

Get the MapStates known in the catalog

The Unit of Measure Catalog contains multiple namespaces, which are disconnected, for example OSDD and Energistics_UoM. The catalog also contains mappings between the namespaces for unit and measurement items. Mappings are defined uni-directionally and have a stateattribute. The meaning of the statecode is declared in the MapStates.

This method returns the list of MapStates:

GET /catalog/mapstates?offset=0&limit=10

Try it out

CURL command to get a list of cross-namespace map states
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  --url '{root-url}/api/crs-catalog/v2/catalog/mapstates?offset=0&limit=10'

The response is of type QueryResult.

Response example
{
    "totalCount": 8,
    "offset": 0,
    "units": [],
    "measurements": [],
    "unitMapItems": [],
    "measurementMapItems": [],
    "mapStates": [
        {
            "state": "identical",
            "description": "Indicates that the mapsTo conversion factor is identical to the mapsFrom conversion factor. A copy of the value should be assigned the unit mapsTo. For deprecation state this indicates that the superseded item is identical.",
            "source": "http://w3.energistics.org/uom/Energistics_Unit_of_Measure_Usage_Guide_V1.pdf"
        },
        {
            "state": "precision",
            "description": "Indicates that the mapsTo conversion factor has greater precision (in other words, changes in least significant digits). If there is knowledge that the value was converted from a different unit in the source dictionary, then consider using that conversion factor to reproduce the original value before converting to the target unit using a more precise target conversion factor. Otherwise, a copy of the value should be assigned the unit mapsTo. For deprecation state this indicates that the superseded item has higher precision.",
            "source": "http://w3.energistics.org/uom/Energistics_Unit_of_Measure_Usage_Guide_V1.pdf"
        },
        {
            "state": "corrected",
            "description": "Indicates that the mapsTo conversion factor represents a correction to the mapsFrom conversion factor. That is, the mapsFrom conversion factor has a problem. The value should be treated the same as for a state of precision. For deprecation state this indicates that the superseded item has corrected behavior.",
            "source": "http://w3.energistics.org/uom/Energistics_Unit_of_Measure_Usage_Guide_V1.pdf"
        },
        {
            "state": "conversion",
            "description": "A direct mapping is not specified, but the value can be converted to a supported item if the mapsFrom definition is presumed to be valid. For deprecation state this indicates that the current item can be converted to the superseded item if the current item is presumed to be valid.",
            "source": "http://w3.energistics.org/uom/Energistics_Unit_of_Measure_Usage_Guide_V1.pdf"
        },
        {
            "state": "conditional",
            "description": "Indicates a mapping to a similar alternative with a different underlying conversion factor in the less significant digits. Other mapping alternatives may be available.",
            "source": "http://w3.energistics.org/uom/Energistics_Unit_of_Measure_Usage_Guide_V1.pdf"
        },
        {
            "state": "unsupported",
            "description": "A mapping is not specified because the underlying concept is not supported. For information on how to add a new concept to a dictionary, see http://w3.energistics.org/uom/Energistics_Unit_of_Measure_Usage_Guide_V1.pdf Section 5.1, page 17.",
            "source": "http://w3.energistics.org/uom/Energistics_Unit_of_Measure_Usage_Guide_V1.pdf"
        },
        {
            "state": "different",
            "description": "Similar to ‘corrected’ only that it isn’t as obvious who is wrong. This state is added by OSDD. Typical cases we cannot agree on are the year and the base unit for attenuation. Those are marked as different.",
            "source": "SLB"
        },
        {
            "state": "unresolved",
            "description": "The exact definition is not found in the catalog. A temporary object (a unit or measurement) has been created as a substitute.",
            "source": "SLB"
        }
    ],
    "count": 8
}

Back to table of contents

Get the UnitMap items

UnitMap items carry information about unit mappings between two namespaces. Definitions are uni-directional. In case of "state" = "identical" the definition can be used as bi-directional.

This method returns the list of unitMapItems:

GET /unit/maps?offset=100&limit=2

Try it out

CURL command to get a list of cross-namespace unit mappings
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  --url '{root-url}/api/crs-catalog/v2/unit/maps?offset=100&limit=2'

The response is of type QueryResult.

Response example
{
    "totalCount": 1393,
    "offset": 100,
    "units": [],
    "measurements": [],
    "unitMapItems": [
        {
            "state": "identical",
            "note": "",
            "fromUnit": {
                "essence": {
                    "abcd": null,
                    "scaleOffset": {
                        "scale": 0.003280839895013123,
                        "offset": 0
                    },
                    "symbol": "mV/ft",
                    "baseMeasurement": {
                        "ancestry": "Electric_Potential_Per_Length",
                        "type": "UM"
                    },
                    "type": "USO"
                },
                "deprecationInfo": null,
                "displaySymbol": "mV/ft",
                "name": "millivolt per foot",
                "description": null,
                "lastModified": "19920228",
                "source": "APIRP661",
                "namespace": "RP66",
                "persistableReference": "{\"scaleOffset\":{\"scale\":0.003280839895013123,\"offset\":0.0},\"symbol\":\"mV/ft\",\"baseMeasurement\":{\"ancestry\":\"Electric_Potential_Per_Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
            },
            "toUnit": {
                "essence": {
                    "abcd": {
                        "a": 0,
                        "b": 0.001,
                        "c": 0.3048,
                        "d": 0
                    },
                    "scaleOffset": null,
                    "symbol": "mV/ft",
                    "baseMeasurement": {
                        "ancestry": "LM/IT3",
                        "type": "UM"
                    },
                    "type": "UAD"
                },
                "deprecationInfo": null,
                "displaySymbol": "mV/ft",
                "name": "millivolt per foot",
                "description": null,
                "lastModified": "20160322",
                "source": "Energistics",
                "namespace": "Energistics_UoM",
                "persistableReference": "{\"abcd\":{\"a\":0.0,\"b\":0.001,\"c\":0.3048,\"d\":0.0},\"symbol\":\"mV/ft\",\"baseMeasurement\":{\"ancestry\":\"LM/IT3\",\"type\":\"UM\"},\"type\":\"UAD\"}"
            },
            "fromNamespace": "RP66",
            "toNamespace": "Energistics_UoM"
        },
        {
            "state": "identical",
            "note": "",
            "fromUnit": {
                "essence": {
                    "abcd": null,
                    "scaleOffset": {
                        "scale": 1609.347218694437,
                        "offset": 0
                    },
                    "symbol": "miUS",
                    "baseMeasurement": {
                        "ancestry": "Length",
                        "type": "UM"
                    },
                    "type": "USO"
                },
                "deprecationInfo": null,
                "displaySymbol": "miUS",
                "name": "mile (U.S. survey)",
                "description": null,
                "lastModified": "19920228",
                "source": "APIRP662",
                "namespace": "RP66",
                "persistableReference": "{\"scaleOffset\":{\"scale\":1609.347218694437,\"offset\":0.0},\"symbol\":\"miUS\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
            },
            "toUnit": {
                "essence": {
                    "abcd": {
                        "a": 0,
                        "b": 6336000,
                        "c": 3937,
                        "d": 0
                    },
                    "scaleOffset": null,
                    "symbol": "mi[US]",
                    "baseMeasurement": {
                        "ancestry": "L",
                        "type": "UM"
                    },
                    "type": "UAD"
                },
                "deprecationInfo": null,
                "displaySymbol": "mi[US]",
                "name": "US survey mile",
                "description": null,
                "lastModified": "20160322",
                "source": "Energistics",
                "namespace": "Energistics_UoM",
                "persistableReference": "{\"abcd\":{\"a\":0.0,\"b\":6336000.0,\"c\":3937.0,\"d\":0.0},\"symbol\":\"mi[US]\",\"baseMeasurement\":{\"ancestry\":\"L\",\"type\":\"UM\"},\"type\":\"UAD\"}"
            },
            "fromNamespace": "RP66",
            "toNamespace": "Energistics_UoM"
        }
    ],
    "measurementMapItems": [],
    "mapStates": [],
    "count": 2
}

Back to table of contents

Get the measurementMap items

All measurementMap items carry information about measurement mappings between two namespaces. Definitions are uni-directional. If "state" = "identical" the definition can be used as bi-directional.

This method returns the list of measurementMapItems:

GET /measurement/maps?offset=10&limit=2

Try it out

CURL command to get a list of cross-namespace measurement mappings
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  --url '{root-url}/api/crs-catalog/v2/measurement/maps?offset=10&limit=2'

The response is of type QueryResult.

Response example
{
    "totalCount": 110,
    "offset": 10,
    "units": [],
    "measurements": [],
    "unitMapItems": [],
    "measurementMapItems": [
        {
            "state": "identical",
            "note": "",
            "fromMeasurement": {
                "essence": {
                    "ancestry": "Rotational_Velocity",
                    "type": "UM"
                },
                "deprecationInfo": null,
                "code": "Rotational_Velocity",
                "name": "Rotational Velocity",
                "description": "",
                "dimensionCode": "RotationalVelocity",
                "unitQuantityCode": "RotationalVelocity",
                "namespace": "SLB",
                "lastModified": "19920228",
                "dimensionAnalysis": "A/T",
                "baseMeasurement": true,
                "baseMeasurementEssenceJson": "{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"}",
                "childMeasurementEssenceJsons": [
                    "{\"ancestry\":\"Rotational_Velocity.RotationalVelocity\",\"type\":\"UM\"}",
                    "{\"ancestry\":\"Rotational_Velocity.RotarySpeed\",\"type\":\"UM\"}",
                    "{\"ancestry\":\"Rotational_Velocity.Angular_Velocity\",\"type\":\"UM\"}",
                    "{\"ancestry\":\"Rotational_Velocity.AngularVelocity\",\"type\":\"UM\"}",
                    "{\"ancestry\":\"Rotational_Velocity.Unknown_Rotational_Velocity\",\"type\":\"UM\"}"
                ],
                "unitEssenceJsons": [
                    "{\"scaleOffset\":{\"scale\":4.84813681109536E-6,\"offset\":0.0},\"symbol\":\"D/HR\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":0.10471975511966,\"offset\":0.0},\"symbol\":\"rev/min\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":6.28318530717959,\"offset\":0.0},\"symbol\":\"rev/s\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":0.10471975511966,\"offset\":0.0},\"symbol\":\"rpm\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"RD/S\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":0.10471975511966,\"offset\":0.0},\"symbol\":\"RPM\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":6.28318530717959,\"offset\":0.0},\"symbol\":\"RPS\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":0.10471975511966,\"offset\":0.0},\"symbol\":\"c/min\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":6.28318530717959,\"offset\":0.0},\"symbol\":\"c/s\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":4.84813681109536E-6,\"offset\":0.0},\"symbol\":\"deg/h\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"rad/s\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":6.28318530717959,\"offset\":0.0},\"symbol\":\"rps\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}"
                ],
                "preferredUnitEssenceJsons": [
                    "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"rad/s\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":0.10471975511966,\"offset\":0.0},\"symbol\":\"c/min\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":6.28318530717959,\"offset\":0.0},\"symbol\":\"c/s\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":6.28318530717959,\"offset\":0.0},\"symbol\":\"rev/s\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"},\"type\":\"USO\"}"
                ],
                "parentEssenceJson": null,
                "persistableReference": "{\"ancestry\":\"Rotational_Velocity\",\"type\":\"UM\"}"
            },
            "toMeasurement": {
                "essence": {
                    "ancestry": "A/T.angular velocity",
                    "type": "UM"
                },
                "deprecationInfo": null,
                "code": "angular velocity",
                "name": "angular velocity",
                "description": "",
                "dimensionCode": "A/T",
                "unitQuantityCode": "angular velocity",
                "namespace": "Energistics_UoM",
                "lastModified": "20160322",
                "dimensionAnalysis": "A/T",
                "baseMeasurement": false,
                "baseMeasurementEssenceJson": "{\"ancestry\":\"A/T\",\"type\":\"UM\"}",
                "childMeasurementEssenceJsons": [],
                "unitEssenceJsons": [],
                "preferredUnitEssenceJsons": [
                    "{\"abcd\":{\"a\":0.0,\"b\":3.14159265358979,\"c\":648000.0,\"d\":0.0},\"symbol\":\"dega/h\",\"baseMeasurement\":{\"ancestry\":\"A/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                    "{\"abcd\":{\"a\":0.0,\"b\":3.14159265358979,\"c\":10800.0,\"d\":0.0},\"symbol\":\"dega/min\",\"baseMeasurement\":{\"ancestry\":\"A/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                    "{\"abcd\":{\"a\":0.0,\"b\":3.14159265358979,\"c\":180.0,\"d\":0.0},\"symbol\":\"dega/s\",\"baseMeasurement\":{\"ancestry\":\"A/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                    "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"rad/s\",\"baseMeasurement\":{\"ancestry\":\"A/T\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"abcd\":{\"a\":0.0,\"b\":6.28318530717959,\"c\":1.0,\"d\":0.0},\"symbol\":\"rev/s\",\"baseMeasurement\":{\"ancestry\":\"A/T\",\"type\":\"UM\"},\"type\":\"UAD\"}",
                    "{\"abcd\":{\"a\":0.0,\"b\":6.28318530717959,\"c\":60.0,\"d\":0.0},\"symbol\":\"rpm\",\"baseMeasurement\":{\"ancestry\":\"A/T\",\"type\":\"UM\"},\"type\":\"UAD\"}"
                ],
                "parentEssenceJson": "{\"ancestry\":\"A/T\",\"type\":\"UM\"}",
                "persistableReference": "{\"ancestry\":\"A/T.angular velocity\",\"type\":\"UM\"}"
            },
            "fromNamespace": "SLB",
            "toNamespace": "Energistics_UoM"
        },
        {
            "state": "identical",
            "note": "",
            "fromMeasurement": {
                "essence": {
                    "ancestry": "Rotational_Acceleration",
                    "type": "UM"
                },
                "deprecationInfo": null,
                "code": "Rotational_Acceleration",
                "name": "Rotational Acceleration",
                "description": "",
                "dimensionCode": "RotationalAcceleration",
                "unitQuantityCode": "RotationalAcceleration",
                "namespace": "SLB",
                "lastModified": "19930427",
                "dimensionAnalysis": "A/T2",
                "baseMeasurement": true,
                "baseMeasurementEssenceJson": "{\"ancestry\":\"Rotational_Acceleration\",\"type\":\"UM\"}",
                "childMeasurementEssenceJsons": [
                    "{\"ancestry\":\"Rotational_Acceleration.RotationalAcceleration\",\"type\":\"UM\"}",
                    "{\"ancestry\":\"Rotational_Acceleration.Angular_Acceleration\",\"type\":\"UM\"}"
                ],
                "unitEssenceJsons": [
                    "{\"scaleOffset\":{\"scale\":6.28318530717959,\"offset\":0.0},\"symbol\":\"c/s2\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Acceleration\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"rad/s2\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Acceleration\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":4.84813681109536E-7,\"offset\":0.0},\"symbol\":\"c/h2\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Acceleration\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":0.00174532925199433,\"offset\":0.0},\"symbol\":\"c/min2\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Acceleration\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":0.0174532925199433,\"offset\":0.0},\"symbol\":\"deg/s2\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Acceleration\",\"type\":\"UM\"},\"type\":\"USO\"}"
                ],
                "preferredUnitEssenceJsons": [
                    "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"rad/s2\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Acceleration\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"scaleOffset\":{\"scale\":6.28318530717959,\"offset\":0.0},\"symbol\":\"c/s2\",\"baseMeasurement\":{\"ancestry\":\"Rotational_Acceleration\",\"type\":\"UM\"},\"type\":\"USO\"}"
                ],
                "parentEssenceJson": null,
                "persistableReference": "{\"ancestry\":\"Rotational_Acceleration\",\"type\":\"UM\"}"
            },
            "toMeasurement": {
                "essence": {
                    "ancestry": "A/T2.angular acceleration",
                    "type": "UM"
                },
                "deprecationInfo": null,
                "code": "angular acceleration",
                "name": "angular acceleration",
                "description": "",
                "dimensionCode": "A/T2",
                "unitQuantityCode": "angular acceleration",
                "namespace": "Energistics_UoM",
                "lastModified": "20160322",
                "dimensionAnalysis": "A/T2",
                "baseMeasurement": false,
                "baseMeasurementEssenceJson": "{\"ancestry\":\"A/T2\",\"type\":\"UM\"}",
                "childMeasurementEssenceJsons": [],
                "unitEssenceJsons": [],
                "preferredUnitEssenceJsons": [
                    "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"rad/s2\",\"baseMeasurement\":{\"ancestry\":\"A/T2\",\"type\":\"UM\"},\"type\":\"USO\"}",
                    "{\"abcd\":{\"a\":0.0,\"b\":6.28318530717959,\"c\":60.0,\"d\":0.0},\"symbol\":\"rpm/s\",\"baseMeasurement\":{\"ancestry\":\"A/T2\",\"type\":\"UM\"},\"type\":\"UAD\"}"
                ],
                "parentEssenceJson": "{\"ancestry\":\"A/T2\",\"type\":\"UM\"}",
                "persistableReference": "{\"ancestry\":\"A/T2.angular acceleration\",\"type\":\"UM\"}"
            },
            "fromNamespace": "SLB",
            "toNamespace": "Energistics_UoM"
        }
    ],
    "mapStates": [],
    "count": 2
}

Back to table of contents

Get the Catalog summary

The entire catalog is rarely required and comes with considerable redundancy. This method provides clients with the overview how many items of which kind are defined in the current catalog. The response definition contains the arrays of the different catalog elements. They can be populated - on demand - using the individual methods to get measurements, units, unit systems, maps, etc.

GET /catalog

Try it out

CURL command to get a summary of the catalog contents
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  --url '{root-url}/api/crs-catalog/v2/catalog'

The response is of type catalog.

Response example
{
    "lastModified": "2017-11-01T16:11:13.748643Z",
    "units": [],
    "totalUnitCount": 3695,
    "measurements": [],
    "totalMeasurementCount": 4943,
    "unitSystemInfos": [],
    "totalUnitSystemCount": 14,
    "unitMaps": [],
    "totalUnitMapCount": 1393,
    "measurementMaps": [],
    "totalMeasurementMapCount": 110,
    "mapStates": [],
    "totalMapStateCount": 8
}

Back to table of contents

Get last modified date of the catalog

If you need to cache the catalog or parts of the catalog, the last modification date of the catalog is a simple indicator of when the cache has become stale.

GET /catalog/lastmodified

Try it out

CURL command to get the last modified date of the catalog
curl -X GET \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {Java-Web-Token}' \
  --header 'AppKey: {DELFI Api-Key}' \
  --url '{root-url}/api/crs-catalog/v2/catalog/lastmodified'

The response is of type CatalogLastModified.

Response example
{
    "lastModified": "2017-11-01T16:11:13.748643Z"
}

Back to table of contents

Table of request and response types

Abcd

Properties

NameTypeDescriptionNotes
afloatCoefficient A in the Energistics unit parameterization y = (A+Bx)/(C+Dx)[optional]
bfloatCoefficient B in the Energistics unit parameterization y = (A+Bx)/(C+Dx)[optional]
cfloatCoefficient C in the Energistics unit parameterization y = (A+Bx)/(C+Dx)[optional]
dfloatCoefficient D in the Energistics unit parameterization y = (A+Bx)/(C+Dx)[optional]

Back to table of contents - Back to table of request and response types

Catalog

Properties

NameTypeDescriptionNotes
lastModifieddatetimeThe unit of measure catalog's last modification date.
totalMapStateCountintThe number of MapState items known to this catalog.
mapStateslist[MapState]The MapState items defined in this catalog.empty, for contents get-map-states
totalMeasurementMapCountintThe number of measurement maps, such as one-directional links/correspondences of measurement pairs defined in this catalog.
measurementMapslist[MeasurementMap]The array of measurement maps, such as one-directional links/correspondences of measurement pairs defined in this catalog.empty, for contents get-measurement-map-items
totalMeasurementCountintThe number of measurements, base measurements/dimensions and child measurements, defined in this catalog.
measurementslist[Measurement]The array of measurements, such as base measurements/dimensions and child measurements defined in this catalog.empty, for contents get-measurements
totalUnitMapCountintThe number of unit maps, such as one-directional links/correspondences of unit pairs defined in this catalog.
unitMapslist[UnitMap]The unit maps, such as one-directional links/correspondences of unit pairs defined in this catalog.empty, for contents get-unit-map-items
totalUnitSystemCountintThe number of unit systems defined in this catalog.
unitSystemInfoslist[UnitSystemInfoList]The array of unit systems defined in this catalog.empty, for contents get-unitsystem-list
totalUnitCountintThe number of units defined in this catalog.
unitslist[Unit]The array of units defined in this catalog.empty, for contents get-units

Back to table of contents - Back to table of request and response types

CatalogLastModified

Properties

NameTypeDescriptionNotes
lastModifieddatetimeThe unit of measure catalog's last modification date.[optional]

Back to table of contents - Back to table of request and response types

ConversionAbcdRequest

Properties

NameTypeDescriptionNotes
fromUnitPersistableReferencestringThe persistable reference string (JSON serialized unit 'essence') representing the 'from unit'. Either 'fromUnitPersistableReference' or 'fromUnit' must be populated.[optional]
toUnitPersistableReferencestringThe persistable reference string (JSON serialized unit 'essence') representing the 'to unit'. Either 'toUnitPersistableReference' or 'toUnit' must be populated.[optional]
fromUnitUnitEssenceThe source or 'from' unit essence.[optional]
toUnitUnitEssenceThe target or 'to' unit essence.[optional]

Back to table of contents - Back to table of request and response types

ConversionResult

Properties

NameTypeDescriptionNotes
abcdAbcdThe Energistics y = (A+Bx)/(C+Dx) parameterization - if not present, scaleOffset is populated.[optional]
fromUnitUnitThe source or 'from' unit definition.[optional]
scaleOffsetScaleOffsetThe y = scale*(x-offset) parameterization - if not present, Abcd is populated.[optional]
toUnitUnitThe target or 'to' unit definition.[optional]

Back to table of contents - Back to table of request and response types

ConversionScaleOffsetRequest

Properties

NameTypeDescriptionNotes
fromUnitPersistableReferencestringThe persistable reference string (JSON serialized unit 'essence') representing the 'from unit'. Either 'fromUnitPersistableReference' or 'fromUnit' must be populated.[optional]
toUnitPersistableReferencestringThe persistable reference string (JSON serialized unit 'essence') representing the 'to unit'. Either 'toUnitPersistableReference' or 'toUnit' must be populated.[optional]
fromUnitUnitEssenceThe source or 'from' unit essence.[optional]
toUnitUnitEssenceThe target or 'to' unit essence.[optional]

Back to table of contents - Back to table of request and response types

ErrorResponse

Properties

NameTypeDescriptionNotes
errorstringError message[optional]

Back to table of contents - Back to table of request and response types

MapState

Properties

NameTypeDescriptionNotes
descriptionstringFurther explanation about this MapState.[optional]
sourcestringThe source of this MapState, such as Energistics or SLB.[optional]
statestringThe unique MapState code can be one of the following: 'identical', 'corrected', 'precision', 'conversion', 'conditional', 'unsupported', 'different', or 'unresolved'.[optional]

Back to table of contents - Back to table of request and response types

Measurement

Properties

NameTypeDescriptionNotes
baseMeasurementboolTrue if the measurement is a root or base measurement, also known as dimension. False for any child measurement.[optional]
childMeasurementEssenceJsonslist[string]The essence Json strings of any child measurement of the current measurement.[optional]
codestringThe measurement code.[optional]
deprecationInfoMeasurementDeprecationInfoOptional deprecation information, if the current measurement is declared as deprecated.[optional]
descriptionstringA description string that further describes the meaning and purpose of the current measurement.[optional]
dimensionAnalysisstringThe dimensionality of the measurement in terms of Energistics dimension codes ().[optional]
dimensionCodestringThe OSDD dimension code for 'SLB' or the dimension for namespace 'EnergisticsUoM'.[optional]
essenceMeasurementEssenceThe essential parameterization of the measurement.[optional]
lastModifiedstringThe date this measurement was last updated in the format YYYYMMDD.[optional]
namestringThe name of the current measurement.[optional]
namespacestringThe namespace in which the current code is unique; typical values are 'SLB', 'EnergisticsUoM'[optional]
parentEssenceJsonstringOnly populated for child measurements - the parent measurement as an essence Json string.[optional]
baseMeasurementEssenceJsonstringThe base measurement as an essence Json string; the base measurements return themselves as a persistable reference string.[optional]
preferredUnitEssenceJsonslist[string]If populated, the list of preferred units associated with the current measurement.[optional]
unitQuantityCodestringThe OSDD UnitQuantity code associated with this measurement - only meaningful for namespace 'SLB'.[optional]
unitEssenceJsonslist[string]Only populated for base measurements/dimensions: the units associated with this base measurement/dimension.[optional]

Back to table of contents - Back to table of request and response types

MeasurementDeprecationInfo

Properties

NameTypeDescriptionNotes
remarksstringOptional additional remarks about this deprecation.[optional]
statestringThe deprecation state values are one of the following: 'identical', 'corrected', 'precision', 'conversion', 'conditional', 'unsupported', 'different', or 'unresolved'.[optional]
supersededNyUnitMeasurementstringIf defined, the essence Json string identifying the unit superseding the deprecated unit.[optional]

Back to table of contents - Back to table of request and response types

MeasurementEssence

Properties

NameTypeDescriptionNotes
ancestrystringThe measurement ancestry, meaning the parent codes separated by a period symbol.[optional]
typestringThe type string for this measurement.[optional] [default to 'UM']

Back to table of contents - Back to table of request and response types

MeasurementMap

Properties

NameTypeDescriptionNotes
fromNamespacestringThe source or 'from' namespace.[optional]
measurementMapItemCountintThe number of items in the measurementMapItems array.[optional]
measurementMapItemslist[measurementMapItem]The array of measurementMapItem.[optional]
toNamespacestringThe source or 'from' namespace.[optional]

Back to table of contents - Back to table of request and response types

MeasurementMapItem

Properties

NameTypeDescriptionNotes
fromMeasurementMeasurementThe 'from' measurement of a measurement-to-measurement mapping.[optional]
notestringAny additional remarks and notes about this mapping.[optional]
statestringThe state of the mapping values are one of the following: 'identical', 'corrected', 'precision', 'conversion', 'conditional', 'unsupported', 'different', or 'unresolved'.[optional]
toMeasurementMeasurementThe 'to' measurement of a measurement-to-measurement mapping.[optional]

Back to table of contents - Back to table of request and response types

MeasurementRequest

Properties

NameTypeDescriptionNotes
persistableReferencestringThe persistable reference string for the measurement; optional, only one 'persistableReference' or 'essence' must be defined.[optional]
essenceMeasurementEssenceThe measurement essence.[optional]

Back to table of contents - Back to table of request and response types

QueryResult

Properties

NameTypeDescriptionNotes
countintNumber of items actually returned in this response.[optional]
measurementMapItemslist[MeasurementMapItem]The array of measurement-to-measurement maps.[optional]
measurementslist[Measurement]The array of measurement items.[optional]
offsetintThe offset position for this query. Default is 0.[optional]
totalCountintNumber of items contained in the catalog.[optional]
unitMapItemslist[UnitMapItem]The array of UnitMapItems describing unit-to-unit pairs.[optional]
unitslist[Unit]The array of unit items.[optional]

Back to table of contents - Back to table of request and response types

ScaleOffset

Properties

NameTypeDescriptionNotes
offsetfloatThe offset in y = scale*(x-offset).[optional]
scalefloatThe scale in y = scale*(x-offset).[optional]

Back to table of contents - Back to table of request and response types

SearchMeasurementRequest

Properties

NameTypeDescriptionNotes
querystringThe Lucene style query string with keywords.[optional]

Back to table of contents - Back to table of request and response types

SearchRequest

Properties

NameTypeDescriptionNotes
querystringThe Lucene style query string with keywords.[optional]

Back to table of contents - Back to table of request and response types

SearchUnitRequest

Properties

NameTypeDescriptionNotes
querystringThe Lucene style query string with keywords.[optional]

Back to table of contents - Back to table of request and response types

Unit

Properties

NameTypeDescriptionNotes
deprecationInfoUnitDeprecationInfoIf present, the unit is deprecated. The deprecation information contains hints as to whether or not there is a unit superseding this unit.[optional]
descriptionstringAny additional remarks about this unit or blank.[optional]
displaySymbolstringThe unit symbol or unit abbreviation.[optional]
essenceUnitEssenceThe essential definition of this unit.[optional]
lastModifiedstringThe last modification date of this unit in the format YYYYMMDD.[optional]
namestringThe full name of this unit.[optional]
namespacestringThe namespace in which this unit's symbol is unique. Example namespaces: 'Energistics_UoM', 'RP66', 'ECL', 'LIS'.[optional]
sourcestringThe source of this unit definition.[optional]

Back to table of contents - Back to table of request and response types

UnitAssignment

Properties

NameTypeDescriptionNotes
lastModifiedstringThe last modification date of the assignment in the format YYYYMMDD.[optional]
measurementMeasurementThe measurement in the context of the unit system.[optional]
unitUnitThe unit assigned to the measurement in the context of the unit system.[optional]

Back to table of contents - Back to table of request and response types

UnitDeprecationInfo

Properties

NameTypeDescriptionNotes
remarksstringOptional additional remarks about this deprecation.[optional]
statestringThe deprecation state can be one of the following: 'identical', 'corrected', 'precision', 'conversion', 'conditional', 'unsupported', 'different', or 'unresolved'.[optional]
supersededNyUnitstringIf defined, the essence Json string that identifies the unit superseding the deprecated unit.[optional]

Back to table of contents - Back to table of request and response types

UnitEssence

Properties

NameTypeDescriptionNotes
abcdAbcdThe Energistics y = (A+Bx)/(C+Dx) parameterization - if not present, scaleOffset is populated.[optional]
scaleOffsetScaleOffsetThe y = scale*(x-offset) parameterization - if not present, Abcd is populated.[optional]
symbolstringThe unit symbol or short name.[optional]
baseMeasurementMeasurementEssenceThe essence to the base measurement that identifies which units are convertible).[optional]
typestringThe type string for this unit essence, either 'USO' for ScaleOffset or 'UAD' for Abcd.[optional] [default to 'USO']

Back to table of contents - Back to table of request and response types

UnitMap

Properties

NameTypeDescriptionNotes
fromNamespacestringThe source or 'from' namespace.[optional]
toNamespacestringThe source or 'to' namespace.[optional]
unitMapItemCountintThe number of items in the unitMapItems array.[optional]
unitMapItemslist[UnitMapItem]The array of UnitMapItem.[optional]

Back to table of contents - Back to table of request and response types

UnitMapItem

Properties

NameTypeDescriptionNotes
fromUnitUnitThe 'from' unit of a unit-to-unit mapping.[optional]
notestringAny additional remarks and notes about this mapping.[optional]
statestringThe state of the mapping can be one of the following: 'identical', 'corrected', 'precision', 'conversion', 'conditional', 'unsupported', 'different', or 'unresolved'.[optional]
toUnitUnitThe 'to' unit of a unit-to-unit mapping.[optional]

Back to table of contents - Back to table of request and response types

UnitRequest

Properties

NameTypeDescriptionNotes
persistableReferencestringThe persistable reference string for the unit; optional, only one 'persistableReference' or 'essence' must be defined.[optional]
essenceUnitEssenceUnit essence json structure.[optional]

Back to table of contents - Back to table of request and response types

UnitSystem

Properties

NameTypeDescriptionNotes
ancestrystringThe full ancestry of this unit system.[optional]
descriptionstringAny further description of this unit system.[optional]
lastModifiedstringThe last modification of this unit system core properties formatted as YYYYMMDD.[optional]
namestringThe name of this unit system.[optional]
referenceUnitSystemstringThe unit system code, from which this unit system is derived or a blank string.[optional]
sourcestringSource of the unit system definition.[optional]
offsetintThe offset into the unit assignment list as defined in the request.[optional]
unitAssignmentCountTotalintThe total number of unit assignments provided by this unit system.[optional]
unitAssignmentCountInResponseintThe actual number of unit assignments delivered in this response.[optional]
unitAssignmentslist[UnitAssignment]The unit assignments provided by this unit system.[optional]

Back to table of contents - Back to table of request and response types

UnitSystemEssence

Properties

NameTypeDescriptionNotes
ancestrystringThe full ancestry of this unit system.[optional]

Back to table of contents - Back to table of request and response types

UnitSystemInfo

Properties

NameTypeDescriptionNotes
namestringThe unit system name.[optional]
descriptionstringThe unit system description.[optional]
ancestrystringThe unit system ancestry, in other words, names separated by '.'[optional]
persistableReferencestringThe unit system's persistable reference string.[optional]

Back to table of contents - Back to table of request and response types

UnitSystemInfoList

Properties

NameTypeDescriptionNotes
countintThe number of elements in the list.[optional]
totalCountintThe total number of elements in the list defined in the catalog.[optional]
offsetintThe offset into the list as requested.[optional]
unitSystemInfoListlist[UnitSystemInfo]The array of unit system names.[optional]

Back to table of contents - Back to table of request and response types

UnitSystemRequest

Properties

NameTypeDescriptionNotes
essenceUnitSystemEssenceUnit system essence.[optional]

Back to table of contents - Back to table of request and response types