Skip to content

Releases: nevrome/currycarbon

Release v0.4.0.0

18 Feb 14:06
Compare
Choose a tag to compare

Another major update with various changes to the command line interface and the library:

  • Added more calibration curves next to intcal20: shcal20 and marine20. Renamed the Currycarbon.CalCurves.IntCal20 module to just Currycarbon.CalCurves. In the CLI, --calCurveFile is now just --calCurve, and it allows to either select the different packaged curves or read arbitrary .14c files.
  • Added a new CLI plot element to the output of individual dates. renderCLIPlotCalCurve plots a relevant section of the calibration curve.
  • Added the command line options --noTrimCalCurve and --noTrimOutCalPDF to allow control over the pre- and post-calibration trimming behaviour for radiocarbon dates.
  • Changed the way products between calibration expressions are computed in evalCalExpr. Input expressions in a multiplication are now calibrated for the entire length of the calibration curve. This allows to compute proper products and not fail in case of non-overlapping output.
  • Changed the way calibration curves are embedded in currycarbon. This now uses the brilliant file-embed library.
  • Changed the interface of the core calibration functions. CalibrateDatesConf no longer includes the CalibrationMethod, so calibrateDates and evalNamedCalExpr functions need it as an extra argument. calibrateDateBchron and calibrateDateMatrixMult now take CalibrateDatesConf and not its individual elements.
  • Moved from Float to Double for probability densities and all functions that interact with them.
  • Added a new output option --basicFile to the CLI to enable simple per-expression output: The minimum start and maximum end of the high probability density regions and the median age. In this context writeCalC14 was split into writeCalC14HDR and writeCalC14CalRangeSummary in the library.
  • Added little axis labels (BC/AD) to the command line plot to improve readability.
  • Changed the release pipeline: Now again with a windows executable. currycarbon-macOS was replaced by currycarbon-macOS-X64 and currycarbon-macOS-ARM64.
  • Switched to a new GHC version (v9.6.6) and stackage resolver version (lts-22.43).

Release v0.3.0.0

03 Dec 16:51
Compare
Choose a tag to compare

V 0.3.0.0 is a major update with multiple breaking changes and new features:

  • Added a new mechanism to draw random age samples from a CalPDF (sampleAgesFromCalPDF :: AgeSamplingConf -> CalPDF -> RandomAgeSample). This is available from the command line with the options samplesFile, --seed, and -n/--nrSamples.
  • Added a new concept to the CalExpr data type: Age ranges with uniform probability for each year in the range (TimeWindowBP and TimeWindowBCAD).
  • Reworked the encoding and evaluation mechanism for calibration expressions:
    • Introduced the NamedCalExpr as a wrapper around CalExpr with an identifier, and then adjusted the ID generation for CalPDFs to prioritize this identifier.
    • Reworked the CLI DSL to support a standardized configuration language syntax implemented in a new module ParserHelpers.hs. This introduces a set of flexible functions (calExpr(), uncalC14(), rangeBP(), rangeBCAD(), sum() and product()) which generally complement the previously available syntax and operators. The old syntax is mostly preserved as syntactic sugar for the new, more standardized syntax. Unfortunately this is not entirely seamless: The change breaks some expressions that were valid before (e.g. "3000,30 + 3020,50"). They now require additional parentheses to pass (so e.g. "(3000,30) + (3020,50)").
    • Added some unit tests to cover the increasingly complex DSL.
  • Changed the output files from .csv to .tsv and to a more meaningful and consistent set of column names.
  • Slightly adjusted the rendering of the pretty, human-focussed command line output.
  • Updated and improved the command line documentation.
  • Renamed some CLI arguments:
    • --calibrationCurveFile -> --calCurveFile
    • --calCurveSegmentFile -> --calCurveSegFile
    • --calCurveMatrixFile -> --calCurveMatFile
  • Changed the CLI behaviour with --calCurveSegFile and --calCurveMatFile: currycarbon now fails with these options if the first sample is not a single, uncalibrated radiocarbon date (so uncalC14()).
  • Added a simple golden test system with some basic calls to the currycarbon CLI tool.
  • Switched to a new GHC version (v9.4.7) and stackage resolver version (lts-21.17)..

Release v0.2.1.2

06 Sep 13:56
Compare
Choose a tag to compare
see CHANGELOG.md

Release v0.2.1.0

29 Jun 10:11
Compare
Choose a tag to compare
see CHANGELOG.md

Release v0.2.0.0

27 Jun 07:52
975239b
Compare
Choose a tag to compare
see CHANGELOG.md

Release v0.1.2.0

26 May 19:29
Compare
Choose a tag to compare
see CHANGELOG.md

Release v0.1.1.0

15 Mar 21:18
Compare
Choose a tag to compare
see CHANGELOG.md

Release v0.1.0.0

02 Mar 16:14
Compare
Choose a tag to compare
see CHANGELOG.md

Release v0.24.2

01 Mar 22:42
Compare
Choose a tag to compare
see CHANGELOG.md

Release v0.21.0

18 Nov 21:23
Compare
Choose a tag to compare
see CHANGELOG.md