-
Notifications
You must be signed in to change notification settings - Fork 3
/
Chron.jl
71 lines (61 loc) · 3.18 KB
/
Chron.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Chron.jl #
# #
# A two-part framework for (1) estimating eruption/deposition age #
# distributions from complex mineral age spectra and (2) subsequently building #
# a stratigraphic age model based on those distributions. Each step relies on #
# a Markov-Chain Monte Carlo model. #
# #
# The first model uses an informative prior distribution to estimate the #
# times of first (i.e., saturation) and last mineral crystallization (i.e., #
# eruption/deposition). #
# #
# The second model uses the estimated (posterior) eruption/deposition ages #
# distributions along with the constraint of stratigraphic superposition to #
# produce an age-depth model #
# #
# Last modified by C. Brenhin Keller 2021-05-05 #
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
module Chron
using Reexport
@reexport using VectorizedStatistics
@reexport using NaNStatistics
@reexport using StatGeochemBase
# Basic statistics and UI resources
using ProgressMeter: @showprogress, Progress, update!
using LsqFit: curve_fit
using KernelDensity: kde
using DelimitedFiles
# Bilinear exponential function
using LoopVectorization
# using Polyester: @batch
include("Utilities.jl")
# Functions for propagating systematic uncertainties
using Distributions
include("Systematic.jl")
# Custom objects for holding Chron age data
include("Objects.jl")
# Intcal2013 calibration curve for radiocarbion
include("Intcal.jl")
# Functions for estimating extrema of a finite-range distribution
include("DistMetropolis.jl")
# Functions for stratigraphic modelling
include("StratMetropolis.jl")
using Plots
include("Fitplot.jl")
# Structs
export ChronAgeData, HiatusData, StratAgeModelConfiguration, StratAgeModel
# High-level functions
export StratMetropolis, StratMetropolisDist, StratMetropolis14C,
tMinDistMetropolis, metropolis_min!, metropolis_min,
metropolis_minmax!, metropolis_minmax,
bilinear_exponential, bilinear_exponential_ll,
plot_rankorder_errorbar, plot_rankorder_errorbar!,
screen_outliers, BootstrapCrystDistributionKDE
# Distributions
export UniformDistribution, TriangularDistribution,
HalfNormalDistribution, TruncatedNormalDistribution,
MeltsZirconDistribution, MeltsVolcanicZirconDistribution,
ExponentialDistribution, EllisDistribution, ArClosureDistribution
end # module