calc_FadingCorr function

Fading Correction after Huntley & Lamothe (2001)

Fading Correction after Huntley & Lamothe (2001)

Apply a fading correction according to Huntley & Lamothe (2001) for a given gg-value and a given tct_{c}

calc_FadingCorr( age.faded, g_value, tc, tc.g_value = tc, n.MC = 10000, seed = NULL, interval = c(0.01, 500), txtProgressBar = TRUE, verbose = TRUE )

Arguments

  • age.faded: numeric vector (required ): vector of length 2 containing the uncorrected age and the error in ka (see example).

  • g_value: vector or RLum.Results (required ): either a vector of length 2 containing the g-value and error obtained from separate fading measurements (see example), or an RLum.Results

    object produced by analyse_FadingMeasurement . If the latter, the tc

    argument is set automatically.

  • tc: numeric (required ): time in seconds between irradiation and the prompt measurement (cf. Huntley & Lamothe 2001). The argument is ignored when g_value is an RLum.Results object.

  • tc.g_value: numeric (with default): time in seconds between irradiation and the prompt measurement used in the estimation of the g-value. If the g-value was normalised, the normalisation time (in seconds) should be given, e.g., for a g-value normalised to 2 days, the value 172800 should be used. If nothing is provided the time is set to tc, which is usual case for g-values obtained using the SAR method and gg-values that have been not normalised to 2 days.

  • n.MC: integer (with default): number of Monte Carlo simulation runs for error estimation. If n.MC = 'auto' is used the function tries to find a 'stable' error for the age. See details for further information. Note: This may take a while!

  • seed: integer (optional): sets the seed for the random number generator in R using set.seed

  • interval: numeric (with default): a vector containing the end-points (age interval) of the interval to be searched for the root in 'ka'. This argument is passed to the function stats::uniroot used for solving the equation.

  • txtProgressBar: logical (with default): enable/disable the progress bar.

  • verbose: logical (with default): enable/disable output to the terminal.

Returns

Returns an S4 object of type RLum.Results .

Slot: @data

ObjectTypeComment
age.corrdata.frameCorrected age
age.corr.MCnumericMC simulation results with all possible ages from that simulation

Slot: @info

ObjectTypeComment
infocharacterthe original function call

Details

This function solves the equation used for correcting the fading affected age including the error for a given gg-value according to Huntley & Lamothe (2001):

AfA=1κ[ln(Atc)1] \frac{A_{f}}{A} = 1 - \kappa * \Big[ln(\frac{A}{t_c}) - 1\Big]

with κ\kappa defined as

κ=g_valueln(10)100 \kappa = \frac{\frac{\mathrm{g\_value}}{ln(10)}}{100}

AA and AfA_{f} are given in ka. tct_c is given in s, however, it is internally recalculated to ka.

As the gg-value slightly depends on the time tct_{c} between irradiation and the prompt measurement, a value for tc must always be provided. If the gg-value was normalised to a distinct time or evaluated with a different tc value (e.g., external irradiation), also the tct_{c} value for the gg-value needs to be provided (argument tc.g_value

and then the gg-value is recalculated to tct_{c} of the measurement used for estimating the age applying the following equation:

κtc=κtc.g/(1κtc.gln(tc/tc.g)) \kappa_{tc} = \kappa_{tc.g} / (1 - \kappa_{tc.g} * ln(tc/tc.g))

where

κtc.g=g/100/ln(10) \kappa_{tc.g} = g / 100 / ln(10)

The error of the fading-corrected age is determined using a Monte Carlo simulation approach. Solving of the equation is performed using uniroot . Large values for n.MC will significantly increase the computation time.

‘n.MC = 'auto'’

The error estimation based on a stochastic process, i.e. for a small number of MC runs the calculated error varies considerably every time the function is called, even with the same input values. The argument option n.MC = 'auto' tries to find a stable value for the standard error, i.e. the standard deviation of values calculated during the MC runs (age.corr.MC), within a given precision (2 digits) by increasing the number of MC runs stepwise and calculating the corresponding error.

If the determined error does not differ from the 9 values calculated previously within a precision of (here) 3 digits the calculation is stopped as it is assumed that the error is stable. Please note that (a) the duration depends on the input values as well as on the provided computation resources and it may take a while, (b) the length (size) of the output vector age.corr.MC, where all the single values produced during the MC runs are stored, equals the number of MC runs (here termed observations).

To avoid an endless loop the calculation is stopped if the number of observations exceeds 10^7. This limitation can be overwritten by setting the number of MC runs manually, e.g. n.MC = 10000001. Note: For this case the function is not checking whether the calculated error is stable.

‘seed’

This option allows to recreate previously calculated results by setting the seed for the R random number generator (see set.seed for details). This option should not be mixed up with the option ‘n.MC = 'auto'’ . The results may appear similar, but they are not comparable!

FAQ

Q : Which tct_{c} value is expected?

A : tct_{c} is the time in seconds between irradiation and the prompt measurement applied during your DeD_{e} measurement. However, this tct_{c} might differ from the tct_{c} used for estimating the gg-value. In the case of an SAR measurement tct_{c} should be similar, however, if it differs, you have to provide this tct_{c} value (the one used for estimating the gg-value) using the argument tc.g_value.

Q : The function could not find a solution, what should I do?

A : This usually happens for model parameters exceeding the boundaries of the fading correction model (e.g., very high gg-value). Please check whether another fading correction model might be more appropriate.

Note

Special thanks to Sébastien Huot for his support and clarification via e-mail.

Function version

0.4.4

Examples

##run the examples given in the appendix of Huntley and Lamothe, 2001 ##(1) faded age: 100 a results <- calc_FadingCorr( age.faded = c(0.1,0), g_value = c(5.0, 1.0), tc = 2592000, tc.g_value = 172800, n.MC = 100) ##(2) faded age: 1 ka results <- calc_FadingCorr( age.faded = c(1,0), g_value = c(5.0, 1.0), tc = 2592000, tc.g_value = 172800, n.MC = 100) ##(3) faded age: 10.0 ka results <- calc_FadingCorr( age.faded = c(10,0), g_value = c(5.0, 1.0), tc = 2592000, tc.g_value = 172800, n.MC = 100) ##access the last output get_RLum(results)

How to cite

Kreutzer, S., 2025. calc_FadingCorr(): Fading Correction after Huntley & Lamothe (2001). Function version 0.4.4. In: Kreutzer, S., Burow, C., Dietze, M., Fuchs, M.C., Schmidt, C., Fischer, M., Friedrich, J., Mercier, N., Philippe, A., Riedesel, S., Autzen, M., Mittelstrass, D., Gray, H.J., Galharret, J., Colombo, M., Steinbuch, L., Boer, A.d., 2025. Luminescence: Comprehensive Luminescence Dating Data Analysis. R package version 1.0.1. https://r-lum.github.io/Luminescence/

References

Huntley, D.J., Lamothe, M., 2001. Ubiquity of anomalous fading in K-feldspars and the measurement and correction for it in optical dating. Canadian Journal of Earth Sciences, 38, 1093-1106.

See Also

RLum.Results , analyse_FadingMeasurement , get_RLum , uniroot

Author(s)

Sebastian Kreutzer, Institute of Geography, Heidelberg University (Germany) , RLum Developer Team

  • Maintainer: Sebastian Kreutzer
  • License: GPL-3
  • Last published: 2025-03-07