Skip to content

Zircon age parameterizations ​

Methods ​

Zircons are one of the ways in which we can date the age & activity of magmatic systems. Here, we provide a computational routine that computes the zircon age distribution from temperature-time paths

GeoParams.ZirconAges.ZirconAgeData Type
julia
ZirconAgeData

Struct that holds default parameters for the calculations

source

Computational routines ​

There is one main routine with which you can compute zircon age probability density functions from a range of temperature-ime paths:

GeoParams.ZirconAges.compute_zircon_age_PDF Function
julia
time_Ma, PDF_zircons, time_Ma_average, PDF_zircon_average, time_years, prob, ages_eruptible, number_zircons, T_av_time, T_sd_time, cumPDF = compute_zircon_age_PDF(time_years_vecs::Vector{Vector}, Tt_paths_Temp_vecs::Vector{Vector}; ZirconData::ZirconAgeData = ZirconAgeData(), bandwidth=bandwidth, n_analyses=300)

This computes the PDF (probability density function) with zircon age data from Vectors with Tt-paths

source

This, in turn, calls two other routines:

GeoParams.ZirconAges.compute_zircons_Ttpath Function
julia
prob, ages_eruptible, number_zircons, T_av_time, T_sd_time, cumPDF =  compute_zircons_Ttpath(time_years::AbstractArray{Float64,1}, Tt_paths_Temp::AbstractArray{Float64,2}; ZirconData::ZirconAgeData)

This computes the number of zircons produced from a series of temperature-time path's. The Tt-paths are stored in a 2D matrix Tt_paths_Temp with rows being the temperature at time time_years.

Input:

  • time_years : vector of length nt with the time in years (since the beginning of the simulation) of the points provided

  • Tt_paths_Temp : array of size `(nt,npaths)`` with the temperature of every path.

Output:

  • prob : a vector that gives the relative probability that a zircon with a given age exists

  • ages_eruptible : age of eruptble magma

  • number_zircons : 1D array of size (nt,)

  • T_av_time: vector of size nt that contains the average T of the paths

  • T_sd_time: vector of size nt that contains the standard deviation of the T of the paths

  • cumPDF: vector of size nt that contains the cumulative probability density function that we have an age of less than a certain one in the samples

This routine was developed based on an R-routine provided as electronic supplement in the paper:

source
julia
time_years, prob, ages_eruptible, number_zircons, T_av_time, T_sd_time, cumPDF  = compute_zircons_Ttpath(time_years_vecs::Vector{Vector{Float64}}, Tt_paths_Temp::Vector{Vector{Float64}}; ZirconData::ZirconAgeData = ZirconAgeData())

This accepts Vector{Vector} as input for time and temperature of each Tt-path. Here, the length of the vector can be variable between different points.

Internally, we interpolate this into a 2D matrix and a longer vector that includes all paths and a single vector with times

source
GeoParams.ZirconAges.zircon_age_PDF Function
julia
zircon_age_PDF(ages_eruptible::AbstractArray{Float64,1}, number_zircons::AbstractArray{Float64,2}, bandwidth=1e5, n_analyses=300, ZirconData::ZirconAgeData)

Compute probability density functions for zircon age path's describes in number_zircons with age ages_eruptible (both computed ). bandwidth is the smoothening window of the resulting curves (in years), whereas n_analyses are the number of analyses done.

source

We also provide a plotting routine, provided the GLMakie.jl package is loaded, which produces figures such as: