diff options
author | Sharlatan Hellseher <sharlatanus@gmail.com> | 2022-11-16 22:50:35 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-12-02 00:02:12 +0100 |
commit | 594f5ef35107d5641c44dac5cd7e9fb3737b674b (patch) | |
tree | b9b4a4b72e54eb754d121fc60550d0d3601b4641 /gnu | |
parent | 5a7e496c5d1a9f38e71033e0ddfcd3446553dff8 (diff) | |
download | guix-594f5ef35107d5641c44dac5cd7e9fb3737b674b.tar guix-594f5ef35107d5641c44dac5cd7e9fb3737b674b.tar.gz |
gnu: Add alfa.
* gnu/packages/astronomy.scm (alfa): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/astronomy.scm | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 439fdf72a8..66bff83033 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -89,6 +89,58 @@ #: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")) |