Releases: nevrome/currycarbon
Releases · nevrome/currycarbon
Release v0.4.0.0
Another major update with various changes to the command line interface and the library:
- Added more calibration curves next to
intcal20
:shcal20
andmarine20
. Renamed theCurrycarbon.CalCurves.IntCal20
module to justCurrycarbon.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 theCalibrationMethod
, socalibrateDates
andevalNamedCalExpr
functions need it as an extra argument.calibrateDateBchron
andcalibrateDateMatrixMult
now takeCalibrateDatesConf
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 contextwriteCalC14
was split intowriteCalC14HDR
andwriteCalC14CalRangeSummary
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
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 optionssamplesFile
,--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
andTimeWindowBCAD
). - Reworked the encoding and evaluation mechanism for calibration expressions:
- Introduced the
NamedCalExpr
as a wrapper aroundCalExpr
with an identifier, and then adjusted the ID generation forCalPDF
s 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()
andproduct()
) 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.
- Introduced the
- 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 (souncalC14()
). - 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
see CHANGELOG.md
Release v0.2.1.0
see CHANGELOG.md
Release v0.2.0.0
see CHANGELOG.md
Release v0.1.2.0
see CHANGELOG.md
Release v0.1.1.0
see CHANGELOG.md
Release v0.1.0.0
see CHANGELOG.md
Release v0.24.2
see CHANGELOG.md
Release v0.21.0
see CHANGELOG.md