Package 'DAIME'

Title: Effects of Changing Deposition Rates
Description: Reverse and model the effects of changing deposition rates on geological data and rates. Based on Hohmann (2018) <doi:10.13140/RG.2.2.23372.51841> .
Authors: Niklas Hohmann
Maintainer: Niklas Hohmann <[email protected]>
License: CC BY 4.0
Version: 2.1.3
Built: 2025-02-16 03:15:17 UTC
Source: https://github.com/cran/DAIME

Help Index


Effects of Changing Deposition Rates

Description

Reverse and model the effects of changing deposition rates on geological data and rates. Based on Hohmann (2018) <doi:10.13140/RG.2.2.23372.51841> .

Details

The DESCRIPTION file:

Package: DAIME
Type: Package
Title: Effects of Changing Deposition Rates
Version: 2.1.3
Date: 2020-03-10
Author: Niklas Hohmann
Maintainer: Niklas Hohmann <[email protected]>
Description: Reverse and model the effects of changing deposition rates on geological data and rates. Based on Hohmann (2018) <doi:10.13140/RG.2.2.23372.51841> .
License: CC BY 4.0
Depends: stats, utils, R (>= 3.5.0)
Suggests: knitr, rmarkdown
VignetteBuilder: knitr
LazyData: true
NeedsCompilation: no
Packaged: 2020-03-10 12:35:41 UTC; nick
Date/Publication: 2020-03-10 12:50:02 UTC
Repository: https://niklashohmann.r-universe.dev
RemoteUrl: https://github.com/cran/DAIME
RemoteRef: HEAD
RemoteSha: fe242edb756bb5da0ab46d7fce80031ed9e9a85c

Index of help topics:

ColDePalluel            Microcpaleontological, palynological, and
                        geochemical data from the Col de Palluel, SE
                        France (Late Albanian)
DAIME-package           Effects of Changing Deposition Rates
KPgLastOccurrences      Last occurrences for the K/Pg boundary and a
                        potential influence of Deccan volcanism
LakeSuperior            210Pb measurements and derived age models from
                        Lake Superior
SeymourIslandAgeModels
                        Age models for the K/Pg boundary on Seymour
                        Island, Antarctica
SeymourIslandBins       Sampling bins approaching and covering the K/Pg
                        boundary on Seymour Island, Antarctica
patterntodepositionmodel
                        Use sedimentary dilution/condensation of known
                        patterns to create age model
patterntransform        Transform patterns between stratigraphic height
                        and time/age
pointtransform          Transform points between stratigraphic height
                        and time/age
strattotimepointbin     Transform Points and Isotope Ratios from
                        Stratigraphic Height into Time (Binned)
strattotimepointcont    Transform Points and Isotope Ratios from
                        Stratigraphic Height into Time (Continuos)
strattotimeratebin      Transform patterns from Stratigraphic Height
                        into Time (Binned)
strattotimeratecont     Transform Patterns from Stratigraphic Height
                        into Time (Continuous)
timetostratpointbin     Transform Points and Isotope Ratios from Time
                        into Stratigraphic Height (Binned)
timetostratpointcont    Transform Points and Isotope Ratios from Time
                        into Stratigraphic Height (Continuous)
timetostratratebin      Transform Patterns from Time into Stratigraphic
                        Height (Binned)
timetostratratecont     Transform Patterns from Time into Stratigraphic
                        Height (Continuous)

Further information is available in the following vignettes:

DAIME DAIME (source, pdf)

Author(s)

Niklas Hohmann

Maintainer: Niklas Hohmann <[email protected]>

References

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>


Microcpaleontological, palynological, and geochemical data from the Col de Palluel, SE France (Late Albanian)

Description

Contains data on geochemistry, palynology, planktic forams, and nannofossils from the Col de Palluel from Bornemann et al. (2005)

Usage

data(ColDePalluel)

Format

A list with four entries named "geochemistry", "palynomorphs", "nannofossils", and "plankticforaminifera" containing the data given in Bornemann et al. (2005).

Source

Bornemann, Andre; Pross, Joerg; Reichelt, Kerstin; Herrle, Jens O; Hemleben, Christoph; Mutterlose, Joerg (2005): Micropaleontological investigation of Late Albanian Col de Palluel. PANGAEA, https://doi.org/10.1594/PANGAEA.737945 CC BY 3.0

References

Bornemann, A et al. (2005): Reconstruction of short-term palaeoceanographic changes during the formation of the Late Albian Niveau Breistroffer black shales (Oceanic Anoxic Event 1d, SE France). Journal of the Geological Society of London, 162(4), 623-639, https://doi.org/10.1144/0016-764903-171

Examples

data("ColDePalluel")
#plot carbonate content
plot(ColDePalluel$geochemistry$Depth..m.,ColDePalluel$geochemistry$CaCO3....,type='l')

Last occurrences for the K/Pg boundary and a potential influence of Deccan volcanism

Description

Contains last occurrences generated by a spike in extinction rate at the K/Pg boundary and an influence of Deccan volcanism before that. Relative influence of volcanism ranges from 0% (none), 10 % (weak), 20% (intermediate), 30 % (strong) to 40% (very strong). Location of Deccan volcanism is based on the extinction interval from Tobin (2017), fig. 5, transformed into time assuming a constant deposition rate. The last occurrences were generated based on the convolution procedure described in Hohmann (2018) and a rate of fossil occurrences of 40 fossils per Myr.

Usage

data(KPgLastOccurrences)

Format

A list with five entries, each named after the intensity of the early extinction pulse described in Hohmann (in preparation). Each of these entries contains three vectors: 'val' contains the last occurrences per Myr at the ages in 'age', and 'parameters' contains the parameters used to create the pattern of last occurrences.

Source

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>.

References

Hohmann, Niklas. (2018). Reversing Time Averaging and Reconstructing Extinction Rates with Approaches from Image Processing. DOI 10.1101/408864.

Tobin, Thomas S. "Recognition of a likely two phased extinction at the K-Pg boundary in Antarctica." Scientific reports 7.1 (2017): 1-11.

Examples

data(KPgLastOccurrences)
KPgLastOccurrences$Intermediate.Deccan$parameters
plot(KPgLastOccurrences$Intermediate.Deccan$age,
  KPgLastOccurrences$Intermediate.Deccan$val,type='l',
  xlim=rev(range(KPgLastOccurrences$Intermediate.Deccan$age)),xlab='Age [Ma]',
  ylab='Last Occurrences [per Myr]')

210Pb measurements and derived age models from Lake Superior

Description

