diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 6d35a0d..736959d 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.10.4","generation_timestamp":"2024-07-04T17:14:25","documenter_version":"1.5.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.10.4","generation_timestamp":"2024-07-09T18:09:30","documenter_version":"1.5.0"}} \ No newline at end of file diff --git a/dev/index.html b/dev/index.html index 916939a..06e0da6 100644 --- a/dev/index.html +++ b/dev/index.html @@ -4,17 +4,17 @@ dt = Int64 1 Age_Calendar = StepRange{Int64, Int64} 1:1:50000 Age_sigma = Vector{Float64}(50000,) [8.0 ... 274.0] - Age_14C = Vector{Float64}(50000,) [196.8 ... 46401.0]

The IntCal13 radiocarbon calibration curve

Reimer PJ, Bard E, Bayliss A, Beck JW, Blackwell PG, Bronk Ramsey C, Buck CE, Cheng H, Edwards RL, Friedrich M, Grootes PM, Guilderson TP, Haflidason H, , Hajdas I, Hatté C, Heaton TJ, Hogg AG, Hughen KA, Kaiser KF, Kromer B, Manning SW, Niu M, Reimer RW, Richards DA, Scott EM, Southon JR, Turney CSM, van der Plicht J. (2013) "IntCal13 and MARINE13 radiocarbon age calibration curves 0-50000 years calBP". Radiocarbon 55(4). doi: 10.2458/azujsrc.55.16947

source
Chron.intcal20Constant
intcal20
+  Age_14C       = Vector{Float64}(50000,)   [196.8 ... 46401.0]

The IntCal13 radiocarbon calibration curve

Reimer PJ, Bard E, Bayliss A, Beck JW, Blackwell PG, Bronk Ramsey C, Buck CE, Cheng H, Edwards RL, Friedrich M, Grootes PM, Guilderson TP, Haflidason H, , Hajdas I, Hatté C, Heaton TJ, Hogg AG, Hughen KA, Kaiser KF, Kromer B, Manning SW, Niu M, Reimer RW, Richards DA, Scott EM, Southon JR, Turney CSM, van der Plicht J. (2013) "IntCal13 and MARINE13 radiocarbon age calibration curves 0-50000 years calBP". Radiocarbon 55(4). doi: 10.2458/azujsrc.55.16947

source
Chron.intcal20Constant
intcal20
 NamedTuple with 4 fields:
   dt            = Int64 1
   Age_Calendar  = StepRange{Int64, Int64}   1:1:55000
   Age_sigma     = Vector{Float64}(55000,)   [11.0 ... 1024.0]
-  Age_14C       = Vector{Float64}(55000,)   [197.0 ... 50100.0]

The IntCal20 northern hemisphere radiocarbon calibration curve.

Reimer P, Austin WEN, Bard E, Bayliss A, Blackwell PG, Bronk Ramsey C, Butzin M, Cheng H, Edwards RL, Friedrich M, Grootes PM, Guilderson TP, Hajdas I, Heaton TJ, Hogg AG, Hughen KA, Kromer B, Manning SW, Muscheler R, Palmer JG, Pearson C, van der Plicht J, Reimer RW, Richards DA, Scott EM, Southon JR, Turney CSM, Wacker L, Adolphi F, Büntgen U, Capano M, Fahrni S, Fogtmann-Schulz A, Friedrich R, Köhler P, Kudsk S, Miyake F, Olsen J, Reinig F, Sakamoto M, Sookdeo A, Talamo S. (2020). "The IntCal20 Northern Hemisphere radiocarbon age calibration curve (0-55 cal kBP)". Radiocarbon 62. doi: 10.1017/RDC.2020.41.

source
Chron.marine20Constant

The Marine20 radiocarbon calibration curve.

Heaton TJ, Köhler P, Butzin M, et al. (2020) "Marine20—The Marine Radiocarbon Age Calibration Curve (0–55,000 cal BP)" Radiocarbon 62(4):779-820. doi: 10.1017/RDC.2020.68

source
Chron.shcal20Constant
shcal20
+  Age_14C       = Vector{Float64}(55000,)   [197.0 ... 50100.0]

The IntCal20 northern hemisphere radiocarbon calibration curve.

Reimer P, Austin WEN, Bard E, Bayliss A, Blackwell PG, Bronk Ramsey C, Butzin M, Cheng H, Edwards RL, Friedrich M, Grootes PM, Guilderson TP, Hajdas I, Heaton TJ, Hogg AG, Hughen KA, Kromer B, Manning SW, Muscheler R, Palmer JG, Pearson C, van der Plicht J, Reimer RW, Richards DA, Scott EM, Southon JR, Turney CSM, Wacker L, Adolphi F, Büntgen U, Capano M, Fahrni S, Fogtmann-Schulz A, Friedrich R, Köhler P, Kudsk S, Miyake F, Olsen J, Reinig F, Sakamoto M, Sookdeo A, Talamo S. (2020). "The IntCal20 Northern Hemisphere radiocarbon age calibration curve (0-55 cal kBP)". Radiocarbon 62. doi: 10.1017/RDC.2020.41.

source
Chron.marine20Constant

The Marine20 radiocarbon calibration curve.

Heaton TJ, Köhler P, Butzin M, et al. (2020) "Marine20—The Marine Radiocarbon Age Calibration Curve (0–55,000 cal BP)" Radiocarbon 62(4):779-820. doi: 10.1017/RDC.2020.68

source
Chron.shcal20Constant
shcal20
 NamedTuple with 4 fields:
   dt            = Int64 1
   Age_Calendar  = StepRange{Int64, Int64}   1:1:55000
   Age_sigma     = Vector{Float64}(55000,)   [10.0 ... 1008.0]
