Closed ZaynAmell closed 3 years ago
I guess it is possible to specify the value you want turbo_seti to use for n_coarse_chan
(as errmsg2
from line 281 shows). You just need to figure out:
A) how to do actually specify n_coarse_chan
to turbo set
and
B) what value to actually use for the files you are working with
Waterfall.info():
--- File Info ---
machine_id : 20
telescope_id : -1
src_raj : 19:41:17.65
src_dej : -57:40:05.2
az_start : 0.0
za_start : 0.0
data_type : 1
fch1 : 1511.375 MHz
foff : 0.208984375 MHz
nchans : 3712
nbeams : 1
ibeam : -1
nbits : 32
tstart (ISOT) : 2020-10-21T15:09:17.000
tstart (MJD) : 59143.63144675926
tsamp : 0.00489988785046729
nifs : 1
source_name : J1939-6342_offset
rawdatafile : guppi_59143_54557_000456_J1939-6342_offset_0001.0000.raw
Num ints in file : 2032
File shape : (2032, 1, 3712)
--- Selection Info ---
Data selection shape : (2032, 1, 3712)
Minimum freq (MHz) : 1511.375
Maximum freq (MHz) : 2286.916015625
I believe that a telescope ID = -1 is invalid. What is the correct value for the Meerkat telescope ID?
Currently, function blimpy:io:base_reader:calc_n_coarse_chan() is quite limited and out of date. I have highlighted this 2 times in the past as needing a review by a radio astronomer.
Agree with @david-macmahon - just supply a coarse channel number on input to FindDoppler(n_coarse_chan=N, .....) to bypass this.
Unfortunately the concept of 'coarse channels' is not supported by the filterbank file format. And the file format was set in stone several decades before MeerKAT existed -- when an integer ID for a telescope, with no official database of ID <--> telescope existed -- seemed like a good idea to save space...
I am sure someone doing pulsars with MeerKAT has assigned a numerical ID for filterbank files. We should try and match. I'll delegate this fact-finding mission to @danielczech or @david-macmahon, with a todo:
I agree @texadactyl that the heuristics are rubbish in calc_coarse_chan. I can think of two passable options: 1) Default to 1 coarse channel and print a warning 2) Default to as close to ~1M fine channels per coarse coarse channel, calculate, tell the user and raise a warning that it's pretty much arbitary.
Note:
Closing this one and opening an issue in turbo_seti.
@telegraphic Agreed to "Default to 1 coarse channel and print a warning". Updating blimpy io/base_reader.py.
when running FindDoppler() function with MeerKAT filterbank files, the following function raises error:
https://github.com/UCBerkeleySETI/blimpy/blob/27cf97601bbe744c9efb3da24e1bfeb874b3295a/blimpy/io/base_reader.py#L232
Modification needs to be made