Skip to content

Slot: Unit Conversion Formula (unit_conversion_formula)

The conversion from the source's native representation to the values in the companion data file, written out, e.g. Cel = K - 273.15 or K = stored × 0.1 + 220.0; Cel = K - 273.15. Required whenever native_units_ucum is declared.

Tier: conditionally_core

Why this slot matters

Twin value columns and silent container conversions are how factor-of-1.8 unit errors enter exposure analyses undetected. Once native units are declared, the bridging math is the only record of how the file's values relate to the source's — it is what makes the conversion checkable rather than trusted.

In plain terms

When the original data used different units, this spells out the exact arithmetic that turned them into the numbers in the data file — like showing your work in a calculation, so others can check it.

URI: envar:slot/unit_conversion_formula

Applicable Classes

Name Description Modifies Slot
VariableIdentity The identity and semantics of an environmental exposure variable — what physi... no

Properties

Type and Range

Property Value
Range String
Domain Of VariableIdentity

Cardinality and Requirements

Property Value

Examples

Value
K = stored * 0.1 + 220.0; Cel = K - 273.15

Comments

  • Added after the reverse gap survey (docs/reverse-gap-survey.md, 2026-07): the Amadeus translation carried this exact math only as a YAML comment ("the schema has no slot for it"), and the GAIA scenario hand-added it as an envar:unit_conversion PropertyValue. The comparison table in the EnVar pipeline repo lists "K→°C conversion math recorded: ❌" for every pipeline — this slot is the fix.

Identifier and Mapping Information

Annotations

property value
tier conditionally_core
justification Twin value columns and silent container conversions are how factor-of-1.8 unit errors enter exposure analyses undetected. Once native units are declared, the bridging math is the only record of how the file's values relate to the source's — it is what makes the conversion checkable rather than trusted.
explanation When the original data used different units, this spells out the exact arithmetic that turned them into the numbers in the data file — like showing your work in a calculation, so others can check it.

Schema Source

Mappings

Mapping Type Mapped Value
self envar:unit_conversion_formula
native envar:unit_conversion_formula

LinkML Source

name: unit_conversion_formula
annotations:
  tier:
    tag: tier
    value: conditionally_core
  justification:
    tag: justification
    value: Twin value columns and silent container conversions are how factor-of-1.8
      unit errors enter exposure analyses undetected. Once native units are declared,
      the bridging math is the only record of how the file's values relate to the
      source's — it is what makes the conversion checkable rather than trusted.
  explanation:
    tag: explanation
    value: When the original data used different units, this spells out the exact
      arithmetic that turned them into the numbers in the data file — like showing
      your work in a calculation, so others can check it.
description: The conversion from the source's native representation to the values
  in the companion data file, written out, e.g. `Cel = K - 273.15` or `K = stored
  × 0.1 + 220.0; Cel = K - 273.15`. Required whenever `native_units_ucum` is declared.
title: Unit Conversion Formula
comments:
- 'Added after the reverse gap survey (docs/reverse-gap-survey.md, 2026-07): the Amadeus
  translation carried this exact math only as a YAML comment ("the schema has no slot
  for it"), and the GAIA scenario hand-added it as an `envar:unit_conversion` PropertyValue.
  The comparison table in the EnVar pipeline repo lists "K→°C conversion math recorded:
  ❌" for every pipeline  this slot is the fix.'
examples:
- value: K = stored * 0.1 + 220.0; Cel = K - 273.15
  description: gridMET tmmx unpack-then-convert chain in the Amadeus scenario
from_schema: https://w3id.org/linkml/microschemas/envar
rank: 1000
domain_of:
- VariableIdentity
range: string