-  Age_14C       = Vector{Float64}(55000,)   [171.0 ... 50132.0]

The SHCal20 southern hemisphere radiocarbon calibration curve.

Hogg AG, Heaton TJ, Hua Q, Palmer JG, Turney CSM, Southon J, Bayliss A, Blackwell PG, Boswijk G, Bronk Ramsey C, Pearson C, Petchey F, Reimer P, Reimer R, Wacker L. (2020). "SHCal20 Southern Hemisphere calibration, 0-55,000 years cal BP". Radiocarbon 62. doi: 10.1017/RDC.2020.59

source
Chron.BilinearExponentialType
BilinearExponential(loc, scl, shp, skw)
+  Age_14C       = Vector{Float64}(55000,)   [171.0 ... 50132.0]

The SHCal20 southern hemisphere radiocarbon calibration curve.

Hogg AG, Heaton TJ, Hua Q, Palmer JG, Turney CSM, Southon J, Bayliss A, Blackwell PG, Boswijk G, Bronk Ramsey C, Pearson C, Petchey F, Reimer P, Reimer R, Wacker L. (2020). "SHCal20 Southern Hemisphere calibration, 0-55,000 years cal BP". Radiocarbon 62. doi: 10.1017/RDC.2020.59

source
Chron.BilinearExponentialType
BilinearExponential(loc, scl, shp, skw)
 BilinearExponential(p::AbstractVector)
 struct BilinearExponential{T<:Real} <: ContinuousUnivariateDistribution
     A::T
@@ -22,6 +22,7 @@
     scl::T
     shp::T
     skw::T
-end

A five-parameter pseudo-distribution which can be used to approximate various asymmetric probability distributions found in geochronology (including as a result of Bayesian eruption age estimation).

This "bilinear exponential" distribution, as the name might suggest, is defined as an exponential function with two log-linear segments, joined by an arctangent sigmoid:

\[ℯ^{A} * ℯ^{v*xₛ*shp*skw - (1-v)*xₛ*shp/skw}\]

where

\[v = 1/2 - atan(xₛ)/π\]

is a sigmoid, positive on the left-hand side, and

\[xₛ = (x - loc)/scl\]

is x scaled by the location parameter loc and scale parameter scl, In addition to the scale parameter scl, the additional shape parameters shp and skw (which control the sharpness and skew of the resulting distribution, respectively), are all three required to be nonnegative.

If only four parameters (loc, scl, shp, skw) are specified, the normalization constant A will be calculated such that the resulting distribution is normalized.

source
Chron.BootstrapCrystDistributionKDEMethod
BootstrapCrystDistributionKDE(smpl::ChronAgeData; cutoff=-0.05, [tpbloss=0])

Bootstrap an estimate of the pre-eruptive (or pre-depositional) mineral crystallization distribution shape from a Chron.ChronAgeData object containing data for several samples, using a kernel density estimate of stacked sample data.

If the samples provided as csv files in smpl.Path take the five-column form of U-Pb isotopic data files, the ages and uncertainties will be those of upper intercepts given a time of Pb-loss optionally specified as tpbloss.

Uncertainties will be treated as one or two-sigma absolute based on the value of smpl.inputSigmaLevel.

Examples

BootstrappedDistribution = BootstrapCrystDistributionKDE(smpl)
source
Chron.BootstrapCrystDistributionKDEMethod
BootstrapCrystDistributionKDE(data::AbstractArray, [sigma::AbstractArray]; cutoff=-0.05)

Bootstrap an estimate of the pre-eruptive (or pre-depositional) mineral crystallization distribution shape from a 1- or 2-d array of sample ages (one row per sample, one column per datum, padded with NaNs as needed) and an equivalent-size array of one-sigma uncertainties, using a kernel density estimate of stacked sample data.

Examples

# Bootstrap crystallization distribution for a synthetic dataset with ages
+end

A five-parameter pseudo-distribution which can be used to approximate various asymmetric probability distributions found in geochronology (including as a result of Bayesian eruption age estimation).

This "bilinear exponential" distribution, as the name might suggest, is defined as an exponential function with two log-linear segments, joined by an arctangent sigmoid:

\[ℯ^{A} * ℯ^{v*xₛ*shp*skw - (1-v)*xₛ*shp/skw}\]

where

\[v = 1/2 - atan(xₛ)/π\]

is a sigmoid, positive on the left-hand side, and

\[xₛ = (x - loc)/scl\]

is x scaled by the location parameter loc and scale parameter scl, In addition to the scale parameter scl, the additional shape parameters shp and skw (which control the sharpness and skew of the resulting distribution, respectively), are all three required to be nonnegative.

If only four parameters (loc, scl, shp, skw) are specified, the normalization constant A will be calculated such that the resulting distribution is normalized.

source
Chron.BootstrapCrystDistributionKDEMethod
BootstrapCrystDistributionKDE(smpl::ChronAgeData; cutoff=-0.05, [tpbloss=0])

Bootstrap an estimate of the pre-eruptive (or pre-depositional) mineral crystallization distribution shape from a Chron.ChronAgeData object containing data for several samples, using a kernel density estimate of stacked sample data.

If the samples provided as csv files in smpl.Path take the five-column form of U-Pb isotopic data files, the ages and uncertainties will be those of upper intercepts given a time of Pb-loss optionally specified as tpbloss.

Uncertainties will be treated as one or two-sigma absolute based on the value of smpl.inputSigmaLevel.

Examples

