← Back to all sparks
B

BayLum

INFRA · APIS
Velocity0.0

Chronological Bayesian Models Integrating Optically Stimulated Luminescence and Radiocarbon Age Dating

Bayesian luminescence dating that finally replaced its folder-structure input format.

bayesian-statisticsluminescence-datinggeochronologyjagsarchaeologyr-package
Current state
BayLum runs Bayesian age models for luminescence and combined OSL/C-14 dating on top of JAGS. The 2024 release rebuilt the front end: a single create_DataFile() replaces the separate single-grain and multi-grain generators, reads BIN/BINX and XSYG directly, and takes a YAML config in place of the old prescribed folder layout. Since then the work has been CRAN compliance and documentation.
Where it's heading
Two long-running threads have converged: making JAGS runs survivable (parallel methods, halved MCMC memory, injectable custom models) and making the inputs survivable (YAML config, consistency checks, auto-detected sample names). With the deprecated generators on their way out, the next phase is removal rather than addition. Release cadence is roughly annual and slowing.
Prediction
The deprecated Generate_DataFile(), Generate_DataFile_MG() and LT_RegenDose() are the obvious next casualties; a release that drops them would be the first breaking change since the YAML rework.

Recent moves

  1. 10mo ago

    CRAN anchor fixes and an R 4.4 floor

    Manual anchor repairs at CRAN's request, a bumped R requirement, and a note that the vignette must be pre-computed because it runs too long. Housekeeping in the quiet period after the input-format rework.

    View source ↗
  2. 2y ago

    One data-file function and a YAML config replace the folder layout

    ⚡ SPARK

    create_DataFile() collapses the single-grain and multi-grain import paths into one function, accepts BIN/BINX, XSYG and RLum objects, and moves configuration into a YAML file — retiring the folder structure that had been the package's main source of user error. The two old generators and LT_RegenDose() are deprecated in the same release.

    View source ↗
  3. 3y ago

    MCMC memory halved; density plots for age distributions

    A duplicated MCMC list in the age computation functions is removed, halving output memory, and plot_Ages() gains a density mode alongside the standard interval plot. Both target the practical limits of running these models on ordinary hardware.

    View source ↗
  4. 3y ago

    Parallel JAGS runs and a file-scaffolding helper

    Contributed work adds write_BayLumFiles() to scaffold the required files and parallel processing via runjags for age computation. It is the first move against the setup burden that the YAML rework would later finish off; this version never reached CRAN.

    View source ↗
  5. 4y ago

    Custom model injection and RNG control for parallel runs

    AgeS_Computation() gains a model argument for injecting custom JAGS models and returns the model it used, letting users test alternative priors and likelihoods. The parallel path also stops crashing on missing RNG settings, which had made rjparallel unusable.

    View source ↗
  6. 5y ago

    Parallel JAGS experiment plus IntCal20-era calibration data

    An experimental jags_method argument opens the door to automated parallel runs, and the C-14 calibration datasets are extended and renamed to a consistent set including the 2020 curves. Much of the rest is defensive: mismatched inputs now fail with comprehensible messages instead of raw JAGS errors.

    View source ↗