Giter Club home page Giter Club logo

psrpipe's Introduction

psrpipe

Pipeline scripts for processing pulsar and FRB dynamic spectra using modules defined in psrdynspec.

Dependencies

All scripts import psrdynspec and its dependencies.

Repository Structure

For every script basename, there exists a config file (.cfg extension under config folder) and an executable script (.py extension under exec folder). A .cfg file specifies inputs that are passed on to its corresponding .py script during execution

Each .py script also reports run times on the terminal at the end of execution. Owing to potentially long run times, I recommend users to execute programs within a screen/tmux session.

Non-MPI executable scripts:

  1. bandpass.py: Compute median bandpass shape based on a chunk of PSRFITS or filterbank data.
  2. grab_ds_fil.py: Plot smoothed, RFI-masked dynamic spectrum of a chunk of filterbank data.
  3. grab_ds_psrfits.py: Plot smoothed, RFI-masked dynamic spectrum of a chunk of PSRFITS data.

Program run syntax:
python <path to executable file> -i <path to config file of inputs>
The -i flag specifies the input configuration file to be read by the executable file.

Example call:
python exec/bandpass.py -i config/bandpass.cfg

MPI-enabled executable scripts:

  1. plot_spcands_fil.py: Plot dynamic spectra of single pulse candidates identified in filterbank data.
  2. plot_spcands_psrfits.py: Plot dynamic spectra of single pulse candidates identified in PSRFITS data.

Program run syntax:
mpirun -n <nproc> python <path to executable file> -i <path to config file of inputs>
Default execution assumes operation on a single processor. If multiple processors are called, a parent-child MPI framework is invoked. Within this model, one processor is designated as a parent processor, whereas the remaining processors are classified as child processors. The parent distributes tasks evenly and collates outputs from the child processors.

Example call:
mpirun -n 4 python exec/plot_spcands_fil.py -i config/plot_spcands_fil.cfg

Ongoing development

The DEV folder contains code under development. Use of these scripts for data processing is highly discouraged.

Troubleshooting

Please submit an issue to voice any problems or requests. Improvements to the code are always welcome.

psrpipe's People

Contributors

akshaysuresh1 avatar

Watchers

 avatar  avatar

Forkers

dsj-92

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.