SpaDES time units

Description

SpaDES modules commonly use approximate durations that divide with no remainder among themselves. For example, models that simulate based on a "week" timestep, will likely want to fall in lock step with a second module that is a "year" timestep. Since, weeks, months, years don't really have this behaviour because of: leap years, leap seconds, not quite 52 weeks in a year, months that are of different duration, etc. We have generated a set of units that work well together that are based on the astronomical or "Julian" year. In an astronomical year, leap years are added within each year with an extra 1/4 day, (i.e., 1 year == 365.25 days); months are defined as year/12, and weeks as year/52.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
dyears(x)

## S4 method for signature 'numeric'
dyears(x)

dmonths(x)

## S4 method for signature 'numeric'
dmonths(x)

dweeks(x)

## S4 method for signature 'numeric'
dweeks(x)

dweek(x)

dmonth(x)

dyear(x)

dsecond(x)

dday(x)

dhour(x)

dNA(x)

## S4 method for signature 'ANY'
dNA(x)

Arguments

x

numeric. Number of the desired units

Details

When these units are not correct, a module developer can create their own time unit using, and create a function to calculate the number of seconds in that unit using the "d" prefix (for duration), following the lubridate package standard: dfortNight <- function(x) lubridate::duration(dday(14)). Then the module developer can use "fortNight" as the module's time unit.

Value

Number of seconds within each unit

Author(s)

Eliot McIntire

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.