
Symmetries of spacetime infinitely far away from gravitational fields may hint at new laws of nature
Timing residuals PSD using Lomb-Scargle method
Tempo2
Libstempo installation
Enterprise installation
[!!!] When following these instructions, find-and-replace "boris.goncharov" with you username on OzStar.
To produce a spectrum (periodogram) of timing residuals we need to use a Lomb-Scargle method, as it deals with unevenly-sampled data. PSD is trivially obtained by dividing a spectrum by a square root of frequencies. There are different ways to do it:
ls_psr = LombScargle(psr.toas().astype('float64')*day, \
psr.residuals().astype('float64'), \
dy=psr.toaerrs.astype('float64'),normalization='psd')
psr_f, psr_pow = ls_psr.autopower()
psr_psd = psr_pow/np.sqrt(psr_f)
tempo2 -gr cholSpectra -f pulsar_name.par pulsar_name.tim
MODEL T2
MODEL T2PowerLaw 3.5 2e-25 0.06
Numbers in the second line are parameters of Lorenzian powerlaw: spectral index, amplitude [yr^3] and cornder frequency [year^-1]. They can be inferred by running parameter estimation (Enterprise), or the whole file can be generated by running tempo2's autoSpectralFit plugin.First, we need meet some requirements. Let's install them using HomeBrew.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install autoconf automake libtool
After that follow other instructions below.
brew install gcc@7
. The new versions are actually not compatible with pgplot and tempo2. If you are using OzStar, instead of brew you can just load the right versions of gcc and gcccore: module load gcc/7.3.0 gcccore/7.3.0
.cp config/profile.example profile
.man -k g++ gcc gfortran
to see the names of the code. Brew installs gfortran 7 with the executable name "gfortran-7", and similarly for gcc and g++. Check version of all of these executables by e.g. gfortran --version
../bin/psrsoft tempo2
, and follow the instructions. In case of errors, perhaps the installation still goes on with other gfortran versions. Then, for gfortran, gcc and g++, run in the command line alias gcc="gcc-7"
../bin/psrsoft tempo2
, but this time choose to install tempo2 plug-ins.export TEMPO2=psrsoft_directory/usr/share/tempo2/
andalias tempo2='psrsoft_directory/usr/bin/tempo2'
.Start in your home directory (cd ~
):
mkdir tempo2_runtime
git clone https://bitbucket.org/psrsoft/tempo2.git
cd tempo2
./bootstrap
cp -r T2runtime /home/boris.goncharov/tempo2_runtime/
export TEMPO2=/home/boris.goncharov/tempo2_runtime/
./configure
make && make install
make plugins && make plugins-install
The pgplot can then be installed separately.
In my case, the tempo2 command is not globally recognized, so I only run tempo2 from tempo2_runtime/bin: ./tempo2
Libstempo requires tempo2 installed. Then follow these steps:
git clone https://github.com/vallis/libstempo.git
cd libstempo
python setup.py install --user --with-tempo2=/home/boris.goncharov/tempo2_runtime/
[!!!] On OzStar whatever is installed with "pip install --user" is not available in Jupyter notebook, that is run with sbatch on localhost. This way libstempo will not be available in Jupyter.
Enterprise requires tempo2 and libstempo installed. It requires an MCMC sampler, i.e. PTMCMCSampler. I think installing this sampler crashed my enterprise because it installed other version of numpy. Uninstalling numpy, and making sure numpy 1.14.0 is installed, helped. Then follow these steps:
cd ~
pip install --user numpy
git clone https://github.com/nanograv/enterprise.git
cd enterprise
pip install -r requirements.txt
vim ~/enterprise/requirements.txt
pip install --user ***requirement_module_name***
python setup.py install --user
cd /home/boris.goncharov/tempo2_runtime
cp -r T2runtime share/tempo2
.Symmetries of spacetime infinitely far away from gravitational fields may hint at new laws of nature
Is the common-spectrum process observed with pulsar timing arrays a precursor to the detection?