dimensional-1.5: Statically checked physical dimensions
CopyrightCopyright (C) 2006-2018 Bjorn Buckwalter
LicenseBSD3
Maintainerbjorn@buckwalter.se
StabilityStable
PortabilityGHC only
Safe HaskellNone
LanguageHaskell2010

Numeric.Units.Dimensional.NonSI

Description

Summary

This module defines units that are not part of the SI, with the exception of those defined in the Numeric.Units.Dimensional.SIUnits module (units outside of the SI accepted for use with the SI).

Any chapters, sections or tables referenced are from [1] unless otherwise specified.

Neper, bel, shannon and the like

The units of section 5.1.2 are purposefully (but not permanently) omitted. In fact the logarithmic units (see section 8.7) are problematic and it is not clear how to implement them. Perhaps with a conversion function similar to for degrees Celsius.

References

  1. https://www.nist.gov/pml/special-publication-811
  2. https://www.iau.org/publications/proceedings_rules/units/
  3. https://en.wikipedia.org/wiki/Pressure
  4. https://en.wikipedia.org/wiki/Torr
Synopsis

Units Defined By Experiment

From Table 7, units accepted for use with the SI whose values in SI units are obtained experimentally.

When [1] was published, the electron volt had a standard combined uncertainity of 0.00000049e-19 J and the unified atomic mass unit had a combined uncertainty of 0.0000010e-27 kg.

Dimensionless Units

percent :: Fractional a => Unit 'NonMetric DOne a Source #

One percent is one hundrendth.

The dimensionless number 0.01, represented by the symbol %, is commonly used as a dimensionless unit.

See section 7.10.2 of the [1] for further information.

>>> 1 *~ percent
1.0e-2

Standard Gravity

gee :: Fractional a => Unit 'Metric DAcceleration a Source #

One gee is the standard value of the acceleration due to gravity at the Earth's surface, as standardized by CIPM.

Note that local values of acceleration due to gravity will differ from the standard gravity.

See here for further information.

>>> 1 *~ gee
9.80665 m s^-2
>>> 1 *~ gee :: Acceleration Rational
196133 % 20000 m s^-2

Inch-pound Units

Some US customary (that is, inch-pound) units.

poundMass :: Fractional a => Unit 'NonMetric DMass a Source #

One avoirdupois pound is a mass, exactly defined in terms of the kilogram by the international yard and pound agreement of 1959.

See here for further information.

>>> 1 *~ poundMass
0.45359237 kg
>>> 1 *~ poundMass :: Mass Rational
45359237 % 100000000 kg

ounce :: Fractional a => Unit 'NonMetric DMass a Source #

One avoirdupois ounce is one sixteenth of a poundMass.

See here for further information.

>>> 1 *~ ounce
2.8349523125e-2 kg
16 *~ ounce === 1 *~ poundMass
>>> 1 *~ ounce :: Mass Rational
45359237 % 1600000000 kg

poundForce :: Fractional a => Unit 'NonMetric DForce a Source #

The pound-force is equal to the gravitational force exerted on a mass of one avoirdupois pound on the surface of Earth.

This definition is based on standard gravity (the gee) and the international avoirdupois poundMass.

See here for further information.

>>> 1 *~ poundForce
4.4482216152605 m kg s^-2
1 *~ poundForce === 1 *~ poundMass * (1 *~ gee)
>>> 1 *~ poundForce :: Force Rational
8896443230521 % 2000000000000 m kg s^-2

horsepower :: Fractional a => Unit 'NonMetric DPower a Source #

One mechanical horsepower is by definition the power necessary to apply a force of 550 poundForce through a distance of one foot per second.

See here for further information.

>>> 1 *~ horsepower
745.6998715822702 m^2 kg s^-3
1 *~ horsepower === 550 *~ poundForce * (1 *~ foot) / (1 *~ second)
>>> 1 *~ horsepower :: Power Rational
37284993579113511 % 50000000000000 m^2 kg s^-3

btu :: Fractional a => Unit 'NonMetric DEnergy a Source #

