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