# Module:Val/units

-- Definitions for units known to val  
-- File format is two strings and a return statement with them in it:  
-- string in quotes [=[ ... builtin_units ... ]=].  
-- string in quotes [=[ ... builtin_units_long_scale ... ]=].  
-- First string, builtin_units, is short-scale, second string is long scale.  

-- Entry format:  
-- One record per line, starting in first column, having 2-4 fields.  
-- Field separator: two or more spaces  
-- Between first and second fields: two or more spaces  
-- Between all other fields: two or more spaces, or one or more tabs  
-- Entries without two spaces in them are ignored.  

-- There must be a blank line before the first entry and after the last.  
-- I.e. the first two and last two characters of the string must be newlines.  

-- Format of entry. Two record types:  
---
-- One record type is a wikilink:  
-- Unit-code Symbol-accepts-HTML-only  
-- Text-field separator is still two spaces. Two spaces not allowed in wikilink.  
---
-- The other record type is all fields:  
-- Unit-code symbol-accepts-HTML-only pagename#section-OK  
---
-- Plus there is an optional field that goes at the end after two or more spaces.  
-- Whether it is a number or an equation or the letters SI,  
-- any of these three has the same function: a wikitable sorting "scale".  
-- It is for sorting, and it works for either record type.  
-- Difference is SI can't accept HTML. But SI correctly scales any SI prefix.  
-- (Optional fields ALIAS and NOSPACE and ANGLE are for advanced users.)  

-- "Invalid unit" error:  
-- Using SI requires that the symbol equal unit-code, so never allows HTML.  
-- Any difference between SI or symbol must be an SI prefix, such as k, M, or G.  
-- A space at the end of an entry is an error. No space at each EOL.  