BootstrappedDistribution = BootstrapCrystDistributionKDE(smpl)
source
Chron.BootstrapCrystDistributionKDEMethod
BootstrapCrystDistributionKDE(data::AbstractArray, [sigma::AbstractArray]; cutoff=-0.05)

Bootstrap an estimate of the pre-eruptive (or pre-depositional) mineral crystallization distribution shape from a 1- or 2-d array of sample ages (one row per sample, one column per datum, padded with NaNs as needed) and an equivalent-size array of one-sigma uncertainties, using a kernel density estimate of stacked sample data.

Examples

# Bootstrap crystallization distribution for a synthetic dataset with ages
 # [1,2,3,...10] Ma and uncertainties of 1 Ma each
-BootstrappedDistribution = BootstrapCrystDistributionKDE(1:10, ones(10))
source
Chron.StratMetropolisFunction
StratMetropolis(smpl::ChronAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)

Runs the main Chron.jl age-depth model routine for a stratigraphic set of samples defined by sample heights and simple Gaussian age constraints in the smpl struct, and an age-depth model configuration defined by the config struct.

Optionally, if a hiatus struct is provided, the model will additionally incorporate information about the durations of known hiatuses at the specified model heights.

Examples:

(mdl, agedist, lldist) = StratMetropolis(smpl, config)
(mdl, agedist, hiatusdist, lldist) = StratMetropolis(smpl, hiatus, config)
source
Chron.StratMetropolis14CMethod
StratMetropolis14C(smpl::ChronAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)

Runs the main Chron.jl age-depth model routine for a stratigraphic set of samples defined by sample heights and interpolated radiocarbon age constraints in the smpl struct, and an age-depth model configuration defined by the config struct.

Optionally, if a hiatus struct is provided, the model will additionally incorporate information about the durations of known hiatuses at the specified model heights.

Examples:

(mdl, agedist, lldist) = StratMetropolis14C(smpl, config)
(mdl, agedist, hiatusdist, lldist) = StratMetropolis14C(smpl, hiatus, config)
source
Chron.StratMetropolisDistFunction
StratMetropolisDist(smpl::ChronAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)

Runs the main Chron.jl age-depth model routine for a stratigraphic set of samples defined by sample heights and fitted asymmetric age distributions (BilinearExponential) in the smpl struct, and an age-depth model configuration defined by the config struct.

Optionally, if a hiatus struct is provided, the model will additionally incorporate information about the durations of known hiatuses at the specified model heights.

Examples:

(mdl, agedist, lldist) = StratMetropolisDist(smpl, config)
(mdl, agedist, hiatusdist, lldist) = StratMetropolisDist(smpl, hiatus, config)
source
Chron.screen_outliersMethod
screen_outliers(smpl::ChronAgeData; agemin=0.0, agemax=Inf, maxgap=100, make_plots=true, discordancemin=0, discordancemax=100)

Screen outliers from the ChronAgeData struct smpl (making new data files in a screened subdirectory within smpl.Path) rejecting samples that either

a) Are older than agemax or younger than agemin

b) Are on the old side of a gap of more than maxgap/N sigma (e.g., xenocrysts)

If make_plots is true, plots showing screening results will be made in smpl.Path/screened.

If the underlying data is in the form of U-Pb ratios, the discordancemin and discordancemax keyword arguments may also be used for additional screening.

source
Chron.tMinDistMetropolisMethod
tMinDistMetropolis(smpl::ChronAgeData, nsteps::Int, burnin::Int, dist::Array{Float64})

Calculate the minimum limiting (eruption/deposition) age of each sample defined in the smpl struct, using the Isoplot.metropolis_min function, assuming mineral ages for each sample are drawn from the source distribution dist. Fits a BilinearExponential function to the resulting stationary distribution for each sample and stores the results in smpl.Params for use by the StratMetropolisDist function.

If the samples provided as csv files in smpl.Path take the five-column form of U-Pb isotopic data files, these will be interpreted as the columns

| ²⁰⁷Pb/²³⁵U | uncert (absolute) | ²⁰⁶Pb/²³⁸U | uncert (absolute) | correlation |

and Pb-loss-aware eruption/deposition age estimation will be conducted. In all other cases, the first two columns of each data file will be interpreted as

| Age | Age uncert (absolute) |

and standard eruption/deposition age estimation will be conducted.

In all cases, uncertainties will be treated as one or two-sigma absolute based on the value of smpl.inputSigmaLevel.

Examples

smpl = tMinDistMetropolis(smpl, 10^6, 10^5, HalfNormalDistribution)
source
+BootstrappedDistribution = BootstrapCrystDistributionKDE(1:10, ones(10))source
Chron.StratMetropolisFunction
StratMetropolis(smpl::ChronAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)
+StratMetropolis(smpl::GeneralAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)

Runs the main Chron.jl age-depth model routine for a stratigraphic set of samples defined by sample heights and simple Gaussian age constraints in the smpl struct, and an age-depth model configuration defined by the config struct.

Optionally, if a hiatus struct is provided, the model will additionally incorporate information about the durations of known hiatuses at the specified model heights.

Examples:

(mdl, agedist, lldist) = StratMetropolis(smpl, config)
(mdl, agedist, hiatusdist, lldist) = StratMetropolis(smpl, hiatus, config)
source
Chron.StratMetropolis14CMethod
StratMetropolis14C(smpl::ChronAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)

Runs the main Chron.jl age-depth model routine for a stratigraphic set of samples defined by sample heights and interpolated radiocarbon age constraints in the smpl struct, and an age-depth model configuration defined by the config struct.

Optionally, if a hiatus struct is provided, the model will additionally incorporate information about the durations of known hiatuses at the specified model heights.

Examples:

