forked from bartholomew91/nexrad-radar-data
-
Notifications
You must be signed in to change notification settings - Fork 4
/
error notes.txt
33 lines (31 loc) · 1.35 KB
/
error notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
message type 31 is truncated at 2330970 in the middle of a dzdr block
after parsing a message type the next expected data should be verified first before commiting the data from the previous block
if theres an error discard the previous block and go back to the last known good position to search for:
message_size: raf.readShort(),
channel: raf.readByte(),
message_type: raf.readByte(),
id_sequence: raf.readShort(), // should be known - jumps by 6 in this case
message_julian_date: raf.readShort(), // likely known or +1
message_mseconds: raf.readInt(),
segment_count: raf.readShort(), // 0x01
segment_number: raf.readShort(), // 0x01
id: raf.readString(4),
mseconds: raf.readInt(),
julian_date: raf.readShort(), // likely known or +1
radial_number: raf.readShort(), // jumps by 6
azimuth: raf.readFloat(), // = 265-268 // jumps by 6 at 0.5 degree interval
compress_idx: raf.readByte(),
sp: raf.readByte(),
radial_length: raf.readShort(),
ars: raf.readByte(),
rs: raf.readByte(),
elevation_number: raf.readByte(),
cut: raf.readByte(),
elevation_angle: raf.readFloat(),
rsbs: raf.readByte(),
aim: raf.readByte(),
dcount: raf.readShort(),
best option appears to be searching for:
julian date (2 bytes), known value, or known value plus 1
message mseconds (4 bytes), don't care
segment count and number = 0x0001 0x0001