One btu is is the QuantityOfHeat required to raise the temperature of 1 avoirdupois poundMass of liquid water by 1 degreeFahrenheit at a constant pressure of one atmosphere.

Because this value must be determined experimentally and varies with temperature, several standardized values of the btu have arisen. This is the value based on the International Steam Table calorie, defined by the Fifth International Conference on the Properties of Steam.

See here for further information.

>>> 1 *~ btu
1055.05585262 m^2 kg s^-2
>>> 1 *~ btu :: Energy Rational
52752792631 % 50000000 m^2 kg s^-2

shortTon :: Fractional a => Unit 'NonMetric DMass a Source #

One short ton is two thousand poundMass.

See here for further information.

>>> 1 *~ shortTon
907.18474 kg
>>> 1 *~ shortTon :: Mass Rational
45359237 % 50000 kg

nauticalMile :: Num a => Unit 'NonMetric DLength a Source #

One nautical mile is a unit of length, set by international agreement as being exactly 1 852 meters.

Historically, it was defined as the distance spanned by one minute of arc along a meridian of the Earth.

See here for further information.

>>> 1 *~ nauticalMile
1852.0 m
>>> 1 *~ nauticalMile :: Length Rational
1852 % 1 m

knot :: Fractional a => Unit 'NonMetric DVelocity a Source #

One knot is a velocity equal to one nauticalMile per hour.

See here for further information.

>>> 1 *~ knot
0.5144444444444445 m s^-1
>>> 1 *~ knot :: Velocity Rational
463 % 900 m s^-1

revolution :: Floating a => Unit 'NonMetric DOne a Source #

One revolution is an angle equal to 2*pi radians; a full circle.

See here for further information.

>>> 1 *~ revolution
6.283185307179586
1 *~ revolution === _2 * pi * (1 *~ radian)
1 *~ revolution === 360 *~ degree

slug :: Fractional a => Unit 'NonMetric DMass a Source #

The slug is a unit of mass associated with Imperial units and United States customary units. It is a mass that accelerates by 1 foot per second per second when a force of one pound is exerted on it.

This definition is based on standard gravity (the gee), the international foot, and the international avoirdupois poundMass.

See here for further information.

>>> 1 *~ slug
14.593902937206364 kg
>>> 1 *~ slug :: Mass Rational
8896443230521 % 609600000000 kg

psi :: Fractional a => Unit 'NonMetric DPressure a Source #

One psi is a pressure of one poundForce per square inch of area.

See here for further information.

>>> 1 *~ psi
6894.757293168362 m^-1 kg s^-2
>>> 1 *~ psi :: Pressure Rational
8896443230521 % 1290320000 m^-1 kg s^-2

International Foot

foot :: Fractional a => Unit 'NonMetric DLength a Source #

One international foot is one third of an international yard.

See here for further information.

>>> 1 *~ foot
0.3048 m
3 *~ foot === 1 *~ yard
>>> 1 *~ foot :: Length Rational
381 % 1250 m

inch :: Fractional a => Unit 'NonMetric DLength a Source #

One inch is one twelth of a foot.

This inch is based on the international foot.

See here for further information.

>>> 1 *~ inch
2.54e-2 m
12 *~ inch === 1 *~ foot
>>> 1 *~ inch :: Length Rational
127 % 5000 m

mil :: Fractional a => Unit 'NonMetric DLength a Source #

One mil is one thousandth of an inch.

This mil is based on the international inch.

See here for further information.

>>> 1 *~ mil
2.54e-5 m
1000 *~ mil === 1 *~ inch
>>> 1 *~ mil :: Length Rational
127 % 5000000 m

yard :: Fractional a => Unit 'NonMetric DLength a Source #

One yard, as defined by international agreement in 1959, is precisely 0.9144 meter.

See here for further information.

>>> 1 *~ yard
0.9144 m
>>> 1 *~ yard :: Length Rational
1143 % 1250 m

mile :: Fractional a => Unit 'NonMetric DLength a Source #

One mile is 5 280 feet.