(mdl, agedist, lldist) = StratMetropolis14C(smpl, config)
(mdl, agedist, hiatusdist, lldist) = StratMetropolis14C(smpl, hiatus, config)
source
Chron.StratMetropolisDistFunction
StratMetropolisDist(smpl::ChronAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)

Runs the main Chron.jl age-depth model routine for a stratigraphic set of samples defined by sample heights and fitted asymmetric age distributions (BilinearExponential) in the smpl struct, and an age-depth model configuration defined by the config struct.

Optionally, if a hiatus struct is provided, the model will additionally incorporate information about the durations of known hiatuses at the specified model heights.

Examples:

(mdl, agedist, lldist) = StratMetropolisDist(smpl, config)
(mdl, agedist, hiatusdist, lldist) = StratMetropolisDist(smpl, hiatus, config)
source
Chron.screen_outliersMethod
screen_outliers(smpl::ChronAgeData; agemin=0.0, agemax=Inf, maxgap=100, make_plots=true, discordancemin=0, discordancemax=100)

Screen outliers from the ChronAgeData struct smpl (making new data files in a screened subdirectory within smpl.Path) rejecting samples that either

a) Are older than agemax or younger than agemin

b) Are on the old side of a gap of more than maxgap/N sigma (e.g., xenocrysts)

If make_plots is true, plots showing screening results will be made in smpl.Path/screened.

If the underlying data is in the form of U-Pb ratios, the discordancemin and discordancemax keyword arguments may also be used for additional screening.

source
Chron.tMinDistMetropolisMethod
tMinDistMetropolis(smpl::ChronAgeData, nsteps::Int, burnin::Int, dist::Array{Float64})

Calculate the minimum limiting (eruption/deposition) age of each sample defined in the smpl struct, using the Isoplot.metropolis_min function, assuming mineral ages for each sample are drawn from the source distribution dist. Fits a BilinearExponential function to the resulting stationary distribution for each sample and stores the results in smpl.Params for use by the StratMetropolisDist function.

If the samples provided as csv files in smpl.Path take the five-column form of U-Pb isotopic data files, these will be interpreted as the columns

| ²⁰⁷Pb/²³⁵U | uncert (absolute) | ²⁰⁶Pb/²³⁸U | uncert (absolute) | correlation |

and Pb-loss-aware eruption/deposition age estimation will be conducted. In all other cases, the first two columns of each data file will be interpreted as

| Age | Age uncert (absolute) |

and standard eruption/deposition age estimation will be conducted.

In all cases, uncertainties will be treated as one or two-sigma absolute based on the value of smpl.inputSigmaLevel.

Examples

