eradiate.units¶
Attributes¶
- eradiate.units.unit_context_config¶
Unit context used when interpreting config dictionaries. Aliased in
eradiate.
Enumerations¶
- class eradiate.units.PhysicalQuantity(value)[source]¶
An enumeration defining physical quantities known to Eradiate.
- classmethod spectrum()[source]¶
Return a tuple containing a subset of
PhysicalQuantitymembers suitable forSpectruminitialization. This function caches its results for improved efficiency.
Functions¶
- eradiate.units.interpret_quantities(d, quantity_map, uctx, force=False)[source]¶
Advanced unit interpretation and wrapping for dictionaries. This function first calls
pinttrs.interpret_units()to interpret units attached to a given field. Then, it converts quantities and possibly applies default units to fields specified inquantity_mapbased onuctx.- Parameters:
d (
dict) – Dictionary to apply unit conversion, checking and defaults.quantity_map (
dict[str,str]) – Dictionary mapping fields to quantity identifiers (seePhysicalQuantityfor valid quantity IDs).uctx (
pinttrs.UnitContext) – Unit context containing quantity and default units definitions.force (
bool, default:False) – IfTrue, fields specified as quantities will be converted to target units; otherwise, only units compatibility will be checked.
- Returns:
dict– Dictionary with units interpreted and checked, and default units applied to relevant fields.- Raises:
pinttrs.UnitsError – If a field and its mapped quantity have incompatible units.
See also
- eradiate.units.to_quantity(da)[source]¶
Converts a
DataArrayto aQuantity. The array’sattrsmetadata mapping must contain aunitsfield.- Parameters:
da (
DataArray) –DataArrayinstance which will be converted.- Returns:
quantity– The corresponding Pint quantity.- Raises:
ValueError – If the array’s metadata do not contain a
unitsfield.
Notes
This function can also be used on coordinate variables.