Getting started¶
The package uses 5 different galactic model softwares:
GSM2016, GSM2008, LFSS, Haslam
The GMOSS maps are tabulated because the code is in C++, ULSA takes very long to generate one map, so I pre-generate and tabulate them. The SSM and pyGDSM are fast and in Python, so tabulating these maps is unnecessary.
The LFmap is in C++, but I wrote a wrapper/interface to import the model as a Python package.
Thus, you need to install pygdsm (pip install pygdsm); the SSM and ULSA can be installed by cloning them and using the setup.py. The pylfmap is now available at pip: pip install pylfmap
.
The ULSA maps with frequency dependent index and GMOSS maps are tabulated up to 400 MHz in 1 MHz steps.
GMOSS, Haslam, and GSM2008 are without CMB. To fix this issue, a value of 2.7255 is added to GMOSS upon reading the tabulated values. The Haslam and GSM2008 are fixed for the CMB using a decorator around their pygdsm
classes. So, do not import them manually from pygdsm
; their fixed versions are imported by
from radiocalibrationtoolkit import *
All the example’s data files are pre-generated, so each example should work out of the box. Also, all of these data files can be reproduced by running the scripts.
Install¶
run this in terminal:
python -m pip install git+https://github.com/F-Tomas/radiocalibrationtoolkit.git
Documentation and tutorial¶
Documentation and tutorial for version v0.1.0-alpha
is available HERE
To compile the documentation manually, go to docs
and execute:
sphinx-build -b html . ./html
Examples using measured data¶
The branch measured-data-examples
contains some examples where measured data were used. The measured datasets can be provided only for members of the Pierre Auger Collaboration.
Some tips on installing the ULSA¶
Installing the ULSA package was not quite straightforward for me. Hence I share briefly some of my experience from the installation.
First:
download and install: l_fortran-compiler_p_XXXX.X.X.XXXXX_offline.sh from here. I worked with this version: l_fortran-compiler_p_2023.0.0.25394_offline.sh. Once installed,
source setvars.sh
from theoneapi
directory,clone caput and switch to branch
origin/zuo/develop
and after fixing it to work withPython 3
install it,to make ULSA work with
Python 3
, it is good to install 2to3 convertor and run it on all.py
files in ULSA and caput. Some changes you will need to do manually, for example, exchangenp.int
for justint
and fix slicing of arrays in filempiutil.py
from[start:stop]
to[int(start):int(stop)]
,install all other required dependencies.
To create the libNE2001.so
file, once unpacked NE2001_4python.zip go to src.NE2001 directory and in all .f
files, replace the relative path with the absolute path to the required files.
E.g. in file nevoidN.f
, change
open(luvoid, file='nevoidN.NE2001.dat', status='old')
to
open(luvoid, file='/vol/astro6/auger-radiodigitizer/'
&//'skymaps/ULSA/ULSA/NE2001/NE2001_4python/'
&//'NE2001_4python/bin_NE2001/nevoidN.NE2001.dat',
&status='old')
and so on. The &//
is the Fortran way of splitting the path into multiple lines. Once fixed, you can run make so
to generate the libNE2001.so
file. Then find all references to this file in ULSA .py
files and rewrite them to your path.
Install ULSA, and it should work now.