Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Python JavaScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
dx9null
html
obsolete
tests
.gitignore
README.md
__init__.py
compute_union_mask.py
differences.py
dpc_reader.py
read_dx10.conf
read_dx11.conf
read_dx11d.conf
read_dx8.conf
read_dx9.conf
read_dx9_nersc.conf
read_ffp6.conf
read_hfi_dx10.conf
read_hfi_dx9_nersc.conf
read_pre_dx10_2.conf
read_pre_dx10_3.conf
read_toast.conf
reader.py
run_dx10.conf
run_dx11.conf
run_dx11_serial.conf
run_dx11d.conf
run_dx9_10deg.conf
run_hfi_dx9_10deg.conf
run_null.py
run_pre_dx10_2.conf
run_pre_dx10_3.conf
run_pre_dx10_diode.conf
run_pre_dx10_rad.conf
toast_reader.py
utils.py

README.md

Null tests library for Planck

This code provides a library and example scripts to run null tests on the products of a Planck Data eXchange (DX).

Overview

This repository provides a library for interactive and serial usage:

  • differences.py

and a run script that can run either serially or in parallel:

  • run_null.py

run_null.py requires a configuration file as argument, for example:

  • run_dx9_10deg.conf

which includes all the parameter for the run and also the path to the configuration for reading the maps from disk, in this case:

  • read_dx9.conf

Once the tests have been executed, the user can produce a HTML report using plancknull_generate_html, which is a separate program.

Library

Input maps are read by a class that inherits from reader.BaseMapReader that implements a __call__ method that given channel, frequency, survey, halfrings and requested polarization returns a map (typically either "I" or "IQU"). Therefore the first step with a new dataset is to implement a new reader.BaseMapReader child class, or to use the reader.DXReader with a file patters configuration files, for example read_dx9.conf.

The differences.py library provides 3 functions that create specific null tests, they read the maps thanks to the input reader object:

  • halfrings: halfring differences
  • surveydiff: survey differences
  • chdiff: either channels or horn differences

Those functions can be used interactively, see their docstrings and the example script for reference.

Serial usage

In order to run all null tests serially, just set paral=False and run python run_null.py run_dx9_10deg.conf, this might take few hours, as about 380 maps are produced, the outputs will be stored in the output_folder folder.

Parallelization

The code is trivially parallel, parallelization is achieved using ipython cluster computing features.

See ipython documentation for installing it, it requires to build libzmq and install pyzmq.

Once ipython is installed, you can just:

  • run ipcontroller on the login node
  • submit a pbs job which spawns a number of ipengines (see ipython documentation)
  • open an ipython session on the login node (possibly inside screen) and then launch run run_null.py run_dx9_10deg.conf after setting paral=True in the configuration file.
Something went wrong with that request. Please try again.