This mile is based on the international foot.

See here for further information.

>>> 1 *~ mile
1609.344 m
1 *~ mile === 5280 *~ foot
>>> 1 *~ mile :: Length Rational
201168 % 125 m

acre :: Fractional a => Unit 'NonMetric DArea a Source #

One acre is 43 560 square feet.

This acre is based on the international foot. For the acre based on the US Survey Foot, see usSurveyAcre. While both acres are in use, the difference between them is of little consequence for most applications in which either is used.

See here for further information.

>>> 1 *~ acre
4046.8564224 m^2
1 *~ acre === 43560 *~ foot ^ pos2
>>> 1 *~ acre :: Area Rational
316160658 % 78125 m^2

US Survey Foot

usSurveyFoot :: Fractional a => Unit 'NonMetric DLength a Source #

One US survey foot is 1200/3937 meter.

For the international foot, see foot. Note that this is not the foot in routine use in the United States.

See here for further information.

>>> 1 *~ usSurveyFoot
0.3048006096012192 m
>>> 1 *~ usSurveyFoot :: Length Rational
1200 % 3937 m

usSurveyInch :: Fractional a => Unit 'NonMetric DLength a Source #

One inch is one twelth of a foot.

This inch is based on the usSurveyFoot. For the inch based on the international foot, see inch. Note that this is not the inch in routine use in the United States.

See here for further information.

>>> 1 *~ usSurveyInch
2.54000508001016e-2 m
12 *~ usSurveyInch === 1 *~ usSurveyFoot
>>> 1 *~ usSurveyInch :: Length Rational
100 % 3937 m

usSurveyMil :: Fractional a => Unit 'NonMetric DLength a Source #

One mil is one thousandth of an inch.

This mil is based on the usSurveyInch. For the mil based on the international inch, see mil. Note that this is not the mil in routine use in the United States.

See here for further information.

>>> 1 *~ usSurveyMil
2.54000508001016e-5 m
1000 *~ usSurveyMil === 1 *~ usSurveyInch
>>> 1 *~ usSurveyMil :: Length Rational
1 % 39370 m

usSurveyYard :: Fractional a => Unit 'NonMetric DLength a Source #

One yard is three feet.

This yard is based on the usSurveyFoot. For the international yard, see yard. Note that this is not the yard in routine use in the United States.

See here for further information.

>>> 1 *~ usSurveyYard
0.9144018288036576 m
1 *~ usSurveyYard === 3 *~ usSurveyFoot
>>> 1 *~ usSurveyYard :: Length Rational
3600 % 3937 m

usSurveyMile :: Fractional a => Unit 'NonMetric DLength a Source #

One US survey mile is 5 280 US survey feet.

This mile is based on the usSurveyFoot. For the mile based on the international foot, see mile. Note that this is not the mile in routine use in the United States.

See here for further information.

>>> 1 *~ usSurveyMile
1609.3472186944373 m
1 *~ usSurveyMile === 5280 *~ usSurveyFoot
>>> 1 *~ usSurveyMile :: Length Rational
6336000 % 3937 m

usSurveyAcre :: Fractional a => Unit 'NonMetric DArea a Source #

One acre is 43 560 square feet.

This acre is based on the usSurveyFoot. For the acre based on the international foot, see acre. While both acres are in use, the difference between them is of little consequence for most applications in which either is used. This is the only acre defined by the UCUM.

See here for further information.

>>> 1 *~ usSurveyAcre
4046.872609874252 m^2
1 *~ usSurveyAcre === 43560 *~ usSurveyFoot ^ pos2
>>> 1 *~ usSurveyAcre :: Area Rational
62726400000 % 15499969 m^2

Years

The IAU recommends [2] that:

Although there are several different kinds of year (as there are several kinds of day), it is best to regard a year as a Julian year of 365.25 days (31557600 s) unless otherwise specified.

year :: Num a => Unit 'NonMetric DTime a Source #

One Julian year is a unit of measurement of time defined as exactly 365.25 days of 86 400 seconds each.

