Slot: Variable Identity (variable_identity)
The variable identity object — what physical quantity is being captured. Bound to VariableIdentity (see envar_variable). Readable rename of the profile's observation_type anatomy slot.
Tier: core
Why this slot matters
Without a standard variable identity, "tmax" in one file and "TMAX" in another cannot be recognised as the same physical quantity, and unit mix-ups (Celsius vs Fahrenheit vs Kelvin) go undetected — pooling and cross-study comparison silently break.
In plain terms
This block pins down exactly what was measured. Instead of relying on a nickname like "tmax", it uses shared vocabularies to say "daily maximum air temperature, in degrees Celsius", so any tool or researcher reads it the same way.
URI: envar:slot/variable_identity
Applicable Classes
Properties
Type and Range
Cardinality and Requirements
| Property |
Value |
| Required |
Yes |
Aliases
Examples
See Also
Annotations
| property |
value |
| tier |
core |
| justification |
Without a standard variable identity, "tmax" in one file and "TMAX" in another cannot be recognised as the same physical quantity, and unit mix-ups (Celsius vs Fahrenheit vs Kelvin) go undetected — pooling and cross-study comparison silently break. |
| explanation |
This block pins down exactly what was measured. Instead of relying on a nickname like "tmax", it uses shared vocabularies to say "daily maximum air temperature, in degrees Celsius", so any tool or researcher reads it the same way. |
| covered_by |
None |
Schema Source
Mappings
| Mapping Type |
Mapped Value |
| self |
envar:variable_identity |
| native |
envar:variable_identity |
| exact |
msprofile:observation_type |
LinkML Source
name: variable_identity
implements:
- msprofile:observation_type
annotations:
tier:
tag: tier
value: core
justification:
tag: justification
value: Without a standard variable identity, "tmax" in one file and "TMAX" in
another cannot be recognised as the same physical quantity, and unit mix-ups
(Celsius vs Fahrenheit vs Kelvin) go undetected — pooling and cross-study comparison
silently break.
explanation:
tag: explanation
value: This block pins down exactly what was measured. Instead of relying on a
nickname like "tmax", it uses shared vocabularies to say "daily maximum air
temperature, in degrees Celsius", so any tool or researcher reads it the same
way.
covered_by:
tag: covered_by
annotations:
omop_gaia:
tag: omop_gaia
annotations:
extent:
tag: extent
value: partial
status:
tag: status
value: asserted
where:
tag: where
value: gaia_db variable_source.variable_name/variable_description + JSON-LD
variableMeasured.propertyID (NERC air_temperature); unit_concept_id
8653
note:
tag: note
value: 'Gaia carries variable name, description, unit, and a CF-mirror
propertyID, but CF cell_methods has no slot. Conservative: partial.'
degauss:
tag: degauss
annotations:
extent:
tag: extent
value: absent
status:
tag: status
value: asserted
where:
tag: where
value: no column
note:
tag: note
value: Variable identity is implicit in the column header tmax with no
CF standard name, cell methods, or unit annotation.
amadeus:
tag: amadeus
annotations:
extent:
tag: extent
value: partial
status:
tag: status
value: asserted
where:
tag: where
value: thredds_dataset.xml long_name/standard_name/description + gridmet_tmmx.cf_metadata.json
units
note:
tag: note
value: 'Amadeus carries a CF-style blob (long_name, units K), but standard_name
is overloaded with the gridMET shortcode, not a real CF term. Conservative:
partial.'
cher:
tag: cher
annotations:
extent:
tag: extent
value: partial
status:
tag: status
value: asserted
where:
tag: where
value: table_column_dictionary.column_tag=Value + column_unit_id (+ planned
ontology tag)
note:
tag: note
value: C-HER tags a Value column with a unit and (planned) ontology tag,
but carries no CF standard name / cell-methods identity.
codata:
tag: codata
annotations:
extent:
tag: extent
value: out_of_layer
status:
tag: status
value: asserted
where:
tag: where
value: no column
note:
tag: note
value: Variable identity is exactly the conceptual/represented layer CODATA
EVs occupy, but as a conceptual framework it is excluded from instance-layer
scoring.
description: The variable identity object — what physical quantity is being captured.
Bound to VariableIdentity (see envar_variable). Readable rename of the profile's
`observation_type` anatomy slot.
title: Variable Identity
examples:
- description: abridged — see tests/data/valid/EnvironmentalExposureRecord-tmax_ideal.yaml
for a full instance
object:
variable_name: tmax
standard_name: CF:air_temperature
cf_cell_methods: 'time: maximum'
units_ucum: Cel
from_schema: https://w3id.org/linkml/microschemas/envar
see_also:
- https://cfconventions.org/
- https://ucum.org/
aliases:
- observation_type
exact_mappings:
- msprofile:observation_type
rank: 1000
domain_of:
- EnvironmentalExposureRecord
slot_group: exposure_description
range: VariableIdentity
required: true
inlined: true