/midapack

High performance Cosmic Microwave Background (CMB) data analysis library

Primary LanguageCGNU Lesser General Public License v3.0LGPL-3.0

Midapack library, 

release 1.0, December 2011.
release 1.1b, July 2012.
release 2.0,  January 2020.

ACKNOWLEDGMENT: This work has been supported in part by French National Research Agency (ANR)
through COSINUS program through projects: 

ANR-MIDAS09 no. ANR-09-COSI-009 : http://www.apc.univ-paris7.fr/APC_CS/Recherche/Adamis/MIDAS09/index.html
ANR-B3DCMB no. ANR-17-C23-0002-01 : http://b3dcmb.in2p3.fr/

Motivation
----------

The aim of the CMB DA library is to provide high performance, massively parallel, and 
portable analysis tools suitable for Cosmic Microwave Background (CMB) data analysis 
and thus addressing the existing gap between the low level numerical libraries, such as 
FFTW, SCALAPACK, LAPACK, PLASMA, etc, and high level tools needed to analyze actual CMB data.

The library is designed to provide essential functionalities needed for the CMB data analysis.
It includes new algorithmic solutions and their implementation, capable of dealing with
massive data volumes, while giving the users flexibility in constructing their own codes
according to their preferences and instrument and data characteristics.

Since version 2.0 the repository also includes a fully-fledged, massively parallel map-making code, MAPPRAISER.

Getting some more information
-----------------------------

You can download the last release from github: https://github.com/B3Dcmb/midapack 

We are currently working on updating the online manual at: https://b3dcmb.github.io/midapack/ which was released with version 1.1b. The manual contains descriptions of the core algorithms and implementation details that remain relevant for the latest version, and that users may find useful.

The novel features of version 2.0 are described in detail in the MAPPRAISER software release paper: https://arxiv.org/abs/2112.03370

Installation
-------------

For detailed instructions on how to install the library, please refer to: https://github.com/B3Dcmb/midapack/blob/master/INSTALL.md.

Project collaborators
---------------------

MIDAPACK is a product of a collaboration between members of the cosmology group at Laboratoire 
AstroParticule et Cosmologie (UMR7164), Centre Pierre Binétruy (IRL2007) and Alpines team at INRIA-Paris. 

The full list of collaborators, including application scientists, validators, etc, can be found:

2019-2022:   http://b3dcmb.in2p3.fr/?page_id=405

2009-2012:   http://www.apc.univ-paris7.fr/APC_CS/Recherche/Adamis/MIDAS09/partners.html

Development Team
----------------
 2022-:
  Simon Biquard (developer);
  Hamza El Bouhargani (developer);
  Laura Grigori (coordinator); 
  Magdy Morshed (developer);
  Radek Stompor (coordinator).

 2019-2022:
  Hamza El Bouhargani (developer);
  Thibault Cimic (developer); 
  Laura Grigori (coordinator); 
  Niels Guilbert (developer);
  Aygul Jamal (developer);
  Radek Stompor (coordinator).

 2015:
  Sebastien Cayrols (developer)
  Laura Grigori (coordinator); 
  Radek Stompor (coordinator).

 2009-2012:
  Pierre Cargemel (developer);
  Frederic Dauvergne (developer);
  Giulio Fabbian (validator); 
  Laura Grigori (coordinator); 
  Maude Le Jeune (senior developer);
  Antoine Rogier (developer);
  Mikolaj Szydlarski (developer);
  Radek Stompor (coordinator).

How to use it
-------------

This software is reported to work on several Linux distributions and should work on any
modern Unix-like system after minimal porting efforts.

The source code is delivered in a set of directories:

- The /algebra directory contains the sources files for the core low-level library. It's composed by the
differents modules of the Midapack library (please refer to the paper and the website for more details). 
You can directly compile theses files and link the generated binaries with your own program.

- The /mappraiser directory contains the MAPPRAISER map-making library.

- The /mappraiser/examples directory contains an example python workflow demonstrating how MAPPRAISER
can be used with TOAST to process time-domain data.

For more details please check:

- The MAPPRAISER software release paper: https://arxiv.org/abs/2112.03370
- The online documentation for version 1.1b: https://b3dcmb.github.io/midapack/