See here for further information.

1 *~ year === 365.25 *~ day
>>> 1 *~ year
3.15576e7 s
>>> 1 *~ year :: Time Rational
31557600 % 1 s

decade :: Num a => Unit 'NonMetric DTime a Source #

One Julian decade is ten Julian years.

1 *~ decade === 10 *~ year
>>> 1 *~ decade
3.15576e8 s
>>> 1 *~ decade :: Time Rational
315576000 % 1 s

century :: Num a => Unit 'NonMetric DTime a Source #

One Julian century is one hundred Julian years, or 35 525 days of 86 400 seconds each.

1 *~ century === 100 *~ year
1 *~ century === 36525 *~ day
>>> 1 *~ century
3.15576e9 s
>>> 1 *~ century :: Time Rational
3155760000 % 1 s

millennium :: Num a => Unit 'NonMetric DTime a Source #

One Julian millennium is one thousand Julian years.

1 *~ millennium === 1000 *~ year
>>> 1 *~ millennium
3.15576e10 s
>>> 1 *~ millennium :: Time Rational
31557600000 % 1 s

Pressure Units

It seems that nearly every area of application has its own customary unit for measuring pressure. We include some of the common ones here. psi was defined earlier.

bar :: Num a => Unit 'Metric DPressure a Source #

The bar is exactly 100 000 pascal.

From Wikipedia:

It is about equal to the atmospheric pressure on Earth at sea level.

>>> 1 *~ bar
100000.0 m^-1 kg s^-2
>>> 1 *~ bar :: Pressure Rational
100000 % 1 m^-1 kg s^-2

atmosphere :: Num a => Unit 'NonMetric DPressure a Source #

The "standard atmosphere".

From Wikipedia [3]:

The standard atmosphere (atm) is an established constant. It is approximately equal to typical air pressure at earth mean sea level.

>>> 1 *~ atmosphere
101325.0 m^-1 kg s^-2
>>> 1 *~ atmosphere :: Pressure Rational
101325 % 1 m^-1 kg s^-2

technicalAtmosphere :: Fractional a => Unit 'NonMetric DPressure a Source #

The "technical atmosphere"

From Wikipedia:

A technical atmosphere (symbol: at) is a non-SI unit of pressure equal to one kilogram-force per square centimeter.

>>> 1 *~ technicalAtmosphere
98066.5 m^-1 kg s^-2
>>> 1 *~ technicalAtmosphere :: Pressure Rational
196133 % 2 m^-1 kg s^-2

mmHg :: Fractional a => Unit 'NonMetric DPressure a Source #

The conventional value for the pressure exerted by a 1 mm high column of mercury.

Per Wikipedia [4], one mmHg (millimeter of mercury) is defined as:

The pressure exerted at the base of a column of fluid exactly 1 mm high, when the density of the fluid is exactly 13.5951 g/cm^3, at a place where the acceleration of gravity is exactly 9.80665 m/s^2.

The chosen fluid density approximately corresponds to that of mercury at 0 deg. Under most conditions, 1 mmHg is approximately equal to 1 torr.

>>> 1 *~ mmHg
133.322 m^-1 kg s^-2
>>> 1 *~ mmHg :: Pressure Rational
66661 % 500 m^-1 kg s^-2

inHg :: Fractional a => Unit 'NonMetric DPressure a Source #

The conventional value for the pressure exerted by a 1 inch high column of mercury.

Column inches of mercury are also used to measure pressure, especially in meteorological or aeronautical contexts in the United States.

This is the value defined by UCUM. For the value defined by NIST, see inHg_NIST.

>>> 1 *~ inHg
3386.3788 m^-1 kg s^-2
>>> 1 *~ inHg :: Pressure Rational
8465947 % 2500 m^-1 kg s^-2

inHg_UCUM :: Fractional a => Unit 'NonMetric DPressure a Source #

The conventional value for the pressure exerted by a 1 inch high column of mercury.

Column inches of mercury are also used to measure pressure, especially in meteorological or aeronautical contexts in the United States.

