Catalogue
The catalogue comprises YAML files containing pulsar flux density measurements for each paper the repository has included. You should not assume that this repository has all flux density measurements for a pulsar you are interested in. Instead, you should search through the literature to find all papers that contain flux density measurements of the pulsar and confirm all of those papers are in the catalogue. If you would like to add a new paper to the catalogue see the Adding to the catalogue section.
Using the catalogue
This section will explain how to use the catalogue. If you would like more information, you can see the module documentation in the catalogue module description.
You can use the following command to get all fluxes from the catalogue.
from pulsar_spectra.catalogues import collect_catalogue_fluxes
cat_dict = collect_catalogue_fluxes()
cat_dict will have the format
cat_dict = {"Pulsar Jname":[["List of frequencies in MHz"],
["List of flux densities in mJy"],
["List of flux density uncertainties in mJy"],
["The reference label (in the format 'Author_year')"]],
"Other pulsar":[["List of frequencies in MHz"],
["List of flux densities in mJy"],
["List of flux density uncertainties in mJy"],
["The reference label (in the format 'Author_year')"]],
}
For example, this is the data for PSR J1453-6413.
print(cat_dict['J1453-6413'])
[[950.0, 800.0, 1400, 8400, 728, 1382, 3100, 185.0, 200.0, 154.0, 200, 400, 150, 800],
[42.0, 89.0, 14.0, 1.5, 80.0, 18.0, 2.4, 1244.0, 684.0, 630.0, 684.0, 230.0, 630.0, 53.0],
[4.2, 26.7, 1.4, 0.75, 10.0, 1.0, 0.5, 20.0, 23.0, 200.0, 23.0, 115.0, 20.0, 3.0],
['van_Ommen_1997', 'van_Ommen_1997', 'Hobbs_2004', 'Johnston_2006', 'Jankowski_2018', 'Jankowski_2018', 'Jankowski_2018', 'Xue_2017', 'Xue_2017', 'Bell_2016', 'Murphy_2017', 'Taylor_1993', 'Bell_2016', 'Jankowski_2019']]
You can add your data like so before fitting the spectra
freqs, fluxs, flux_errs, refs = cat_dict[pulsar]
freqs += [150.]
fluxs += [1000.]
flux_errs += [100.]
refs += ["Your Work"]
You can exclude papers that you don’t trust the results or if you think they’re negatively affecting your fit. For example, I can create a cat_dict without Sieber et al. 1973 like so
cat_dict = collect_catalogue_fluxes(exclude=["Sieber_1973"])
Inversely if you only what the flux density measurements from a few papers, you can use the include argument. For example, you can create a cat_dict that only includes data from Murphy et al. 2017 and Xue et al. 2017 like so
cat_dict = collect_catalogue_fluxes(include=["Murphy_2017", "Xue_2017"])
Papers included in our catalogue
Paper |
# Pulsars |
Frequency range (MHz) |
Link |
|---|---|---|---|
ATNF pulsar catalogue |
2827 |
40-150000 |
|
Sieber (1973) |
27 |
38-10690 |
|
Bartel et al. (1978) |
18 |
14800-22700 |
|
Izvekova et al. (1981) |
86 |
39-102 |
|
Johnston et al. (1993) |
1 |
430-2360 |
|
Taylor et al. (1993) |
639 |
400-1400 |
|
Lorimer et al. (1995) |
280 |
408-1606 |
|
van Ommen et al. (1997) |
82 |
800-960 |
|
Malofeev et al. (2000) |
212 |
102-102 |
|
Hobbs et al. (2004) |
275 |
400-1400 |
|
Karastergiou et al. (2005) |
48 |
1400-3100 |
|
Johnston et al. (2006) |
31 |
8400-8400 |
|
Kijak et al. (2007) |
11 |
325-1060 |
|
Bates et al. (2011) |
34 |
1400-6500 |
|
Keith et al. (2011) |
9 |
17000-24000 |
|
Kijak et al. (2011) |
15 |
610-4850 |
|
Zakharenko et al. (2013) |
40 |
20-25 |
|
Dai et al. (2015) |
24 |
730-3100 |
|
Stovall et al. (2015) |
36 |
35-79 |
|
Basu et al. (2016) |
1 |
325-1280 |
|
Bell et al. (2016) |
17 |
154-154 |
|
Bilous et al. (2016) |
158 |
149-149 |
|
Han et al. (2016) |
204 |
1274-1466 |
|
Kijak et al. (2017) |
12 |
325-610 |
|
Mignani et al. (2017) |
1 |
97500-343500 |
|
Murphy et al. (2017) |
60 |
76-227 |
|
Xue et al. (2017) |
50 |
185-185 |
|
Jankowski et al. (2018) |
441 |
728-3100 |
|
Johnston et al. (2018) |
586 |
1400-1400 |
|
Jankowski et al. (2019) |
205 |
843-843 |
|
Sanidas et al. (2019) |
290 |
135-135 |
|
Zhao et al. (2019) |
71 |
4820-5124 |
|
Bilous et al. (2020) |
43 |
53-63 |
|
Bondonneau et al. (2020) |
64 |
53-65 |
|
Johnston et al. (2021) |
44 |
1400-1400 |
Adding to the catalogue
If you would like to add a new paper to the catalogue, you should first format the data into CSV with the following format:
Pulsar Jname,Frequency (MHz),Flux Density (mJy),Flux Density Uncertainty (mJy)
J0030+0451,150,37.6,4.4
J0030+0451,180,32.4,3.2
J0034-0534,150,202.8,7.9
J0034-0721,150,367.9,10.5
Then move to the scripts subdirectory of the repository and run the command:
python csv_to_yaml.py --csv your_paper.csv --ref author_year
This will put a YAML file of the paper in pulsar_spectra/catalogue_papers/. You should then reinstall the software (python setup.py install) then run a spectral fit to confirm it worked.
So others can use this paper’s data, you should
Make a fork of the pulsar_spectra repository
Clone your fork
Add the new paper YAML file and make a commit
Git push to your fork and then make a pull request on GitHub
Wait for your pull request to be approved and merged
Pat yourself on the back for contributing to open-source software!
Catalogue format
The catalogue is made up of YAML files of each paper. The format of the YAML files is:
{
"Pulsar Jname": {
"Frequency MHz": ["List of frequencies in MHz"],
"Flux Density mJy": ["List of flux densities in mJy"],
"Flux Density error mJy": ["List of flux density uncertainties in mJy"]
}
}
For example:
{
"J0030+0451": {
"Frequency MHz": [150.0, 180.0],
"Flux Density mJy": [ 37.6, 32.4],
"Flux Density error mJy": [ 4.4, 3.2]
},
"J0034-0534": {
"Frequency MHz": [150.0],
"Flux Density mJy": [202.8],
"Flux Density error mJy": [7.9]
},
}