Contains lead measurments and the derived age models and sediment accumulation rates from eight cores in Lake Superior (O'Beirne et al. 2017)

Usage

data(LakeSuperior)

Format

A list containing eight data tables, each with the information about one core.

Source

O'Beirne, Molly D; Werne, Josef P; Hecky, Robert E; Johnson, Thomas C; Katsev, Sergei; Reavie, Euan D (2017): 210Pb based age model of sediment core BH03-3. PANGAEA, https://doi.org/10.1594/PANGAEA.874717 CC BY 3.0

O'Beirne, Molly D; Werne, Josef P; Hecky, Robert E; Johnson, Thomas C; Katsev, Sergei; Reavie, Euan D (2017): 210Pb based age model of sediment core BH09-2. PANGAEA, https://doi.org/10.1594/PANGAEA.874718 CC BY 3.0

O'Beirne, Molly D; Werne, Josef P; Hecky, Robert E; Johnson, Thomas C; Katsev, Sergei; Reavie, Euan D (2017): 210Pb based age model of sediment core BH09-3. PANGAEA, https://doi.org/10.1594/PANGAEA.874719 CC BY 3.0

O'Beirne, Molly D; Werne, Josef P; Hecky, Robert E; Johnson, Thomas C; Katsev, Sergei; Reavie, Euan D (2017): 210Pb based age model of sediment core BH09-4. PANGAEA, https://doi.org/10.1594/PANGAEA.874720 CC BY 3.0

O'Beirne, Molly D; Werne, Josef P; Hecky, Robert E; Johnson, Thomas C; Katsev, Sergei; Reavie, Euan D (2017): 210Pb based age model of sediment core CM_MC. PANGAEA, https://doi.org/10.1594/PANGAEA.874721 CC BY 3.0

O'Beirne, Molly D; Werne, Josef P; Hecky, Robert E; Johnson, Thomas C; Katsev, Sergei; Reavie, Euan D (2017): 210Pb based age model of sediment core EM_MC. PANGAEA, https://doi.org/10.1594/PANGAEA.874722 CC BY 3.0

O'Beirne, Molly D; Werne, Josef P; Hecky, Robert E; Johnson, Thomas C; Katsev, Sergei; Reavie, Euan D (2017): 210Pb based age model of sediment core IR_MC. PANGAEA, https://doi.org/10.1594/PANGAEA.874723 CC BY 3.0

O'Beirne, Molly D; Werne, Josef P; Hecky, Robert E; Johnson, Thomas C; Katsev, Sergei; Reavie, Euan D (2017): 210Pb based age model of sediment core LG_MC. PANGAEA, https://doi.org/10.1594/PANGAEA.874724 CC BY 3.0

References

O'Beirne, MD et al. (2017): Anthropogenic climate change has altered primary productivity in Lake Superior. Nature Communications, 8, 15713, https://doi.org/10.1038/ncomms15713

Examples

data(LakeSuperior)
plot(LakeSuperior$BH03_3$Depth..m.,LakeSuperior$BH03_3$X210Pb.xs..Bq.kg.,
  xlab='Core depth [m]',ylab='Excess lead [Bq/kg]')

Use sedimentary dilution/condensation of known patterns to create age model

Description

Takes a pair of a stratigraphic and a temporal pattern to determine the deposition model that transforms them into each other. The deposition model is returned as an age model.

Usage

patterntodepositionmodel(xheight, yheight, 
    xage = NULL, yage = NULL,
    heightmode = 'piecewise linear', agemode = 'piecewise linear',
    atheight=NULL,atage=NULL,rescalefor=1,timetype='time')

Arguments

xheight

A vector of strictly increasing numbers

yheight

A vector of strictly positive numbers. xheight and yheight define the stratigraphic pattern. By default, it is assumed to be piecewise linear and is accordingly given by approxfun(xheight,yheight). This can be changed to a binned representation using the option heightmode (see below)

xage

OPTIONAL, default is NULL

yage

OPTIONAL, default is NULL. xage and yage can be used to define the temporal pattern used for the reconstruction of the deposition model. If no input is handed over (default setting), it is assumed that the temporal pattern is constant over a time interval of duration 1. Using the option agemode allows to define both piecewise linear and binned temporal patterns (see below)

heightmode

OPTIONAL, default is 'piecewise linear'. Either 'piecewise linear' or 'binned'. Determines whether xheight and yheight are taken as a piecewise linear or a binned description of the stratigraphic pattern. In the first case, length(xheight) needs to match length(yheight), and the stratigraphic pattern is given by approxfun(xheight,yheight). In the second case, length(xheight) needs to match length(yheight)+1, and the value of the stratigraphic pattern between the stratigraphic heights xheight[i] and xheight[i+1] is given by yheight[i]

agemode

OPTIONAL, default is 'piecewise linear'. Either 'piecewise linear' or 'binned'. Determines whether xage and yage are taken as a piecewise linear or a binned description of the temporal pattern. In the first case, length(xage) needs to match length(yage), and the temporal pattern is given by approxfun(xage,yage). In the second case, length(xage) needs to match length(yage)+1, and the value of the temporal pattern between the ages xage[i] and xage[i+1] is given by yage[i]

atheight

OPTIONAL, default is NULL. Stratigraphic heights that should be included in the age model. By default, the function chooses those heights automatically

atage

OPTIONAL, default is NULL. Ages that should be included in the age model. By default, the function chooses those ages automatically

rescalefor

OPTIONAL, default is 1. Either a strictly positive number, 'temporal pattern', or 'stratigraphic pattern'. Determines what the total input into the sediment is.

timetype

OPTIONAL, default is "time". Either "time" or "age", determines whether input/output will be interpreted/given as time or age

Value

If timetype='time', a list containing the following entries:

time

Vector of times

height

Vector of stratigraphic heights

report

A short summary of the task performed

If timetype='age', a list containing the following entries:

age

Vector of ages

height

Vector of stratigraphic heights

report

A short summary of the task performed

age/time and height form the age model in the sense that the age/time at which height[i] was deposited is given by age[i]/time[i]. Conversely at the age/time age[i]/time[i], height[i] was deposited

Author(s)

Niklas Hohmann

References

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>

See Also

pointtransform for the transformations of points using age models

patterntransform for the transformations of temporal and stratigraphic patterns (such as input rates into the sediment) using age models

For an overview of the functions in the DAIME package and examples using stratigraphic data see the vignette (available via vignette('DAIME') )

Examples

### Reconstruct deposition model based on condensation/dilution of a constant input
#assume a constant input of pollen (this is an arbitrary choice) into the sediment through time
#this is the observed stratigraphic pattern
my.xheight=seq(0,10,by=1)
my.yheight=seq(0,3,length.out=11)+rexp(11)
plot(my.xheight,my.yheight,xlab='Stratigraphic Height',ylab='Pollen Abundance',type='l',
  ylim=c(0,max(my.yheight)),main='Stratigraphic Pattern')
#reconstruct deposition model based on the assumption of constant pollen input in time
my.agemodel=patterntodepositionmodel(xheight=my.xheight,yheight=my.yheight)
my.agemodel$report
agemodelage=my.agemodel$time
agemodelheight=my.agemodel$height
plot(agemodelage,agemodelheight,type='l',
  lwd=6,main='Reconstructed Deposition Models as Age Model')
legend('topleft',legend='Age Model',lwd=6,col='black')
#approximate deposition rate (=derivative of the age model)
grad=diff(agemodelheight)/diff(agemodelage)
xbase=agemodelage[-1]
plot(xbase,grad,xlab='Time',ylab='Deposition Rate',
  main='Reconstructed Deposition Model as Deposition Rate',type='l',lwd=6,ylim=c(0,max(grad)))

#now assume pollen input into the sediment is decreasing and lasts for 2 time units
my.xage=c(0,2)
my.yage=c(5,1)
plot(my.xage,my.yage,type='l',xlab='Time',ylab='Pollen Input',ylim=c(0,max(my.yage)),
  lwd=6,main='Temporal Pattern')
#reconstruct age model based on these updated assumptions
my.agemodel2=patterntodepositionmodel(xheight=my.xheight,yheight=my.yheight,
    xage=my.xage,yage=my.yage)
my.agemodel2$report
agemodelage2=my.agemodel2$time
agemodelheight2=my.agemodel2$height
plot(agemodelage2,agemodelheight2,type='l',lwd=6, 
  main='Reconstructed Deposition Model as Age Model')
legend('topleft',legend='Age Model',lwd=6,col='black')

#if a pattern is given as bins, use the option 'heightmode' or 'agemode'
#define stratigraphic pattern as binned function
my.xheight3=seq(0,10,length.out=11) #borders of the bins used to define the stratigraphic pattern
my.yheight3=seq(0,3,length.out=10)+rexp(10) #note that xheight has one element more than yheight
barplot(my.yheight3,width=diff(my.xheight3),ylab='Pollen Abundance',xlab='Stratigraphic Height',
  space=0,main='Stratigraphic Pattern')
#reconstruct age model as in the first example, but with the binned pollen observation 
#  in stratigraphic height
#Note that pollen input in time is again assumed to be constant 
#(default setting if no xage and yage given)
my.agemodel3=patterntodepositionmodel(xheight=my.xheight3,yheight=my.yheight3,heightmode='binned')
my.agemodel3$report
agemodelage3=my.agemodel3$time
agemodelheight3=my.agemodel3$height
plot(agemodelage3,agemodelheight3,type='l',lwd=6,
  main='Reconstructed Deposition Model as Age Model')
legend('topleft',legend='Age Model',lwd=6,col='black')
#The same option is also available for the temporal pattern (no example given)

Transform patterns between stratigraphic height and time/age

Description

This function (1) takes temporal patterns and determines the corresponding stratigraphic patterns or (2) takes stratigraphic patterns and reconstructs the underlying temporal patterns.

These patterns can for example be rates of (first/last) fossil occurrences, rates of morphological change, or input rates into the sediment, e.g. of geochemical proxies.

Usage

patterntransform ( xdep , ydep , xpat , ypat ,  direction = 'time to height' ,
depositionmodel = 'piecewise linear deposition rate' ,  patternmode = 'piecewise linear' ,
pos=NULL , hiatuslist=list() ,unit = 'time per sediment',timetype='time' )

Arguments

xdep

Vector of strictly increasing real numbers

ydep

Vector of real numbers. xdep and ydep describe the deposition model, and how they are interpreted depends on the option depositionmodel (and when direction='height to time', also on the option unit). By default, xdep and ydep describe a piecewise linear deposition rate, i.e. deporate=approxfun(xdep,ydep). For more options on how to describe deposition models, see depositionmodel below

xpat

Vector of strictly increasing real numbers

ypat

Vector containing positive real numbers. xpat and ypat describe the pattern to be transformed. By default, it is taken to be piecewise linear and is accordingly given by pattern=approxfun(xpat,ypat). The option patternmode allows to change to binned patterns (see below). Whether the input pattern is a temporal or a stratigraphic pattern is determined by direction

direction

OPTIONAL, default is 'time to height'. Determines the direction of the transformation. Either 'time to height' (in which case the input pattern described by xpat and ypat is interpreted as a temporal pattern and will be transformed into a stratigraphic pattern) or 'height to time' (in which case the input pattern described by xpat and ypat is interpreted as a stratigraphic pattern and will be transformed into a temporal pattern)

depositionmodel

OPTIONAL, default is 'piecewise linear deposition rate'. Either 'piecewise linear deposition rate', 'binned deposition rate', or 'age model'. Determines how the input of xdep and ydep is interpreted. Dependent on the choice of direction and depositionmodel, different restrictions on the input of ydep exist, for details and examples see the vignette (available via vignette('DAIME') or the error messages

patternmode

OPTIONAL, default is 'piecewise linear'. Either 'piecewise linear' or 'binned'. Determines whether xpat and ypat are taken as a piecewise linear or a binned description of the pattern. In the first case, length(xpat) needs to match length(ypat), and the pattern is given by approxfun(xpat,ypat). In the second case, length(xpat) needs to match length(ypat)+1, and the value of the pattern between the xpat[i] and xpat[i+1] is given by ypat[i]

pos

OPTIONAL, default is NULL. A vector of points that will be transformed and then used determine the value of the pattern at these points. In the default setting, the number and location of points is chosen automatically

hiatuslist

OPTIONAL, default is an empty list. List of hiatuses to be included into the transformation, only used when direction='height to time', e.g. the transformation is from stratigraphic height to time. A list, containing vectors of length two as elements. Every element in the list corresponds to a hiatus: hiatuslist[[i]][1] is the stratigraphic height of the i-th hiatus, and hiatuslist[[i]][2] is its duration

unit

OPTIONAL, default is 'sediment per time'. Only used when direction='height to time', e.g. the transformation is from stratigraphic height to time, and deposition model is 'piecewise linear deposition rate' or 'binned deposition rate'. Either 'sediment per time' or 'time per sediment'. Determines the unit of the (binned or piecewise linear) deposition rate in the sense that if unit='sediment per time', the deposition rate describes the deposition rate with which a given point in the section was deposited. If unit='time per sediment', the deposition rate describes the time needed to deposit one unit of sediment

timetype

OPTIONAL, default is "time". Either "time" or "age", determines whether input/output will be interpreted/given as time or age

Value

Returns a list with two elements. If direction='time to height', these elements are

height

vector containing stratigraphic heights

val

vector containing the values of the stratigraphic pattern (=transformed temporal pattern) at the stratigraphic heights given by height

report

A short summary of the task performed

If direction='height to time' and timetype='time', these elements are

time

vector containing points in time

val

vector containing the values of the temporal pattern (=transformed stratigraphic pattern) at the points in time given by time

report

A short summary of the task performed

If direction='height to time' and timetype='age', these elements are

age

vector containing ages

val

vector containing the values of the temporal pattern (=transformed stratigraphic pattern) at the ages given by age

report

A short summary of the task performed

Output of NA in age,time, height, or val indicates that some values coincide with a hiatus or intervals where the deposition model is undefined.

Author(s)

Niklas Hohmann

References

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>

See Also

For an overview of the functions in the DAIME package and examples using stratigraphic data see the vignette (available via vignette('DAIME') )

pointtransform for the transformation of points

patterntodepositionmodel to create deposition models based in sedimentary dilution/condensation of known patterns

strattotimeratebin, strattotimeratecont, timetostratratebin, and timetostratratecont for diverse (outdated) wrappers of patterntransform.

Examples

### Example 1: transform patterns from time into the section
##define (piecewise linear) deposition rate
my.xdep=seq(0,12,length.out=100)
my.ydep=splinefunH(x=c(0,2,4,6,8,10,12),y=c(1,5,6,1,0.5,1,6),m=c(0,1.5,-0.5,-0.5,0,0.5,0))(my.xdep)
#Plot deposition rate
plot(my.xdep,my.ydep,type='l',main='Deposition Rate',xlab='Time', ylab='Sediment per Time Unit',
  ylim=c(0,max(my.ydep))) 
##define (piecewise linear) temporal pattern, here fossil occurrences
patternname='Fossil Occurrences'
my.temp.pat.x= seq(from=min(my.xdep),to=max(my.xdep),length.out=100)
my.temp.pat.y=splinefunH(x=c(0,4,12),y=c(0.5,2,0.5),m=c(0,0,0))(my.temp.pat.x)  

plot(my.temp.pat.x,my.temp.pat.y,type='l',main=paste(patternname,'in time'),
  xlab='Time',ylab=patternname,ylim=c(0,max(my.temp.pat.y)))
##transform temporal pattern into stratigraphic pattern
strat.pat=patterntransform(xdep=my.xdep,ydep=my.ydep,xpat=my.temp.pat.x,ypat=my.temp.pat.y,
  direction = 'time to height' , depositionmodel = 'piecewise linear deposition rate' ,
  patternmode = 'piecewise linear')
strat.pat$report
my.strat.pat.x=strat.pat$height
my.strat.pat.y=strat.pat$val
plot(my.strat.pat.x,my.strat.pat.y,type='l',xlab='Stratigraphic Height',
ylab=patternname, main=paste(patternname,' in the section'))

## Variation: modify deposition rate to include erosion
my.xdep2=my.xdep
my.ydep2=splinefunH(x=c(0,2,4,6,8,10,12),y=c(1,5,6,-2,5,1,6),m=c(0,1.5,-0.5,-0.5,0,0.5,0))(my.xdep2)
#Plot deposition rate
plot(my.xdep2,my.ydep2,type='l',main='Deposition Rate',xlab='Time',ylab='Sediment per Time Unit')
lines(range(my.xdep2),c(0,0))
strat.pat2=patterntransform(xdep=my.xdep2,ydep=my.ydep2,xpat=my.temp.pat.x,ypat=my.temp.pat.y,
  direction = 'time to height' , depositionmodel = 'piecewise linear deposition rate' ,
  patternmode = 'piecewise linear')
strat.pat2$report
my.strat.pat.x2=strat.pat2$height
my.strat.pat.y2=strat.pat2$val
plot(my.strat.pat.x2,my.strat.pat.y2,type='l',xlab='Stratigraphic Height',
  ylab=patternname,main=paste(patternname,' in the section'),ylim=c(0,1))
#the spike is because the deposition rate is very small when it transitions from 
#negative to positive, generating a punctual extreme condensation

### Example 2: Transform patterns from the section into time
patternname='Fossil Occurrences'
#piecewise linear deposition rate
my.xdep=seq(0,12,length.out=100)
my.ydep=splinefunH(x=c(0,2,4,6,8,10,12),y=c(1,5,6,1,0.5,1,6),m=c(0,1.5,-0.5,-0.5,0,0.5,0))(my.xdep)
## Same pattern, this time interpreted as stratigraphic pattern
my.strat.pat.x= seq(from=min(my.xdep),to=max(my.xdep),length.out=100)
my.strat.pat.y=splinefunH(x=c(0,4,12),y=c(0.5,2,0.5),m=c(0,0,0))(my.strat.pat.x)
plot(my.strat.pat.x,my.strat.pat.y,type='l',main=paste(patternname,'in the section'),
  xlab='Stratigraphic Height',ylab=patternname,ylim=c(0,max(my.strat.pat.y)))

##interpret deposition rate as inverse deposition rate with the unit "time per sediment"
usedunit='time per sediment'
plot(my.xdep,my.ydep,type='l',main=paste('Deposition Rate as',usedunit),
  xlab='Stratigraphic Height',ylab=usedunit,ylim=c(0,max(my.ydep)))
#transform pattern
temp.pat1=patterntransform(xdep=my.xdep,ydep=my.ydep,xpat=my.strat.pat.x,ypat=my.strat.pat.y,
  direction = 'height to time' , depositionmodel = 'piecewise linear deposition rate' ,
  patternmode = 'piecewise linear', unit=usedunit)
temp.pat1$report
#plot result
plot(temp.pat1$time,temp.pat1$val,type='l',xlab='Time',
  ylab=patternname,main=paste(patternname, 'in time'),ylim=c(0,max(temp.pat1$val)))
  
##take the deposition rate as ordinary deposition rate with unit "sediment per time"
usedunit='sediment per time'
plot(my.xdep,my.ydep,type='l',main=paste('Deposition Rate as',usedunit),
xlab='Stratigraphic Height',ylab=usedunit,ylim=c(0,max(my.ydep)))
#transform pattern
temp.pat2=patterntransform(xdep=my.xdep,ydep=my.ydep,xpat=my.strat.pat.x,ypat=my.strat.pat.y,
  direction = 'height to time' ,depositionmodel = 'piecewise linear deposition rate' ,
  patternmode = 'piecewise linear', unit=usedunit)
temp.pat2$report
#plot result
plot(temp.pat2$time,temp.pat2$val,type='l',xlab='Time',
  ylab=patternname,main=paste(patternname, 'in time'),ylim=c(0,max(temp.pat2$val)))
#Note the big difference in the resulting patterns in time depending on the unit used.

Transform points between stratigraphic height and time/age

Description

This function (1) takes times/ages and determines the stratigraphic heights that were deposited at said times/ages or (2) takes stratigraphic heights and determines their time/age of deposition.

This can be used to (1) reconstruct the age/time/stratigraphic height of single objects placed in the sediment (2) construct age models from deposition rates and (3) transform (isotope) ratios or percentages from stratigraphic height into time/age and vice versa (see examples).

Usage

pointtransform( points , xdep , ydep ,
  direction = 'time to height' , depositionmodel = 'piecewise linear deposition rate' ,
  hiatuslist = list() , unit = 'time per sediment', timetype='time')

Arguments

points

Vector containing points that are transformed. Whether the entries in points are interpreted as stratigraphic heights or as times/ages depends on the option direction and timetype.

xdep

Vector of strictly increasing real numbers

ydep

Vector of real numbers. xdep and ydep describe the deposition model, and how they are interpreted depends on the option depositionmodel (and when direction='height to time', also on the option unit). By default, xdep and ydep describe a piecewise linear deposition rate, i.e. deporate=approxfun(xdep,ydep). For more options on how to describe deposition models, see depositionmodel

direction

OPTIONAL, default is 'time to height'. Determines the direction of the transformation. Either 'time to height' (in which case the input given by points corresponds to ages/times) or 'height to time' (in which case the input of points corresponds to stratigraphic heights)

depositionmodel

OPTIONAL, default is 'piecewise linear deposition rate'. Either 'piecewise linear deposition rate', 'binned deposition rate', or 'age model'. Determines how the input of xdep and ydep is interpreted. Dependent on the choice of direction and depositionmodel, different restrictions on the input of ydep exist, for details and examples see the vignette (available via vignette('DAIME') or the error messages

hiatuslist

OPTIONAL, default is an empty list. List of hiatuses to be included into the transformation, only used when direction='height to time', e.g. the transformation is from stratigraphic height to time. A list, containing vectors of length two as elements. Every element in the list corresponds to a hiatus: hiatuslist[[i]][1] is the stratigraphic height of the i-th hiatus, and hiatuslist[[i]][2] is its duration

unit

OPTIONAL, default is 'sediment per time'. Only used when direction='height to time', e.g. the transformation is from stratigraphic height to time, and depositionmodel is 'piecewise linear deposition rate' or 'binned deposition rate'. Either 'sediment per time' or 'time per sediment'. Determines the unit of the (binned or piecewise linear) deposition rate. If unit='sediment per time', the deposition rate describes the deposition rate with which a given point in the section was deposited. If unit='time per sediment', the deposition rate describes the time needed to deposit one unit of sediment (also know as the inverse deposition rate)

timetype

OPTIONAL, default is "time". Either "time" or "age", determines whether input/output will be interpreted/given as time or age

Value

If timetype='time' a list containing:

time

Vector containing the times at which the stratigraphic heights in height were deposited

height

Vector containing stratigraphic heights that were deposited at the times given in time

report

A short summary of the task performed

If timetype='age' a list containing:

age

Vector containing the ages at which the stratigraphic heights in height were deposited

height

Vector containing stratigraphic heights that were deposited at the ages given in age

report

A short summary of the task performed

If direction='time to height', age/time is a duplicate of the input points, and height contains the stratigraphic heights that were deposited at the ages/times given by points.

If direction='height to time', height is a duplicate of the input points, and age/time contains the ages/times at which the stratigraphic height given by points were deposited.

Output of NA in a vector indicates that the transformation was unsuccessful. This happens when entries of points coincide with a hiatus or are not in the domain of definition of the deposition model.

Author(s)

Niklas Hohmann

References

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>

See Also

For an overview of the functions in the DAIME package and examples using stratigraphic data see the vignette (available via vignette('DAIME') )

patterntransform for the transformation of input rates (stratigraphic patterns into temporal patterns and vice versa)

patterntodepositionmodel to create deposition models based on sedimentary dilution/condensation of known patterns

strattotimepointbin, strattotimepointcont, timetostratpointbin, and timetostratpointcont for diverse (outdated) wrappers of pointtransform.

Examples

### Example 1: Determine age/stratigraphic height of single objects
##define deposition rate
my.xdep=seq(0,12,length.out=100)
my.ydep=splinefunH(x=c(0,2,4,6,8,10,12),y=c(1,5,6,1,0.5,1,6),m=c(0,1.5,-0.5,-0.5,0,0.5,0))(my.xdep)
#unit of deposition rate is sediment per time unit (default setting)
usedunit='sediment per time' #unit of deposition rate is sediment per time unit (default setting)
#Plot deposition rate (in stratigraphic height)
plot(my.xdep,my.ydep,type='l',main='Deposition Rate',xlab='Stratigraphic Height',ylab=usedunit,
  ylim=c(0,max(my.ydep)))
##at what time was the object found at stratigraphic height 9 deposited?
#using default setting for depositionmodel (depositionmodel = 'piecewise linear deposition rate')
pointtransform(points=9,xdep=my.xdep,ydep=my.ydep,direction='height to time', unit=usedunit) 
#change unit used
usedunit='time per sediment'
pointtransform(points=9,xdep=my.xdep,ydep=my.ydep,direction='height to time', unit=usedunit) 
#note how different the results are!
##Now, take deposition rate as deposition rate in time
##at what stratigraphic height will an object appear that was deposited at time 5?
pointtransform(points=5,xdep=my.xdep,ydep=my.ydep,direction='time to height') 
#The option "unit" is unused when transforming from time to height

### Example 2: Create Age models based on a deposition rate
##create an age model. Essentially transform many points, which then approximate the age model
stratheights=seq(min(my.xdep),max(my.xdep),length.out=1000) #many points to approx. age model
usedunit='sediment per time'
reslist=pointtransform(points=stratheights,xdep=my.xdep,ydep=my.ydep,
  direction='height to time',unit=usedunit)
reslist$report
agemodelage=reslist$time
agemodelheight=reslist$height
#plot age model
plot(agemodelage,agemodelheight,xlab='Time',ylab='Stratigraphic Height',
  main=paste('Age model based on deposition rate \n with unit',usedunit))
  
#create age model but with other units for sedimentn input
usedunit='time per sediment'
reslist=pointtransform(points=stratheights,xdep=my.xdep,ydep=my.ydep,
  direction='height to time',unit=usedunit)
reslist$report
agemodelage=reslist$time
agemodelheight=reslist$height
#plot age model (note the difference the setting of unit makes in terms of time 
#required to deposit the section!)
plot(agemodelage,agemodelheight,xlab='Time',ylab='Stratigraphic Height',
  main=paste('Age model based on deposition rate \n with unit',usedunit))

##create age model with a hiatus 1: height to time
stratigraphicheight=5 #strat. height of the hiatus
duration=10 #duration of the hiatus
my.hiatuslist=list(c(stratigraphicheight,duration)) #required input format for hiatuses
reslist=pointtransform(points=stratheights,xdep=my.xdep,ydep=my.ydep,
  direction='height to time',hiatuslist=my.hiatuslist)
reslist$report
agemodelage=reslist$time
agemodelheight=reslist$height
#!using default setting for unit (sediment per time) again!
plot(agemodelage,agemodelheight,xlab='Time',ylab='stratigraphic height')
#the gap corresponds to the hiatus

##create age model with a hiatus 2: time to height
my.xdep2=c(0,6,8,12)
my.ydep2=c(0,6,5,12)
plot(my.xdep2,my.ydep2,type='l',main='Age Model, not eroded',xlab='time',ylab='height')
reslist=pointtransform(points=stratheights,xdep=my.xdep2,ydep=my.ydep2,
  direction='time to height',depositionmodel='age model')
reslist$report
agemodelage=reslist$time
agemodelheight=reslist$height
plot(agemodelage,agemodelheight,xlab='Time',ylab='stratigraphic height'
  ,main='Age model, eroded (with hiatus)')

###Example 3: Transform (isotope) ratios
##define deposition rate
my.xdep3=seq(0,12,length.out=100)
my.ydep3=splinefunH(x=c(0,2,4,6,8,10,12),y=c(1,5,6,1,0.5,1,6),
  m=c(0,1.5,-0.5,-0.5,0,0.5,0))(my.xdep3)
#create fake (oxygen) isotope curves
samplelocation=seq(0,12,length.out=20) #where the samples are taken
isotoperatio=(-1)^(0:19) +0.2*0:19
plot(my.xdep3,my.ydep3,type='l',ylim=c(0,7),xlab='Stratigraphic Height',ylab='')
lines(samplelocation,isotoperatio,type='l',lwd=4)
legend('topleft',lwd=c(1,4),legend=c('Deposition rate','(Isotope) ratio'))
#transform only (!) sample locations, NOT values 
#again using the default setting for unit
reslist=pointtransform(points=samplelocation,xdep=my.xdep3,ydep=my.ydep3,
  direction='height to time')
#Isotope ratios in time 
plot(reslist$time,isotoperatio,type='l',xlab='Time',ylab='Isotope Ratio',lwd=4)

Age models for the K/Pg boundary on Seymour Island, Antarctica

Description

Contains age models for the extinction at the K/Pg boundary on Seymour Island, Antarctica. Age models are based on

*the Stratigraphic height of the K/Pg boundary of 1007.5 m with an age of 66.04 Ma (Renne et al. 2013)

*magnetostratigraphy from Tobin et al. (2012) and ages from Gradstein et al. (2012), yielding an age of 66.389 Ma at the stratigraphic height of 934.4 m.

The stratigraphic height of a low deposition interval is assumed to be at 959.5 m based on section A from Witts et al. (2016).

Reference for stratigraphic heights is the composite section by Witts et al. (2016).

Usage

data(SeymourIslandBins)

Format

A list with entries named after the age models described in Hohmann (in preparation). Each of these age models consists of three vectors: 'age' and 'height' correspond to the age of deposition of a given stratigraphic height, and 'parameters' contains a description of the parameters used to generate the age models

Source

Gradstein, Felix M., et al., eds. The geologic time scale 2012. elsevier, 2012.

Renne, Paul R., et al. "Time scales of critical events around the Cretaceous-Paleogene boundary." Science 339.6120 (2013): 684-687.

Tobin, Thomas S., et al. "Extinction patterns, delta18 O trends, and magnetostratigraphy from a southern high-latitude Cretaceous/Paleogene section: Links with Deccan volcanism." Palaeogeography, Palaeoclimatology, Palaeoecology 350 (2012): 180-188.

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>.

Witts, James D., et al. "Macrofossil evidence for a rapid and severe Cretaceous/Paleogene mass extinction in Antarctica." Nature communications 7 (2016): 11738.

Examples

data("SeymourIslandAgeModels")
#Select age model B
my.agemodel=SeymourIslandAgeModels$B
#check parameters of age model
my.agemodel$parameters
plot(my.agemodel$age,my.agemodel$height,type='l',
  xlim=rev(range(my.agemodel$age)),xlab='Age [Ma]',ylab='Stratigraphic Height [m]')

Sampling bins approaching and covering the K/Pg boundary on Seymour Island, Antarctica

Description

Contains the sampling bins from Seymour Island from

  • Macellari (1984), section D

  • Witts et al. (2016), section A

Reference for stratigraphic heights is the composite section by Witts et al. (2016) with the K/Pg boundary at 1007.5 m. The bins from Macellari were correlated using the glauconite bed and the last ammonite occurrences at the K/PG boundary (Macellari 1984, p. 506 and 518, samples 401,402, and 403).

Usage

data(SeymourIslandBins)

Format

A list with two entries: One corresponding to the bins from Macellari (1984), the other to the bins from Witts et al. (2016)

Source

Macellari, Carlos E. Late Cretaceous stratigraphy, sedimentology, and macropaleontology of Seymour Island, Antarctic Peninsula. Diss. The Ohio State University, 1984.

Witts, James D., et al. "Macrofossil evidence for a rapid and severe Cretaceous/Paleogene mass extinction in Antarctica." Nature communications 7 (2016): 11738.

Examples

data("SeymourIslandBins")
#Compare bins from Macellari and Witts before the K/Pg extinction
plot(SeymourIslandBins$Macellari.1984.Section.D.,
  rep(0,length(SeymourIslandBins$Macellari.1984.Section.D.)),
  ylim=c(0,1.1),xlab='Stratigraphic Height [m]',xlim=c(930,1007.5))
points(SeymourIslandBins$Witts.et.al.2016.Section.A,
  rep(0.2,length(SeymourIslandBins$Witts.et.al.2016.Section.A)),pch=19)
lines(c(1007.5,1007.5),c(0,2))
legend('topleft',pch=c(1,19,NA),lty=c(NA,NA,1),legend=c('Macellari','Witts','K/Pg boundary'))

Transform Points and Isotope Ratios from Stratigraphic Height into Time (Binned)

Description

This function takes a binned deposition rate and reconstructs at what time a given stratigraphic height was deposited. Essentially a wrapper of pointtransform(...,direction='height to time',depositionmodel='binned deposition rate') kept for backwards compatibility of the package. It is recommended to use pointtransform instead of this function.

Usage

strattotimepointbin(x, binborder, depoval, hiatuslist = list(),
  unit = "sediment per time")

Arguments

x

Vector containing the stratigraphic heights whose time of deposition are to be determined

binborder

Vector of strictly increasing numerical values. Defines the borders of the bins in stratigraphic height

depoval

Strictly positive vector of length length(binborder)-1. Defines the deposition rate in the bins, i.e. depoval[i] is the deposition rate between the stratigraphic heights binborder[i] and binborder[i+1]

hiatuslist

OPTIONAL, default is an empty list. A list of hiatuses to insert. Every entry in the list corresponds to a hiatus, which is given as a vector of length two. The first entry of the vector is the stratigraphic height of the hiatus, the second entry is the duration of the hiatus.

unit

OPTIONAL, default is "sediment per time". Either "sediment per time" or "time per sediment". Determines the unit that is assumed for the input given by depoval.

Value

Returns a list containing

age

vector containing ages of deposition of the stratigraphic heights given by the input x

height

vector containing the heights that were deposited at the times given by age. Essentially a duplicate of the input x

Output of NA in age indicates that some values coincide with a hiatus or are located at places where the deposition rate is undefined.

Author(s)

Niklas Hohmann

References

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>

See Also

pointtransform for the more general function underlying this wrapper

For an overview of the functions in the DAIME package, see its vignette (available via vignette("DAIME") )

Examples

##define deposition rate
binborder=1:6 #bins in tratigraphic height
depoval=c(1,4,5,2,2)
usedunit="sediment per time" #unit of deposition rate is sediment per time unit (default setting)
#Plot deposition rate
plot(approx(binborder,c(depoval,tail(depoval,1)),method='constant',xout=seq(min(binborder),
  max(binborder),length.out=100)),type='l',main='Deposition Rate',xlab='Stratigraphic Height',
  ylab=usedunit,ylim=c(0,max(depoval)))
  
##at what time was the point with tratigraphic height 3.5 deposited?
strattotimepointbin(3.5,binborder,depoval) 

##create an age model
stratheight=seq(min(binborder),max(binborder),length.out=100)
reslist=strattotimepointbin(stratheight,binborder,depoval,unit=usedunit)
#plot age model
usedunit="sediment per time"
plot(reslist$age,reslist$height,xlab='Time',ylab='Stratigraphic Height',
  main=paste('Age model with unit',usedunit))
#create age model but with other units for sedimentn input
usedunit='time per sediment'
reslist=strattotimepointbin(stratheight,binborder,depoval,unit=usedunit)
#plot age model (note the difference this setting makes)
plot(reslist$age,reslist$height,xlab='Time',ylab='Stratigraphic Height',
  main=paste('Age model with unit',usedunit))

##create age model with a hiatus
stratigraphicheight=5 #strat. height of the hiatus
duration=2 #duration of the hiatus
hiatuslist=list(c(stratigraphicheight,duration)) #required input format for hiatuses
reslist=strattotimepointbin(stratheight,binborder,depoval,hiatuslist=hiatuslist)
#!using default setting for units again!
plot(reslist$age,reslist$height,xlab='Time',ylab='stratigraphic height') 

##Transform isotope ratios
depoval=c(1,4,0.1,2,2) 
#create fake oxygen isotope curves
samplelocation=sort(runif(20,min=min(binborder),max=max(binborder))) #where the samples are taken
isotoperatio=sin(samplelocation)*rnorm(length(samplelocation)) #isotope ratios of the samples
plot(samplelocation,isotoperatio,type='l',xlab='Stratigraphic Height',ylab='Isotope Ratio')
#transform only (!) sample locations, NOT values
reslist=strattotimepointbin(samplelocation,binborder,depoval)
#Isotope ratios in time 
plot(reslist$age,isotoperatio,type='l',xlab='Time',ylab='Isotope Ratio')

Transform Points and Isotope Ratios from Stratigraphic Height into Time (Continuos)

Description

This function takes a continuous deposition rate and reconstructs at what time a given stratigraphic height was deposited. Essentially a wrapper of pointtransform(...,direction='height to time',depositionmodel='piecewise linear deposition rate') kept for backwards compatibility of the package. It is recommended to use pointtransform instead of this function.

Usage

strattotimepointcont(x, xdep, ydep, hiatuslist = list(), unit = "sediment per time")

Arguments

x

Vector containing the stratigraphic heights whose time of deposition are to be determined

xdep

Vector of strictly increasing real numbers

ydep

Vector of the same length of xdep, containing strictly positive real numbers. xdep and ydep define the deposition rate in the sense that depositionrate=approxfun(xdep,ydep). The units of te deposition rate are by default "sediment per time" and can be changed using the optional input unit

hiatuslist

OPTIONAL, default is an empty list. A list of hiatuses to insert. Every entry in the list corresponds to a hiatus, which is given as a vector of length two. The first entry of the vector is the stratigraphic height of the hiatus, the second entry is the duration of the hiatus.

unit

OPTIONAL, default is "sediment per time". Either "sediment per time" or "time per sediment". Determines the unit that is assumed for the deposition rate.

Value

Returns a list containing

age

vector containing times of deposition of the stratigraphic heights given by the input x

height

vector containing the heights that were deposited at the times given by age. Essentially a duplicate of the input x

Output of NA in age indicates that some values coincide with a hiatus or are located at places where the deposition rate is undefined.

Author(s)

Niklas Hohmann

References

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>

See Also

pointtransform for the more general function underlying this wrapper

For an overview of the functions in the DAIME package, see its vignette (available via vignette("DAIME") )

Examples

##define deposition rate
xdep=seq(0,12,length.out=100)
ydep=splinefunH(x=c(0,2,4,6,8,10,12),y=c(1,5,6,1,0.5,1,6),m=c(0,1.5,-0.5,-0.5,0,0.5,0))(xdep)
#unit of deposition rate is sediment per time unit (default setting)
usedunit="sediment per time" #unit of deposition rate is sediment per time unit (default setting)
#Plot deposition rate
plot(xdep,ydep,type='l',main='Deposition Rate',xlab='Stratigraphic Height',ylab=usedunit) 

##at what time was the point with tratigraphic height 9 deposited?
strattotimepointcont(9,xdep,ydep) 

##create an age model
stratheight=seq(min(xdep),max(xdep),length.out=100)
usedunit="sediment per time"
reslist=strattotimepointcont(stratheight,xdep,ydep,unit=usedunit)
#plot age model
plot(reslist$age,reslist$height,xlab='Time',ylab='Stratigraphic Height',
  main=paste('Age model with unit',usedunit))
#create age model but with other units for sedimentn input
usedunit='time per sediment'
reslist=strattotimepointcont(stratheight,xdep,ydep,unit=usedunit)
#plot age model (note the difference this setting makes)
plot(reslist$age,reslist$height,xlab='Time',ylab='Stratigraphic Height',
  main=paste('Age model with unit',usedunit))

##create age model with a hiatus
stratigraphicheight=5 #strat. height of the hiatus
duration=2 #duration of the hiatus
hiatuslist=list(c(stratigraphicheight,duration)) #required input format for hiatuses
reslist=strattotimepointcont(stratheight,xdep,ydep,hiatuslist=hiatuslist)
#!using default setting for units again!
plot(reslist$age,reslist$height,xlab='Time',ylab='stratigraphic height')

##Transform isotope ratios
#create fake oxygen isotope curves
samplelocation=sort(runif(20,min=min(xdep),max=max(xdep))) #where the samples are taken
isotoperatio=sin(samplelocation)*rnorm(length(samplelocation)) #isotope ratios of the samples
plot(samplelocation,isotoperatio,type='l',xlab='Stratigraphic Height',ylab='Isotope Ratio')
#transform only (!) sample locations, NOT values
reslist=strattotimepointcont(samplelocation,xdep,ydep)
#Isotope ratios in time 
plot(reslist$age,isotoperatio,type='l',xlab='Time',ylab='Isotope Ratio')

Transform patterns from Stratigraphic Height into Time (Binned)

Description

This function transforms a given binned stratigraphic pattern into the corresponding temporal pattern. The transformation is based on the age model derived from the given deposition rate. Essentially a wrapper of patterntransform(...,direction='height to time',depositionmodel='binned deposition rate',patternmode='binned') kept for backwards compatibility of the package. It is recommended to use patterntransform instead of this function.

Usage

strattotimeratebin(binborder, depoval, signalval, pos = NULL, hiatuslist = list(), 
  unit = "sediment per time")

Arguments

binborder

Vector of strictly increasing numerical values. Defines the borders of the bins in stratigraphic height

depoval

Strictly positive vector of length length(binborder)-1. Defines the deposition rate in the bins, i.e. depoval[i] is the deposition rate between the stratigraphic heights binborder[i] and binborder[i+1]

signalval

Positive vector of length length(binborder)-1. Defines the stratigraphic pattern in the bins, i.e. signalval[i] is the value of the stratigraphic pattern between the stratigraphic heights binborder[i] and binborder[i+1]

pos

OPTIONAL. Vector of points in stratigrapic height that will be transformed into time, and where the temporal pattern will evaluated. Default setting is a vector spanning the interval of interest with evenly spaced points (no. is chosen by the code)

hiatuslist

OPTIONAL, default is an empty list. A list of hiatuses to insert. Every entry in the list corresponds to a hiatus, which is given as a vector of length two. The first entry of the vector is the stratigraphic height of the hiatus, the second entry is the duration of the hiatus.

unit

OPTIONAL, default is "sediment per time". Either "sediment per time" or "time per sediment". Determines the unit that is assumed for the input given by depoval.

Value

Returns a list containing

age

vector containing times

val

vector containign the values of the temporal pattern at the times given by the first entry of the list

The temporal pattern can be approximated by approxfun(output$age,output$val). Output of NA indicates that some values coincide with a hiatus or are located at places where the deposition rate/stratigraphic pattern are undefined.

Author(s)

Niklas Hohmann

References

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>

See Also

patterntransform for the more general function underlying this wrapper

For an overview of the functions in the DAIME package, see its vignette (available via vignette("DAIME") )

Examples

##define deposition rate and stratigraphic pattern
binborder=1:6 #bins in tratigraphic height
depoval=c(1,4,0.1,2,2)
usedunit="sediment per time" #unit of deposition rate is sediment per time unit (default setting)
#Plot deposition rate
plot(approx(binborder,c(depoval,tail(depoval,1)),method='constant',
  xout=seq(min(binborder),max(binborder),length.out=100)),type='l',main='Deposition Rate',
  xlab='Stratigraphic Height',ylab=usedunit,ylim=c(0,max(depoval)))
#define stratigraphic rate
signalval=c(runif(5))
#plot stratigraphic pattern
plot(approx(binborder,c(signalval,tail(signalval,1)),method='constant', 
  xout=seq(min(binborder),max(binborder),length.out=100)),type='l',main='Deposition Rate',
  xlab='Stratigraphic Height', ylab='Stratigraphic Pattern',ylim=c(0,max(signalval)))
  
##transform stratigraphic pattern into temporal pattern
usedunit="sediment per time" #unit of deposition rate is sediment per time unit (default setting)
reslist=strattotimeratebin(binborder,depoval, signalval,unit=usedunit)
#plot results
plot(reslist$age,reslist$val,xlab='time',ylab='temporal pattern',
  main=paste('depoval interpreted as',usedunit))
usedunit="time per sediment" #use other input interpretation
reslist=strattotimeratebin(binborder,depoval, signalval,unit=usedunit)
#note how different the results look!!
plot(reslist$age,reslist$val,xlab='time',ylab='temporal pattern',
  main=paste('depoval interpreted as',usedunit))
  
##insert a hiatus
stratigraphicheight=3.5 #strat. height of the hiatus
duration=2 #duration of the hiatus
hiatuslist=list(c(stratigraphicheight,duration)) #required input format for hiatuses
#usedunit is back to default setting!
reslist=strattotimeratebin(binborder,depoval, signalval,hiatuslist=hiatuslist)
#the hiatus corresponds to the gap  in the middle of the temporal rate
plot(reslist$age,reslist$val,xlab='time',ylab='temporal pattern')

Transform Patterns from Stratigraphic Height into Time (Continuous)

Description

This function transforms a given continuous stratigraphic pattern into the corresponding temporal pattern. The transformation is based on the age model derived from the given deposition rate. Essentially a wrapper of patterntransform(...,direction='height to time',depositionmodel='piecewise linear deposition rate',patternmode='piecewise linear') kept for backwards compatibility of the package. It is recommended to use patterntransform instead of this function.

Usage

strattotimeratecont(xdep, ydep, xsig, ysig, pos = NULL,   hiatuslist = list(),
  unit = "sediment per time")

Arguments

xdep

Vector of strictly increasing real numbers

ydep

Vector of the same length of xdep, containing strictly positive real numbers. xdep and ydep define the deposition rate in the sense that depositionrate=approxfun(xdep,ydep). The units of te deposition rate are by default "sediment per time" and can be changed using the optional input unit

xsig

Vector of strictly increasing real numbers

ysig

Vector of the same length of xsig, containing positive real numbers. xsig and ysig define the stratigraphic pattern in the sense that stratigraphicrate=approxfun(xsig,ysig).

pos

OPTIONAL. Vector of points in stratigrapic height that will be transformed into time, and determine where the temporal pattern is evaluated. Default setting is a vector spanning the interval of interest with evenly spaced points (no. is chosen by the code)

hiatuslist

OPTIONAL, default is an empty list. A list of hiatuses to insert. Every entry in the list corresponds to a hiatus, which is given as a vector of length two. The first entry of the vector is the stratigraphic height of the hiatus, the second entry is the duration of the hiatus.

unit

OPTIONAL, default is "sediment per time". Either "sediment per time" or "time per sediment". Determines the unit that is assumed for the deposition rate.

Value

Returns a list containing:

age

vector containing times

val

vector containign the values of the temporal pattern at the times given by the first entry of the list

The temporal pattern can then be approximated by approxfun(output$age,output$val). Output of NA indicates that some values coincide with a hiatus or are located at places where the deposition rate/stratigraphic pattern are undefined.

Author(s)

Niklas Hohmann

References

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>

See Also

patterntransform for the more general function underlying this wrapper

For an overview of the functions in the DAIME package, see its vignette (available via vignette("DAIME") )

Examples

##define deposition rate and stratigraphic pattern
xdep=seq(0,12,length.out=100)
ydep=splinefunH(x=c(0,2,4,6,8,10,12),y=c(1,5,6,1,0.5,1,6),m=c(0,1.5,-0.5,-0.5,0,0.5,0))(xdep)
usedunit="sediment per time" #unit of deposition rate is sediment per time unit (default setting)
#Plot deposition rate
plot(xdep,ydep,type='l',main='Deposition Rate',xlab='Stratigraphic Height',
  ylab=usedunit)
#define a pattern
xsig= seq(from=min(xdep),to=max(xdep),length.out=100)
ysig=splinefunH(x=c(0,4,12),y=c(0.5,2,0.5),m=c(0,0,0))(xsig) #function values of the signal
plot(xsig,ysig,type='l',main='Stratigraphic Pattern',
  xlab='Stratigraphic Height',ylab='Intensity')
  
##transform stratigraphic pattern into temporal pattern
usedunit="sediment per time" #unit of deposition rate is sediment per time unit (default setting)
reslist=strattotimeratecont(xdep,ydep,xsig,ysig,unit=usedunit)
#plot temporal pattern (transformed stratigrapic pattern)
plot(reslist$age,reslist$val,type='l',xlab='Time',ylab='Intensity',
  main=paste('deposition rate interpreted as',usedunit))
#now using same input, but different interpretation of units
usedunit="time per sediment" #now interpret the deposition rate in different units
reslist=strattotimeratecont(xdep,ydep,xsig,ysig,unit=usedunit)
#plot temporal pattern (transformed stratigrapic pattern)
plot(reslist$age,reslist$val,type='l',xlab='Time',ylab='Intensity temporal pattern',
  main=paste('deposition rate interpreted as',usedunit))
#note how different the results look!!

#Insert hiatus
stratigraphicheight=5 #strat. height of the hiatus
duration=4 #duration of the hiatus
hiatuslist=list(c(stratigraphicheight,duration)) #required input format for hiatuses
reslist=strattotimeratecont(xdep,ydep,xsig,ysig,hiatuslist=hiatuslist) #unit is back to default
plot(reslist$age,reslist$val,xlab='Time',ylab='Intensity',main='Temporal Pattern')
#hiatus is approx between 2 and 5

Transform Points and Isotope Ratios from Time into Stratigraphic Height (Binned)

Description

This function takes a binned deposition rate to determined what stratigraphic height of a section was deposited at a given time. Essentially a wrapper of pointtransform(...,direction='time to height',depositionmodel='binned deposition rate') kept for backwards compatibility of the package. It is recommended to use pointtransform instead of this function.

Usage

timetostratpointbin(x, binborder, depoval)

Arguments

x

Vector containing the times whose stratigraphic heights are to be determined

binborder

Vector of strictly increasing numerical values. Defines the borders of the bins in time

depoval

Vector of length length(binborder)-1. Defines the deposition rate in the bins, i.e. depoval[i] is the deposition rate in the time interval between binborder[i] and binborder[i+1]

Value

Returns a list containing

height

vector containing the stratigraphic heights that were deposited at the times given by the input x

age

vector containing the ages at which the stratigraphic heights given by height were deposited. Essentially a duplicate of the input x

Output of NA in height indicates that some values coincide with a hiatus or are located at places where the deposition rate is undefined.

Author(s)

Niklas Hohmann

References

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>

See Also

pointtransform for the more general function underlying this wrapper

For an overview of the functions in the DAIME package, see its vignette (available via vignette("DAIME") )

Examples

##Define deposition rate
binborder=1:6 #temporal bins for the deposition rate
depoval=c(5,4,3,1,2) #deposition rate in the bins
#plot deposition rate
depositionrate=approxfun(binborder,c(depoval,tail(depoval,1)),method="constant",yleft=NA,yright=NA)
plot(depositionrate(seq(from=min(binborder),to=max(binborder),length.out=100)),xlab='time',
  ylab='deposition rate', main='Deposition rate')

##at what stratigraphic height can an object be found that was deposited in the 
##sediment after 5 time units?
timetostratpointbin(5,binborder,depoval) 

##create age model
#points that will be transformed into stratigraphic height
time=seq(from=min(binborder),to=max(binborder),length.out=100) 
reslist=timetostratpointbin(time,binborder,depoval)
#plot age model
plot(reslist$height,reslist$age,type='l',ylab='Time',xlab='Stratigraphic Height',main='Age model')

## Age model with removal of sediment (hiatus)
depoval=c(5,4,-3,1,2) #in the midle time bin, erosion rate is 3
reslist=timetostratpointbin(time,binborder,depoval)
#plot age model. the gap represents the hiatus
plot(reslist$height,reslist$age,type='l',ylab='Time',xlab='Stratigraphic Height',
  main='Age model with erosion')
#A object deposited in the sediment after 3.5 time units is destroyed due to the hiatus:
timetostratpointbin(3.5,binborder,depoval) 

##transform isotope ratio curves
depoval=c(5,4,2,1,0.1)
#create fake ratios and sample locations
sampletime=sort(runif(20,min=min(binborder),max=max(binborder))) #times where the samples were taken
isotoperatio=sin(sampletime)*rnorm(length(sampletime)) #isotope ratios
plot(sampletime,isotoperatio,type='l',xlab='Time',ylab='Isotope Ratio')
#!!transform only (!) sample times, NOT isotope values!!
reslist=timetostratpointbin(sampletime,binborder,depoval)
#this is the resulting isotope ratio curve in stratigraphic height
plot(reslist$height,isotoperatio,type='l',xlab='Stratigraphic Height',ylab='Isotope Ratio')

Transform Points and Isotope Ratios from Time into Stratigraphic Height (Continuous)

Description

This function takes a continuous deposition rate to determined what stratigraphic height of a section was deposited at a given time. Essentially a wrapper of pointtransform(...,direction='time to height',depositionmodel='piecewise linear deposition rate') kept for backwards compatibility of the package. It is recommended to use pointtransform instead of this function.

Usage

timetostratpointcont(x, xdep, ydep)

Arguments

x

Vector containing the times whose stratigraphic heights are to be determined

xdep

Vector of strictly increasing real numbers

ydep

Vector of the same length of xdep. xdep and ydep define the deposition rate in the sense that depositionrate=approxfun(xdep,ydep).

Value

Returns a list containing

height

vector containing the stratigraphic heights that were deposited at the times given by the input x

age

vector containing the ages at which the stratigraphic heights given by height were deposited. Essentially a duplicate of the input x

Output of NA in height indicates that some values coincide with a hiatus or are located at places where the deposition rate is undefined.

Author(s)

Niklas Hohmann

References

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>

See Also

pointtransform for the more general function underlying this wrapper

For an overview of the functions in the DAIME package, see its vignette (available via vignette("DAIME") )

Examples

##define deposition rate
xdep=seq(0,12,length.out=100)
ydep=splinefunH(x=c(0,2,4,6,8,10,12),y=c(1,5,6,1,0.5,1,6),m=c(0,1.5,-0.5,-0.5,0,0.5,0))(xdep)
#Plot deposition rate
plot(xdep,ydep,type='l',main='Deposition Rate',xlab='Time',ylab='Deposition Rate') 

##at what stratigraphic height can an object be found that was deposited in the 
#sediment after 9 time units?
timetostratpointcont(9,xdep,ydep) 

##create age model
#points that will be transformed into stratigraphic height
time=seq(min(xdep),max(xdep),length.out=100) 
reslist=timetostratpointcont(time,xdep,ydep)
#plot age model
plot(reslist$height,reslist$age,type='l',ylab='Time',xlab='Stratigraphic Height',main='Age model')
#age model with Removal of sediment
#define deposition rate with negative deposition rate, e.g. removal of sediment
xdep=seq(0,12,length.out=100)
ydep=splinefunH(x=c(0,2,4,6,8,10,12),y=c(1,5,6,0,-2,1,6),m=c(0,1.5,-0.5,-0.5,0,0.5,0))(xdep)
#Plot deposition rate
plot(xdep,ydep,main='Deposition Rate',xlab='Time',ylab='Deposition Rate')
#sediment removal is done automatically. e.g. create age model as before:
reslist=timetostratpointcont(time,xdep,ydep)
#plot age model
plot(reslist$height,reslist$age,type='l',ylab='Time',xlab='Stratigraphic Height',main='Age model')


#transform isotope ratio curves
ydep=splinefunH(x=c(0,2,4,6,8,10,12),y=c(1,5,6,1,0.5,1,6),m=c(0,1.5,-0.5,-0.5,0,0.5,0))(xdep)
##create fake ratios and sample locations
sampletime=sort(runif(20,min=min(xdep),max=max(xdep))) #times where the samples were taken
isotoperatio=sin(sampletime)*rnorm(length(sampletime)) #isotope ratios
plot(sampletime,isotoperatio,type='l',xlab='Time',ylab='Isotope Ratio')
#transform only (!) sample times, NOT values
reslist=timetostratpointcont(sampletime,xdep,ydep)
#this is the resulting isotope ratio curve in stratigraphic height
plot(reslist$height,isotoperatio,type='l',xlab='Stratigraphic Height',ylab='Isotope Ratio')

Transform Patterns from Time into Stratigraphic Height (Binned)

Description

This function transforms a given binned temporal pattern into the corresponding stratigraphic pattern. The transformation is based on the age model derived from the given deposition rate. Essentially a wrapper of patterntransform(...,direction='time to height',depositionmodel='binned deposition rate',patternmode='binned') kept for backwards compatibility of the package. It is recommended to use patterntransform instead of this function.

Usage

timetostratratebin(binborder, depoval, signalval, pos = NULL)

Arguments

binborder

Vector of strictly increasing numerical values. Defines the borders of the bins in time

depoval

Strictly positive vector of length length(binborder)-1. Defines the deposition rate in the bins, i.e. depoval[i] is the deposition rate in the time interval between binborder[i] and binborder[i+1]

signalval

Positive vector of length length(binborder)-1. Defines the temporal pattern in the bins, i.e. signalval[i] is the value of the temporal pattern between the times binborder[i] and binborder[i+1]

pos

OPTIONAL. Vector of points in time that will be transformed into stratigraphic height, and where the stratigraphic pattern will evaluated. Default setting is a vector spanning the interval of interest with evenly spaced points (no. is chosen by the code)

Value

A list containing the following entries:

height

vector containing stratigraphic heights

val

vector containing the values of the stratigraphic pattern at the height given by height

NA is returned if the values coincide with a hiatus or when the deposition rate/temporal pattern are undefined.

Author(s)

Niklas Hohmann

References

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>

See Also

patterntransform for the more general function underlying this wrapper

For an overview of the functions in the DAIME package, see its vignette (available via vignette("DAIME") )

Examples

## Define deposition rate
binborder=1:6 #temporal bins for the deposition rate
depoval=c(5,4,3,1,2) #deposition rate in the bins
#plot deposition rate
depositionrate=approxfun(binborder,c(depoval,tail(depoval,1)),method="constant",yleft=NA,yright=NA)
plot(depositionrate(seq(from=min(binborder),to=max(binborder),length.out=100)),xlab='time',
  ylab='deposition rate', main='Deposition rate')
## Define temporal pattern
signalval=c(1,0,5,2,1)
#plot temporal pattern
temporalpat=approxfun(binborder,c(signalval,tail(signalval,1)),method="constant",
  yleft=NA,yright=NA)
plot(temporalpat(seq(from=min(binborder),to=max(binborder),length.out=100)),xlab='time',
  ylab='Intensity', main='Temporal Pattern')

## Transform temporal pattern into stratigraphic pattern
reslist=timetostratratebin(binborder,depoval,signalval)
#plot resulting stratigraphic pattern
plot(reslist$height,reslist$val,xlab='Stratigraphic Height',ylab='Intensity',
  main='Stratigraphic Pattern')
## With removal of sediment (hiatus)
depoval=c(5,4,-3,1,2) #erosion rate is 3 in the middle time bin
reslist=timetostratratebin(binborder,depoval,signalval)
#plot resulting stratigraphic pattern
plot(reslist$height,reslist$val,xlab='Stratigraphic Height',ylab='Intensity',
  main='Stratigraphic Pattern')

Transform Patterns from Time into Stratigraphic Height (Continuous)

Description

This function transforms a given continuous temporal pattern into the corresponding stratigraphic pattern. The transformation is based on the age model derived from the given deposition rate. Essentially a wrapper of patterntransform(...,direction='time to height',depositionmodel='piecewise linear deposition rate',patternmode='piecewise linear') kept for backwards compatibility of the package. It is recommended to use patterntransform instead of this function.

Usage

timetostratratecont(xdep, ydep, xsig, ysig, pos = NULL)

Arguments

xdep

Vector of strictly increasing real numbers

ydep

Vector of the same length of xdep, containing strictly positive real numbers. xdep and ydep define the deposition rate in the sense that depositionrate=approxfun(xdep,ydep)

xsig

Vector of strictly increasing real numbers

ysig

Vector of the same length of xsig, containing positive real numbers. xsig and ysig define the temporal pattern in the sense that temporalpat=approxfun(xsig,ysig).

pos

OPTIONAL. Vector of points in time height that will be transformed into stratigraphic height, and determine where the stratigraphic pattern is evaluated. Default setting is a vector spanning the interval of interest with evenly spaced points (no. is chosen by the code)

Value

Returns a list containing:

height

vector containing stratigraphic heights

val

vector containign the values of the stratigraphic pattern at height

The stratigraphic pattern can be approximated using stratpat=approxfun(height,val)

Author(s)

Niklas Hohmann

References

Hohmann, Niklas. 2018. Quantifying the Effects of Changing Deposition Rates and Hiatii on the Stratigraphic Distribution of Fossils. <doi:10.13140/RG.2.2.23372.51841>

See Also

patterntransform for the more general function underlying this wrapper

For an overview of the functions in the DAIME package, see its vignette (available via vignette("DAIME") )

Examples

##define deposition rate
xdep=seq(0,12,length.out=100)
ydep=splinefunH(x=c(0,2,4,6,8,10,12),y=c(1,5,6,1,0.5,1,6),m=c(0,1.5,-0.5,-0.5,0,0.5,0))(xdep)
#Plot deposition rate
plot(xdep,ydep,type='l',main='Deposition Rate',xlab='Time',ylab='Sediment per Time Unit')

#define a temporal pattern
xsig= seq(0,12,length.out=100)
ysig=splinefunH(x=c(0,4,12),y=c(0.5,2,0.5),m=c(0,0,0))(xsig)
plot(xsig,ysig,type='l',main='Temporal Pattern',xlab='Time',ylab='Intensity')

##transform temporal pattern into stratigraphic pattern (pattern observable in the section)
reslist=timetostratratecont(xdep,ydep,xsig,ysig)
plot(reslist$height,reslist$val,type='l',xlab='Stratigraphic Height',
  ylab='Intensity',main='Stratigraphic Pattern')
  
##with removal of sediment
ydep=splinefunH(x=c(0,2,4,6,8,10,12),y=c(1,5,6,-2,5,1,6),m=c(0,1.5,-0.5,-0.5,0,0.5,0))(xdep)
#Plot deposition rate
plot(xdep,ydep,type='l',main='Deposition Rate',xlab='Time',ylab='Sediment per Time Unit')
reslist=timetostratratecont(xdep,ydep,xsig,ysig)
plot(reslist$height,reslist$val,type='l',xlab='Stratigraphic Height',
  ylab='Intensity',main='Stratigraphic Pattern',ylim=c(0,1))
#the spike is because the deposition rate is very small when it transitions from 
#negative to positive, generating a punctual extreme condensation