An S3 class that defines the object returned by an acoustic-container/depth-contour (AC/DC) algorithm (ac, dc or acdc), after simplification via acdc_simplify or directly from internal routines.

Value

A named list

An "acdc_record" class object is a named list with the following elements: `map', `record', `time', `args', `chunks' and `simplify'. The main output element is the `map' RasterLayer that shows the expecte time spent in different parts of the study area over the duration of the movement time series. The `record' element records time-specific maps of the possible locations of the individual, and can be used to plot maps of specific time points or to produce animations (for the time steps specified by the save_record_spatial argument). The `time' element is a dataframe that defines the times of sequential stages in the algorithm's progression, providing a record of computation time. The `args' element is a named list of user inputs that record the parameters used to generate the outputs (if save_args = TRUE, otherwise the `args' element is NULL). The `chunks' element is a list with chunk-specific information that is generated if the algorithm is implemented chunk-wise and then simplified via acdc_simplify with the keep_chunks = TRUE argument. The simplify element is a logical value that defines whether or not the object was created from ac/dc/acdc and acdc_simplify or an internal routine. Below, more detail about the `map' and `record' elements is provided.

(A) `map'

This is a RasterLayer that defines the locations in which an individual could have been (or was not), given the movement time series. The value in each cell defines the expected proportion of time steps in which the individual could have occupied that location (assuming normalisation has been implemented) given given the algorithm.

(B) `record'

This is a temporal record of the possible locations of each individual, with one element for each primary time step. For the AC* algorithms (ac and acdc), the `primary time step' refers to acoustic time steps; for the DC algorithm (dc), the `primary time step' refers to archival time steps. Each element contains (a) a dataframe with the information for that time step and (b) a list of spatial objects, one for each `secondary time step' that record spatial outputs of the algorithm, as specified by save_record_spatial (see below). For the AC* algorithms, `secondary time steps' are the time steps in-between acoustic observations; for the DC algorithm, primary and secondary time steps are the same.

(i) record$dat

For the AC* algorithms, record$dat contains the following information:

  • `timestep_cumulative' is a cumulative vector that defines the time step of each observation (across all acoustic and archival time steps up to the current time step);

  • `timestep_detection' defines the time step of the detection time series;

  • `timestep_archival' defines the time steps between the current and next acoustic detection (if applicable);

  • `receiver_1_id' and `receiver_2_id' define the receiver at which the individual was detected at the current and next acoustic time steps;

  • `receiver_1_timestamp' and `receiver_2_timestamp' define the time stamps of these detections;

  • `time_btw_dets' provides the time (s) between these acoustic detections;

  • `archival_timestamp' defines the time stamp of archival observations between acoustic detections (if applicable);

  • `archival_depth' defines the depth (m) of the individual each archival time step (if applicable);

For the DC algorithm, record$dat contains the archival data for the time step, as inputted, with the following additional columns:

  • `timestep_cumulative' is a cumulative integer that defines the time step;

  • `depth_lwr' is a number that defines the lower bound for the individual's possible depth on the bathymetry layer (bathy) given the depth error model (calc_depth_error);

  • `depth_upr' is a number that defines the upper bound for the individual's possible depth on the bathymetry layer (bathy) given the depth error model (calc_depth_error);

  • `availability' is a logical variable that defines whether or not there were any cells on the bathymetry layer (bathy) within the boundaries for the individual's depth at that time step;

(ii) record$spatial

If save_record_spatial > 0, then for those time steps specified by save_record_spatial, each element in `record' contains a `spatial' list, with one element for each secondary time stamp, that records spatial information pertaining to the possible locations of the individual at that time step. For all algorithms, each `spatial' list includes the following elements:

  • `map_timestep' is a RasterLayer that defines the probability that the individual occupied any given cell at a each time step;

  • `map_cumulative' is a RasterLayer that defines the expected number of time steps in which the individual could have occupied each cell (i.e., the sum of `map_timestep' across all time steps from the first time step to the current time step);

For the AC* algorithms, this list also includes information on the acoustic containers and location probability:

  • `container_ap` is SpatialPolygonsDataFrame that defines the boundaries of the individual's location from the perspective of its previous location;

  • `container_an' is a SpatialPolygonsDataFrame that defines the boundaries of the individual's location from the perspective of the receiver that records a detection at the moment of detection (i.e., the detection container);

  • `container_b` is SpatialPolygonsDataFrame that defines the boundaries of the individual's location from (A) the perspective of

  • `container_c` is a SpatialPolygonsDataFrame that defines the boundaries of the individual's location at a given time step, accounting for the information provided by previous, current and future locations;

  • `kernel` is a raster that defines location probability across the grid, accounting for the receiver(s) at which an individual was detected and the receiver(s) at which an individual was not detected and receiver arrangement;

For save_record_spatial = 0L or elements outside of the specified input to save_record_spatial, `spatial' is simply an empty list.

Author

Edward Lavender