Class CarbonDatingConverter
java.lang.Object
org.episteme.social.history.CarbonDatingConverter
Utilities for radiocarbon (C-14) dating calculations and calibration.
Translates between radiocarbon ages (Years BP) and calendar dates.
- Since:
- 1.0
- Version:
- 1.1
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doubleDecay constant λ = ln(2) / t½ based on Libby half-life.static final doubleConventional Libby C-14 half-life in years (used for reporting raw dates).static final doubleTrue physical C-14 half-life in years (Cambridge half-life). -
Method Summary
Modifier and TypeMethodDescriptionstatic RealcalculateAge(Real remainingFraction) Calculates the radiocarbon age from the remaining C-14 fraction.static RealEstimates the maximum dateable age based on a detection limit (approx. 1% remaining C-14).static RealremainingFraction(Real ageYearsBP) Calculates the remaining C-14 fraction for a given age.static TimeCoordinatetoCalendarDate(double radiocarbonYearsBP) Converts a radiocarbon age (BP = Before Present, where Present is 1950 CE) to a calendar date estimate using a simplified linear model.static doubletoRadiocarbonBP(int calendarYear) Converts a calendar year to its radiocarbon age BP equivalent (1950 reference).
-
Field Details
-
HALF_LIFE_YEARS
public static final double HALF_LIFE_YEARSConventional Libby C-14 half-life in years (used for reporting raw dates).- See Also:
-
TRUE_HALF_LIFE_YEARS
public static final double TRUE_HALF_LIFE_YEARSTrue physical C-14 half-life in years (Cambridge half-life).- See Also:
-
DECAY_CONSTANT
public static final double DECAY_CONSTANTDecay constant λ = ln(2) / t½ based on Libby half-life.
-
-
Method Details
-
toCalendarDate
Converts a radiocarbon age (BP = Before Present, where Present is 1950 CE) to a calendar date estimate using a simplified linear model.- Parameters:
radiocarbonYearsBP- radiocarbon age in years BP- Returns:
- estimated calendar date with calculated uncertainty as a
TimeCoordinate
-
calculateAge
Calculates the radiocarbon age from the remaining C-14 fraction. Formula: t = -ln(N/N₀) / λ- Parameters:
remainingFraction- the fraction of original C-14 remaining (0.0 - 1.0)- Returns:
- age in radiocarbon years BP as a
Realnumber - Throws:
NullPointerException- if remainingFraction is null
-
remainingFraction
Calculates the remaining C-14 fraction for a given age. Formula: N/N₀ = e^(-λt)- Parameters:
ageYearsBP- the age in radiocarbon years BP- Returns:
- remaining fraction (0.0 - 1.0) as a
Realnumber - Throws:
NullPointerException- if ageYearsBP is null
-
maximumDateableAge
-
toRadiocarbonBP
public static double toRadiocarbonBP(int calendarYear) Converts a calendar year to its radiocarbon age BP equivalent (1950 reference).- Parameters:
calendarYear- the calendar year (CE)- Returns:
- radiocarbon years BP
-