local builtin_units = [=[  

## Test
Foo <samp>Foo</samp>  
Baz baz<sub>0</sub>  
Baz baz<sub>0</sub>  
Bar bar<abbr title="super duper">0</abbr>  
quux <span title="super duper 2">bar0</span>  

## Unsorted units
c0 *c*<sub>0</sub>  
lbf <span title="pound-force">lb<sub>F</sub></span>  
C.mol-1 C&sdot;mol<sup>−1</sup>  
C/mol C/mol  
C.kg-1 C&sdot;kg<sup>−1</sup>  
C/kg C/kg  
F.m-1 F&sdot;m<sup>−1</sup>  
F/m F/m  
e *e*  
kB kB 8e3  
MB MB 8e6  
GB GB 8e9  
TB TB 8e12  
lx lx  

## Time and frequency
byte/s byte/s 8  
kB/s <span title="Kilobytes per second">kB/s</span> 8e3  
MB/s <span title="Megabytes per second">MB/s</span> 8e6  
GB/s <span title="Gigabytes per second">GB/s</span> 8e9  
TB/s <span title="Terabytes per second">TB/s</span> 8e12  
bit/s bit/s 1  
bps bit/s 1  
kbit/s kbit/s 1e3  
Mbit/s Mbit/s 1e6  
Gbit/s Gbit/s 1e9  
Tbit/s Tbit/s 1e12  
kT/s <span title="Kilotransfers per second">kT/s</span> 1e3  
MT/s <span title="Megatransfers per second">MT/s</span> 1e6  
GT/s <span title="Gigatransfers per second">GT/s</span> 1e9  
year year 31557600  
years years 31557600  
yr yr 31557600  
y y 31557600  
a a 31557600  
Ga Ga 31557600000000000  
Ma Ma 31557600000000  
ka ka 31557600000  
kyr kyr 31557600000  
kya kya 31557600000  
myr myr 31557600000000  
mya mya 31557600000000  
byr byr 31557600000000000  
bya bya 31557600000000000  
Gyr Gyr 31557600000000000  
BP BP  
uBP <sup>14</sup>C yr BP  
BC BC -1  
AD AD 1  
BCE BCE -1  
CE CE 1  
JD JD 1  

s-1 s<sup>−1</sup>  
s-2 s<sup>−2</sup>  
s2 s<sup>2</sup>  

s s SI  
as s SI  
cs s SI  
das s SI  
ds s SI  
Es s SI  
fs s SI  
Gs s SI  
hs s SI  
ks s SI  
ms s SI  
µs s SI  
us s SI  
Ms s SI  
ns s SI  
ps s SI  
Ps s SI  
Ts s SI  
Ys s SI  
ys s SI  
Zs s SI  
zs s SI  

Hz Hz SI  
aHz Hz SI  
cHz Hz SI  
daHz Hz SI  
dHz Hz SI  
EHz Hz SI  
fHz Hz SI  
hHz Hz SI  
GHz Hz SI  
kHz Hz SI  
MHz Hz SI  
mHz Hz SI  
uHz Hz SI  
µHz Hz SI  
nHz Hz SI  
pHz Hz SI  
PHz Hz SI  
THz Hz SI  
yHz Hz SI  
YHz Hz SI  
zHz Hz SI  
ZHz Hz SI  

## Length, area, volume
fb-1 fb<sup>−1</sup>  
m-1 m<sup>−1</sup>  
m-2 m<sup>−2</sup>  
m-3 m<sup>−3</sup>  
km2 km<sup>2</sup>  
km3 km<sup>3</sup>  
µm2 µm<sup>2</sup>  
um2 µm<sup>2</sup>  
am2 am<sup>2</sup>  
cm2 cm<sup>2</sup>  
dam2 dam<sup>2</sup>  
dm2 dm<sup>2</sup>  
Em2 Em<sup>2</sup>  
fm2 fm<sup>2</sup>  
Gm2 Gm<sup>2</sup>  
hm2 hm<sup>2</sup>  
mm2 mm<sup>2</sup>  
Mm2 Mm<sup>2</sup>  
nm2 nm<sup>2</sup>  
pm2 pm<sup>2</sup>  
Pm2 Pm<sup>2</sup>  
Tm2 Tm<sup>2</sup>  
ym2 ym<sup>2</sup>  
Ym2 Ym<sup>2</sup>  
zm2 zm<sup>2</sup>  
Zm2 Zm<sup>2</sup>  
gal gal  
Gal Gal  
uGal µGal  
µGal µGal  
mGal mGal  

b b SI  
ab b SI  
cb b SI  
dab b SI  
db b SI  
Eb b SI  
fb b SI  
Gb b SI  
hb b SI  
kb b SI  
mb b SI  
µb b SI  
ub b SI  
Mb b SI  
nb b SI  
pb b SI  
Pb b SI  
Tb b SI  
Yb b SI  
yb b SI  
Zb b SI  
zb b SI  

## Velocity and acceleration
m.s-2 m&sdot;s<sup>−2</sup>  
m/s2 m/s<sup>2</sup>  
m.s-1 m&sdot;s<sup>−1</sup>  
m/s m/s  
km.s-1 km&sdot;s<sup>−1</sup>  
km/s km/s  

## Mass and energy
lbm <span title="pound-mass">lb<sub>m</sub></span>  
uJ µJ  
J.s J&sdot;s  
kWh kWh  
kW.h kW&sdot;h  
J/C J/C  
J/kg J/kg  

g g SI  
ag g SI  
cg g SI  
dag g SI  
dg g SI  
Eg g SI  
fg g SI  
Gg g SI  
hg g SI  
kg g SI  
mcg g SI  
Mg g SI  
mg g SI  
ug g SI  
µg g SI  
ng g SI  
Pg g SI  
pg g SI  
Tg g SI  
yg g SI  
Yg g SI  
zg g SI  
Zg g SI  

## Pressure and density
psi psi  
g/cm3 g/cm<sup>3</sup>  
kg.m-3 kg&sdot;m<sup>−3</sup>  
kg/m3 kg/m<sup>3</sup>  
kg/cm3 kg/cm<sup>3</sup>  
g/L g/L  
g/l g/L  
mcg/dL µg/dL  
mcg/dl µg/dL  
mg/mL mg/mL  
mg/ml mg/mL  
ug/dL µg/dL  
ug/dl µg/dL  
μg/dL μg/dL  
μg/dl μg/dL  
mg/L mg/dL  
mg/l <abbr title="milligrams per liter">mg/L</abbr>  
mg/L <abbr title="milligrams per liter">mg/L</abbr>  
mgl-1 <abbr title="milligrams per liter">mg/L</abbr>  
mgL-1 <abbr title="milligrams per liter">mg/L</abbr>  

## Temperature
degC °C ALIAS  
degF °F ALIAS  
degR °R ALIAS  

K K SI  
YK K SI  
ZK K SI  
EK K SI  
PK K SI  
TK K SI  
GK K SI  
MK K SI  
kK K SI  
hK K SI  
daK K SI  
dK K SI  
cK K SI  
mK K SI  
µK K SI  
uK K SI  
nK K SI  
pK K SI  
fK K SI  
aK K SI  
zK K SI  
yK K SI  

## Electromagnetism
Wb Wb  
N.A-2 N&sdot;A<sup>−2</sup>  
H.m-1 H&sdot;m<sup>−1</sup>  
V.m-1 V&sdot;m<sup>−1</sup>  
V/m V/m  

C C SI  
YC C SI  
ZC C SI  
EC C SI  
PC C SI  
TC C SI  
GC C SI  
MC C SI  
kC C SI  
hC C SI  
daC C SI  
dC C SI  
cC C SI  
mC C SI  
µC C SI  
uC C SI  
nC C SI  
pC C SI  
fC C SI  
aC C SI  
zC C SI  
yC C SI  

F F SI  
YF F SI  
ZF F SI  
EF F SI  
PF F SI  
TF F SI  
GF F SI  
MF F SI  
kF F SI  
hF F SI  
daF F SI  
dF F SI  
cF F SI  
mF F SI  
µF F SI  
uF F SI  
nF F SI  
pF F SI  
fF F SI  
aF F SI  
zF F SI  
yF F SI  

H H SI  
YH H SI  
ZH H SI  
EH H SI  
PH H SI  
TH H SI  
GH H SI  
MH H SI  
kH H SI  
hH H SI  
daH H SI  
dH H SI  
cH H SI  
mH H SI  
µH H SI  
uH H SI  
nH H SI  
pH H SI  
fH H SI  
aH H SI  
zH H SI  
yH H SI  

A A SI  
YA A SI  
ZA A SI  
EA A SI  
PA A SI  
TA A SI  
GA A SI  
MA A SI  
kA A SI  
hA A SI  
daA A SI  
dA A SI  
cA A SI  
mA A SI  
µA A SI  
uA A SI  
nA A SI  
pA A SI  
fA A SI  
aA A SI  
zA A SI  
yA A SI  

V V SI  
YV V SI  
ZV V SI  
EV V SI  
PV V SI  
TV V SI  
GV V SI  
MV V SI  
kV V SI  
hV V SI  
daV V SI  
dV V SI  
cV V SI  
mV V SI  
µV V SI  
uV V SI  
nV V SI  
pV V SI  
fV V SI  
aV V SI  
zV V SI  
yV V SI  

VA VA SI  
YVA VA SI  
ZVA VA SI  
EVA VA SI  
PVA VA SI  
TVA VA SI  
GVA VA SI  
MVA VA SI  
kVA VA SI  
hVA VA SI  
daVA VA SI  
dVA VA SI  
cVA VA SI  
mVA VA SI  
µVA VA SI  
uVA VA SI  
nVA VA SI  
pVA VA SI  
fVA VA SI  
aVA VA SI  
zVA VA SI  
yVA VA SI  

R R SI  

G G SI  
aG G SI  
cG G SI  
daG G SI  
dG G SI  
EG G SI  
fG G SI  
GG G SI  
hG G SI  
kG G SI  
MG G SI  
mG G SI  
uG G SI  
µG G SI  
nG G SI  
PG G SI  
pG G SI  
TG G SI  
yG G SI  
YG G SI  
zG G SI  
ZG G SI  

T T SI  
aT T SI  
cT T SI  
daT T SI  
dT T SI  
ET T SI  
fT T SI  
GT T SI  
hT T SI  
kT T SI  
MT T SI  
mT T SI  
uT T SI  
µT T SI  
nT T SI  
PT T SI  
pT T SI  
TT T SI  
yT T SI  
YT T SI  
zT T SI  
ZT T SI  

## Astrophysics
au au  
c *c*  
ly ly  
Earth mass *M*<sub>⊕</sub>  
Earth radius *R*<sub>⊕</sub>  
M_Earth *M*<sub>⊕</sub>  
R_Earth *R*<sub>⊕</sub>  
M+ *M*<sub>⊕</sub>  
R+ *R*<sub>⊕</sub>  
Jupiter mass *M*<sub>J</sub>  
Jupiter radius *R*<sub>J</sub>  
M_Jupiter *M*<sub>J</sub>  
R_Jupiter *R*<sub>J</sub>  
Solar mass *M*<sub>&#x2609;</sub>  
solar mass *M*<sub>&#x2609;</sub>  
M_Solar *M*<sub>&#x2609;</sub>  
M_solar *M*<sub>&#x2609;</sub>  
R_Solar *R*<sub>&#x2609;</sub>  
R_solar *R*<sub>&#x2609;</sub>  
Solar radius *R*<sub>&#x2609;</sub>  
solar radius *R*<sub>&#x2609;</sub>  
Solar luminosity *L*<sub>&#x2609;</sub>  
solar luminosity *L*<sub>&#x2609;</sub>  
L_solar *L*<sub>&#x2609;</sub>  
L_Solar *L*<sub>&#x2609;</sub>  
Lo *L*<sub>&#x2609;</sub>  
pc2 pc<sup>2</sup>  
pc3 pc<sup>3</sup>  
kpc2 kpc<sup>2</sup>  
kpc3 kpc<sup>3</sup>  
kpc kpc  
Mpc2 Mpc<sup>2</sup>  
Mpc3 Mpc<sup>3</sup>  
Mpc Mpc  
Gpc2 Gpc<sup>2</sup>  
Gpc3 Gpc<sup>3</sup>  
Gpc Gpc  

## Nuclear physics and chemistry
cm-1 cm<sup>−1</sup>  
u u  
osmol osmol  
Osm Osm  
M M  
TM M SI  
GM M SI  
MM M SI  
kM M SI  
hM M SI  
daM M SI  
dM M SI  
cM M SI  
mM M SI  
uM M 1e-6  
nM M SI  
pM M SI  
kg.mol-1 kg&sdot;mol<sup>−1</sup>  
kg/mol M  
g.mol-1 g&sdot;mol<sup>−1</sup>  
g/mol g/mol  
eV/c2 eV/*c*<sup>2</sup>  
keV/c2 keV/*c*<sup>2</sup>  
MeV/c2 MeV/*c*<sup>2</sup>  
GeV/c2 GeV/*c*<sup>2</sup>  
TeV/c2 TeV/*c*<sup>2</sup>  
µN µ<span>  
N</span>  
µB µ<span>  
B</span>  
eV eV  
mev meV  
keV keV  
MeV MeV  
GeV GeV  
TeV TeV  
mol-1 mol<sup>−1</sup>  
J.mol-1 J&sdot;mol<sup>−1</sup>  
J/mol J/mol  
kJ.mol-1 kJ&sdot;mol<sup>−1</sup>  
kJ/mol kJ/mol  
MJ.mol-1 MJ&sdot;mol<sup>−1</sup>  
MJ/mol MJ/mol  
GJ.mol-1 GJ&sdot;mol<sup>−1</sup>  
GJ/mol GJ/mol  
TJ.mol-1 TJ&sdot;mol<sup>−1</sup>  
TJ/mol TJ/mol  

## Numbers and phrases
pp pp  
ppb ppb 1e-9  
ppm ppm 1e-6  
billiard billiard 1e15  
billion billion 1e9  
billionth billionth 1e-9  
billionths billionths 1e-9  
decilliard decilliard 1e63  
decillion decillion 1e33  
decillionth decillionth 1e-33  
decillionths decillionths 1e-33  
milliard milliard 1e9  
million million 1e6  
millionth millionth 1e-6  
millionths millionths 1e-6  
nonilliard nonilliard 1e57  
nonillion nonillion 1e30  
nonillionth nonillionth 1e-30  
nonillionths nonillionths 1e-30  
octilliard octilliard 1e51  
octillion octillion 1e27  
octillionth octillionth 1e-27  
octillionths octillionths 1e-27  
quadrilliard quadrilliard 1e27  
quadrillion quadrillion 1e15  
quadrillionth quadrillionth 1e-15  
quadrillionths quadrillionths 1e-15  
quintilliard quintilliard 1e33  
quintillion quintillion 1e18  
quintillionth quintillionth 1e-18  
quintillionths quintillionths 1e-18  
septilliard septilliard 1e45  
septillion septillion 1e24  
septillionth septillionth 1e-24  
septillionths septillionths 1e-24  
sextilliard sextilliard 1e39  
sextillion sextillion 1e21  
sextillionth sextillionth 1e-21  
sextillionths sextillionths 1e-21  
trilliard trilliard 1e21  
trillion trillion 1e12  
trillionth trillionth 1e-12  
trillionths trillionths 1e-12  

## Angles
% % Percent ANGLE 0.01  
percent % Percent ANGLE 0.01  
per cent % Percent ANGLE 0.01  
‰ ‰ Per mil ANGLE 1e-3  
per mil ‰ Per mil ANGLE 1e-3  
per mill ‰ Per mil ANGLE 1e-3  
per mille ‰ Per mil ANGLE 1e-3  
permil ‰ Per mil ANGLE 1e-3  
permill ‰ Per mil ANGLE 1e-3  
permille ‰ Per mil ANGLE 1e-3  
° ° Degree (angle) ANGLE pi/180  
deg ° Degree (angle) ANGLE pi/180  
' ′ Minute of arc ANGLE pi/10800  
′ ′ Minute of arc ANGLE pi/10800  
arcmin ′ Minute of arc ANGLE pi/10800  
arcminute ′ Minute of arc ANGLE pi/10800  
" ″ Second of arc ANGLE pi/648000  
″ ″ Second of arc ANGLE pi/648000  
arcsec ″ Second of arc ANGLE pi/648000  
arcsecond ″ Second of arc ANGLE pi/648000  
mas mas pi/648000000  

]=]  

-- If val has "|long scale=on" the following definitions are used  
-- (then, if not found here, the normal definitions are used).  
-- Unit code Symbol Flags/Scale  
local builtin_units_long_scale = [=[  

## Long scale numbers and phrases
billion billion 1e12  
billionth billionth 1e-12  
billionths billionths 1e-12  
decillion decillion 1e60  
decillionth decillionth 1e-60  
decillionths decillionths 1e-60  
nonillion nonillion 1e54  
nonillionth nonillionth 1e-54  
nonillionths nonillionths 1e-54  
octillion octillion 1e48  
octillionth octillionth 1e-48  
octillionths octillionths 1e-48  
quadrillion quadrillion 1e24  
quadrillionth quadrillionth 1e-24  
quadrillionths quadrillionths 1e-24  
quintillion quintillion 1e30  
quintillionth quintillionth 1e-30  
quintillionths quintillionths 1e-30  
septillion septillion 1e42  
septillionth septillionth 1e-42  
septillionths septillionths 1e-42  
sextillion sextillion 1e36  
sextillionth sextillionth 1e-36  
sextillionths sextillionths 1e-36  
trillion trillion 1e18  
trillionth trillionth 1e-18  
trillionths trillionths 1e-18  

]=]  

return { builtin_units = builtin_units, builtin_units_long_scale = builtin_units_long_scale }