smpl = tMinDistMetropolis(smpl, 10^6, 10^5, HalfNormalDistribution)
source
diff --git a/dev/objects.inv b/dev/objects.inv index 0fd15a2..09db691 100644 Binary files a/dev/objects.inv and b/dev/objects.inv differ diff --git a/dev/search_index.js b/dev/search_index.js index fe0c75b..ebca3fb 100644 --- a/dev/search_index.js +++ b/dev/search_index.js @@ -1,3 +1,3 @@ var documenterSearchIndex = {"docs": -[{"location":"","page":"Home","title":"Home","text":"CurrentModule = Chron","category":"page"},{"location":"#Chron","page":"Home","title":"Chron","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Documentation for the Chron.jl package.","category":"page"},{"location":"","page":"Home","title":"Home","text":"","category":"page"},{"location":"","page":"Home","title":"Home","text":"Modules = [Chron]","category":"page"},{"location":"#Chron.intcal13","page":"Home","title":"Chron.intcal13","text":"intcal13\nNamedTuple with 4 fields:\n dt = Int64 1\n Age_Calendar = StepRange{Int64, Int64} 1:1:50000\n Age_sigma = Vector{Float64}(50000,) [8.0 ... 274.0]\n Age_14C = Vector{Float64}(50000,) [196.8 ... 46401.0]\n\nThe IntCal13 radiocarbon calibration curve\n\nReimer PJ, Bard E, Bayliss A, Beck JW, Blackwell PG, Bronk Ramsey C, Buck CE, Cheng H, Edwards RL, Friedrich M, Grootes PM, Guilderson TP, Haflidason H, , Hajdas I, Hatté C, Heaton TJ, Hogg AG, Hughen KA, Kaiser KF, Kromer B, Manning SW, Niu M, Reimer RW, Richards DA, Scott EM, Southon JR, Turney CSM, van der Plicht J. (2013) \"IntCal13 and MARINE13 radiocarbon age calibration curves 0-50000 years calBP\". Radiocarbon 55(4). doi: 10.2458/azujsrc.55.16947\n\n\n\n\n\n","category":"constant"},{"location":"#Chron.intcal20","page":"Home","title":"Chron.intcal20","text":"intcal20\nNamedTuple with 4 fields:\n dt = Int64 1\n Age_Calendar = StepRange{Int64, Int64} 1:1:55000\n Age_sigma = Vector{Float64}(55000,) [11.0 ... 1024.0]\n Age_14C = Vector{Float64}(55000,) [197.0 ... 50100.0]\n\nThe IntCal20 northern hemisphere radiocarbon calibration curve.\n\nReimer P, Austin WEN, Bard E, Bayliss A, Blackwell PG, Bronk Ramsey C, Butzin M, Cheng H, Edwards RL, Friedrich M, Grootes PM, Guilderson TP, Hajdas I, Heaton TJ, Hogg AG, Hughen KA, Kromer B, Manning SW, Muscheler R, Palmer JG, Pearson C, van der Plicht J, Reimer RW, Richards DA, Scott EM, Southon JR, Turney CSM, Wacker L, Adolphi F, Büntgen U, Capano M, Fahrni S, Fogtmann-Schulz A, Friedrich R, Köhler P, Kudsk S, Miyake F, Olsen J, Reinig F, Sakamoto M, Sookdeo A, Talamo S. (2020). \"The IntCal20 Northern Hemisphere radiocarbon age calibration curve (0-55 cal kBP)\". Radiocarbon 62. doi: 10.1017/RDC.2020.41.\n\n\n\n\n\n","category":"constant"},{"location":"#Chron.marine20","page":"Home","title":"Chron.marine20","text":"The Marine20 radiocarbon calibration curve.\n\nHeaton TJ, Köhler P, Butzin M, et al. (2020) \"Marine20—The Marine Radiocarbon Age Calibration Curve (0–55,000 cal BP)\" Radiocarbon 62(4):779-820. doi: 10.1017/RDC.2020.68\n\n\n\n\n\n","category":"constant"},{"location":"#Chron.shcal20","page":"Home","title":"Chron.shcal20","text":"shcal20\nNamedTuple with 4 fields:\n dt = Int64 1\n Age_Calendar = StepRange{Int64, Int64} 1:1:55000\n Age_sigma = Vector{Float64}(55000,) [10.0 ... 1008.0]\n Age_14C = Vector{Float64}(55000,) [171.0 ... 50132.0]\n\nThe SHCal20 southern hemisphere radiocarbon calibration curve.\n\nHogg AG, Heaton TJ, Hua Q, Palmer JG, Turney CSM, Southon J, Bayliss A, Blackwell PG, Boswijk G, Bronk Ramsey C, Pearson C, Petchey F, Reimer P, Reimer R, Wacker L. (2020). \"SHCal20 Southern Hemisphere calibration, 0-55,000 years cal BP\". Radiocarbon 62. doi: 10.1017/RDC.2020.59\n\n\n\n\n\n","category":"constant"},{"location":"#Chron.BilinearExponential","page":"Home","title":"Chron.BilinearExponential","text":"BilinearExponential(loc, scl, shp, skw)\nBilinearExponential(p::AbstractVector)\nstruct BilinearExponential{T<:Real} <: ContinuousUnivariateDistribution\n A::T\n loc::T\n scl::T\n shp::T\n skw::T\nend\n\nA five-parameter pseudo-distribution which can be used to approximate various asymmetric probability distributions found in geochronology (including as a result of Bayesian eruption age estimation). \n\nThis \"bilinear exponential\" distribution, as the name might suggest, is defined as an exponential function with two log-linear segments, joined by an arctangent sigmoid:\n\nℯ^A * ℯ^v*xₛ*shp*skw - (1-v)*xₛ*shpskw\n\nwhere\n\nv = 12 - atan(xₛ)π\n\nis a sigmoid, positive on the left-hand side, and\n\nxₛ = (x - loc)scl\n\nis x scaled by the location parameter loc and scale parameter scl, In addition to the scale parameter scl, the additional shape parameters shp and skw (which control the sharpness and skew of the resulting distribution, respectively), are all three required to be nonnegative.\n\nIf only four parameters (loc, scl, shp, skw) are specified, the normalization constant A will be calculated such that the resulting distribution is normalized.\n\n\n\n\n\n","category":"type"},{"location":"#Chron.BootstrapCrystDistributionKDE-Tuple{ChronAgeData}","page":"Home","title":"Chron.BootstrapCrystDistributionKDE","text":"BootstrapCrystDistributionKDE(smpl::ChronAgeData; cutoff=-0.05, [tpbloss=0])\n\nBootstrap an estimate of the pre-eruptive (or pre-depositional) mineral crystallization distribution shape from a Chron.ChronAgeData object containing data for several samples, using a kernel density estimate of stacked sample data.\n\nIf the samples provided as csv files in smpl.Path take the five-column form of U-Pb isotopic data files, the ages and uncertainties will be those of upper intercepts given a time of Pb-loss optionally specified as tpbloss.\n\nUncertainties will be treated as one or two-sigma absolute based on the value of smpl.inputSigmaLevel.\n\nExamples\n\nBootstrappedDistribution = BootstrapCrystDistributionKDE(smpl)\n\n\n\n\n\n","category":"method"},{"location":"#Chron.BootstrapCrystDistributionKDE-Union{Tuple{AbstractArray{T}}, Tuple{T}} where T<:Number","page":"Home","title":"Chron.BootstrapCrystDistributionKDE","text":"BootstrapCrystDistributionKDE(data::AbstractArray, [sigma::AbstractArray]; cutoff=-0.05)\n\nBootstrap an estimate of the pre-eruptive (or pre-depositional) mineral crystallization distribution shape from a 1- or 2-d array of sample ages (one row per sample, one column per datum, padded with NaNs as needed) and an equivalent-size array of one-sigma uncertainties, using a kernel density estimate of stacked sample data.\n\nExamples\n\n# Bootstrap crystallization distribution for a synthetic dataset with ages\n# [1,2,3,...10] Ma and uncertainties of 1 Ma each\nBootstrappedDistribution = BootstrapCrystDistributionKDE(1:10, ones(10))\n\n\n\n\n\n","category":"method"},{"location":"#Chron.StratMetropolis","page":"Home","title":"Chron.StratMetropolis","text":"StratMetropolis(smpl::ChronAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)\n\nRuns the main Chron.jl age-depth model routine for a stratigraphic set of samples defined by sample heights and simple Gaussian age constraints in the smpl struct, and an age-depth model configuration defined by the config struct.\n\nOptionally, if a hiatus struct is provided, the model will additionally incorporate information about the durations of known hiatuses at the specified model heights.\n\nExamples:\n\n(mdl, agedist, lldist) = StratMetropolis(smpl, config)\n\n(mdl, agedist, hiatusdist, lldist) = StratMetropolis(smpl, hiatus, config)\n\n\n\n\n\n","category":"function"},{"location":"#Chron.StratMetropolis14C-Tuple{ChronAgeData, StratAgeModelConfiguration}","page":"Home","title":"Chron.StratMetropolis14C","text":"StratMetropolis14C(smpl::ChronAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)\n\nRuns the main Chron.jl age-depth model routine for a stratigraphic set of samples defined by sample heights and interpolated radiocarbon age constraints in the smpl struct, and an age-depth model configuration defined by the config struct.\n\nOptionally, if a hiatus struct is provided, the model will additionally incorporate information about the durations of known hiatuses at the specified model heights.\n\nExamples:\n\n(mdl, agedist, lldist) = StratMetropolis14C(smpl, config)\n\n(mdl, agedist, hiatusdist, lldist) = StratMetropolis14C(smpl, hiatus, config)\n\n\n\n\n\n","category":"method"},{"location":"#Chron.StratMetropolisDist","page":"Home","title":"Chron.StratMetropolisDist","text":"StratMetropolisDist(smpl::ChronAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)\n\nRuns the main Chron.jl age-depth model routine for a stratigraphic set of samples defined by sample heights and fitted asymmetric age distributions (BilinearExponential) in the smpl struct, and an age-depth model configuration defined by the config struct.\n\nOptionally, if a hiatus struct is provided, the model will additionally incorporate information about the durations of known hiatuses at the specified model heights.\n\nExamples:\n\n(mdl, agedist, lldist) = StratMetropolisDist(smpl, config)\n\n(mdl, agedist, hiatusdist, lldist) = StratMetropolisDist(smpl, hiatus, config)\n\n\n\n\n\n","category":"function"},{"location":"#Chron.screen_outliers-Tuple{ChronAgeData}","page":"Home","title":"Chron.screen_outliers","text":"screen_outliers(smpl::ChronAgeData; agemin=0.0, agemax=Inf, maxgap=100, make_plots=true, discordancemin=0, discordancemax=100)\n\nScreen outliers from the ChronAgeData struct smpl (making new data files in a screened subdirectory within smpl.Path) rejecting samples that either\n\na) Are older than agemax or younger than agemin\n\nb) Are on the old side of a gap of more than maxgap/N sigma (e.g., xenocrysts)\n\nIf make_plots is true, plots showing screening results will be made in smpl.Path/screened.\n\nIf the underlying data is in the form of U-Pb ratios, the discordancemin and discordancemax keyword arguments may also be used for additional screening.\n\n\n\n\n\n","category":"method"},{"location":"#Chron.tMinDistMetropolis-Tuple{ChronAgeData, Int64, Int64, DenseArray{Float64}}","page":"Home","title":"Chron.tMinDistMetropolis","text":"tMinDistMetropolis(smpl::ChronAgeData, nsteps::Int, burnin::Int, dist::Array{Float64})\n\nCalculate the minimum limiting (eruption/deposition) age of each sample defined in the smpl struct, using the Isoplot.metropolis_min function, assuming mineral ages for each sample are drawn from the source distribution dist. Fits a BilinearExponential function to the resulting stationary distribution for each sample and stores the results in smpl.Params for use by the StratMetropolisDist function.\n\nIf the samples provided as csv files in smpl.Path take the five-column form of U-Pb isotopic data files, these will be interpreted as the columns\n\n| ²⁰⁷Pb/²³⁵U | uncert (absolute) | ²⁰⁶Pb/²³⁸U | uncert (absolute) | correlation |\n\nand Pb-loss-aware eruption/deposition age estimation will be conducted. In all other cases, the first two columns of each data file will be interpreted as\n\n| Age | Age uncert (absolute) |\n\nand standard eruption/deposition age estimation will be conducted.\n\nIn all cases, uncertainties will be treated as one or two-sigma absolute based on the value of smpl.inputSigmaLevel.\n\nExamples\n\nsmpl = tMinDistMetropolis(smpl, 10^6, 10^5, HalfNormalDistribution)\n\n\n\n\n\n","category":"method"}] +[{"location":"","page":"Home","title":"Home","text":"CurrentModule = Chron","category":"page"},{"location":"#Chron","page":"Home","title":"Chron","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Documentation for the Chron.jl package.","category":"page"},{"location":"","page":"Home","title":"Home","text":"","category":"page"},{"location":"","page":"Home","title":"Home","text":"Modules = [Chron]","category":"page"},{"location":"#Chron.intcal13","page":"Home","title":"Chron.intcal13","text":"intcal13\nNamedTuple with 4 fields:\n dt = Int64 1\n Age_Calendar = StepRange{Int64, Int64} 1:1:50000\n Age_sigma = Vector{Float64}(50000,) [8.0 ... 274.0]\n Age_14C = Vector{Float64}(50000,) [196.8 ... 46401.0]\n\nThe IntCal13 radiocarbon calibration curve\n\nReimer PJ, Bard E, Bayliss A, Beck JW, Blackwell PG, Bronk Ramsey C, Buck CE, Cheng H, Edwards RL, Friedrich M, Grootes PM, Guilderson TP, Haflidason H, , Hajdas I, Hatté C, Heaton TJ, Hogg AG, Hughen KA, Kaiser KF, Kromer B, Manning SW, Niu M, Reimer RW, Richards DA, Scott EM, Southon JR, Turney CSM, van der Plicht J. (2013) \"IntCal13 and MARINE13 radiocarbon age calibration curves 0-50000 years calBP\". Radiocarbon 55(4). doi: 10.2458/azujsrc.55.16947\n\n\n\n\n\n","category":"constant"},{"location":"#Chron.intcal20","page":"Home","title":"Chron.intcal20","text":"intcal20\nNamedTuple with 4 fields:\n dt = Int64 1\n Age_Calendar = StepRange{Int64, Int64} 1:1:55000\n Age_sigma = Vector{Float64}(55000,) [11.0 ... 1024.0]\n Age_14C = Vector{Float64}(55000,) [197.0 ... 50100.0]\n\nThe IntCal20 northern hemisphere radiocarbon calibration curve.\n\nReimer P, Austin WEN, Bard E, Bayliss A, Blackwell PG, Bronk Ramsey C, Butzin M, Cheng H, Edwards RL, Friedrich M, Grootes PM, Guilderson TP, Hajdas I, Heaton TJ, Hogg AG, Hughen KA, Kromer B, Manning SW, Muscheler R, Palmer JG, Pearson C, van der Plicht J, Reimer RW, Richards DA, Scott EM, Southon JR, Turney CSM, Wacker L, Adolphi F, Büntgen U, Capano M, Fahrni S, Fogtmann-Schulz A, Friedrich R, Köhler P, Kudsk S, Miyake F, Olsen J, Reinig F, Sakamoto M, Sookdeo A, Talamo S. (2020). \"The IntCal20 Northern Hemisphere radiocarbon age calibration curve (0-55 cal kBP)\". Radiocarbon 62. doi: 10.1017/RDC.2020.41.\n\n\n\n\n\n","category":"constant"},{"location":"#Chron.marine20","page":"Home","title":"Chron.marine20","text":"The Marine20 radiocarbon calibration curve.\n\nHeaton TJ, Köhler P, Butzin M, et al. (2020) \"Marine20—The Marine Radiocarbon Age Calibration Curve (0–55,000 cal BP)\" Radiocarbon 62(4):779-820. doi: 10.1017/RDC.2020.68\n\n\n\n\n\n","category":"constant"},{"location":"#Chron.shcal20","page":"Home","title":"Chron.shcal20","text":"shcal20\nNamedTuple with 4 fields:\n dt = Int64 1\n Age_Calendar = StepRange{Int64, Int64} 1:1:55000\n Age_sigma = Vector{Float64}(55000,) [10.0 ... 1008.0]\n Age_14C = Vector{Float64}(55000,) [171.0 ... 50132.0]\n\nThe SHCal20 southern hemisphere radiocarbon calibration curve.\n\nHogg AG, Heaton TJ, Hua Q, Palmer JG, Turney CSM, Southon J, Bayliss A, Blackwell PG, Boswijk G, Bronk Ramsey C, Pearson C, Petchey F, Reimer P, Reimer R, Wacker L. (2020). \"SHCal20 Southern Hemisphere calibration, 0-55,000 years cal BP\". Radiocarbon 62. doi: 10.1017/RDC.2020.59\n\n\n\n\n\n","category":"constant"},{"location":"#Chron.BilinearExponential","page":"Home","title":"Chron.BilinearExponential","text":"BilinearExponential(loc, scl, shp, skw)\nBilinearExponential(p::AbstractVector)\nstruct BilinearExponential{T<:Real} <: ContinuousUnivariateDistribution\n A::T\n loc::T\n scl::T\n shp::T\n skw::T\nend\n\nA five-parameter pseudo-distribution which can be used to approximate various asymmetric probability distributions found in geochronology (including as a result of Bayesian eruption age estimation). \n\nThis \"bilinear exponential\" distribution, as the name might suggest, is defined as an exponential function with two log-linear segments, joined by an arctangent sigmoid:\n\nℯ^A * ℯ^v*xₛ*shp*skw - (1-v)*xₛ*shpskw\n\nwhere\n\nv = 12 - atan(xₛ)π\n\nis a sigmoid, positive on the left-hand side, and\n\nxₛ = (x - loc)scl\n\nis x scaled by the location parameter loc and scale parameter scl, In addition to the scale parameter scl, the additional shape parameters shp and skw (which control the sharpness and skew of the resulting distribution, respectively), are all three required to be nonnegative.\n\nIf only four parameters (loc, scl, shp, skw) are specified, the normalization constant A will be calculated such that the resulting distribution is normalized.\n\n\n\n\n\n","category":"type"},{"location":"#Chron.BootstrapCrystDistributionKDE-Tuple{ChronAgeData}","page":"Home","title":"Chron.BootstrapCrystDistributionKDE","text":"BootstrapCrystDistributionKDE(smpl::ChronAgeData; cutoff=-0.05, [tpbloss=0])\n\nBootstrap an estimate of the pre-eruptive (or pre-depositional) mineral crystallization distribution shape from a Chron.ChronAgeData object containing data for several samples, using a kernel density estimate of stacked sample data.\n\nIf the samples provided as csv files in smpl.Path take the five-column form of U-Pb isotopic data files, the ages and uncertainties will be those of upper intercepts given a time of Pb-loss optionally specified as tpbloss.\n\nUncertainties will be treated as one or two-sigma absolute based on the value of smpl.inputSigmaLevel.\n\nExamples\n\nBootstrappedDistribution = BootstrapCrystDistributionKDE(smpl)\n\n\n\n\n\n","category":"method"},{"location":"#Chron.BootstrapCrystDistributionKDE-Union{Tuple{AbstractArray{T}}, Tuple{T}} where T<:Number","page":"Home","title":"Chron.BootstrapCrystDistributionKDE","text":"BootstrapCrystDistributionKDE(data::AbstractArray, [sigma::AbstractArray]; cutoff=-0.05)\n\nBootstrap an estimate of the pre-eruptive (or pre-depositional) mineral crystallization distribution shape from a 1- or 2-d array of sample ages (one row per sample, one column per datum, padded with NaNs as needed) and an equivalent-size array of one-sigma uncertainties, using a kernel density estimate of stacked sample data.\n\nExamples\n\n# Bootstrap crystallization distribution for a synthetic dataset with ages\n# [1,2,3,...10] Ma and uncertainties of 1 Ma each\nBootstrappedDistribution = BootstrapCrystDistributionKDE(1:10, ones(10))\n\n\n\n\n\n","category":"method"},{"location":"#Chron.StratMetropolis","page":"Home","title":"Chron.StratMetropolis","text":"StratMetropolis(smpl::ChronAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)\nStratMetropolis(smpl::GeneralAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)\n\nRuns the main Chron.jl age-depth model routine for a stratigraphic set of samples defined by sample heights and simple Gaussian age constraints in the smpl struct, and an age-depth model configuration defined by the config struct.\n\nOptionally, if a hiatus struct is provided, the model will additionally incorporate information about the durations of known hiatuses at the specified model heights.\n\nExamples:\n\n(mdl, agedist, lldist) = StratMetropolis(smpl, config)\n\n(mdl, agedist, hiatusdist, lldist) = StratMetropolis(smpl, hiatus, config)\n\n\n\n\n\n","category":"function"},{"location":"#Chron.StratMetropolis14C-Tuple{ChronAgeData, StratAgeModelConfiguration}","page":"Home","title":"Chron.StratMetropolis14C","text":"StratMetropolis14C(smpl::ChronAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)\n\nRuns the main Chron.jl age-depth model routine for a stratigraphic set of samples defined by sample heights and interpolated radiocarbon age constraints in the smpl struct, and an age-depth model configuration defined by the config struct.\n\nOptionally, if a hiatus struct is provided, the model will additionally incorporate information about the durations of known hiatuses at the specified model heights.\n\nExamples:\n\n(mdl, agedist, lldist) = StratMetropolis14C(smpl, config)\n\n(mdl, agedist, hiatusdist, lldist) = StratMetropolis14C(smpl, hiatus, config)\n\n\n\n\n\n","category":"method"},{"location":"#Chron.StratMetropolisDist","page":"Home","title":"Chron.StratMetropolisDist","text":"StratMetropolisDist(smpl::ChronAgeData, [hiatus::HiatusData,] config::StratAgeModelConfiguration)\n\nRuns the main Chron.jl age-depth model routine for a stratigraphic set of samples defined by sample heights and fitted asymmetric age distributions (BilinearExponential) in the smpl struct, and an age-depth model configuration defined by the config struct.\n\nOptionally, if a hiatus struct is provided, the model will additionally incorporate information about the durations of known hiatuses at the specified model heights.\n\nExamples:\n\n(mdl, agedist, lldist) = StratMetropolisDist(smpl, config)\n\n(mdl, agedist, hiatusdist, lldist) = StratMetropolisDist(smpl, hiatus, config)\n\n\n\n\n\n","category":"function"},{"location":"#Chron.screen_outliers-Tuple{ChronAgeData}","page":"Home","title":"Chron.screen_outliers","text":"screen_outliers(smpl::ChronAgeData; agemin=0.0, agemax=Inf, maxgap=100, make_plots=true, discordancemin=0, discordancemax=100)\n\nScreen outliers from the ChronAgeData struct smpl (making new data files in a screened subdirectory within smpl.Path) rejecting samples that either\n\na) Are older than agemax or younger than agemin\n\nb) Are on the old side of a gap of more than maxgap/N sigma (e.g., xenocrysts)\n\nIf make_plots is true, plots showing screening results will be made in smpl.Path/screened.\n\nIf the underlying data is in the form of U-Pb ratios, the discordancemin and discordancemax keyword arguments may also be used for additional screening.\n\n\n\n\n\n","category":"method"},{"location":"#Chron.tMinDistMetropolis-Tuple{ChronAgeData, Int64, Int64, DenseArray{Float64}}","page":"Home","title":"Chron.tMinDistMetropolis","text":"tMinDistMetropolis(smpl::ChronAgeData, nsteps::Int, burnin::Int, dist::Array{Float64})\n\nCalculate the minimum limiting (eruption/deposition) age of each sample defined in the smpl struct, using the Isoplot.metropolis_min function, assuming mineral ages for each sample are drawn from the source distribution dist. Fits a BilinearExponential function to the resulting stationary distribution for each sample and stores the results in smpl.Params for use by the StratMetropolisDist function.\n\nIf the samples provided as csv files in smpl.Path take the five-column form of U-Pb isotopic data files, these will be interpreted as the columns\n\n| ²⁰⁷Pb/²³⁵U | uncert (absolute) | ²⁰⁶Pb/²³⁸U | uncert (absolute) | correlation |\n\nand Pb-loss-aware eruption/deposition age estimation will be conducted. In all other cases, the first two columns of each data file will be interpreted as\n\n| Age | Age uncert (absolute) |\n\nand standard eruption/deposition age estimation will be conducted.\n\nIn all cases, uncertainties will be treated as one or two-sigma absolute based on the value of smpl.inputSigmaLevel.\n\nExamples\n\nsmpl = tMinDistMetropolis(smpl, 10^6, 10^5, HalfNormalDistribution)\n\n\n\n\n\n","category":"method"}] }