gnu: Add alfa.

* gnu/packages/astronomy.scm (alfa): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Sharlatan Hellseher 2022-11-16 22:50:35 +00:00 committed by Ludovic Courtès
parent 5a7e496c5d
commit 594f5ef351
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -89,6 +89,58 @@ (define-module (gnu packages astronomy)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
(define-public alfa
(package
(name "alfa")
(version "2.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rwesson/ALFA")
(commit (string-append "v" version))))
(sha256
(base32
"0aqxqar36822mh373awsl79j7zn8vik4yddyydsxv0c76gn4i2k3"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list #:parallel-build? #f
#:make-flags #~(list (string-append "PREFIX="
#$output)
(string-append "VERSION="
#$version))
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(add-after 'install 'post-install-check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "fittest")))))))
(inputs (list cfitsio gfortran))
(home-page "https://nebulousresearch.org/codes/alfa/")
(synopsis "Automated line fitting algorithm")
(description
"This package provides @acronym{ALFA, Automatic line fitting algorithm},
which can identify and fit hundreds of lines in emission line spectra in just a
few seconds with following features:
@itemize
@item A population of synthetic spectra is generated using a reference line
catalogue.
@item The goodness of fit for each synthetic spectrum is calculated. The best
sets of parameters are retained and the rest discarded.
@item A new population of synthetic spectra is obtained by averaging pairs of
the best performers.
@item A small fraction of the parameters of the lines in the new generation are
randomly altered.
@item The process repeats until a good fit is obtained.
@end itemize")
(license license:gpl3)))
(define-public aocommon
(let ((commit "7329a075271edab8f6264db649e81e62b2b6ae5e")
(revision "1"))