|

|
WAPP File Format
WAPP files have three sections that appear sequentially in this
order: an ASCII header description, the binary header, and finally the actual
binary data. The first section is a raw copy of the C-language include file
(wapp_header.h), terminated with a single null character. This is included for
reference only and does not include any information specific to the
observation. After the ASCII header comes the actual header values that
describe the observation.
. The WAPP realtime observation engine does not produce files
larger that 2 Gbytes. At one time this represented a fundamental limit to Linux
files. However, the reason behind this limit is to avoid difficult to manage
megafiles. As a consequence, most observations produce a sequence of data
files. Each file will have it's own header, even when the files are simply
continuations of a single observation. The only difference in header values in
this case will be the timeoff parameter, which
indicates the time offset from the start of the observation.
The most recent version of this structure is maintained in the
~wapp/include/wapp_header.h subdirectory. Although the include file is
available, it is recommended that the user extract the ASCII header from the
WAPP data files. This approach will avoid problems with header versions. To
view the header file embedded in each data file, type the following: more wapp.nnn[ret]
WAPP files are written by a i386 Linux machine and use the native
byte ordering of that machine: little endian. Thus in memory a 16 bit
integer will have it's most-signficant byte appear first. For example, decimal
integer 4600 (1234 hex) would appear in memory as follows:
The final portion of the WAPP data file is the actual correlation
values. It is written as raw unsigned integers value of 16 or 32 bits (see
lagformat). It is written such that lag 0
appears first, then lag 1, etc. If there are multiple IFs, they appear as A,
then B, then ?x?(AxB or BxA) and finally ?x?.
WAPP Header Parameter Description
The following table describes the various parameters in the WAPP
Header file. The details of this header may evolve, so it is always useful
| Variable |
Type |
Bytes |
Description |
| header_version |
long int |
4 |
Header revision, presently 1 |
| header_size |
long int |
4 |
Number of bytes in header (binary portion only)
(nom.=2048) |
| src_ra |
double |
8 |
Requested RA J2000 (10000*hr+100*min+sec) |
| src_dec |
double |
8 |
requested dec J2000 (10000*deg+100*min+sec)
|
| start_az |
double |
8 |
telescope azimuth at start of scan (deg) |
| start_za |
double |
8 |
telescope zenith angle at start of scan
(deg) |
| |
double |
8 |
AST at start of scan (sec) |
| |
double |
8 |
local siderial time at start of scan (sec) |
| |
|
|
|
| cent_freq |
double |
8 |
Center Frequency of Observation (on Sky) in MHz,
example 1500.0 |
| obs_time |
double |
8 |
User requested period of observation on this
source in seconds. |
| samp_time |
double |
8 |
user-requested sample time (us) |
| wapp_time |
double |
8 |
actual sample time (us) i.e. requested+dead
time |
| bandwidth |
double |
8 |
total bandwidth (MHz) for this observation (50
or 100) |
| |
|
|
|
| num_lags |
long int |
4 |
User-requested number of lags per dump per
spectrum |
| scan_number |
long int |
4 |
An integer built by WAPP from
year+daynumber+3-digit-number |
| src_name |
string |
12 |
Source Name (usually Pulsar name) example:
B2110+27 |
| obs_date |
char |
12 |
built by WAPP from yyyymmdd |
| start_time |
char |
8 |
UT seconds after midnight (start on 1-sec
tick) |
| |
|
|
|
| project_id |
string |
8 |
user-supplied AO proposal Number (XYYYY) |
| observers |
string |
24 |
user-supplied observer(s) name |
| nifs |
int |
4 |
Number of IFs to be recorded (1,2 or 4 for full
stokes) |
| level |
int |
4 |
Sample Quantization 3 level (level=1) or 9 level
(level=2) |
| sum |
int |
4 |
Is the correlation a summation of two IFs, 1 =
Yes, 0 = No. |
| freqinversion |
int |
4 |
Is the band inverted (due to a high-side
conversion) 1=Yes |
| timeoff |
long long int |
8 |
Time offset from the start of the observation,
important for muliple file processing and SNAP processing. Integer value which
indicates the number of records (multiply by wapp_time to give elapse time) |
| lagformat |
int |
4 |
0=16 bit unsigned integers, 1=32 bit unsigned
integers |
| lagtrunc |
int |
4 |
(future) if we truncate data -> bits truncated
(0 no trunc) |
| power_analog[2] |
double |
16 |
(future) This pair of values that will hold the
total power meauserd by a diode detector. The two values are for each IF. |
| |
|
|
|
| psr_dm |
double |
8 |
pulsar's dispersion measure (cm-3 pc) |
| rphase[9] |
double |
72 |
reference phase of pulse (0-1) |
| psr_f0[9] |
double |
72 |
pulse frequency at reference epoch (Hz) |
| poly_tmid[9] |
double |
72 |
mid point of polyco in (MJD) modified Julian
date |
| coeff[144] |
double |
1152 |
polynomial coefficients calculated by TEMPO
effectively [9][16] |
| num_coeffs[9] |
int |
36 |
number of coefficients |
| filler |
char |
420 |
Extra space to make header = 2048 bytes |
| |
|
===== |
|
| |
|
2048 |
Total size of header (bytes) |
|