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.
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
numeric. Number of the desired units
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.
Number of seconds within each unit
Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.