guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/08: gnu: Add alfa.


From: guix-commits
Subject: 03/08: gnu: Add alfa.
Date: Thu, 1 Dec 2022 18:05:47 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 594f5ef35107d5641c44dac5cd7e9fb3737b674b
Author: Sharlatan Hellseher <sharlatanus@gmail.com>
AuthorDate: Wed Nov 16 22:50:35 2022 +0000

    gnu: Add alfa.
    
    * gnu/packages/astronomy.scm (alfa): New variable.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/packages/astronomy.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

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"))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]