Git Product home page Git Product logo

pspipe's Introduction

https://travis-ci.com/simonsobs/PSpipe.svg?branch=master

PSpipe is a pipeline creator for the analysis of the high resolution maps of the large aperture telescope of the Simons Observatory. It contains tools for estimating power spectra and a multi-frequency likelihood interfaced with the cobaya MCMC sampler.

The pipelines are mainly written in python and make use of three different codes

The package is licensed under the BSD license.

  • Python >= 3.5
  • GSL: version 2 required
  • FFTW: version 3 required
  • cfitsio: at least version 3.0
  • healpix: at least version 2.0

If the previous requirements are fulfilled, you can install the PSpipe package with its dependencies by doing

$ pip install --user git+https://simonsobs/PSpipe.git

If you plan to develop or want to use the different projects, it is better to checkout the latest version by doing

$ git clone https://github.com/simonsobs/PSpipe.git /where/to/clone

Then you can install the PSpipe library and its dependencies via

$ pip install --user /where/to/clone

Instructions for installing pspy at NERSC are available at INSTALL_PSPY_NERSC.

Instructions for installing NaMaster at NERSC are available at INSTALL_NAMASTER_NERSC.

Given the number of requirements, you can use a docker image already made with the needed libraries and everything compiled. You should first install docker for your operating system.

We have written a simple bash script to install the PSpipe docker and to clone the main PSpipe libraries. Just copy the script in a directory where you want to work with pspipe and run

$ ./run_docker.sh

This will open a new bash terminal with a full installation of PSpipe, pixell, NaMaster, pspy... For instance, you can start the ipython interpreter and run the following import command

$ ipython
Python 3.6.9 (default, Nov  7 2019, 10:44:02)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.11.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import pixell, pymaster, pspy

You can run the python scripts from the tutorials directory of PSpipe.

When you are done with the image, just type exit and you will go back to your local machine prompt.

It is also possible to start a jupyter server from the PSpipe image and run it into your web browser. Inside the image terminal, you have to start the jupyter server by typing

$ jupyter notebook --ip 0.0.0.0

Finally open the http link (something like http://127.0.0.1:8888/?token...) within your web browser and you should be able to run one of the python notebook.

Everything perfomed within the /home/pspipe/workspace directory will be reflected into the /where/to/work_with_pspipe on your host machine. You can then share configuration files, source codes, data files... between the running docker container and your local machine. Nothing will be lost after you exit from the docker container.

Docker for Mac limits the resource available to 2Gb of RAM by default, This might cause the code to crash unexpectedly with a cryptic Killed message. It can easily be modified, click on the docker logo (top right of your screen), go in Preferences/Resources and increase the RAM allocated to Docker.

You are not ready for it: youtube

pspipe's People

Contributors

adrien-laposta avatar damonge avatar dwhan89 avatar earosenberg avatar stevekchoi avatar thibautlouis avatar xgarrido avatar xzackli avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.