This is the value defined by UCUM. For the value defined by NIST, see inHg_NIST.

>>> 1 *~ inHg_UCUM
3386.3788 m^-1 kg s^-2
>>> 1 *~ inHg_UCUM :: Pressure Rational
8465947 % 2500 m^-1 kg s^-2

inHg_NIST :: Fractional a => Unit 'NonMetric DPressure a Source #

The conventional value for the pressure exerted by a 1 inch high column of mercury.

Column inches of mercury are also used to measure pressure, especially in meteorological or aeronautical contexts in the United States.

This is the value defined by NIST. For the value defined by UCUM, see inHg_UCUM.

>>> 1 *~ inHg_NIST
3386.389 m^-1 kg s^-2
>>> 1 *~ inHg_NIST :: Pressure Rational
3386389 % 1000 m^-1 kg s^-2

torr :: Fractional a => Unit 'NonMetric DPressure a Source #

One torr (symbol: Torr) is defined as 1/760 atmosphere, which is approximately equal to 1 mmHg.

See here for further information.

>>> 1 *~ torr
133.32236842105263 m^-1 kg s^-2
>>> 1 *~ torr :: Pressure Rational
20265 % 152 m^-1 kg s^-2

Radiation Units

rad :: Fractional a => Unit 'Metric DAbsorbedDose a Source #

The rad is a deprecated unit of AbsorbedDose, defined as 0.01 gray.

See here for further information.

>>> 1 *~ rad
1.0e-2 m^2 s^-2
>>> 1 *~ rad :: AbsorbedDose Rational
1 % 100 m^2 s^-2

Kinematic Viscosity

stokes :: Fractional a => Unit 'Metric DKinematicViscosity a Source #

One Stokes is a unit of KinematicViscosity equal to 1 cm^2 / s.

See here for further information.

>>> 1 *~ stokes
1.0e-4 m^2 s^-1
>>> 1 *~ stokes :: KinematicViscosity Rational
1 % 10000 m^2 s^-1

Temperature

These units of temperature are relative. For absolute temperatures, see fromDegreeCelsiusAbsolute.

degreeFahrenheit :: Fractional a => Unit 'NonMetric DThermodynamicTemperature a Source #

One degree Fahrenheit is a unit of relative temperature equal to 5/9 kelvin.

Note that although the Fahrenheit scale is an absolute temperature scale, this unit is a unit of difference within that scale and measures relative temperature.

See here for further information.

>>> 1 *~ degreeFahrenheit
0.5555555555555556 K
>>> 1 *~ degreeFahrenheit :: ThermodynamicTemperature Rational
5 % 9 K

degreeRankine :: Fractional a => Unit 'NonMetric DThermodynamicTemperature a Source #

One degree Rankine is a unit of relative temperature equal to 5/9 kelvin.

Note that although the Rankine scale is an absolute temperature scale, this unit is a unit of difference within that scale and measures relative temperature.

See here for further information.

>>> 1 *~ degreeRankine
0.5555555555555556 K
>>> 1 *~ degreeRankine :: ThermodynamicTemperature Rational
5 % 9 K

Imperial Volumes

imperialGallon :: Fractional a => Unit 'NonMetric DVolume a Source #

One imperial gallon is defined exactly in terms of the liter by the Weights and Measures Act 1985.

See here for further information.

>>> 1 *~ imperialGallon
4.54609e-3 m^3
>>> 1 *~ imperialGallon :: Volume Rational
454609 % 100000000 m^3

imperialQuart :: Fractional a => Unit 'NonMetric DVolume a Source #

One imperial quart is one quarter of an imperialGallon.

See here for further information.

>>> 1 *~ imperialQuart
1.1365225e-3 m^3
>>> 1 *~ imperialQuart :: Volume Rational
454609 % 400000000 m^3

imperialPint :: Fractional a => Unit 'NonMetric DVolume a Source #

One imperial pint is one half of an imperialQuart.

See here for further information.

