Hi guys,
I'm a bit desperate with some fits file manipulation, thought I might ask here as I found a similar discussion ... however, without the answer to my question.
So when I check the FITS file I generate using this tool (https://fits.gsfc.nasa.gov/fits_verify.html), I get one error :
'*** Error: checking data fill: tried to move past end of file'
I get this error only on the 5th of five binary table extensions, and when I read the data using my home-made function I do not get any error and do not see any corrupted data.
I write the data like this :
fxbcreate, unit, fitsfile, hk_hdr
fxbwritm, unit, [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], $
double(hk(0,*)), $
ulong( hk(1,*)), $
ulong( hk(2,*)), $
ulong( hk(3,*)), $
ulong( hk(4,*)), $
ulong( hk(5,*)), $
ulong( hk(6,*)), $
ulong( hk(7,*)), $
ulong( hk(8,*)), $
ulong( hk(9,*)), $
ulong( hk(10,*)), $
ulong( hk(11,*)), $
ulong( hk(12,*)), $
ulong( hk(13,*)), $
ulong( hk(14,*)), $
ulong( hk(15,*)), $
ulong( hk(16,*)), $
ulong( hk(17,*)), $
ulong( hk(18,*)), $
ulong( hk(19,*)), $
ulong( hk(20,*)), $
ulong( hk(21,*)), $
ulong( hk(22,*)), $
ulong( hk(23,*)), $
ulong( hk(24,*)), $
ulong( hk(25,*)), $
ulong( hk(26,*)), $
ulong( hk(27,*)), $
ulong( hk(28,*)), $
ulong( hk(29,*)), $
fxbfinish, unit
Using the following header :
1 | XTENSION= 'BINTABLE' /Written by IDL: Wed Jun 14 15:44:52 2017
2 | BITPIX = 8 /
3 | NAXIS = 2 /Binary table
4 | NAXIS1 = 124 /Number of bytes per row
5 | NAXIS2 = 490 /Number of rows
6 | PCOUNT = 0 /Random parameter count
7 | GCOUNT = 1 /Group count
8 | TFIELDS = 30 /Number of columns
9 | CONTENT = 'HOUSEKEEPING' / Content of this HDU
.
.
.
45 | TFORM1 = '1D ' /Real*8 (double precision)
46 | TTYPE1 = 'Timestamp_Offset' / Seconds since J2000.0
47 | TFORM2 = '1J ' /Unsigned Integer*4 (long integer)
48 | TTYPE2 = 'OnChipRef' /
49 | TSCAL2 = 1 /Scale parameter for column 2
50 | TZERO2 = 2147483648.00 /Zero offset for column 2
51 | TFORM3 = '1J ' /Unsigned Integer*4 (long integer)
52 | TTYPE3 = 'RefTemp ' /
53 | TSCAL3 = 1 /Scale parameter for column 3
54 | TZERO3 = 2147483648.00 /Zero offset for column 3
55 | TFORM4 = '1J ' /Unsigned Integer*4 (long integer)
56 | TTYPE4 = 'VRef2V5 ' /
57 | TSCAL4 = 1 /Scale parameter for column 4
58 | TZERO4 = 2147483648.00 /Zero offset for column 4
59 | TFORM5 = '1J ' /Unsigned Integer*4 (long integer)
60 | TTYPE5 = 'AD7710Temp' /
61 | TSCAL5 = 1 /Scale parameter for column 5
62 | TZERO5 = 2147483648.00 /Zero offset for column 5
63 | TFORM6 = '1J ' /Unsigned Integer*4 (long integer)
64 | TTYPE6 = 'FrameTemp' /
65 | TSCAL6 = 1 /Scale parameter for column 6
66 | TZERO6 = 2147483648.00 /Zero offset for column 6
67 | TFORM7 = '1J ' /Unsigned Integer*4 (long integer)
68 | TTYPE7 = 'PwmRef ' /
69 | TSCAL7 = 1 /Scale parameter for column 7
70 | TZERO7 = 2147483648.00 /Zero offset for column 7
71 | TFORM8 = '1J ' /Unsigned Integer*4 (long integer)
72 | TTYPE8 = 'VRef5V ' /
73 | TSCAL8 = 1 /Scale parameter for column 8
74 | TZERO8 = 2147483648.00 /Zero offset for column 8
75 | TFORM9 = '1J ' /Unsigned Integer*4 (long integer)
76 | TTYPE9 = 'AnalogGround' /
77 | TSCAL9 = 1 /Scale parameter for column 9
78 | TZERO9 = 2147483648.00 /Zero offset for column 9
79 | TFORM10 = '1J ' /Unsigned Integer*4 (long integer)
80 | TTYPE10 = 'FShieldTemp' /
81 | TSCAL10 = 1 /Scale parameter for column 10
82 | TZERO10 = 2147483648.00 /Zero offset for column 10
83 | TFORM11 = '1J ' /Unsigned Integer*4 (long integer)
84 | TTYPE11 = 'CShieldTemp' /
85 | TSCAL11 = 1 /Scale parameter for column 11
86 | TZERO11 = 2147483648.00 /Zero offset for column 11
87 | TFORM12 = '1J ' /Unsigned Integer*4 (long integer)
88 | TTYPE12 = 'HeatSinkTemp' /
89 | TSCAL12 = 1 /Scale parameter for column 12
90 | TZERO12 = 2147483648.00 /Zero offset for column 12
91 | TFORM13 = '1J ' /Unsigned Integer*4 (long integer)
92 | TTYPE13 = 'MotorTemp' /
93 | TSCAL13 = 1 /Scale parameter for column 13
94 | TZERO13 = 2147483648.00 /Zero offset for column 13
95 | TFORM14 = '1J ' /Unsigned Integer*4 (long integer)
96 | TTYPE14 = 'TB1 ' /
97 | TSCAL14 = 1 /Scale parameter for column 14
98 | TZERO14 = 2147483648.00 /Zero offset for column 14
99 | TFORM15 = '1J ' /Unsigned Integer*4 (long integer)
100 | TTYPE15 = 'CavityPCBTemp' /
101 | TSCAL15 = 1 /Scale parameter for column 15
102 | TZERO15 = 2147483648.00 /Zero offset for column 15
103 | TFORM16 = '1J ' /Unsigned Integer*4 (long integer)
104 | TTYPE16 = 'MotorPCBTemp' /
105 | TSCAL16 = 1 /Scale parameter for column 16
106 | TZERO16 = 2147483648.00 /Zero offset for column 16
107 | TFORM17 = '1J ' /Unsigned Integer*4 (long integer)
108 | TTYPE17 = 'QSensorA' /
109 | TSCAL17 = 1 /Scale parameter for column 17
110 | TZERO17 = 2147483648.00 /Zero offset for column 17
111 | TFORM18 = '1J ' /Unsigned Integer*4 (long integer)
112 | TTYPE18 = 'QSensorB' /
113 | TSCAL18 = 1 /Scale parameter for column 18
114 | TZERO18 = 2147483648.00 /Zero offset for column 18
115 | TFORM19 = '1J ' /Unsigned Integer*4 (long integer)
116 | TTYPE19 = 'QSensorC' /
117 | TSCAL19 = 1 /Scale parameter for column 19
118 | TZERO19 = 2147483648.00 /Zero offset for column 19
119 | TFORM20 = '1J ' /Unsigned Integer*4 (long integer)
120 | TTYPE20 = 'QSensorD' /
121 | TSCAL20 = 1 /Scale parameter for column 20
122 | TZERO20 = 2147483648.00 /Zero offset for column 20
123 | TFORM21 = '1J ' /Unsigned Integer*4 (long integer)
124 | TTYPE21 = 'Current5VPos' /
125 | TSCAL21 = 1 /Scale parameter for column 21
126 | TZERO21 = 2147483648.00 /Zero offset for column 21
127 | TFORM22 = '1J ' /Unsigned Integer*4 (long integer)
128 | TTYPE22 = 'Current12VPos' /
129 | TSCAL22 = 1 /Scale parameter for column 22
130 | TZERO22 = 2147483648.00 /Zero offset for column 22
131 | TFORM23 = '1J ' /Unsigned Integer*4 (long integer)
132 | TTYPE23 = 'Current12VNeg' /
133 | TSCAL23 = 1 /Scale parameter for column 23
134 | TZERO23 = 2147483648.00 /Zero offset for column 23
135 | TFORM24 = '1J ' /Unsigned Integer*4 (long integer)
136 | TTYPE24 = 'PrimCurrent' /
137 | TSCAL24 = 1 /Scale parameter for column 24
138 | TZERO24 = 2147483648.00 /Zero offset for column 24
139 | TFORM25 = '1J ' /Unsigned Integer*4 (long integer)
140 | TTYPE25 = 'TB2RefTemp' /
141 | TSCAL25 = 1 /Scale parameter for column 25
142 | TZERO25 = 2147483648.00 /Zero offset for column 25
143 | TFORM26 = '1J ' /Unsigned Integer*4 (long integer)
144 | TTYPE26 = 'Voltage5VPos' /
145 | TSCAL26 = 1 /Scale parameter for column 26
146 | TZERO26 = 2147483648.00 /Zero offset for column 26
147 | TFORM27 = '1J ' /Unsigned Integer*4 (long integer)
148 | TTYPE27 = 'Voltage12VPos' /
149 | TSCAL27 = 1 /Scale parameter for column 27
150 | TZERO27 = 2147483648.00 /Zero offset for column 27
151 | TFORM28 = '1J ' /Unsigned Integer*4 (long integer)
152 | TTYPE28 = 'Voltage12VNeg' /
153 | TSCAL28 = 1 /Scale parameter for column 28
154 | TZERO28 = 2147483648.00 /Zero offset for column 28
155 | TFORM29 = '1J ' /Unsigned Integer*4 (long integer)
156 | TTYPE29 = 'DCDCTemp' /
157 | TSCAL29 = 1 /Scale parameter for column 29
158 | TZERO29 = 2147483648.00 /Zero offset for column 29
159 | TFORM30 = '1J ' /Unsigned Integer*4 (long integer)
160 | TTYPE30 = 'TB2 ' /
161 | TSCAL30 = 1 /Scale parameter for column 30
162 | TZERO30 = 2147483648.00 /Zero offset for column 30
163 | END
163 header keywords
(30 columns x 490 rows)
Col# Name (Units) Format
1 Timestamp_Offset 1D
2 OnChipRef 1J
3 RefTemp 1J
4 VRef2V5 1J
5 AD7710Temp 1J
6 FrameTemp 1J
7 PwmRef 1J
8 VRef5V 1J
9 AnalogGround 1J
10 FShieldTemp 1J
11 CShieldTemp 1J
12 HeatSinkTemp 1J
13 MotorTemp 1J
14 TB1 1J
15 CavityPCBTemp 1J
16 MotorPCBTemp 1J
17 QSensorA 1J
18 QSensorB 1J
19 QSensorC 1J
20 QSensorD 1J
21 Current5VPos 1J
22 Current12VPos 1J
23 Current12VNeg 1J
24 PrimCurrent 1J
25 TB2RefTemp 1J
26 Voltage5VPos 1J
27 Voltage12VPos 1J
28 Voltage12VNeg 1J
29 DCDCTemp 1J
30 TB2 1J
++++++++++++++++++++++ Error Summary ++++++++++++++++++++++
HDU# Name (version) Type Warnings Errors
1 Primary Array 0 0
2 Binary Table 0 0
3 Binary Table 0 0
4 Binary Table 0 0
5 Binary Table 0 1
Thanks in advance ...
|