This function takes a number in some specified units and converts that number to SI units, or from SI units to the specified units. Internally, all ctmm objects are specified in SI units, and so this is a utility function to facilitate working with ctmm objects.

x %#% y

Arguments

x

A numeric quantity specified in y character labeled units, or a character unit label to convert a numeric quantity y that is specified in SI units.

y

A unit character label for the quantity x to be converted to SI units, or a numeric quantity in SI units to be converted into unit label x.

Details

If x is a number and y is a character unit label, then x is converted from units y to SI units. If x is a character unit label and y is a number, then y is converted from SI units to units x.

The default non-SI units include the mean solar 'day', mean synodic 'month' and mean tropical 'year'. These defaults can be changed to conventional calendar units via options(time.units='calendar').

Value

Returns a numeric in SI units or units specified by character label x.

Author

C. H. Fleming.

Note

Dimensions of mass and weight are not currently supported as they are not used by ctmm.

Examples

# one yard -> meters 1 %#% "yard"
#> [1] 0.9144
# one meter -> yards "yard" %#% 1
#> [1] 1.093613
# 1 month -> days "day" %#% 1 %#% "month"
#> [1] 29.53059
# 6 miles per hour -> meters per second "hour" %#% 6 %#% "mile"
#> [1] 2.68224
# the same conversion in one step 6 %#% "mph"
#> [1] 2.68224