>>> 1 *~ imperialPint
5.6826125e-4 m^3
>>> 1 *~ imperialPint :: Volume Rational
454609 % 800000000 m^3

imperialCup :: Fractional a => Unit 'NonMetric DVolume a Source #

One imperial cup is one half of an imperialPint.

This unit is not in common use and is does not appear in some sources describing the imperial fluid volume units.

See here for further information.

>>> 1 *~ imperialCup
2.84130625e-4 m^3
>>> 1 *~ imperialCup :: Volume Rational
454609 % 1600000000 m^3

imperialGill :: Fractional a => Unit 'NonMetric DVolume a Source #

One imperial gill is one quarter of an imperialPint.

See here for further information.

>>> 1 *~ imperialGill
1.420653125e-4 m^3
>>> 1 *~ imperialGill :: Volume Rational
454609 % 3200000000 m^3

imperialFluidOunce :: Fractional a => Unit 'NonMetric DVolume a Source #

One imperial fluid ounce is one twentieth of an imperialPint.

See here for further information.

>>> 1 *~ imperialFluidOunce
2.84130625e-5 m^3
>>> 1 *~ imperialFluidOunce :: Volume Rational
454609 % 16000000000 m^3

US Customary Volumes

Per https://www.nist.gov/system/files/documents/2017/05/09/2012-hb44-final.pdf page 452 and https://en.wikipedia.org/wiki/United_States_customary_units#Fluid_volume Note that there exist rarely-used "dry" variants of units with overlapping names.

usGallon :: Fractional a => Unit 'NonMetric DVolume a Source #

One US liquid gallon is a volume of 231 cubic inches.

See here for further information.

>>> 1 *~ usGallon
3.785411784e-3 m^3
>>> 1 *~ usGallon :: Volume Rational
473176473 % 125000000000 m^3

usQuart :: Fractional a => Unit 'NonMetric DVolume a Source #

One US liquid quart is one quarter of a usGallon.

See here for further information.

>>> 1 *~ usQuart
9.46352946e-4 m^3
>>> 1 *~ usQuart :: Volume Rational
473176473 % 500000000000 m^3

usPint :: Fractional a => Unit 'NonMetric DVolume a Source #

One US liquid pint is one half of a usQuart.

See here for further information.

>>> 1 *~ usPint
4.73176473e-4 m^3
>>> 1 *~ usPint :: Volume Rational
473176473 % 1000000000000 m^3

usCup :: Fractional a => Unit 'NonMetric DVolume a Source #

One US liquid cup is one half of a usPint.

See here for further information.

>>> 1 *~ usCup
2.365882365e-4 m^3
>>> 1 *~ usCup :: Volume Rational
473176473 % 2000000000000 m^3

usGill :: Fractional a => Unit 'NonMetric DVolume a Source #

One US liquid gill is one half of a usCup.

See here for further information.

>>> 1 *~ usGill
1.1829411825e-4 m^3
>>> 1 *~ usGill :: Volume Rational
473176473 % 4000000000000 m^3

usFluidOunce :: Fractional a => Unit 'NonMetric DVolume a Source #

One US fluid ounce is 1128 usGallon or 18 usCup.

See here for further information.

>>> 1 *~ usFluidOunce
2.95735295625e-5 m^3
>>> 1 *~ usFluidOunce :: Volume Rational
473176473 % 16000000000000 m^3

Atomic-Scale Units

angstrom :: Fractional a => Unit 'NonMetric DLength a Source #

One Ångström is 1/10 nano meter.

See here for further information.

>>> 1 *~ angstrom
1.0e-10 m
>>> 1 *~ angstrom :: Length Rational
1 % 10000000000 m

Units from the Centimeter-Gram-Second Electrostatic System of Units

gauss :: Fractional a => Unit 'NonMetric DMagneticFluxDensity a Source #

One Gauss is 1/10000 tesla.

See here for further information.

>>> 1 *~ gauss
1.0e-4 kg s^-2 A^-1
>>> 1 *~ gauss :: MagneticFluxDensity Rational
1 % 10000 kg s^-2 A^-1