guix-patches
[Top][All Lists]
Advanced

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

[bug#59323] [PATCH] gnu: Add alfa


From: Sharlatan Hellseher
Subject: [bug#59323] [PATCH] gnu: Add alfa
Date: Wed, 16 Nov 2022 22:50:35 +0000

* gnu/packages/astronomy.scm (alfa): New variable.
---
 gnu/packages/astronomy.scm | 53 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index bc31a12594..c5f0944219 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -86,6 +86,59 @@ (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"))
-- 
2.38.0






reply via email to

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