{
  "busVersion": "0.3",
  "title": "BUS-1 v0.2 Unit Code Vocabulary",
  "status": "Normative. These are the codes carried in a unitCode field where unitSystem is bus, which is the default. A unit not in this list MAY be expressed in an external unit system by setting unitSystem; see BUS-1 7.4.",
  "rationale": "Codes are chosen to be readable by the engineers who operate buildings. A controls engineer must be able to read a package without consulting an external unit registry, and must not encounter a form of their own working units that looks unfamiliar.",
  "conventions": {
    "case": "Case-sensitive. Prefixes follow SI capitalization: kW not KW, ms not MS.",
    "composition": "Codes in this list are atomic tokens, not a grammar. Compound units that appear here (kWh, Btu/h, m3/s) are single tokens.",
    "extension": "A unit not in this list is expressed by setting unitSystem to an external system and carrying that system's code. It is not invented as a new bus code.",
    "delta": "Temperature differences use the delta forms. A 2 degree rise is deltaDegF, not degF."
  },
  "externalSystems": {
    "ucum": "The Unified Code for Units of Measure, version 2.2. Rigorous and compositional. Its US-customary forms are awkward to read.",
    "haystack": "Project Haystack unit database, version 4.0.0.",
    "bacnet": "ANSI/ASHRAE 135 Clause 21 enumerated engineering units, carried as the integer enumeration value.",
    "qudt": "QUDT unit vocabulary, as used by Brick 1.4 and later."
  },
  "units": [
    {
      "code": "degF",
      "label": "degrees Fahrenheit",
      "quantity": "temperature",
      "ucum": "[degF]"
    },
    {
      "code": "degC",
      "label": "degrees Celsius",
      "quantity": "temperature",
      "ucum": "Cel"
    },
    {
      "code": "K",
      "label": "kelvin",
      "quantity": "temperature",
      "ucum": "K"
    },
    {
      "code": "deltaDegF",
      "label": "delta degrees Fahrenheit",
      "quantity": "temperatureDifference",
      "ucum": "[degF]"
    },
    {
      "code": "deltaDegC",
      "label": "delta degrees Celsius",
      "quantity": "temperatureDifference",
      "ucum": "Cel"
    },
    {
      "code": "Pa",
      "label": "pascal",
      "quantity": "pressure",
      "ucum": "Pa"
    },
    {
      "code": "kPa",
      "label": "kilopascal",
      "quantity": "pressure",
      "ucum": "kPa"
    },
    {
      "code": "inH2O",
      "label": "inches of water column",
      "quantity": "pressure",
      "ucum": "[in_i'H2O]"
    },
    {
      "code": "inHg",
      "label": "inches of mercury",
      "quantity": "pressure",
      "ucum": "[in_i'Hg]"
    },
    {
      "code": "psi",
      "label": "pounds per square inch",
      "quantity": "pressure",
      "ucum": "[psi]"
    },
    {
      "code": "bar",
      "label": "bar",
      "quantity": "pressure",
      "ucum": "bar"
    },
    {
      "code": "cfm",
      "label": "cubic feet per minute",
      "quantity": "volumetricFlow",
      "ucum": "[cft_i]/min"
    },
    {
      "code": "m3/s",
      "label": "cubic meters per second",
      "quantity": "volumetricFlow",
      "ucum": "m3/s"
    },
    {
      "code": "m3/h",
      "label": "cubic meters per hour",
      "quantity": "volumetricFlow",
      "ucum": "m3/h"
    },
    {
      "code": "L/s",
      "label": "liters per second",
      "quantity": "volumetricFlow",
      "ucum": "L/s"
    },
    {
      "code": "gpm",
      "label": "US gallons per minute",
      "quantity": "volumetricFlow",
      "ucum": "[gal_us]/min"
    },
    {
      "code": "kg/s",
      "label": "kilograms per second",
      "quantity": "massFlow",
      "ucum": "kg/s"
    },
    {
      "code": "lb/h",
      "label": "pounds per hour",
      "quantity": "massFlow",
      "ucum": "[lb_av]/h"
    },
    {
      "code": "fpm",
      "label": "feet per minute",
      "quantity": "velocity",
      "ucum": "[ft_i]/min"
    },
    {
      "code": "m/s",
      "label": "meters per second",
      "quantity": "velocity",
      "ucum": "m/s"
    },
    {
      "code": "W",
      "label": "watt",
      "quantity": "power",
      "ucum": "W"
    },
    {
      "code": "kW",
      "label": "kilowatt",
      "quantity": "power",
      "ucum": "kW"
    },
    {
      "code": "MW",
      "label": "megawatt",
      "quantity": "power",
      "ucum": "MW"
    },
    {
      "code": "Btu/h",
      "label": "BTU per hour",
      "quantity": "power",
      "ucum": "[Btu_IT]/h"
    },
    {
      "code": "MBtu/h",
      "label": "thousand BTU per hour",
      "quantity": "power",
      "ucum": "k[Btu_IT]/h"
    },
    {
      "code": "tonRef",
      "label": "tons of refrigeration",
      "quantity": "power",
      "ucum": null,
      "note": "One ton of refrigeration is 12000 Btu/h exactly. UCUM has no code for it. Project Haystack does, via the Fantom unit database it delegates to: tons_refrigeration, symbol tonref. The v0.2 claim that no external registry had an equivalent was wrong."
    },
    {
      "code": "hp",
      "label": "horsepower",
      "quantity": "power",
      "ucum": "[HP]"
    },
    {
      "code": "Wh",
      "label": "watt hour",
      "quantity": "energy",
      "ucum": "W.h"
    },
    {
      "code": "kWh",
      "label": "kilowatt hour",
      "quantity": "energy",
      "ucum": "kW.h"
    },
    {
      "code": "MWh",
      "label": "megawatt hour",
      "quantity": "energy",
      "ucum": "MW.h"
    },
    {
      "code": "J",
      "label": "joule",
      "quantity": "energy",
      "ucum": "J"
    },
    {
      "code": "MJ",
      "label": "megajoule",
      "quantity": "energy",
      "ucum": "MJ"
    },
    {
      "code": "Btu",
      "label": "British thermal unit",
      "quantity": "energy",
      "ucum": "[Btu_IT]"
    },
    {
      "code": "therm",
      "label": "therm",
      "quantity": "energy",
      "ucum": "[Btu_IT]"
    },
    {
      "code": "tonHours",
      "label": "ton hours of refrigeration",
      "quantity": "energy",
      "ucum": null
    },
    {
      "code": "V",
      "label": "volt",
      "quantity": "electricPotential",
      "ucum": "V"
    },
    {
      "code": "A",
      "label": "ampere",
      "quantity": "electricCurrent",
      "ucum": "A"
    },
    {
      "code": "kVA",
      "label": "kilovolt-ampere",
      "quantity": "apparentPower",
      "ucum": "kV.A"
    },
    {
      "code": "kVAR",
      "label": "kilovolt-ampere reactive",
      "quantity": "reactivePower",
      "ucum": null
    },
    {
      "code": "Hz",
      "label": "hertz",
      "quantity": "frequency",
      "ucum": "Hz"
    },
    {
      "code": "pf",
      "label": "power factor",
      "quantity": "ratio",
      "ucum": "1"
    },
    {
      "code": "ohm",
      "label": "ohm",
      "quantity": "resistance",
      "ucum": "Ohm"
    },
    {
      "code": "m",
      "label": "meter",
      "quantity": "length",
      "ucum": "m"
    },
    {
      "code": "mm",
      "label": "millimeter",
      "quantity": "length",
      "ucum": "mm"
    },
    {
      "code": "ft",
      "label": "foot",
      "quantity": "length",
      "ucum": "[ft_i]"
    },
    {
      "code": "in",
      "label": "inch",
      "quantity": "length",
      "ucum": "[in_i]"
    },
    {
      "code": "m2",
      "label": "square meters",
      "quantity": "area",
      "ucum": "m2"
    },
    {
      "code": "ft2",
      "label": "square feet",
      "quantity": "area",
      "ucum": "[sft_i]"
    },
    {
      "code": "m3",
      "label": "cubic meters",
      "quantity": "volume",
      "ucum": "m3"
    },
    {
      "code": "ft3",
      "label": "cubic feet",
      "quantity": "volume",
      "ucum": "[cft_i]"
    },
    {
      "code": "L",
      "label": "liter",
      "quantity": "volume",
      "ucum": "L"
    },
    {
      "code": "gal",
      "label": "US gallon",
      "quantity": "volume",
      "ucum": "[gal_us]"
    },
    {
      "code": "kg",
      "label": "kilogram",
      "quantity": "mass",
      "ucum": "kg"
    },
    {
      "code": "lb",
      "label": "pound",
      "quantity": "mass",
      "ucum": "[lb_av]"
    },
    {
      "code": "ms",
      "label": "millisecond",
      "quantity": "time",
      "ucum": "ms"
    },
    {
      "code": "s",
      "label": "second",
      "quantity": "time",
      "ucum": "s"
    },
    {
      "code": "min",
      "label": "minute",
      "quantity": "time",
      "ucum": "min"
    },
    {
      "code": "h",
      "label": "hour",
      "quantity": "time",
      "ucum": "h"
    },
    {
      "code": "day",
      "label": "day",
      "quantity": "time",
      "ucum": "d"
    },
    {
      "code": "yr",
      "label": "year",
      "quantity": "time",
      "ucum": "a"
    },
    {
      "code": "pct",
      "label": "percent",
      "quantity": "ratio",
      "ucum": "%"
    },
    {
      "code": "pctRH",
      "label": "percent relative humidity",
      "quantity": "relativeHumidity",
      "ucum": "%"
    },
    {
      "code": "ppm",
      "label": "parts per million",
      "quantity": "concentration",
      "ucum": "[ppm]"
    },
    {
      "code": "ppb",
      "label": "parts per billion",
      "quantity": "concentration",
      "ucum": "[ppb]"
    },
    {
      "code": "ratio",
      "label": "dimensionless ratio",
      "quantity": "ratio",
      "ucum": "1"
    },
    {
      "code": "count",
      "label": "count",
      "quantity": "count",
      "ucum": "1"
    },
    {
      "code": "mg/m3",
      "label": "milligrams per cubic meter",
      "quantity": "massConcentration",
      "ucum": "mg/m3"
    },
    {
      "code": "ug/m3",
      "label": "micrograms per cubic meter",
      "quantity": "massConcentration",
      "ucum": "ug/m3"
    },
    {
      "code": "gPerKg",
      "label": "grams of water per kilogram of dry air",
      "quantity": "humidityRatio",
      "ucum": "g/kg"
    },
    {
      "code": "grPerLb",
      "label": "grains of water per pound of dry air",
      "quantity": "humidityRatio",
      "ucum": "[gr]/[lb_av]"
    },
    {
      "code": "rpm",
      "label": "revolutions per minute",
      "quantity": "rotationalSpeed",
      "ucum": "{rpm}"
    },
    {
      "code": "lux",
      "label": "lux",
      "quantity": "illuminance",
      "ucum": "lx"
    },
    {
      "code": "fc",
      "label": "foot-candle",
      "quantity": "illuminance",
      "ucum": "[ftc]"
    },
    {
      "code": "dB",
      "label": "decibel",
      "quantity": "soundLevel",
      "ucum": "dB"
    },
    {
      "code": "dBA",
      "label": "A-weighted decibel",
      "quantity": "soundLevel",
      "ucum": null
    },
    {
      "code": "deg",
      "label": "degree of arc",
      "quantity": "angle",
      "ucum": "deg"
    },
    {
      "code": "rad",
      "label": "radian",
      "quantity": "angle",
      "ucum": "rad"
    }
  ],
  "deprecationPolicy": "A term in this vocabulary is never deleted. A term that should no longer be written carries a `deprecation` object — deprecatedIn, replacedBy, reason, mitigation — and a receiver MUST continue to accept it (15.5). No term is deprecated as of v0.3.",
  "deprecationSchema": "https://spec.bustandard.org/v0.3/bus-core.schema.json#/$defs/Deprecation",
  "dimensionBasis": "SI base quantities, in the order [length, mass, time, electricCurrent, thermodynamicTemperature, amountOfSubstance, luminousIntensity]. Two quantities are dimensionally compatible when their vectors are equal and their kinds are equal or either kind is absent. The kind field exists because a pure vector calls an angle compatible with an efficiency and real power compatible with reactive — equalities that are numerically defensible and operationally wrong.",
  "quantities": {
    "angle": {
      "dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "dimensionless": true,
      "kind": "angle"
    },
    "apparentPower": {
      "dimension": [
        2,
        1,
        -3,
        0,
        0,
        0,
        0
      ],
      "kind": "apparent"
    },
    "area": {
      "dimension": [
        2,
        0,
        0,
        0,
        0,
        0,
        0
      ]
    },
    "concentration": {
      "dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "dimensionless": true,
      "kind": "concentration"
    },
    "count": {
      "dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "dimensionless": true,
      "kind": "count"
    },
    "electricCurrent": {
      "dimension": [
        0,
        0,
        0,
        1,
        0,
        0,
        0
      ]
    },
    "electricPotential": {
      "dimension": [
        2,
        1,
        -3,
        -1,
        0,
        0,
        0
      ]
    },
    "energy": {
      "dimension": [
        2,
        1,
        -2,
        0,
        0,
        0,
        0
      ]
    },
    "frequency": {
      "dimension": [
        0,
        0,
        -1,
        0,
        0,
        0,
        0
      ]
    },
    "humidityRatio": {
      "dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "dimensionless": true,
      "kind": "humidityRatio"
    },
    "illuminance": {
      "dimension": [
        -2,
        0,
        0,
        0,
        0,
        0,
        1
      ]
    },
    "length": {
      "dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ]
    },
    "mass": {
      "dimension": [
        0,
        1,
        0,
        0,
        0,
        0,
        0
      ]
    },
    "massConcentration": {
      "dimension": [
        -3,
        1,
        0,
        0,
        0,
        0,
        0
      ]
    },
    "massFlow": {
      "dimension": [
        0,
        1,
        -1,
        0,
        0,
        0,
        0
      ]
    },
    "power": {
      "dimension": [
        2,
        1,
        -3,
        0,
        0,
        0,
        0
      ],
      "kind": "real"
    },
    "pressure": {
      "dimension": [
        -1,
        1,
        -2,
        0,
        0,
        0,
        0
      ]
    },
    "ratio": {
      "dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "dimensionless": true,
      "kind": "ratio"
    },
    "reactivePower": {
      "dimension": [
        2,
        1,
        -3,
        0,
        0,
        0,
        0
      ],
      "kind": "reactive"
    },
    "relativeHumidity": {
      "dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "dimensionless": true,
      "kind": "relativeHumidity"
    },
    "resistance": {
      "dimension": [
        2,
        1,
        -3,
        -2,
        0,
        0,
        0
      ]
    },
    "rotationalSpeed": {
      "dimension": [
        0,
        0,
        -1,
        0,
        0,
        0,
        0
      ],
      "kind": "rotation"
    },
    "soundLevel": {
      "dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "dimensionless": true,
      "kind": "logarithmicLevel"
    },
    "temperature": {
      "dimension": [
        0,
        0,
        0,
        0,
        1,
        0,
        0
      ],
      "kind": "absolute"
    },
    "temperatureDifference": {
      "dimension": [
        0,
        0,
        0,
        0,
        1,
        0,
        0
      ],
      "kind": "difference"
    },
    "time": {
      "dimension": [
        0,
        0,
        1,
        0,
        0,
        0,
        0
      ]
    },
    "velocity": {
      "dimension": [
        1,
        0,
        -1,
        0,
        0,
        0,
        0
      ]
    },
    "volume": {
      "dimension": [
        3,
        0,
        0,
        0,
        0,
        0,
        0
      ]
    },
    "volumetricFlow": {
      "dimension": [
        3,
        0,
        -1,
        0,
        0,
        0,
        0
      ]
    }
  }
}
