aboutsummaryrefslogtreecommitdiff
path: root/doc/pipeline_status.html
blob: be15d28a10be38832387b29b7bb26090967d5220 (plain) (blame)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.6 [en] (X11; U; SunOS 5.7 sun4u) [Netscape]">
   <meta name="CREATED" content="20000121;18144100">
   <meta name="CHANGED" content="20000124;16081300">
   <title>CALFUSE Pipeline Status</title>
</head>
<body bgcolor="#FFFFFF">

<h1>
CalFUSE Pipeline Status</h1>
<b>Final pipeline version is 3.2.3, dated December 5, 2008.</b>

<p STYLE="margin-bottom: 0in">Latest updates:

<p>December 5, 2008
<br>Van Dixon
<BR>v3.2/src/libcf/cf_calculate_y_centroid.c
<BR>v3.2/src/libcf/cf_find_spectra.c
<BR>v3.2/src/libcf/cf_screen_jitter.c

<P>
In HIST mode, there are no spectra in other apertures to cause
confusion, so we need not require that the target centroid lie within X
pixels of either the airglow centroid or the tabulated centroid.  Both
cf_find_spectra.c and cf_calculate_y_centroid.c were modified to effect
this change.

<P>
Modified cf_screen_jitter.c so that the jitter correction is not
applied to ERO observations of Jupiter (program X006).

<P>
<hr WIDTH="100%">

<p>August 22, 2008
<br>Van Dixon

<P>
<BR>v3.2/include/calfuse.h
<BR>v3.2/src/fuv/cf_bad_pixels.c
<BR>v3.2/src/fuv/cf_screen_photons.c
<BR>v3.2/src/libcf/cf_apply_filters.c
<BR>v3.2/src/libcf/cf_fuv_init.c
<BR>v3.2/src/libcf/cf_screen_jitter.c
<BR>v3.2/src/libcf/cf_set_photon_flags.c
<BR>v3.2/src/analysis/cf_combine.c
<BR>v3.2/src/analysis/cf_xcorr.c
<BR>v3.2/src/analysis/idf_combine.c
<BR>v3.2/src/analysis/cf_make_all_obs.csh
<BR>v3.2/src/analysis/cf_make_900_obs.csh

<P>
I've modified CalFUSE to treat bright-earth and airglow observations
differently than before.  Here are the details:
<P>
When creating the IDF files for bright-earth observations (programs
M106 and S100) or 900-level airglow exposures, CalFUSE sets the header
keyword EXP_STAT = 2.  For 900-level exposures, the SRC_TYPE is set to
EE, and the following warning is written to the file header:
"Airglow exposure. Not an astrophysical target."
<P>
The pipeline then processes the file as usual.  In particular, the
limb-angle flag is set in the timeline table (extension 3 of the IDF),
and the "Time with low limb angle" is written to the file header.
However, if EXP_STAT = 2, the following things change:

<UL>
<LI>no jitter correction is performed;
<LI>when the time-dependent flags are copied from the timeline
        table to the individual photons, the limb-angle flag is masked
        out;
<LI>when the good-time intervals and exposure time are
        calculated, the limb-angle flag is ignored.
</UL>

<P>
The extracted spectra include photons obtained at low limb angles.  The
detector-image plots do, too.  But the count-rate plots indicate times
when the line of sight passes below the limb-angle limit.
<P>
For programs M106 and S100, all of the data are included in the
observation-level ALL, ANO, and NVO files.  For all other programs,
900-level airglow exposures are excluded from the sum.  A new
observation-level file is produced: a single quick-look (gif) plot
showing the summed spectrum from all of the 900-level exposures in the
observation.  It has a name like M112580100900specttagf.gif.

<P>
Update version number to v3.2.3.

<P>
<hr WIDTH="100%">

<p>April 11, 2008
<br>Van Dixon
<BR>v3.2/src/analysis/cf_xcorr.c
<BR>v3.2/src/analysis/cf_combine.c
<BR>v3.2/src/analysis/cf_make_all_obs.csh

<P>
We've changed the logic used to combine individual exposures into
observation-level files for data obtained in HIST mode.  If the target
is too faint to perform a cross-correlation, but is still in the slit
(i.e., its flux is within 50% of the reference spectrum), add the
spectra using a shift of zero.  If an exposure suffers a limb-angle or
SAA violation, include it anyway, assuming that HIST targets are
bright enough that the additional background flux is not a problem.

<P>
<hr WIDTH="100%">

<p>March 21, 2008
<br>Van Dixon
<BR>v3.2/src/libcf/cf_find_spectra.c

<P>
In HIST mode, there are no spectra in other apertures to cause
confusion, so we need not require that the target centroid lie
within 30 pixels of the expected value.

<P>
<hr WIDTH="100%">

<p>Feb 22, 2008
<br>Benjamin Ooghe
<BR>INSTALLING_CalFUSEv3.2.2
<BR>INSTALLING_A_FORTRAN_COMPILER
<BR>FIXING_SELINUX_ISSUES

<P>Updated installation information.

<P>
<BR>v3.2/bin/calfuse.sh
<BR>v3.2/bin/cfsetup.sh
<BR>v3.2/bin/cfsetup.csh

<P>Added scripts to set environment variables in Bourne-based shells
(sh and bash) for systems without CSH and automated the setting of the
shell path.

<P>
<BR>v3.2/src/configure.linux
<BR>v3.2/src/configure.linux64
<BR>v3.2/src/configure.macosx
<BR>v3.2/src/configure.solaris
<BR>v3.2/src/cfitsio/configure
<BR>v3.2/src/Makefile.Linux
<BR>v3.2/src/Makefile.Linux64
<BR>v3.2/src/Makefile.MacOSX
<BR>v3.2/src/analysis/Makefile.Linux
<BR>v3.2/src/analysis/Makefile.Linux64
<BR>v3.2/src/analysis/Makefile.MacOSX
<BR>v3.2/src/analysis/idf_combine.c
<BR>v3.2/src/analysis/cf_coadd.c
<BR>v3.2/src/analysis/cf_arith.c
<BR>v3.2/src/analysis/cf_combine.c
<BR>v3.2/src/analysis/cf_pack.c
<BR>v3.2/src/cal/jitter/Makefile.Linux
<BR>v3.2/src/cal/jitter/Makefile.Linux64
<BR>v3.2/src/cal/jitter/Makefile.MacOSX
<BR>v3.2/src/cal/jitter/cf_jitter.c
<BR>v3.2/src/cal/jitter/cf_jitter_diag.c
<BR>v3.2/src/fes/Makefile.Linux
<BR>v3.2/src/fes/Makefile.Linux64
<BR>v3.2/src/fuv/Makefile.Linux
<BR>v3.2/src/fuv/Makefile.Linux64
<BR>v3.2/src/fuv/Makefile.MacOSX
<BR>v3.2/src/fuv/cf_gainmap.c
<BR>v3.2/src/fuv/cf_countmap.c
<BR>v3.2/src/libcf/Makefile.Linux
<BR>v3.2/src/libcf/Makefile.Linux64
<BR>v3.2/src/libcf/Makefile.MacOSX
<BR>v3.2/src/libcf/cf_idf_io.c
<BR>v3.2/src/slalib/mk
<BR>v3.2/src/slalib/mk.sv
<BR>v3.2/src/slalib/sla_source.tar

<P>Updated configure files and Makefiles for all systems in order to
compile with more different fortran compilers (f77, f90, g77, gfortran)
and on recent systems (Solaris 10, recent Linux, Mac OS X 10.4)
including 64-bit architecture machines.  This required the modification
of source files to correct bad int/long declarations that cause
problems on 64-bit architectures, on Solaris 10 systems, and on some
fortran compilers.

<P>
<BR>v3.2/include/calfuse.h
<BR>v3.2/src/libcf/cf_fes_proc_update.c
<BR>v3.2/src/libcf/cf_fes_proc_check.c

<P>Fixed warning messages from GCC compiler (missing brackets and
unused symbols).

<P>
<BR>v3.2/src/analysis/cf_make_all_obs.csh

<P>Use airglow spectra when they are the only ones available.

<P>
<BR>v3.2/src/analysis/cf_nvo.c

<P>Fixed memory problem causing occasional bad values in the NVO flux arrays.
In copy_spec, the shift+start value was sometimes negative, causing the
routine to read negative indexes in the flux and error arrays.  Also,
the final values of the flux_nvo and error_nvo arrays weren't always
written.

<P>
<BR>v3.2/src/fuv/cf_bad_pixels.c

<P>In cf_generate_pseudo_photons, verify for each fill-data event that
the LOCATION_SHLD flag is not set to ensure that it does not
fall outside of the active area of the detector.

<P>
<BR>v3.2/src/libcf/cf_thermal_distort.c

<P>In cf_estimate_drift_coefficients, set max value of index to jmax-1
rather than jmax.


<P>
<hr WIDTH="100%">

<p>February 22, 2008
<br>Van Dixon
<BR>v3.2/src/fuv/cf_convert_to_farf.c
<BR>v3.2/src/fuv/cf_flux_calibrate.c
<BR>v3.2/src/fuv/cf_ttag_init.c
<BR>v3.2/src/libcf/cf_modify_hist_pha.c
<BR>v3.2/src/libcf/cf_screen_jitter.c
<BR>v3.2/src/libcf/cf_set_good_time_intervals.c

<P>
Modified cf_convert_to_farf to write out the new PHA values assigned
by cf_modify_hist_pha.

<P>
Cleaned up i/o in cf_flux_calibrate.

<P>
Added -e flag to cf_ttag_init.  It sets the header keyword HKEXISTS
to YES in the output IDF file.

<P>
In cf_modify_hist_pha, fixed bug in loop through MJD array.

<P>
In cf_screen_jitter, don't apply jitter correction to observations
taken after the spacecraft lost pointing control.

<P>
Changed malloc to cf_malloc in cf_set_good_time_intervals.

<P>
Update version number to v3.2.2.

<P>
<hr WIDTH="100%">

<br>
<p>May 18, 2007
<br>Van Dixon
<BR>v3.2/src/libcf/cf_init_support.c

<P>
If HV array in HSKP file consists of a single 0 followed by all -1's,
use header info to populate timeline table.  Change name of subroutine
fill_hv_array to hv_from_hskp and add hv_from_header.

<P>
Update version number to v3.2.1.

<P>
<hr WIDTH="100%">

<p>April 7, 2007
<br>Van Dixon
<BR>v3.2/src/fuv/cf_bad_pixels.c

<P>
Within cf_bad_pixels, we scale nmax, the program's guess at the number
of bad pixels it will have to deal with, by 1.5 to help prevent array
overflows.  To make warning messages more meaningful, we call
cf_error_init after each call to cf_extraction_limits and make
CF_PRGM_ID and CF_VER_NUM static variables.

<P>
This is the release version of CalFUSE v3.2.0.

<P>
<hr WIDTH="100%">

<p>March 29, 2007
<br>Van Dixon
<BR>v3.2/src/libcf/cf_init_support.c
<BR>v3.2/src/cal/jitter/cf_jitter.c

<P>
On error, cf_check_digitizer now sets EXP_STAT flag to -2, rather than
-999, to be more consistent with cf_hist_init.

<P>
We modified cf_jitter to handle the time period (in March 2007) when
the ACS telemetry rate was cut in half and generally made the code 
more robust.

<P>
<hr WIDTH="100%">

<br>
<p>March 23, 2007
<br>Van Dixon
<BR>v3.2/src/fuv/cf_hist_init.c
<BR>v3.2/src/libcf/cf_init_support.c
<BR>v3.2/src/libcf/cf_screen_jitter.c
<BR>v3.2/src/libcf/cf_satellite_jitter.c

<P>
In cf_hist_init, set EXP_STAT to -1 if a raw hist file contains no
extensions.  Treat the limits of the active area as good pixels.

<P>
In cf_init_support, give a more detailed error message if the
housekeeping file is not usable.

<P>
In cf_screen_jitter and cf_satellite_jitter, calculate time_diff (the
offset between the jitter and IDF versions of EXPSTART) once, rather
than each time it's used.

<br>
<p>March 20, 2007
<br>Van Dixon
<BR>v3.2/src/fuv/cf_bad_pixels.c

<P>
In the subroutine cf_combine_pothole_data, if an entire dead spot falls
outside of the aperture, skip it and move on to the next one.

<P>
<hr WIDTH="100%">

<p>March 7, 2007
<br>Van Dixon
<BR>v3.2/src/libcf/cf_init_support.c
<BR>v3.2/src/libcf/cf_velang.c
<BR>v3.2/src/libcf/space_vel.c
<BR>v3.2/include/calfuse.h v1.81

<P>
The subroutine space_vel used a convoluted scheme to compute what
is essentially a dot product.  I simplified the code, deleted an
argument, and modified the subroutines that call it.

<P>
This is version 3.2.0 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>February 13, 2007
<br>Van Dixon
<BR>v3.2/src/fuv/cf_remove_motions.c

<BR>v3.2/src/libcf/cf_fifo_dead_time.c
<BR>v3.2/src/libcf/cf_init_support.c

<P>
When writing the LiF and SiC count rate arrays to the IDF file,
cf_remove_motions crashed if the array values were too large to be
stored as unsigned integers.  As such enormous values are always wrong,
they are now set to zero.

<P>
Sometimes, the header keyword TTPERIOD is erroneously set to 0.
If so, cf_init_support and cf_fifo_dead_time now set it to 1.0, 
the most likely value.

<P>
<hr WIDTH="100%">

<p>January 2, 2007
<br>Van Dixon
<BR>v3.2/src/fuv/cf_screen_photons.c
<BR>v3.2/src/fuv/cf_convert_to_farf.c
<BR>v3.2/src/fuv/cf_remove_motions.c

<BR>v3.2/src/libcf/cf_apply_dead_time.c
<BR>v3.2/src/libcf/cf_fifo_dead_time.c
<BR>v3.2/src/libcf/cf_target_count_rate.c
<BR>v3.2/src/libcf/pole_ang.c
<BR>v3.2/src/libcf/cf_velang.c
<BR>v3.2/src/libcf/cf_screen_high_voltage.c
<BR>v3.2/src/libcf/cf_satellite_jitter.c
<BR>v3.2/src/libcf/cf_grating_motion.c
<BR>v3.2/src/libcf/cf_time_xy_distort.c
<BR>v3.2/src/libcf/cf_init_support.c
<BR>v3.2/src/libcf/cf_set_photon_flags.c

<BR>v3.2/src/cal/jitter/cf_jitter.c

<BR>v3.2/src/analysis/cf_combine.c
<BR>v3.2/src/analysis/cf_nvo.c
<BR>v3.2/src/analysis/cf_pack.c
<BR>v3.2/src/analysis/idf_combine.c


<P>
To fix a bug in our correction for photon-event losses to FIFO
overflows, we modified the subroutine cf_screen_fifo_overflow, renamed
it cf_fifo_dead_time, and moved it from cf_screen_photons to
cf_convert_to_farf.  The subroutine cf_apply_dead_time issues a warning
if DET_DEAD > 1.5, rather than TOT_DEAD.  Because we no longer use
the HV status flag to denote FIFO overflows, mention of the FIFO flag
was removed from cf_set_photon_flags.  Within cf_convert_to_farf, we
now set the header keywords DET_DEAD, IDS_DEAD, and TOT_DEAD to unity
by default.

<P>
Within cf_remove_motions, we now treat the LiF and SiC count-rate
arrays as floats.  We pass the WEIGHT array to cf_target_count_rate,
so that it returns dead-time corrected count rates.  If these count
rates are too large to store as shorts, we use the TSCALE and TZERO
keywords to store them as unsigned shorts.  For HIST data, we scale
the default LiF and SiC rates (read from the housekeeping file) by
the value of DET_DEAD to account for detector dead-time losses.

<P>
The new subroutine pole_ang returns the angle between the orbit pole
and a given RA and DEC.  It is called by cf_velang, which populates
the POLEANGL keyword.

<P>
The subroutine cf_screen_high_voltage no longer sets the EXP_STAT keyword.

<P>
The subroutine cf_find_spectra has been modified: if the new argument
airglow_centroid is TRUE, then the program uses the airglow lines to
compute the centroid of the target spectrum.  To invoke this option,
call cf_remove_motions with the -a flag.

<P>
The program cf_jitter has been extensively modified.  Among other
changes, it can (if necessary) compute the commanded quaternion from
the target coordinates in the housekeeping file header.  Values of the
TRKFLG array now range from -1 to 5, with -1 meaning that tracking is
bad, 0 that no information is available, and 1 to 5 representing
increasingly reliable tracking estimates.  The subroutines
cf_satellite_jitter and cf_screen_jitter have been modified
accordingly.  In particular, the minimum value of TRKFLG that is to be
considered reliable and the X and Y aperture limits are read from the
pipeline parameter file.

<P>
Both the subroutine cf_grating_motion and the grating-motion
calibration file have been completely revised.  The new model depends
on the target's beta and pole angles.  An additional set of corrections
tracks long-term drifts in the spectra's X and Y positions.

<P>
A new subroutine, cf_time_xy_distort, corrects for long-term drifts
in the detector X and Y coordinate scales.  It is called by 
cf_convert_to_farf.

<P>
We fixed a bug in the way that cf_init_support constructs the AIC
count-rate array.

<P>
Lots of little changes in the analysis routines: When selecting which
detector segment to include in the composite spectrum, cf_nvo now
rejects segments with OBSTIME < 10 sec if the entire exposure is > 100
s.  The program idf_combine adds comment fields to the header keywords
WOFFS and WOFFL.  The program cf_combine now counts SPEC### and WAVE###
using the variable ngood, rather than nfiles.  Finally, we made small
changes to the way that cf_pack copies the SPEC keywords to the output
file header.


<P>
<hr WIDTH="100%">

<p>June 22, 2006
<br>Van Dixon
<BR>v3.2/src/fuv/cf_hist_init.c
<BR>v3.2/src/fuv/cf_extract_spectra.c
<BR>v3.2/src/fuv/cf_ttag_init.c
<BR>v3.2/src/libcf/cf_screen_jitter.c
<BR>v3.2/src/libcf/cf_screen_burst.c
<BR>v3.2/src/libcf/cf_optimal_extraction.c
<BR>v3.2/src/libcf/cf_fuv_init.c
<BR>v3.2/src/libcf/cf_error_msg.c

<P>
The pipeline no longer issues WARNING messages when a raw or
intermediate data file is empty, either because it contains no photons
or because the entire exposure has been flagged as bad; when the jitter
file is missing (though out-of-date jitter files inspire a WARNING);
when the detector voltage is low; and when the pipeline cannot perform
optimal extraction.  It issues level 1 verbose messages instead.

<P>
Now that OPUS has been updated, the variable morekeys has been set to
zero in both cf_hist_init and cf_ttag_init.

<P>
This is version 3.1.8 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<br>
<p>May 24, 2006
<br>Van Dixon
<BR>v3.2/src/fuv/cf_extract_spectra.c
<BR>v3.2/src/analysis/cf_combine.c
<BR>v3.2/src/analysis/cf_nvo.c
<BR>v3.2/src/analysis/cf_pack.c
<BR>v3.2/src/analysis/cf_xcorr.c
<BR>v3.2/src/analysis/idf_combine.c
<BR>v3.2/idl/cf_obsplot.pro

<P>
We modified cf_extract_spectra so that it will no longer discard (that
is, set to zero the flux and errors arrays of) spectra with non-zero
values of EXP_STAT.  Those spectra are now rejected by cf_combine,
instead.

<P>
The program cf_combine has been extensively revised:
it now runs through the input files with a single loop;
it supports the same command-line options as idf_combine; and 
it ignores spectra with EXP_STAT != 0 (unless the -a flag is set).

<P>
Both cf_nvo and cf_xcorr now use the Lyman beta line to align the
spectra of background observations.  They use the interstellar O VI and
C II lines to align white dwarf spectra.  For BKGD targets, cf_nvo
always selects the channel with the highest effective area, regardless
of its observed flux.  The mean flux, used when deciding which segment
to use, is now calculated using the same wavelength regions for each
channel.  For PC targets, the O VI lines are not included in the mean
flux calculation.

<P>
The program cf_pack now writes an index to the various file extensions
to the primary HDU of the output *000all* file.

<P>
Both cf_combine and idf_combine now write a number of header keywords
as longs, rather than floats.

<P>
Three changes to cf_obsplot.pro:  For BKGD targets, omit flux
comparison when selecting which detector segments to use.  Compute mean
flux using same wavelength intervals for each band.  For PC targets,
don't include O VI in the calculation of the mean flux.

<P>
<hr WIDTH="100%">

<br>Van Dixon
<BR>v3.2/src/fuv/cf_assign_wavelength.c
<BR>v3.2/src/fuv/cf_bad_pixels.c
<BR>v3.2/src/libcf/cf_astigmatism.c
<BR>v3.2/src/libcf/cf_dispersion.c
<BR>v3.2/src/libcf/cf_apply_dead_time.c
<BR>v3.2/src/libcf/cf_extraction_limits.c
<BR>v3.2/src/libcf/cf_init_support.c
<BR>v3.2/src/libcf/cf_screen_burst.c
<BR>v3.2/src/libcf/cf_screen_fifo_overflow.c
<BR>v3.2/src/libcf/cf_screen_jitter.c
<BR>v3.2/src/libcf/cf_set_photon_flags.c
<BR>v3.2/src/analysis/cf_make_all_obs.csh
<BR>v3.2/src/analysis/cf_nvo.c
<BR>v3.2/src/analysis/cf_pack.c
<BR>v3.2/src/analysis/cf_xcorr.c

<P>
Divided cf_astigmatism_and_dispersion into two routines, incorporating
astig_check_input_image into the new program cf_astigmatism and
cf_x2lambda into cf_dispersion.  Modified cf_assign_wavelength and
cf_bad_pixels to call the new routines.  Because cf_astig_farf is not
used, it is no longer defined in calfuse.h or compiled by the
Makefile.

<P>
Cleaned up i/o in cf_apply_dead_time.

<P>
For targets observed in HIST mode, cf_extraction_limits.c now pads
apertures by SPECBINY pixels.

<P>
In cf_init_support, flag as bad all times after final OPUS GTI.

<P>
In cf_screen_burst, require that the number of windows in subroutine
median_filter be >= 1.
In cf_screen_fifo_overflow, changed length of data_rate array from
nevents to nseconds.
In cf_screen_jitter, screening is now applied to targets observed with
APERTURE = RFPT.
In cf_set_photon_flags, modify header keyword EXP_STAT only if was initially 0.

<P>
In the analysis directory, modified cf_make_all_obs.csh to be smarter
when deciding whether to cross-correlate spectra or combine IDF files.
Also modified logic for discarding 000 files.  In cf_nvo, ignore
segments with OBS_TIME = 0 and allow use of SiC data for 1000-1100 A
region.  (Sometimes the LiF channels are not used.)  In cf_pack, if a
segment is missing, write an empty image extension to the combined data
file.  In cf_xcorr, scale each spectrum to the mean flux of the
reference spectrum.

<P>
This is version 3.1.8 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>February 3, 2006
<br>Van Dixon
<BR>v3.2/src/fuv/cf_compute_y_centroid.c
<BR>v3.2/src/fuv/cf_find_spectra.c
<BR>v3.2/src/libcf/cf_scale_bkgd.c
<BR>v3.2/src/fuv/cf_extract_spectra.c

<P>
We tightened the limits over which cf_find_spectra computes the
spectral centroid to prevent a bright star in a nearby aperture or the
enhanced background near the detector edge from pulling the extraction
window off center.  In both cf_compute_y_centroid and cf_find_spectra,
we returned the EMAX_LIF and EMAX_SIC keywords to their original
behavior: if the centroid differs from the default value by more than
this limit, the default value is used.

<P>
We fixed a bug introduced in the last modification of cf_scale_bkgd
that essentially turned off the background subtraction.

<P>
We added a command-line flag to cf_extract_spectra that forces the use
of optimal extraction, even for extended sources.

<P>
This is version 3.1.7 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>January 24, 2006
<br>Van Dixon
<BR>v3.2/src/fuv/cf_screen_photons.c
<BR>v3.2/src/libcf/cf_scale_bkgd.c

<P>
Because cf_screen_burst wants to exclude airglow photons from the
calculated background, we must identify them before calling the
routine.  To that end, I've made cf_screen_airglow the first of the
screening routines.

<P>
The model background consists of a spatially-uniform component and a
scattered-light image.  The scattered-light component was
over-estimated, because the data count totals were computed using a
larger region of the detector than the scattered-light model totals.
Now, we apply the same limits to both data and models.

<P>
The program returns a slice of the background that is supposed to match
that covered by the probability array.  Limit checks in the subroutine
get_limits prevented the background slice from falling off of the
detector.  Sometimes, you want to background slice to fall off of the
detector.  In such cases, the limit checks could introduce an unwanted
offset in the model background.  We've deleted the limit checks and use
other means to avoid bad index values.

<P>
This is version 3.1.6 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>January 3, 2006
<br>Van Dixon
<BR>v3.2/src/libcf/cf_grating_motion.c

<P>
Correct LiF 1 data for residual zero-point errors in the wavelength scale.

<P>
<hr WIDTH="100%">

<p>December 2, 2005
<br>Van Dixon
<BR>v3.2/src/libcf/cf_mirror_motion.c

<P>
cf_mirror_motion now exits without modifying the data if target is an
extended source.

<P>
<hr WIDTH="100%">

<p>December 2, 2005
<br>Van Dixon
<BR>v3.2/src/libcf/cf_astigmatism_and_dispersion.c
<BR>v3.2/src/libcf/cf_apply_dead_time.c
<BR>v3.2/src/libcf/cf_convert_to_ergs.c
<BR>v3.2/src/libcf/cf_count_rate_y_distort.c
<BR>v3.2/src/libcf/cf_doppler_and_heliocentric.c
<BR>v3.2/src/libcf/cf_extraction_limits.c
<BR>v3.2/src/libcf/cf_fpa_position.c
<BR>v3.2/src/libcf/cf_init_support.c
<BR>v3.2/src/libcf/cf_make_mask.c
<BR>v3.2/src/libcf/cf_optimal_extraction.c
<BR>v3.2/src/libcf/cf_satellite_jitter.c
<BR>v3.2/src/libcf/cf_screen_bad_pixels.c	(NEW)
<BR>v3.2/src/libcf/cf_screen_fifo_overflow.c
<BR>v3.2/src/libcf/cf_screen_jitter.c		(NEW)
<BR>v3.2/src/fuv/cf_bad_pixels.c
<BR>v3.2/src/fuv/cf_extract_spectra.c
<BR>v3.2/src/fuv/cf_remove_motions.c
<BR>v3.2/src/fuv/cf_screen_photons.c

<P>
To improve our bad-pixel correction, we've added a new routine,
cf_screen_bad_pixels, which flags photon events falling in known
pothole regions.  cf_make_mask now fills gaps in the bad-pixel mask
that open when it is converted from pixels to wavelengths.  In the
optimal-extraction algorithm, cf_optimal_extraction now scales the
variance estimate by the bad-pixel mask to better approximate the
observed counts.  The main pothole routine, cf_bad_pixels, now uses
cf_x2lambda() and cf_get_potholes(), rather than its own subroutines
that do the same job.  Also, it no longer adds random numbers to the
output pixel coordinates -- that's no longer necessary.  Finally,
cf_bad_pixels no longer trims potholes at the edges of the
extraction windows.  We modified cf_astigmatism_and_dispersion so that
it would not complain when events fall outside of the astig images.

<P>
We added a test to cf_apply_dead_time to catch bad dead-time values: If
there is no housekeeping file, AND the engineering snapshot times are
bad, AND the mean value of either dead-time array is > 1.5, set the
array to unity and issue a warning.

<P>
In cf_convert_to_ergs, we changed the effective-area arrays to type
double to match the AEFF_CAL files.

<P>
For histogram data, cf_count_rate_y_distort must use a single count
rate value for all of the data.  To better estimate it, we replace the
time-dependent FEC-rate array with its weighted mean value.

<P>
To improve our calculation of the Doppler correction, we changed the
variables velocity and doppler to doubles in cf_doppler_and_heliocentric.

<P>
Rather than using different HIST_PAD values for each aperture,
cf_extraction_limits now always pads the apertures by 8 pixels (top and
bottom) when in HIST mode.

<P>
We deleted unused variables in cf_fpa_position.

<P>
More efforts to catch corrupted keywords in cf_init_support:  When
the housekeeping file is missing and the engineering snapshot times are
corrupted, we use EXPSTART and EXPEND to estimate eng_time. If EXPEND is
corrupted, we use EXPTIME.

<P>
To improve the jitter-correction algorithm, we've removed the
data-screening functions from cf_satellite_jitter and moved them to a
new routine, cf_screen_jitter.  The modules cf_remove_motions and
cf_screen_photons have been modified accordingly.

<P>
We caught a bug in cf_screen_fifo_overflow:  It was using the
RATE_LIF and RATE_SIC arrays to estimate the raw count rate, but those
arrays are populated from the housekeeping file and do not reflect data
losses due to FIFO overflows.  Now we calculate the count rate across
the entire detector directly from the photon-event data.

<P>
We added a flag to cf_extract_spectra that allows the user to disable
optimal extraction from the command line.

<P>
This is version 3.1.5 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>September 19, 2005
<br>Van Dixon
<BR>v3.1/src/libcf/cf_read_fpa_pos.c	(RESTORED)

<P>
Had to restore cf_read_fpa_pos, as it's called by ttag_combine.

<P>
This is version 3.1.3 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>September 7, 2005
<br>Van Dixon
<BR>v3.1/src/analysis/cf_arith.c	(RENAMED)
<BR>v3.1/src/analysis/cf_coadd.c
<BR>v3.1/src/analysis/cf_combine.c
<BR>v3.1/src/analysis/cf_make_all_exp.c	(NEW)
<BR>v3.1/src/analysis/cf_nvo.c
<BR>v3.1/src/analysis/cf_pack.c
<BR>v3.1/src/analysis/cf_xcorr.c
<BR>v3.1/src/analysis/getshift.c
<BR>v3.1/src/analysis/modhead.c
<BR>v3.1/src/libcf/cf_init_support.c
<BR>v3.1/src/libcf/cf_fpa_position.c
<BR>v3.1/src/libcf/cf_read_fpa_pos.c	(DELETED)
<BR>v3.1/src/libcf/cf_screen_burst.c
<BR>v3.1/src/libcf/cf_write_extracted_spectrum.c

<P>
We are required to provide MAST an <b>all</b> file for each exposure and
one set of <b>all</b>, <b>ano</b>, and <b>nvo</b> files per observation.
These files are created by cf_coadd, which has been completely re-written.
It calls cf_make_all_exp for each exposure and cf_make_all_obs.csh once 
per observation.  The new program cf_make_all_exp copies the primary HDU
of the channel with the longest EXPTIME into an otherwise empty file.
cf_nvo now sets the keyword NEXTEND back to 1.
In cf_pack, the keyword COMB_COR is set to COMPLETE.

<P>
The name of cf_arith3 has been changed back to cf_arith.
If called with no arguments, cf_arith, cf_combine, cf_xcorr, and getshift
don't return an error, just a "usage" message.
If the input list given to cf_combine contains only file names (no shifts),
the program assumes that all shifts are zero.
The programs cf_xcorr and cf_combine have been modified
to use the same sign convention for spectral shifts as FUSE_REGISTER.
The program modhead now accepts multi-word strings as keyword values.

<P>
In cf_init_support, use LWRS background limits for RFPT observations.
In cf_fpa_position, correct for both X and Z displacement of FPA's.
Delete call to cf_read_fpa_pos.
In cf_screen_burst, ignore photons with arrival times greater than MAX_EXPTIME.
In cf_write_extracted_spectrum, delete FITS_write_date from cf_copy_hist_header.

<P>
<hr WIDTH="100%">

<p>July 12, 2005
<br>Van Dixon
<BR>v3.1/src/analysis/cf_combine.c
<BR>v3.1/src/analysis/cf_nvo.c
<BR>v3.1/src/analysis/cf_pack.c
<BR>v3.1/src/cal/jitter/cf_jitter.c
<BR>v3.1/src/libcf/cf_satellite_jitter.c

<P>
In cf_combine, we use fgets to read the input file and assume that pix_shift
is an integer.
In cf_nvo, we modify the cross-correlation routine to use LiF 2B as the
wavelength standard if header keyword FESCENT is set to FES B.
In cf_pack, we set the header keyword COMB_COR to COMPLETE.

<P>
cf_jitter writes a new keyword, JIT_VERS, to the header of each jitter
file.  If this keyword is missing or is less than 2,
cf_satellite_jitter now warns that the jitter file format is out
of date, which may result in the rejection of good data.

<P>
<hr WIDTH="100%">

<p>June 16, 2005
<br>Van Dixon
<BR>v3.1/src/libcf/cf_rebin_probability_array.c
<BR>v3.1/src/libcf/cf_scale_bkgd.c
<BR>v3.1/src/fuv/cf_extract_spectra.c
<BR>v3.1/include/calfuse.h v1.71

<P>
A bug in the spectral-extraction subroutines caused CalFUSE always to
use the smaller, point-source extraction window, even for extended
sources.  This could lead to an underestimate of the flux for extended
sources.  The pipeline now uses either the point-source or
extended-source aperture, as appropriate.

<P>
This is version 3.1.2 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>June 8, 2005
<br>Van Dixon
<BR>v3.1/src/analysis/cf_combine.c
<BR>v3.1/src/analysis/cf_make_all.csh
<BR>v3.1/src/analysis/cf_nvo.c
<BR>v3.1/src/analysis/cf_pack.c
<BR>v3.1/src/analysis/cf_xcorr.c
<BR>v3.1/src/analysis/extract_jitter.c
<BR>v3.1/src/analysis/idf_combine.c
<BR>v3.1/src/libcf/cf_calculate_y_centroid.c
<BR>v3.1/src/libcf/cf_find_spectra.c
<BR>v3.1/src/libcf/cf_idf_io.c
<BR>v3.1/src/libcf/cf_modify_hist_pha.c
<BR>v3.1/src/libcf/cf_rebin_probability_array.c

<BR>v3.1/include/calfuse.h v1.70

<P>
We modified cf_combine to support the generation of our new
observation-level spectral files.  It now writes the keywords NSPEC,
SPEC###, and WOFF### to the primary HDU of the output file.

<P>
Three C routines and a shell script generate a new set of
observation-level spectral files.  For targets that are bright enough,
we cross-correlate and combine the extracted spectra from each
exposure.  For fainter targets, we combine the IDF files from each
exposure and extract a single spectrum for the whole observation.  Then
we repeat this exercise for the night-only data.  Finally, we combine
observation-level spectra from the various channels into a single
spectral file for submission to the National Virtual Observatory.

<P>
cf_make_all is the shell script that calls these routines.
<br>
cf_xcorr determines the relative wavelength offset of each exposure.
<br>
cf_pack combines the observation-level spectra from each channel into
a single ALL or ANO (all data, night-only) file. 
<br>
cf_nvo selects data from the best channel for each waveband, shifts
it to a common wavelengh scale, and generates the NVO file. 

<P>
In extract_jitter, fixed a bug that set EXPSTART equal to EXPEND.

<P>
In idf_combine, comment out warning when FPA motion is detected. 
The pipeline corrects for this.

<P>
In cf_calculate_y_centroid, don't override user-specified centroid,
even if it is far from the expected value.  Fixed bug in tabulation of
the expected Y centroids.

<P>
In cf_find_spectra, use airglow centroid of LWRS aperture to constrain
airglow centroids of smaller apertures.   Use airglow centroid of
target aperture to constrain search for centroid of target spectrum.

<P>
In cf_idf_io, allow arrays of floats to be read as doubles.

<P>
In cf_modify_hist_pha, fixed bug in loop through MJD array.

<P>
In cf_rebin_probability_array, rounding errors left non-zero
probabilities in regions beyond the ends of the extraction windows.
Re-normalization raised these probabilities to unity.  Now, if total
probability in a column is less than 0.1, it is set to zero.

<P>
<hr WIDTH="100%">

<p>April 19, 2005
<br>Van Dixon

<BR>v3.0/include/calfuse.h v1.66, v1.67, v1.68, v1.69

<P>
Between August and December of 2004, pipeline modifications were
limited to bug fixes and a few new data-analysis routines.  Since
January of 2005, we made extensive modifications to the code, both to
correct errors and to add new capabilities.  All changes are documented
in the headers of the individual modules and subroutines.  Rather than
repeat that information, we list here only the principal changes to the
pipeline's capabilities.

<P>
In v3.0, data obtained during periods of uncertain pointing information
were often flagged as bad.  Now, the jitter files are generated using a
simpler, more robust algorithm to determine when pointing information
is reliable.  If it's not, the pipeline does nothing, rather than
flagging the data as bad.

<P>
In v3.0, data obtained when the detector voltage was less than 95% of
the expected value were flagged as bad.  Now, for detectors 1A, 1B, and
2B, the level is 85%.  For detector 2A, data with HV > 90% of full is
processed without comment, data with HV > 80% of full generates a
warning message, and data with HV < 80% of full is flagged as bad.
(These limits are stored in the VOLT_CAL file.)  For detector 2A data
in the 80-90% range, the user should examine the pulse-hight
distribution of photon events in the target aperture to ensure that the
peak of the distribution is well separated from the background.

<P>
In v3.0, the geometric-distortion correction moved small segments of the
HIST spectra out of their extraction windows.  The solution was to
increase the size of the HIST extraction windows in Y.  A new keyword,
HIST_PAD, which depends on both the detector and the aperture, is read
from the header of the corresponding extension of the CHID_CAL file.
While making this change, we found and corrected a bug in the
calculation of the spectral Y centroid that affected both TTAG and
HIST data.

<P>
In v3.0, the HIST and TTAG wavelength scales did not agree.  This was a
result of the walk correction, which was applied to TTAG but not HIST
data.  Since the walk correction is never zero, HIST data were never
fully converted to the FARF.  We now assign a pulse height (the mean
for a particular date and aperture) to each HIST photon and apply the
walk correction to all data.

<P>
When scaling the model background image to match the data, the
subroutine cf_scale_bkgd (formerly cf_ttag_bkgd) did not properly
account for regions of the detector excluded because of airglow
contamination.  As a result, it underestimated the total background.
The program has been extensively revised.

<P>
The final extracted spectral (*fcal.fit) files now have the standard
FITS binary table format that was employed in old (v2.4.3 and earlier)
versions of the pipeline.

<P>
Errors in the calculation of TIME_SUNRISE and TIME_SUNSET have been
corrected.  As these values are never greater than 6000 s, they are
now stored (and treated) as SHORTs.

<P>
If the pipeline cannot compute the centroids of the detector stim
pulses, it now reads a new calibration file (STIM_CAL), in which the
time-dependent average values of the drift coefficients are tabulated.

<P>
The burst-detection algorithm computes the mean count rate on the
unilluminated regions of the detector and writes it to the IDF.  It now
does so for the entire exposure, not just for times previously
identified as good.

<P>
Several keywords have been added to the IDF file headers, including
the limb-angle limits BRITLIMB and DARKLIMB from the SCRN_CAL file
and the calculated orbital period (ORBPERID).

<P>
The AIRG_CAL files, which identify regions of each detector likely
to be contaminated by airglow features, are now expressed in FARF,
rather than RAW, coordinates.  This change allows us to use smaller
airglow windows and thus to throw away less data.

<P>
The default pulse-height limits (both upper and lower) have been
modified for all four detectors.

<P>
<hr WIDTH="100%">

<p>August 24, 2004
<br>Van Dixon
<BR>v3.0/src/libcf/cf_fes_proc_update.c
<BR>v3.0/src/libcf/cf_fes_proc_check.c
<BR>v3.0/src/libcf/cf_count_rate_y_distort.c
<BR>v3.0/src/libcf/cf_calculate_y_centroid.c
<BR>v3.0/src/libcf/cf_optimal_extraction.c

<BR>v3.0/include/calfuse.h v1.65

<P>
Installed two subroutines needed to process FES files.  Modified calfuse.h
to support them.

<P>
In cf_count_rate_y_distort, interpolate stretch correction among
tabulated Y values to prevent counts from piling up at 10-pixel
boundaries.

<P>
In cf_calculate_y_centroid, confirm that all spectral centroids, not
just that of the target aperture, are within bounds.

<P>
In cf_optimal_extraction, use QUALITY array to set X limits of
extraction region.  Insure that sigma_out array is non-zero.

<P>
<hr WIDTH="100%">

<p>August 12, 2004
<br>Van Dixon
<BR>v3.0/src/fuv/cf_assign_wavelength.c
<BR>v3.0/src/fuv/cf_bad_pixels.c
<BR>v3.0/src/fuv/cf_extract_spectra.c
<BR>v3.0/src/fuv/cf_remove_motions.c
<BR>v3.0/src/fuv/cf_screen_photons.c
<BR>v3.0/src/libcf/cf_astigmatism_and_dispersion.c
<BR>v3.0/src/libcf/cf_apply_filters.c
<BR>v3.0/src/libcf/cf_calculate_y_centroid.c
<BR>v3.0/src/libcf/cf_fuv_init.c
<BR>v3.0/src/libcf/cf_find_spectra.c
<BR>v3.0/src/libcf/cf_grating_motion.c
<BR>v3.0/src/libcf/cf_identify_channel.c
<BR>v3.0/src/libcf/cf_init_support.c
<BR>v3.0/src/libcf/cf_make_mask.c
<BR>v3.0/src/libcf/cf_mirror_motion.c
<BR>v3.0/src/libcf/cf_modify_hist_times.c
<BR>v3.0/src/libcf/cf_optimal_extraction.c
<BR>v3.0/src/libcf/cf_proc_check.c
<BR>v3.0/src/libcf/cf_rebin_background.c
<BR>v3.0/src/libcf/cf_satellite_jitter.c
<BR>v3.0/src/libcf/cf_screen_burst.c
<BR>v3.0/src/libcf/cf_screen_high_voltage.c
<BR>v3.0/src/libcf/cf_screen_limb_angle.c
<BR>v3.0/src/libcf/cf_set_photon_flags.c
<BR>v3.0/src/libcf/cf_thermal_distort.c
<BR>v3.0/src/libcf/cf_ttag_bkgd.c
<BR>v3.0/src/libcf/cf_write_extracted_spectrum.c
<BR>v3.0/src/libcf/eclipse.c
<BR>v3.0/src/libcf/solar_ang.c
<BR>v3.0/src/libcf/space_vel.c
<BR>v3.0/src/libcf/state_geod.c
<BR>v3.0/src/libcf/state_limb.c

<BR>v3.0/include/calfuse.h v1.64

<P>
Re-organized the pipeline, moving cf_screen_photons before
cf_remove_motions.  This required changes to both programs, as well as
a number of subroutines.

<P>
Numerous modifications to cf_fuv_init: We now allow for the possibility
that the time associated with a calibration file exactly equals
EXPSTART.  If the BRIT_OBJ keyword is set to DEFOCUS, we modify
SRC_TYPE to E.  Write CF_VERS to trailer file.  Set ASTG_COR to
PERFORM, as the pipeline doesn't do it automatically.

<P>
Changes to routines in cf_init_support: Add BRIT_OBJ keyword to header.
Rewrite fill_hv_array() to make it more robust.  If HV values in header
are good, use them to determine whether HV arrays for 2A and 2B are
swapped.

<P>
In both eclipse and state_geod, we corrected the FORTRAN call to sla_preces.
To address warnings from the Mac OS X compiler, we made minor
modifications to month_day.

<P>
If more than 90% of an exposure is lost to a burst, jitter, etc.,
cf_set_photon_flags will write the cause to the trailer file.

<P>
Changes to cf_identify_channel: Don't bother shifting extraction
windows to correct for FPA position.  If shift is known, it is not needed.
Because the extraction windows don't quite match the WGTS arrays, pad
windows by XPAD pixels in X.  Change i (which steps through targ_ap
array) from long to int.

<P>
Corrected bug in cf_mirror_motion that caused it to swap motion corrections
for sides 1 and 2.  (This routine also got a new calibration file.)

<P>
In cf_grating_motion, we estimate the time between sunrises using the
orbit period in the file header, rather than assuming a 6000-second orbit.

<P>
In cf_satellite_jitter, we skip the jitter correction if the jitter
file lacks the JIT_STAT keyword.  The program returns EXP_JITR
to the calling routine.

<P>
Both cf_find_spectra and cf_calculate_y_centroid now use the photon
flags to exclude events arriving during bursts, etc., from their
centroid calculations.

<P>
In cf_astigmatism_and_dispersion, must change ASTG_COR to COMPLETE or
SKIPPED by hand, as the pipeline won't do it automatically.

<P>
Changes to bad-pixel routines: Fixed bug in cf_make_mask, changing & to &&.

<P>
Changes to extraction subroutines:
Fixed bug in cf_ttag_bkgd: nxb was undefined if RUN_BKGD = NO.
Don't bother shifting the weights array to account for FPA motions, as
this should already have been corrected in the conversion to the FARF.
In cf_optimal_extraction: If weights_out[j] = 0, set variance = bkgd.
Iterate optimal extraction to accuracy of 0.01 counts. In the boxcar
extraction algorithm, we reduced the parray limit to 1E-4 to better
match fluxes from optimal extraction for bright stars.
The routine cf_write_extracted_spectrum now has an option (-o)
to override the default root name for the extracted spectra.

<P>
Removed unused variables from the following routines: state_limb,
cf_rebin_background, cf_screen_high_voltage, cf_screen_limb_angle,
cf_thermal_distort, solar_ang, space_vel, and cf_bad_pixels.

<P>
Made minor i/o changes to cf_screen_burst.  The routine cf_proc_check
now calls cf_verbose rather than cf_if_warning when a pipeline step is
inappropriate for TTAG data.

<P>
We made a lot of changes to the way that we deal with time for HIST
data:  In cf_apply_filters, we mask the BRST, SAA, and LIMB flags when
calculating exposure time.  In cf_set_photon_flags, we set only DAY
flag; we all write other flags to EXP_STAT keyword.  A new routine,
cf_modify_hist_times, sets the photon-arrival times of photons in HIST
files to the midpoint of the longest good-time interval.

<P>
This is the release version 3.0.7 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>June 4, 2004
<br>Van Dixon
<BR>v2.4/src/fuv/cf_fuv_init.c
<BR>v2.4/include/calfuse.h v1.175

<P>
Modified cf_fuv_init to allow for the possibility that the MJD for a
calibration file equals EXPSTART for an exposure.

<P>
This is version 2.4.4 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>May 13, 2004
<br>Van Dixon
<BR>v2.4/src/fuv/cf_update_qual.c
<BR>v2.4/src/fuv/cf_dtcor.c
<BR>v2.4/include/calfuse.h v1.174

<P>
Modified cf_update_qual and cf_dtcor to deal gracefully with bad
counters in the data file headers.

<P>
This is version 2.4.3 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>May 4, 2004
<br>Van Dixon
<BR>v3.0/src/fuv/cf_assign_wavelength.c
<BR>v3.0/src/fuv/cf_countmap.c
<BR>v3.0/src/fuv/cf_extract_spectra.c
<BR>v3.0/src/fuv/cf_gainmap.c
<BR>v3.0/src/fuv/cf_hist_init.c
<BR>v3.0/src/fuv/cf_remove_motions.c
<BR>v3.0/src/fuv/cf_ttag_init.c
<BR>v3.0/src/libcf/cf_apply_dead_time.c
<BR>v3.0/src/libcf/cf_calculate_y_centroid.c
<BR>v3.0/src/libcf/cf_convert_to_ergs.c
<BR>v3.0/src/libcf/cf_doppler_and_heliocentric.c.c
<BR>v3.0/src/libcf/cf_error_msg.c
<BR>v3.0/src/libcf/cf_find_spectra.c
<BR>v3.0/src/libcf/cf_fuv_init.c
<BR>v3.0/src/libcf/cf_init_support.c
<BR>v3.0/src/libcf/cf_rebin_background.c
<BR>v3.0/src/libcf/cf_set_good_time_intervals.c
<BR>v3.0/src/libcf/cf_set_photon_flags.c
<BR>v3.0/src/libcf/cf_set_user_gtis.c
<BR>v3.0/src/libcf/cf_source_aper.c
<BR>v3.0/src/libcf/cf_ttag_bkgd.c
<BR>v3.0/src/libcf/cf_write_extracted_spectrum.c

<BR>v3.0/include/calfuse.h v1.61, v1.62, v1.63

<P>
Bernard performed housecleaning (removing unused variables, changing
variable types to match subroutine definitions, etc.) on the following
routines: cf_assign_wavelength, cf_hist_init, cf_ttag_init, cf_countmap,
and cf_bad_pixels.c.  Also these subroutines: cf_apply_dead_time,
cf_calculate_y_centroid, cf_doppler_and_heliocentric.c,
cf_error_msg, cf_init_support, cf_set_good_time_intervals,
cf_set_photon_flags, cf_set_user_gtis, and cf_source_aper.

In addition, he modified cf_ttag_init to create a photon list
containing a single dummy event when the raw file is empty and
cf_init_support to better catch errors in the header counter keywords.

<P>
We made significant modifications to cf_extract_spectra, replacing
cf_rebin_and_flux_calibrate_background with cf_rebin_background.
cf_optimal_extraction now performs all calculations with the weights
array, rather than ergcm2.  It returns counts and sigma arrays, rather
than flux and variance as before; cf_extract_spectra must
flux-calibrate each array, and cf_write_extracted_spectrum no longer
converts from variance to sigma.  The boxcar algorithm now uses the
probability (weights) array to set the limits of the extraction window,
better replicating the results of optimal extraction.  Optimal
extraction now iterates to 10% accuracy.  The output weights and bkgd
arrays are calculated by the optimal-extraction routine, so better
match the final flux-calibrated spectra.

<P>
In verbose mode, cf_convert_to_ergs prints out the relative weighting of
the two effective-area files.

<P>
The first call to cf_identify_channel was moved from cf_find_spectra to
cf_remove_motions.  The documentation of cf_remove_motions was improved.

<P>
The keywords MKBK_COR and BKGD_COR are gone, so cf_fuv_init no longer
populates them.

<P>
The routine cf_rebin_and_flux_calibrate_background was replaced by
cf_rebin_background.  Flux calibration is now performed by
cf_extract_spectra.  cf_ttag_bkgd returns a null-valued background
image if RUN_BKGD = NO.

<P>
This is version 3.0.7 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>April 5, 2004
<br>Van Dixon
<BR>v3.0/src/libcf/cf_geometric_distort.c
<BR>v3.0/include/calfuse.h v1.60

<P>
Rescale SPECBINY only if it is > 1.

<P>
<hr WIDTH="100%">

<p>April 1,2004
<br>Van Dixon
<BR>v3.0/src/fuv/cf_extract_spectra.c
<BR>v3.0/src/libcf/cf_geometric_distort.c
<BR>v3.0/src/libcf/cf_hist_init.c
<BR>v3.0/src/libcf/cf_init_support.c
<BR>v3.0/src/libcf/cf_optimal_extraction.c
<BR>v3.0/src/libcf/cf_proc_check.c
<BR>v3.0/src/libcf/cf_rebin_probability_array.c
<BR>v3.0/src/libcf/cf_ttag_bkgd.c
<BR>v3.0/src/libcf/cf_write_extracted_spectrum.c
<BR>v3.0/include/calfuse.h v1.59

<P>
Abandon use of WPC array throughout the pipeline.  Instead, modify
cf_optimal_extraction to evenly distribute photon events across
one X pixel when in HIST mode.  If optimal-extraction loop does not
converge within 50 iterations, exit and use results from boxcar extraction.
<p>
In cf_proc_check, call cf_verbose rather than cf_if_warning if program
not appropriate for HIST data.
<p>
Change the way that routines deal with empty data files.  In
cf_hist_init, issue a warning -- but continue
processing -- if NEVENTS = 0.  (A similar change for cf_ttag_init
will have to wait for the next version of the pipeline.)
In cf_extract_spectra, write null-valued
output spectra if either EXPTIME or NEVENTS = 0.  In
cf_write_extracted_spectrum, if valid_spectrum = FALSE, write warning
message to file header.
<p>
Include math.h in cf_hist_init to define fmod().  This solves the
long-standing problem of the program crashing on Linux machines.
<p>
Modify cf_init_support to better deal with counter errors.
<p>
In cf_geometric_distort, modify header keyword SPECBINY to reflect
Y spacing in the FARF.
<p>
In cf_ttag_bkgd, set Y limits of 2-D background arrays equal to those
of the probability (weights) array.  Since the sizes are now equal,
cf_optimal_extraction does not need to test them.  Make centroid of
probability array a float in cf_extract_spectra and associated
subroutines.
<p>
In cf_rebin_probability_array, shift probability array to account
for position of FPA.

<P>
This is version 3.0.6 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>March 30, 2004
<br>Van Dixon
<BR>v2.4/src/fuv/cf_hist_init.c
<BR>v2.4/include/calfuse.h v1.173

<P>
Modified cf_hist_init to produce
null-valued data file if NEVENTS=0.

<P>
This is version 2.4.2 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>March 16,2004
<br>Van Dixon
<BR>v3.0/src/fuv/cf_extract_spectra.c
<BR>v3.0/src/fuv/cf_hist_init.c
<BR>v3.0/src/fuv/cf_ttag_init.c
<BR>v3.0/src/fuv/cf_bad_pixels.c
<BR>v3.0/src/fuv/cf_countmap.c
<BR>v3.0/src/fuv/cf_gainmap.c
<BR>v3.0/src/fuv/cf_convert_to_farf.c
<BR>v3.0/src/libcf/cf_astigmatism_and_dispersion.c
<BR>v3.0/src/libcf/cf_init_support.c
<BR>v3.0/src/libcf/cf_satellite_jitter.c
<BR>v3.0/src/libcf/cf_thermal_distort.c
<BR>v3.0/src/libcf/cf_write_extracted_spectrum.c
<BR>v3.0/include/calfuse.h v1.57, v1.58

<P>
Implement WPC array in cf_extract_spectra and associated subroutines.
<br>In cf_hist_init.c, fix error in correcting hot pixels.
<br>In cf_ttag_init.c, exit if no photons in raw data file.
<br>In cf_bad_pixels.c, change maximum size of the output arrays in
cf_combine_pothole_data and insure that lif_cnt and sic_cnt arrays are
non zero.
<br>In cf_countmap.c and cf_gainmap.c, allow user to select coordinate
system: RAW, FARF (default), final.
<br>In cf_astigmatism_and_dispersion.c, make subroutine cf_x2lambda globally
accessible.
<br>In cf_convert_to_farf.c, pass weight array to cf_thermal_distort.
<br>In cf_init_support.c, read begin and end counters as float.
Set countrate to zero when cntb is more than 16777216.
<br>In cf_satellite_jitter.c, polulate the PLATESC keyword in the input file header.
<br>In cf_thermal_distort.c, added weights to the calculation (needed for
histogram mode) and corrected bug in procedure for finding stim pulses.
<br>In cf_write_extracted_spectrum.c, populate archive search keywords and
change name of POTHOLE column to QUALITY.

<P>
This is version 3.0.5 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>February 16, 2004
<br>Van Dixon
<BR>v3.0/include/calfuse.h v1.56

<P>
Release CalFUSE v3.0.4 for beta testing.

<P>
<hr WIDTH="100%">

<p>May 22, 2003
<br>Van Dixon
<BR>v2.4/src/idl/cf_plot_rate.pro
<BR>v2.4/src/fuv/fcal.c
<BR>v2.4/src/fuv/cf_make_ttag_bkgd.c
<BR>v2.4/include/calfuse.h v1.172

<P>
Modified cf_plot_rate.pro, fcal.c, and cf_make_ttag_bkgd.c to deal
gracefully with zero-length exposures.  Resulting spectral file has
FLUX and ERROR arrays set to zero.

<P>
This is version 2.4.1 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>May 19, 2003
<br>Van Dixon
<BR>v2.4/src/analysis/cf_combine.c
<BR>v2.4/include/calfuse.h v1.171

<P>
Imported two of Jeff's modifications to cf_combine: 
<br>
Close each input file in initial loop.
Without this, cfitsio crashes upon opening the 60th file.
<br>
Weight each pixel by exposure time after excluding ``bad'' pixels.

<P>
<hr WIDTH="100%">

<p>May 2, 2003
<br>Van Dixon
<BR>v2.4/src/analysis/cf_uninterp.c
<BR>v2.4/include/calfuse.h v1.170

<P>
Added cf_uninterp.c to re-calibrate extracted spectra using only
the most recent flux-calibration file.

<P>
This is version 2.4.0 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>April 29, 2003
<br>Van Dixon
<BR>v2.3/src/fuv/cf_ttag_jitter.c
<BR>v2.3/src/fuv/cf_hist_jitter.c
<BR>v2.3/include/calfuse.h v1.169

<P>
Modified jitter routines to allow possiblity that jitter filename is in
lower-case letters.

<P>
<hr WIDTH="100%">

<p>April 25, 2003
<br>Van Dixon
<BR>v2.3/src/fuv/cf_fuv_init.c
<BR>v2.3/include/calfuse.h v1.167, v1.168

<P>
In cf_fuv_init, never linearly extrapolate calibration files forward in
time.  If an observation is not bracketed by calibration files,
simply use the latest one.

<P>
This is version 2.3.2 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>April 16, 2003
<br>Van Dixon
<BR>v2.3/src/fuv/cf_fuv_init.c
<BR>v2.3/include/calfuse.h v1.166

<P>
In cf_fuv_init, test for corrupted detector bias values.  Updated
comment field of HV_FLAG.  Modified associated warning messages.

<P>
This is version 2.3.1 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>April 15, 2003
<br>Van Dixon
<BR>v2.3/src/fuv/cf_ttag_screen.c
<BR>v2.3/include/calfuse.h v1.165, v1.166

<P>
Test only first letter of scrn*.fit keyword DAYNIGHT in cf_ttag_screen.

<P>
<hr WIDTH="100%">

<p>April 2, 2003
<br>Van Dixon
<BR>v2.3/src/fuv/cf_ttag_geodopp.c
<BR>v2.3/src/fuv/cf_ttag_jitter.c
<BR>v2.3/include/calfuse.h v1.164

<P>
Simplified DX/DY test in cf_ttag_geodopp.  Test that TRKFLG is <= 5
(the highest allowed value) in cf_ttag_jitter.

<P>
<hr WIDTH="100%">

<p>April 2, 2003
<br>Van Dixon
<BR>v2.3/src/fuv/cf_ttag_geodopp.c
<BR>v2.3/include/calfuse.h v1.163

<P>
Test DX and DY values to make sure they are valid before combining
into mean Doppler shift.  NaN values lead to bad-pixels masks full
of zeros, which lead to empty extracted spectra.

<P>
<hr WIDTH="100%">

<p>March 10, 2003
<br>Van Dixon
<BR>v2.3/src/fuv/cf_ttag_geodopp.c
<BR>v2.3/include/calfuse.h v1.162

<P>
Alain Lecavelier points out that, for high-count-rate TTAG data, the
pipeline produces error bars that are about half of what one would
expect from SQRT(N) statistics.  Turns out that the change that I made
to cf_ttag_geodopp in March 2002 was in error.  I returned the code to
its previous state, and the error bars are now much better behaved.
Error bars for histogram data are unaffected by this change.

<P>
This is version 2.3.0 of the CalFUSE pipeline.

<P>
<hr WIDTH="100%">

<p>February 24, 2003
<br>Van Dixon
<BR>v2.2/src/fuv/cf_make_ttag_bkgd.c
<BR>v2.2/src/fuv/cf_make_hist_bkgd.c
<BR>v2.2/include/calfuse.h v1.161

<P>
Peter Young's Dec Alpha compiler identified a bug in these routines.
EXPNIGHT is stored in the header as type LONG, but these routines read
it as type FLOAT.  CFITSIO should make the conversion automatically,
but apparently fails to do so on his machine.  I've modified the calls
to FITS_read_key() in both routines.
<P>
<font color=red>This is the release version of CalFUSE v2.2.3.</font>

<P>
<hr WIDTH="100%">

<p>February 20, 2003
<br>Van Dixon
<BR>v2.2/src/libcf/read_tle.c
<BR>v2.2/src/libcf/sgp4.c
<BR>v2.2/src/fuv/cf_ttag_jitter.c
<BR>v2.2/src/fuv/cf_make_ttag_bkgd.c
<BR>v2.2/src/fuv/cf_extract.c
<BR>v2.2/src/fuv/cf_driftcorr2.c
<BR>v2.2/src/fuv/cf_coadd.c
<BR>v2.2/src/analysis/ttag_combine.c
<BR>v2.2/include/calfuse.h v1.160

<P>
Peter Young's Dec Alpha compiler identified two sets of bugs in these routines.
Several calls to FITS_read_key() or FITS_update_key() used an ampersand incorrectly:
<br>
FITS_read_key(fptr, TSTRING, "INSTRUME", &instrument, comment, &status);
<br>
and a few routines used abs() when fabs() is required.
<P>
P.Y.'s compiler refused to recognize one of the #define keywords in
sgp4.c, so Bryce Roberts replaced it with the actual value throughout
the routine.

<P>
<hr WIDTH="100%">

<p>December 13, 2002
<br>Van Dixon
<BR>v2.2/src/fuv/cf_ttag_screen.c
<BR>v2.2/src/fuv/cf_hist_screen.c
<BR>v2.2/src/fuv/cf_ttag_burst.c
<BR>v2.2/src/fuv/cf_ttag_jitter.c
<BR>v2.2/include/calfuse.h v1.159

<P>
Modify cf_ttag_screen and cf_hist_screen to write all EXP_* keywords as
type long.  Modify cf_ttag_burst and cf_ttag_jitter to pass through all
photon events in the stim-pin regions, even during bad times.  Have
them add EXP_BRST and EXP_JITR to EXP_BAD, and write all as type long.

<P>
Updated CALFUSE version to 2.2.3.

<P>
<hr WIDTH="100%">

<p>November 8, 2002
<br>Van Dixon
<BR>v2.2/src/fuv/cf_extract.c
<BR>v2.2/include/calfuse.h v1.158

<P>
Modify cf_extract to write keyword SPECYCNT to outfits, not infits.

<P>
<hr WIDTH="100%">

<p>November 6, 2002
<br>Van Dixon
<BR>v2.2/src/fuv/cf_hist_jitter.c
<BR>v2.2/src/fuv/cf_ttag_jitter.c
<BR>v2.2/include/calfuse.h v1.157

<P>
Make cf_hist_jitter and cf_ttag_jitter issue warning, but continue
running, if keyword JIT_STAT is not found.

<P>
<hr WIDTH="100%">

<p>November 1, 2002
<br>Van Dixon
<BR>v2.2/src/fuv/cf_hist_jitter.c
<BR>v2.2/idl/cf_plot_hist_rate.pro
<BR>v2.2/include/calfuse.h v1.156

<P>
Make cf_hist_jitter and cf_plot_hist_rate exit gracefully if jitter
file not found.

<P>
<hr WIDTH="100%">

<p>October 29, 2002
<br>Van Dixon
<BR>v2.2/src/analysis/cf_arith.c
<BR>v2.2/src/analysis/cf_combine.c
<BR>v2.2/include/calfuse.h v1.155

<P>
Corrected error in history lines of both routines.

<P>
<hr WIDTH="100%">

<p>October 24, 2002
<br>Van Dixon
<BR>v2.2/src/fuv/Makefile
<BR>v2.2/src/fuv/cf_make_hist_bkgd.c
<BR>v2.2/include/calfuse.h v1.154

<P>
Add cf_hist_jitter to Makefiles.
Remove unused variables in cf_make_ttag_bkgd.

<P>
<hr WIDTH="100%">

<p>October 11, 2002
<br>Van Dixon
<BR>v2.2/src/fuv/cf_ttag_jitter.c
<BR>v2.2/include/calfuse.h v1.153

<P>
Three changes to cf_ttag_jitter: Initialized nrej to 0, made program
exit quietly if jitter file not found, and set all times to floats in
test step, to correct bug whereby some photons were being erroneously
rejected.  Note that the program still rejects photons with times later
than the end of the input good-time interval.  This happens because the
burst-correction routine converts the GTI boundaries to integers.

<P>
Updated CALFUSE version to 2.2.2.

<P>
<hr WIDTH="100%">

<p>August 29, 2002
<br>Van Dixon
<BR>v2.2/src/fuv/cf_hist_init.c
<BR>v2.2/src/fuv/cf_ttag_init.c
<BR>v2.2/include/calfuse.h v1.152

<P>
The initialization routines now exit with an error if NEVENTS = 0.

<P>
<hr WIDTH="100%">

<p>August 28, 2002
<br>Van Dixon
<BR>v2.2/src/fuv/cf_hist_jitter.c
<BR>v2.2/src/libcf/cf_fcal.c
<BR>v2.2/idl/cf_plot_hist_rate.pro
<BR>v2.2/include/calfuse.h v1.151

<P>
cf_hist_jitter reads the jitter file, determines how much time (if any)
the target spent out of the aperture, and writes this number to the
keyword EXP_JITR.  cf_fcal subtracts this value from EXPTIME when
flux-calibrating the spectrum.  The IDL procedure cf_plot_hist_rate.pro
plots the count rate during a histogram exposure using counter values
from the housekeeping file.

<P>
Updated CALFUSE version to 2.2.1.

<P>
<hr WIDTH="100%">

<p>July 31, 2002
<br>Van Dixon
<BR>v2.2/src/fuv/cf_hist_count_map.c
<BR>v2.2/src/fuv/cf_ttag_count_map.c
<BR>v2.2/src/fuv/cf_ttag_gain_map.c
<BR>v2.2/src/fuv/cf_make_ttag_bkgd.c
<BR>v2.2/src/fuv/cf_ttag_jitter.c
<BR>v2.2/src/fuv/cf_update_qual.c
<BR>v2.2/src/libcf/cf_fuv_init.c
<BR>v2.2/include/calfuse.h v1.150

<P>
The SDP group decided that CalFUSE 3.0 should use a radically different
scheme for processing time-tagged data.  In the mean time, we have made
incremental progress on CalFUSE v2, and we have decided that this
version of the program should go behind the firewall as soon as
possible.  Accordingly, I copied v2.1.7 to v2.2.0 and have continuued
to make incremental changes to the code.  Highlights are

<P>
Modify cf_hist_count_map, cf_ttag_count_map, cf_ttag_gain_map, and
cf_update_qual to read version 002 YSTR files.
<BR>
Correct a Linux bug in cf_make_ttag_bkgd.
<BR>
Add cf_ttag_jitter and modify cf_fuv_init to support it.

<P>
Updated CALFUSE version to 2.2.0.
<P>
<font color=red>This version of CalFUSE will go behind the firewall on
1 August 2002.</font>

<P>
<hr WIDTH="100%">

<p>June 14, 2002
<br>Van Dixon
<BR>v2.1/src/fuv/cf_make_ttag_bkgd.c
<BR>v2.1/include/calfuse.h v1.149

<p>
Moved v1.16 of cf_make_ttag_bkgd back to CalFUSE v2.1.
<P>
Updated CALFUSE version to 2.1.7.

<hr WIDTH="100%">

<p>June 14, 2002
<br>Van Dixon
<BR>cf_make_ttag_bkgd.c
<BR>cf_undistort.c
<BR>cf_driftcorr.c
<BR>cf_extract.c
<BR>cf_dpix.c
<BR>cf_ttag_screen.c
<BR>cf_hist_dopp.c
<BR>cf_wcal.c
<BR>cf_doppler_util.c
<BR>calfuse.h v1.151

<br>
<p>
In cf_make_ttag_bkgd, correct error when using MKBK_COR=OMIT (1.15) and
fill in holes made by the removal of geocoronal lines.  The latter is
needed in determination of X variations of scattered light.  Re-wrote
cf_undistort to handle shifts as floats.  Modified cf_driftcorr to
write output as an array of shorts.  Modified cf_extract, cf_dpix to
read linear wavelength scale.  Modified read_wavelengths in
cf_doppler_util and calls to it in cf_ttag_screen and cf_hist_dopp.
Modified cf_wcal to implement linear wavelength solution.
<P>
Updated CALFUSE version to 3.0.1.

<hr WIDTH="100%">

<p>May 30, 2002
<br>Van Dixon
<BR>cf_doppler_util.c
<BR>cf_ttag_screen.c
<BR>cf_hist_dopp.c
<BR>cf_dpix.c
<BR>cf_extract.c
<BR>calfuse.h v1.150

<br>
<p>
In cf_doppler_util, modified read_wavelength no longer to generate and
return an xpix array, then modified the calling routines cf_ttag_screen
and cf_hist_dopp accordingly.  Modified cf_dpix and cf_extract to
handle the linear wavelength scale.

<hr WIDTH="100%">

<p>May 29, 2002
<br>Van Dixon
<BR>cf_doppler_util.c
<BR>cf_driftcorr.c
<BR>cf_update_qual.c
<BR>calfuse.h v1.149

<br>
<p>
In cf_doppler_util, modified the subroutine read_wavelength to handle a
linear wavelength scale.  Installed Rich's new version of cf_driftcorr,
which puts a correction for the count-rate dependent Y stretch into the
DY image.  Because we no longer need to correct the bad-pixel map for
the Y stretch, I moved back from v1.8 to v1.5 of cf_update_qual.

<hr WIDTH="100%">

<p>May 21, 2002
<br>Van Dixon
<BR>cf_dpix
<BR>calfuse.h v1.148

<br>
<p>
Fixed a couple of bugs in cf_dpix: made LWRS the default aperture and
allowed the boundary between the SiC and LiF regions to vary with
detector.
<p>
Made this change to both v2.1 and v3.0.

<hr WIDTH="100%">

<p>May 17, 2002
<br>Van Dixon
<BR>cf_dtcorr
<BR>cf_undistort
<BR>cf_wcal
<BR>calfuse.h v1.147

<br>
<p>
Updated #define keywords in cf_dtcorr.  Turned on X-distortion
correction in cf_undistort and moved it to follow cf_driftcorr2.
Implemented linear wavelength scale in cf_wcal.
<p>
Updated CALFUSE version to 3.0.0.

<hr WIDTH="100%">

<p>May 14, 2002
<br>Van Dixon
<BR>cf_make_ttag_bkgd
<BR>cf_make_hist_bkgd
<BR>calfuse.h v1.146

<br>
<p>
Teach background modules to read compressed background-calibration files.
<P>
<font color=red>This is the release version of CalFUSE v2.1.</font>

<hr WIDTH="100%">

<p>April 16, 2002
<br>Van Dixon
<BR>cal_fuse_exp_ttag.csh
<BR>cal_fuse_exp_hist.csh
<BR>calfuse.h v1.145

<br>
<p>
Remove cf_wormcorr from pipeline for now.
<P>
Updated CALFUSE version to 2.1.6.

<hr WIDTH="100%">

<p>April 8, 2002
<br>Van Dixon
<BR>cf_make_hist_bkgd
<BR>cf_make_ttag_bkgd
<BR>cf_ttag_burst
<BR>bchr*001.fit
<BR>scrn*013.fit
<BR>calfuse.h v1.144

<br>
<p>
New software from Rich:  New BCHR (background characterization) files
contain the binary extensions that used to be in the SCRN files.
Pipeline modules were modified to read the new files.
<P>
Updated CALFUSE version to 2.1.5.

<hr WIDTH="100%">

<p>March 29, 2002
<br>Van Dixon
<BR>cf_make_ttag_bkgd
<BR>cf_ttag_burst
<BR>bkgd*005.fit
<BR>bkgd*006.fit
<BR>bkgd*007.fit
<BR>bkgd*008.fit
<BR>scrn*012.fit
<BR>calfuse.h v1.143

<br>
<p>
New software from Rich:  The burst module has been modified to update
the EXPNIGHT value. The background module has a new procedure for
determining the intrinsic background from the data.  The background
files should do a better job at short wavelengths.  The screening files
redefine the background sample regions and add a few more geocoronal
line positions.
<P>
Updated CALFUSE version to 2.1.4.

<hr WIDTH="100%">

<p>March 17, 2002
<br>Van Dixon
<BR>cf_make_ttag_bkgd
<BR>cf_make_hist_bkgd
<BR>cf_ttag_geodopp
<BR>cf_hist_geodopp
<BR>calfuse.h v1.142

<br>
<p>
Turns out that all of these programs were treating the error arrays as
sigmas rather than variances (sigma squared).  Modified to propagate
errors correctly.

<P>
Updated CALFUSE version to 2.1.3.

<hr WIDTH="100%">

<p>February 22, 2002
<br>Van Dixon
<BR>cf_fuv_init
<BR>ttag_combine
<BR>cf_dtcor
<BR>calfuse.h v1.141

<br>
<p>
Introduced new keyword, RAWTIME, which is equal to EXPTIME before
CalFUSE starts tossing out data.  Modified cf_fuv_init and ttag_combine
to propagate it correctly.
<p>
Modified cf_dtcor to determine exposure time from the keywords CTIME_B
and CTIME_E, which are the times of the initial and final engineering
packets from which the counter data were taken.
<P>
Updated CALFUSE version to 2.1.2.

<hr WIDTH="100%">

<p>February 15, 2002
<br>Van Dixon
<BR>calfuse.h v1.140

<br>
<p>
Changed OPUS_VERSION to 2.5.

<hr WIDTH="100%">

<p>February 13, 2002
<br>Van Dixon
<BR>cf_fuv_init
<BR>ttag_combine
<BR>calfuse.h v1.139

<br>
<p>
Modified logic of voltage test in cf_fuv_init.  Add COMMENT lines
to data file header if low voltage found.  Respond gracefully if 
bias keywords do not exist.
<p>
Modified ttag_combine to respond gracefully if EXPNIGHT does not exist.

<hr WIDTH="100%">

<p>February 12, 2002
<br>Van Dixon
<BR>cf_fuv_init
<BR>calfuse.h v1.138

<br>
<p>
Modified cf_fuv_init to check detector voltage and complain if low.
New volt***001.fit calibration files, VOLT_CAL keyword.
<P>
Updated CALFUSE version to 2.1.1.

<hr WIDTH="100%">

<p>January 25, 2002
<br>Van Dixon
<BR>cf_ttag_burst
<BR>calfuse.h v1.137

<br>
<p>
Modified cf_ttag_burst to write a list of bursts to an ASCII file.

<hr WIDTH="100%">

<p>January 15, 2002
<br>Van Dixon
<BR>ttag_combine
<BR>calfuse.h v1.136

<br>
<p>
Modified ttag_combine to update keyword EXPNIGHT in output file.

<hr WIDTH="100%">

<p>December 7, 2001
<br>Van Dixon
<BR>cf_update_qual
<BR>calfuse.h v1.135

<br>
<p>
Richard's new version of cf_update_qual modifies the bad-pixel maps to
account for the count-rate dependence of the detector Y scale.

<hr WIDTH="100%">

<p>November 30, 2001
<br>Van Dixon
<BR>cf_dpix, cf_extract, cf_wormcorr, cf_optextract, cf_spexextract,
cf_plot_extract.pro, cal_fuse_exp_ttag.csh, cal_fuse_exp_hist.csh,
parm**007.fit
<BR>calfuse.h v1.134

<br>
<p>
In earlier versions of the pipeline, the shift to correct for FPA
offsets was performed by cf_wcal.  We have moved it earlier in the
pipeline, right after the astigmatism correction, and combine the
FPA corrections with the other shifts in order to have a single
float-to-integer conversion.  The new module is called cf_dpix.

<p>
cf_extract now reads the keyword RUN_OPTI, rather than OPT_EXTR, from
the parameter file.  It also writes the Y centroid of each spectrum to
the corresponding output file header.

<p>
Sylvestre added software to identify the worm in the LiF 1B spectrum:
cf_wormcorr reads the keyword RUN_WORM from the parameter file.  If
RUN_WORM = LIF, SIC, or BOTH, the program attempts to identify the
region of the worm and write the range of affected pixels (WORM_BEG and
WORM_END) to the output file header.  The IDL routine
cf_plot_extract.pro draws a ring around the worm, if found.

<p> Modified cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh to call
both cf_dpix and cf_wormcorr.  Modified calfuse.h to include new
processing keywords DPIX_COR and WORM_COR.

<hr WIDTH="100%">

<p>November 27, 2001
<br>Van Dixon
<BR>cf_ttag_screen
<BR>calfuse.h v1.133

<br>
<p>
Changed the way that cf_ttag_screen treats user-defined good-time
intervals.  Now takes intersection of them with pre-defined intervals
(from OPUS or cf_ttag_combine) before screening.  Also changed the
module to apply all screens (SAA, day/night, limb angle, pulse height)
regardless of where the good-time intervals came from.  Screening can
be turned off by modifying the <tt>scrn*.fit</tt> files, if desired.

<hr WIDTH="100%">

<p>November 21, 2001
<br>Van Dixon
<BR>cf_update_qual
<BR>calfuse.h v1.132

<br>
<p>
Installed Rich's new QUAL files.  Modified cf_update_qual to read them.

<hr WIDTH="100%">

<p>November 16, 2001
<br>Van Dixon
<BR>calfuse.h v1.131

<br>
<p>
Defined NO_PIXEL in calfuse.h.  Used by geometric-distortion and
extraction routines.

<hr WIDTH="100%">

<p>October 26, 2001
<br>Van Dixon
<BR>cf_dtcor
<BR>calfuse.h v1.130

<br>
<p>
Modified cf_dtcor to set counters to zero if values are too large to
read as longs.

<hr WIDTH="100%">

<p>October 26, 2001
<br>Van Dixon
<BR>cf_fuv_init
<BR>calfuse.h v1.129

<br>
<p>
Modified cf_fuv_init to check header keyword OPUSVERS and complain if
the data file was processed using an old version of OPUS.

<hr WIDTH="100%">

<p>October 10, 2001
<br>Van Dixon
<BR>cf_ttag_init
<BR>calfuse.h v1.128

<br>
<p>
Modified cf_ttag_init to reset the keywords SPECBINX, SPECBINY,
SIA_TBL, and NUM_HIST without checking their current value.
This code was moved from cf_ttag_image, where it had been 
commented out in April 2001.
<p>
Added keyword OPUS_VERSION to calfuse.h
<p>
Updated CALFUSE version to 2.1.0.

<hr WIDTH="100%">

<p>October 10, 2001
<br>Van Dixon
<BR>ttag_combine
<BR>flux*008.fit
<BR>calfuse.h v1.127

<br>
<p>
Rich Robinson has made numerous upgrades to ttag_combine.  Among other
things, it can now handle the DX, DY and DNFLG columns added by
cf_ttag_init.
<p>
Jeff Kruk has produced new flux-calibration files
based on the latest wavelength calibration.
<p>
Updated CALFUSE version to 2.0.5.
<font color=red>This is the release version of CalFUSE v2.0.</font>

<hr WIDTH="100%">

<p>October 2, 2001
<br>Van Dixon
<BR>wave*014.fit

<br>
<p>
Don Lindler has produced new wavelength files appropriate for data that
do NOT have the walk correction applied to their stim pins.  
They were created by taking the previous line locations and correcting
them before fitting by:

<pre>
        xx = ((x-leftF)/(rightF-leftF))*(right1-left1)+left1
        xcor = ((xx-left2)/(right2-left2))*(rightF-leftF)+leftF
where:
        left1,right1 are the measured STIM positions when the walk correction
                was applied to the STIMs
        left2,right2 are the measured STIM positions when the walk correction
                was not applied to the STIMs
        leftF, rightF - are the FARF STIM positions
        x - is the measured x position in the spectra that had the walk
                correction applied to the STIMs
        xcor is the corrected x position that would be expected if the walk
                correction was not applied to the STIMs
</pre>

<hr WIDTH="100%">

<p>September 21, 2001
<br>Van Dixon
<BR>scrn*010.fit

<br>
<p>
Version 008 had new PHA limits.  Version 009 had new information for
background models.  Version 010 has both.

<hr WIDTH="100%">

<p>September 17, 2001
<br>Van Dixon
<br>calfuse.h 1.126
<BR>cf_make_ttag_bkgd

<br>
<p>
New version of background routine reads the keyword BKGDTYPE in the
screening file.  Default value is 1; if set to -1, routine does not
perform an iterative fit to the observed scattered light.
<P>
Installed new wavelength calibration files, v013, which are corrected
for the motion of the stim pins due to walk correction in previous
versions of the pipeline.
<P>
Updated CALFUSE version to 2.0.4.

<hr WIDTH="100%">

<p>September 11, 2001
<br>Van Dixon
<br>calfuse.h 1.125
<BR>cf_ttag_walk
<BR>cf_hist_walk

<br>
<p>
Don't apply walk correction to photons/pixels within STIM_PAD (512)
pixels of the detector edge.  New walk-correction files (v003) have
zeros in the stim-pin region.

<hr WIDTH="100%">

<p>September 5, 2001
<br>Van Dixon
<br>calfuse.h 1.124
<BR>cf_make_ttag_bkgd
<BR>cf_extract

<br>
<p>
If MKBK_COR is set to OMIT, cf_make_ttag_bkgd changes it to SKIPPED.
cf_extract copies the keyword OPT_EXTR into the FITS file headers.

<hr WIDTH="100%">

<p>August 30, 2001
<br>Van Dixon
<br>calfuse.h 1.123
<BR>cf_make_ttag_bkgd

<br>
<p>
New cf_make_ttag_bkgd iteratively fits dark-count and scattered-light
components of the background to deal with the fact that the dark count
varies with time.  Spits out a file filled with zeros if MKBK_COR
is set to OMIT.
<P>
New wavelength calibration files.  Updated CALFUSE version to 2.0.3.

<hr WIDTH="100%">

<p>August 23, 2001
<br>Van Dixon
<br>calfuse.h 1.122
<br>cf_fuv_init
<br>cf_ttag_burst
<br>cf_ttag_walk
<br>cf_hist_walk
<br>cf_astig
<BR>cf_make_hist_bkgd
<BR>cf_make_ttag_bkgd
<BR>cf_bkgd

<br>
<p>
Replaced keyword TBURST with EXP_BRST in cf_ttag_burst.  
<p>
Enable user to turn off the burst rejection, walk correction,
background subtraction, or astigmatism correction by changing keywords
in parm**006.fit.  cf_fuv_init reads the PARM file and changes the
appropriate keywords (e.g., BRST_COR) from PERFORM to OMIT.  Subsequent
pipeline steps check their keyword; if it is OMIT, they change the
value to SKIPPED, issue a warning, and exit, copying input to output if
appropriate.  Updated CALFUSE version to 2.0.2.

<hr WIDTH="100%">

<p>August 21, 2001
<br>Van Dixon
<br>calfuse.h 1.121
<br>cf_wcal
<br>cf_fpa_pos
<br>cf_ttag_init

<br>
<p>
Moved cf_fpa_pos from cf_wcal to libcf.  ttag_combine uses this routine
to determine the FPA positions and complains if an FPA moves by more
than 10 microns between exposures.

<hr WIDTH="100%">

<p>August 20, 2001
<br>Van Dixon
<br>calfuse.h 1.120
<br>cf_ttag_init
<br>cf_dtcor

<br>
<p>
Header keywords SPECBINX and SPECBINY should be 1 for ttag data.  An
old version of OPUS set these to 0.  Changed cf_ttag_init to update
these parameters if it finds them equal to 0.  Also updated cf_dtcor to
use Dave Sahnow's new parameters for dead-time correction.  Added a
check: if DET_DEAD > 2.0, assume it's wrong and set to 1.0.

<hr WIDTH="100%">

<p>July 25, 2001
<br>Van Dixon
<br>calfuse.h 1.119
<br>cf_astig.c

<br>
<p>
New version of cf_astig employs Sylvester's cross-correlation routine
to determine spectral centroids.  New PHAM, WAVE, and FLUX files.
Updated CALFUSE version to 2.0.1.
<br><font color=red>This is the beta-test version of CalFUSE v2.0.</font>

<hr WIDTH="100%">

<p>July 2, 2001
<br>Van Dixon
<br>calfuse.h 1.118
<br>cf_ttag_init.c
<br>cf_ttag_screen.c
<br>cf_ttag_burst.c
<br>cf_make_ttag_bkgd.c
<br>cf_make_hist_bkgd.c

<br>
<p>
Implemented Richard's new background modeling routine, which 
independently computes the day- and night-time contributions to the
scattered-light background.  To do so, he adds an extra column, DNFLG,
to all of the photon-event files.  Package includes improvements
to the burst-screening algorithm.  Updated CALFUSE version to 2.0.0.

<hr WIDTH="100%">

<p>June 29, 2001
<br>Van Dixon
<br>calfuse.h 1.114
<br>lsrd_vel.c
<br>lsrk_vel.c

<br>
<p>
Changed sign returned by the LSR correction subroutines to conform with
astronomical standard.  Updated CALFUSE version to 1.9.9

<hr WIDTH="100%">

<p>June 19, 2001
<br>Jeff Kruk
<br>helio_vel.c
<p>
Alex Fullerton determined that we have been applying the heliocentric
velocity correction with the wrong sign.  The orbital dopper correction
has been applied with the correct sign.  The function helio_vel.c
inverts the sign returned by the SLALIB routines, so the simplest
correction is to remove this sign inversion.

<hr WIDTH="100%">

<p>April 10, 2001
<br>Van Dixon
<br>calfuse.h 1.111
<br>cf_hist_walk.c 1.1
<br>cal_fuse_exp_hist.csh

<br>
<p>
Installed new module to apply walk correction to histogram data.
Modified shell script cal_fuse_exp_hist.csh to call this routine.
Added PHAM entry to CALIBRATION_FILE_KEYS in calfuse.h.  Updated
CALFUSE version to 1.9.8

<hr WIDTH="100%">

<p>April 2, 2001
<br>Van Dixon
<br>calfuse.h 1.110
<br>cf_ttag_walk.c 1.1
<br>cal_fuse_exp_ttag.csh
<br>cal_fuse_exp_hist.csh

<br>
<p>
Installed new module to apply walk correction.  Modified shell
scripts cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh to call this
routine.  Added WALK entry to CALIBRATION_FILE_KEYS in calfuse.h.
Updated CALFUSE version to 1.9.7

<hr WIDTH="100%">

<p>March 28, 2001
<br>Van Dixon
<br>calfuse.h 1.109
<br>cf_extract.c 1.52
<br>cal_fuse_exp_ttag.csh
<br>cal_fuse_exp_hist.csh

<br>
<p>
Installed new module to perform optimal extraction.  Modified shell
scripts cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh to call this
routine.  In calfuse.h, added definition of cf_optextract and new
arguments to cf_spextract.  Updated CALFUSE version to 1.9.6

<hr WIDTH="100%">

<p>March 27, 2001
<br>Van Dixon
<br>calfuse.h 1.108
<br>cf_make_bkgd.c 1.22
<br>cal_fuse_exp_ttag.csh
<br>cal_fuse_exp_hist.csh

<br>
<p>
Installed new module to scale background calibration file.  Modified
shell scripts cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh to call
this routine (instead of cf_make_bkgd_temp).  Add AIRG entry to
CALIBRATION_FILE_KEYS in calfuse.h.  Updated CALFUSE version to 1.9.5

<hr>

<p>March 19, 2001
<br>Van Dixon
<br>calfuse.h 1.107
<br>cf_ttag_burst.c 1.9
<br>cal_fuse_exp_ttag.csh
<br>cal_fuse_exp_hist.csh

<br>
<p>
Installed new module to reject data during detector bursts.  Modified
shell scripts cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh to call
this routine.  Modified Makefiles to install it.  Updated CALFUSE
version to 1.9.4

<hr>
<p>March 14, 2001
<br>Van Dixon
<br>calfuse.h 1.106
<br>cf_astig.c 1.8
<br>cal_fuse_exp_ttag.csh
<br>cal_fuse_exp_hist.csh

<br>
<p>
Installed new program to implement astigmatism correction, now called cf_astig.
Modified shell scripts cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh to call
this routine.  Modified Makefiles to install it.
Updated CALFUSE version to 1.9.3

<hr>
<p>February 9, 2001
<br>Jeff Kruk
<br>calfuse.h 1.105
<br>cf_ttag_screen.c 1.55

<br>
<p>
Add checks to cf_ttag_screen.c to ensure that user-defined good time intervals
actually fit within the time spanned by the dataset, and that in each case the
end of a good time interval is later than the beginning.  Invalid user GTI's
are ignored.  Also added printout to trailer file of the number of events that
were rejected by pulse height limits.  Updated CALFUSE version to 1.9.2

<hr>
<p>February 8, 2001
<br>J.C. Hsu
<br>calfuse.h 1.104
<br>cf_linear.c 1.0
<br>cf_transform1d.c 1.0
<br>cf_1dff.c 1.0
<br>cf_make_1dff.c 1.0

<br>
<p>
Install programs needed to perform 1-D flat fielding.  All Makefiles updated.
The "official" pipeline shell scripts were not updated; users wishing to try
the 1-D flatfields should edit their local copies of the shell scripts for
the time being.  Thus, the pipeline version was not updated.

<hr>
<p>December 21, 2000
<br>Paul Barrett, J.C. Hsu
<br>Makefile.Alpha
<br>cf_ttag_screen.c 1.54
<br>cf_ttag_image.c 1.22
<br>cf_ttag_init.c 1.16
<br>cf_wcal.c 1.25

<br>
<p>
In response to problems encountered by Vincent LeBrun installing
calfuse on a DEC Alpha running True64, we made a number of changes.
The main one was to correct type mismatches in cfitsio calls:
in a number of cases an "int" variable was referenced as TLONG and vice versa.
Added -ieee flag to compiler options in Makefile.Alpha.
cf_ttag_image:  fix type mismatches in cfitsio calls
cf_ttag_init:  fix type mismatches in cfitsio calls
cf_ttag_screen:  fix type mismatches in cfitsio calls
cf_wcal:  fix type mismatches in cfitsio calls
This is the first instance in which v1.9.1 differs from v1.8.7, and no
change in functionality was involved, so the pipeline version was
not updated.

<hr>
<p>November 15, 2000
<br>Jeff Kruk
<br>cf_make_ff_temp.c 1.6
<br>cf_make_bkgd_temp.c 1.6
<br>cf_ttag_screen.c 1.53

<br>
<p>
Fixed typos in print statements in several routines.
No change in functionality resulted, so the pipeline version number
was not incremented.

<hr>
<p>October 19, 2000
<br>Jeff Kruk
<br>CALFUSE 1.9.1 
<br>calfuse.h 1.103

<br>
<p>
Created CALFUSE version 1.9.1 as the new development version.
calfuse.h was updated to reflect the new version number.

<hr>
<p>October 18, 2000
<br>Martial Andre, Jeff Kruk
<br>cf_extract.c 1.47
<br>calfuse.h 1.102

<br>
<p>
The image centroid (in Y) for extended sources is once again calculated
including airglow lines.  In many cases extended sources are very faint
and the airglow will help locate the spectra.  Extended sources will 
ordinarily fill the slits in the same manner as airglow, so the accuracy
of the centroid calculation will not be adversely affected.
<p>
Changed CALFUSE version to 1.8.7.

<hr>
<p>October 13, 2000
<br>Jeff Kruk
<br>cf_ttag_screen.c 1.52
<br>cf_extract.c  1.46
<br>cf_fuv_init.c 1.9

<br>
<p>
Three calls to FITS_read_key (infits, TSTRING, keyword, &arrayname,...) in the 
program cf_ttag_screen were modified to remove the extraneous ampersand.
<p>
One call to FITS_read_key (infits, TSTRING, keyword, &arrayname,...) in
cf_extract.c was modified to remove the extraneous ampersand.  Also
fixed a bug in the test for the variable ystop_bis being out of limits.
<p>
CF_VER_NUM was brought up to date in cf_fuv_init.c

<P>These changes are too small to update the version number of the pipeline.

<hr>
<p>October 2, 2000
<br>Jeff Kruk, JC Hsu
<br>cf_hist_dopp 1.25
<br>calfuse.h  1.101
<br>cal_fuse_exp_ttag.csh
<br>cal_fuse_exp_hist.csh

<br>
<p>
The program cf_hist_dopp was modified to incorporate corrections for
grating thermal motion.  The mean motion for the exposure is added to
the doppler correction.  
<p>
The shell script cal_fuse_exp_hist.csh was
modified to call cf_make_shift and to pass the resulting shift file
to cf_hist_dopp.
<p>
The include file calfuse.h was modified to include the function prototype
for lif_sic_border() (see below), and to change the MKSH_COR 
histogram pipeline entry in CALIBRATION_STEP_KEYS to PERFORM.
<p>
The shell scripts cal_fuse_exp_ttag.csh and cal_fuse_exp_hist.csh were
modified to test cfstat before calling the idlplot routines.

<P>The pipeline version number was incremented to 1.8.6.

<hr>
<p>October 2, 2000
<br>Jeff Kruk
<br>cf_check_point  1.17
<br>cf_hist_screen  1.21
<br>cf_ttag_screen  1.51

<br>
<p>
The programs cf_hist_screen and cf_ttag_screen were modified to
update the keyword EXPNIGHT, newly created to provide the number of
seconds of exposure time (after screening) that were obtained during
the night side of the oribt.  This keyword will be used by an upcoming
version of cf_bkgd.
<p>
The function cf_check_point was modified to return a flag indicating
whether the satellite was in daylight or night at the time being
checked.

<P>The pipeline version number was updated for an additional change made
later in the day.

<hr>
<p>October 2, 2000
<br>Jeff Kruk, JC Hsu
<br>lif_sic_border() 1.00

<br>
<p>
The function lif_sic_border() was extracted from cf_hist_dopp.c
and make a function in libcf so that it would be available for
the upcoming 1-D version of cf_ff.  The libcf Makefiles were modified
accordingly.

<P>No change in functionality resulted, so no update to the pipeline 
version number was made.

<hr>
<p>October 2, 2000
<br>Jeff Kruk
<br>state_limb 1.08

<br>
<p>
The function state_limb() was modified (v1.08) to include fortran
function prototype wrappers for the new slalib calls introduced by
the previous change (slaDcc2s, slaEvp, slaDranrm).

<P>This change was solely for running Make on the distribution version
of calfuse, so no update to the pipeline version number was made.

<hr>
<p>September 26, 2000
<br>Martial Andre
<br>state_limb 1.05, 1.06, 1.07
<br>cf_check_point 1.16
<br>cf_orbit 1.03
<br>calfuse.h 1.98, 1.99, 1.100

<br>
<p>
The function state_limb() was modified (v1.05) to calculate the limb angle
constraint in the same way as is done by the mission planners:
it checks if the limb itself is in daylight or night, rather than the
old simplistic method of seeing if the satellite was in day or night.
This required a modification to the call to state_limb.
Versions 1.06, 1.07 of state_limb were to fix minor bugs.
<p>
The function cf_check_point (v1.16) and the program cf_orbit (v1.03) were
modified to make use of this new limb angle constraint calculation.
<p>
The include file calfuse.h (v1.98, v1.99) was modified to provide the
proper function prototype for the new versions of state_limb and
cf_check_point.

<P>These changes led to the increase in pipeline version number to 1.8.5
(implemented by version 1.100 of calfuse.h).


<hr>
<p>September 18, 2000
<br>Ed Murphy
<br>Pipeline Distribution Version

<br>
<p>
Ed Murphy & Paul Barrett produce distribution version of pipeline.
Major change was to incorporate "makemake" files.

<P>Update the version number of the pipeline to v1.8.4.

<hr>
<p>September 18, 2000
<br>Ed Murphy
<br>cf_astig2 1.07

<br>
<p>
Ed made some change, not documented in the header. 

<P>Since this routine is still in testing, I have not updated the 
pipeline version number.  The new version of cf_astig2.c is 1.07.


<hr>
<p>September 6, 2000
<br>Jeff Kruk
<br>cf_dtcor 1.18

<br>
<p>
Jeff Kruk modified cf_dtcor.c to populate three new keywords
in the FUV header:
DEAD_DET  Detector dead time factor
DEAD_IDS  IDS dead time factor
DEAD_TOT  Combined dead time factor

New version of cf_dtcor.c is 1.18.  He also changed sunmath.h to math.h.

<P>These changes are too small to update the version number of the pipeline.

<hr>
<p>September 5, 2000
<br>Ed Murphy
<br>cf_astig2 1.06

<br>
<p>
Modify cf_astig2 to get the calibration file from the ASTG_CAL keyword
rather than being hardcoded. 

<P>Since this routine is still in testing, I have not update the 
pipeline version number.  The new version of cf_astig2.c is 1.06.

<hr>
<p>August 25, 2000
<br>Ed Murphy
<br>cf_astig2 1.05

<br>
<p>
Jeff Kruk found that cf_astig2 crashed on all segment 1B data.  The
routine lacked any boundary checking and was running off the bottom
of the image when attempting to centroid the SiC spectrum.  The 
centroiding routines have been updated to include boundary checking.
 
<P>I also added the ability for the routine to check the number
of arguments.

<P>Since this routine is still in testing, I have not update the 
pipeline version number.  The new version of cf_astig2.c is 1.05.

<hr>
<p>August 23, 2000
<br>Martial Andre
<br>cf_extract 1.44

<br>
<p>
Martial fixed a bug in the initialization of column_sum that caused a
fatal bus error.
The change is too small to update the pipeline version number.
<P>

<hr>
<p>August 18, 2000
<br>Ed Murphy
<br>cf_update_qual 1.03

<br>
<p>
I added calls to cf_proc_check and cf_proc_update to cf_update_qual 
to rid the trailer files of the warnings concerning the QUAL_COR
keyword.  New version of cf_update_qual is 1.03.  The change is too
small to update the pipeline version number.
<P>

<hr>
<p>August 14, 2000
<br>Martial
<br>cf_extract 1.43

<br>
<p>
To avoid the centroid to be shifted close to the bright edge, the procedure should compute the size of 
the scanning window for each different channel (the changes done in version 1.41 were wrong!!!)
<P>

<hr>
<p>August 13, 2000
<br>Martial
<br>cf_coadd 1.17

<br>
<p>
Propagation of quality should have been done with float since the very  beginning (now fixed).
<P>

<hr>
<p>August 9, 2000
<br>Martial
<br>cf_extract 1.42

<br>
<p>
Added a define statement to use sunmath only ifdef SOLARIS.
<P>

<hr>
<p>July 26, 2000
<br>J. C. Hsu, R. Robinson, Ed Murphy
<br>cf_update_qual v1.02
<br>cf_driftcorr2 v1.23

<p>J. C. Hsu has written a program cf_update_qual to update the quality
flags in the *_img.fit files after the drift correction has been 
determined.  The FARF positions of the dead spots and edges of the detectors
were determined by Rich Robinson and are in the qual*001.fit calibration
files.  The drift correction is used to correct for the strecth/shift
in going from the FARF to the observed data frame.

<p>When implementing cf_update_qual, Ed Murphy noticed that cf_driftcorr2
was centroiding the stims incorrectly.  The error arose because the
algorithm was computing the stim centroid in a box that had an extent
of +-256 in X.  Since the stims are at pixel ~230 (on segment 1a) the
centroiding box was including counts along the X=0 column, which 
skewed the centroid.  In the particular observation that he used
to test the routine (M999 flat field) the X=0 column was particularly
bright due to the high count rates in a stim lamp observation.  This
problem probably does not effect most observations, since the X=0 column
is normally much weaker.  He also modified cf_driftcorr2 to use the 
FARF stim positions given in calfuse.h as opposed to the positions that
were hard coded into the routine.
<P>
Ed Murphy created V1.8.3.

<hr>
<p>July 21, 2000
<br>Martial
<br>cf_extract 1.41

<br>
<p>
Fixed bug of implementation of a pointer in im_centroid wich caused a bus error.
<P>

<hr>
<p>June 27, 2000
<br>Jeff Kruk
<br>cf_dtcor v1.17

<p>Jeff Kruk added an IDS dead time correction to the dead time correction
routine cf_dtcor.c.

<P>
Ed Murphy created V1.8.2 and V1.7.8.

<hr>
<p>June 26, 2000
<br>Martial
<br>cf_coadd v1.15

<p>Now the default resolution of the coadded spectra is 0.1 Angstrom. This way,
we make sure that astronomers outside JHU don't use them for science purpose
(since some of the channels are currently misaligned => artefacts). Note that
the user is still free to have maximal resolution by tuning the arguments.

<hr>
<p>June 20, 2000
<br>Ed Murphy
<br>cf_ttag_screen 1.49, cf_hist_dopp v1.23
<br>PR 41926

<br>
<p>
Peter Young noticed that the Doppler shift in pixels for the SiC and 
LiF spectra on segment 1a were both in the same direction.  Since the
dispersions run in opposite directions, the two shifts should be opposite
in sign.  The DISPAPIX keyword in the wavelength calibration file records
the average dispersion in Angstroms/pixel.  It should be positive when
the wavelength increases with increasing pixel number and it should be
negative when the wavelength decreases with increasing pixel number 
(SiC1 and LiF2).  However, I found that the DISPAPIX keyword was always 
positive in the recent versions of the wavelength calibration files.
Therefore, for SiC1 and LiF2, the sign of the Doppler and heliocentric
corrections are incorrect.

<P>
I have modified the code in cf_ttag_screen and cf_hist_dopp to read in
the absolute value of DISPAPIX and compute the sign of the shift based
on the aperture to which the photon belongs.  The new version of 
cf_ttag_screen is 1.49 and the new version of cf_hist_dopp is 1.23.

<P>
I have also removed the flat-fielding step from the pipeline.  Even
though we do not have a flat-field file, we have been applying a flat
field (filled with 1's) to the data so that we could incorporate a bad
pixel mask.  However, we are not stretching/shifting the flat field file
(since it is all 1's) to match the data which means that the bad pixel
mask does not line up with the data.  J.C. Hsu is in the process of
writing a new module to properly apply the bad pixel mask.  However,
the routine cf_ttag_geodopp.c still requires the _ff.fit file, so we
must still run cf_make_ff_temp.  This intermediate _ff.fit data file
contains all 1's over the active area of the detectors, and 0's 
everywhere else.  Since we are not running the cf_ff, the locations 
where the flat field is 0 are not being flagged as bad.  This was
causing cf_ttag_geodopp to report a lot of "Divide by zero in ffbuf"
errors.  For now, I have turned off the warning in cf_ttag_geodopp.

<P>
Ed Murphy created V1.8.1 and V1.7.7.

<hr>
<p>June 13, 2000
<br>Martial
<br>cf_extract 1.40
<br>

<br>
<p>
The algorithm of finding the centroid has been totally changed. Now the position
of the spectrum is reached via a maximisation of the flux in the extraction window.
Moreover, the airglows are systematically screened to center only on the source.

<hr>
<p>June 9, 2000
<br>Martial
<br>cf_extract 1.39

<br>
<p>
Airglow screened while computing the centroid.
<P>
<hr>
<p>June 9, 2000
<br>Martial
<br>cf_extract 1.38

<br>
<p>
Major change to calculate the centroid. Center is reached for flux maximum.
<P>
<hr>
<p>June 4, 2000
<br>Martial
<br>Version 7 of the extraction windows
<br>

<br>
<p>
The way the windows are calculated changed drastically. Using the parameter of the distortion
correction, the shape of each window has been simplified (butterfly or trapeze) and the
weigth files are filled with parabolic profiles (first approximation). For more details
see /data1/fuse/calfuse/v1.8/src/cal/extraction_masks/README


<hr>
<p>May 24, 2000
<br>Martial
<br>cf_extract 1.37

<br>
<p>
Added a define statement for the cpp and DEC
<P>
<hr>
<br>
<hr>
<p>May 18, 2000
<br>Jeff Kruk, Ed Murphy
<br>cf_wcal 1.24

<br>
<p>
Jeff Kruk upgraded cf_wcal to read either the new FPA keywords (FPASXPOS
or FPALXPOS) or the old keywords (FP1SXPOS, FP1LXPOS, FP2SXPOS, or 
FP2LXPOS).  New version is 1.24.
<P>
Ed Murphy created V1.8.0.


<hr>
<p>May 17, 2000
<br>Jeff Kruk, Ed Murphy, Paul Barrett
<br>CALFUSE v1.7.6

<br>
<p>
Jeff Kruk has completed the new version of cf_dtcor.
<P>
Ed Murphy found and corrected a bug in cf_extract that prevented the
SiC extraction windows from being reset to the default position if 
the centroid was more than EMAX_SIC pixels from the exptected position.
<P>
Paul Barret changed the interpolation algorithm back to a constant (to
prevent ringing around the outside of the spectrum) and fixed a bug in 
that implementation.

<hr>

<p>May 12, 2000
<br>Jeff Kruk, Paul Barrett
<br>CALFUSE v1.7.5

<br>
<p>
Jeff Kruk has modified cf_wcal.c (now version 1.23) to correct the 
wavelength scale for the position of the FPA.
<P>
Paul Barrett has produced new versions of the detector distortion
files: geom*005.fit in /data1/fuse/calfuse/calfiles.

<hr>

<p>April 24, 2000
<br>Ed Murphy
<br>CALFUSE v1.7.4

<br>
<p>
The pipeline can now generate a few diagnostic plots (using IDL) while
it is running if the CF_IDLDIR environment variable is set to point to
the location of the IDL programs.  To set up the pipeline to make the
plots, add the following to your .cshrc or .login file:<BR>
setenv CF_IDLDIR '/data1/fuse/calfuse/current/idl/'
<P>
The plots are in GIF format so that they can, at some future time,
be linked to the SDOG pages.
<hr>
<p>April 24, 2000
<br>Ed Murphy
<br>CALFUSE v1.7.4

<br>
<p>
Development on V1.7.4 of the pipeline has been frozen.  Only bug fixes 
will be made from now on.  The current stable version of the pipeline 
now points to V1.7.4.  You will need new calibration files, new
parameter files,  and a new master_calib_file.dat
<P>
Upgrades (besides those listed in previous messages) include:
<ol>
<li> Both the code (V1.7.*) and calibration files are now in the
Flight Alignment Reference Frame.  This means that the stretch and
shift has been reduced from about 120 pixels in X to less than 10
pixels in X.
<li> Improved wavelength calibration from Don Lindler.
<li> Improved flux calibration from Jeff Kruk.
<li> Improved distortion correction from Paul Barrett.
<li> The user now has the ability to scale the background by a simple
scalar value when using pulse height screening.  The value to scale
the background is in the PHA_BKGD keyword in the screening parameter
file.
<li> The user now has the ability to limit the motion of the spectral 
extraction windows based on the pipeline determined centroid.  If the
difference between the expected and actual positions is larger than
the limit, the pipeline defaults to the expected position.  The limit
is set using the EMAX_LIF and EMAX_SIC keywords in the parm**002.fit
files.
<li> The user now has the ability to ignore the pipeline determined
centroid and place the extraction windows where ever they wish using
the SPEX_SIC and SPEX_LIF keywords in the parm**002.fit files.  Note
that the maximum motion limit described above still applies.
</ol>

<hr WIDTH="100%">

<p>March 24, 2000
<br>Paul Barrett
<br>CALFUSE v1.7.4
<br>PR 41000
<p>It has been suggested that a higher order interpolation scheme be used
when expanding the binned histogram data, instead of the current constant
interpolation scheme. A quadratic average interpolation algorithm has been
implemented in cf_hist_init. This algorithm uses data from neighboring
pixels to interpolate the data in binned pixles while conserving the total
number of counts per binned pixel. This routine has been tested.
<p>This modification to cf_hist_init will now allow histogram data to be
used for determining distortion corrections by providing necessary spatial
resolution.
<hr WIDTH="100%">
<p>March 7, 2000
<br>Ed Murphy
<br>CALFUSE V1.6.9 and V1.7.3
<br>PR 40864

<p STYLE="margin-bottom: 0in">In the SDOG report for P1320101 Jeff Kruk
found that the pipeline seemed to be excessively screening out data that
was near, but not violating, the night time limb angle limit. I found flawed
logic in the limb angle check in cf_check_point.c that meant that the bright
limb angle was always used regardless of the day/night flag. The problem
has been corrected (cf_check_point.c now V1.15) and the routine has been
tested.
<br>
<hr>
<p>February 10, 2000
<br>Ed Murphy
<br>CALFUSE V1.6.8 and V1.7.2
<br>PR 40661

<p STYLE="margin-bottom: 0in">Bill Oegerle noticed that the pipeline was
not subtracting the background from some recently processed datasets. The
pipeline has been in this state since sometime around the end of December
1999. I fixed the problem in both versions of the pipeline: new versions
are V1.6.8 and V1.7.2
<p>The problem was found in cf_make_bkgd_temp.c, which is a temporary module
designed to read in the background calibration file and write it into the
*ttagf_bkgd.fit file needed by the pipeline. The module does not stretch
or shift the background image but does scale the background by the integration
time. In the calibration file, the background image is composed of short
integers with the value 1 everywhere. The keyword BSCALE gives the number
of square cm per pixel, so that the file contains the number of counts
per pixel per second. The original version of cf_make_bkgd_temp.c read
in the calibration image and wrote it out directly, without converting
the input image to floats. All it did was multiply BSCALE by the integration
time, so that when cf_bkgd.c read in the file and scaled by BSCALE, the
resulting image would be background counts per pixel for the full integration.
<p>In late December 1999, it was decided to rewrite cf_make_bkgd_temp.c
to rebin the data for histogram mode observations. In this case, the new
routine read in the calibration file array (all 1), converted the background
image to floats by applying BSCALE, rebinned the data (if necessary), and
wrote out an array of floats. However, the header was copied from the input
file, so the BSCALE keyword still remained even though the data had already
been scaled as part of the routine. In addition, the step where BSCALE
was multiplied by the integration time also remained in the new version.
Therefore, when cf_bkgd.c read in the *ttagf_bkgd.fit intermediate file,
it used the BSCALE keyword a second time. The result was that the subtracted
background was about two orders of magnitude too small.
<p>Because the pipeline now unbins the histogram data, we have reverted
back to the original versions of the routines which do not rebin the data
and do not suffer from this problem. The new version of cf_make_bkgd_temp.c
is V1.4.&nbsp;
<hr>
<p>February 1, 2000
<br>Ed Murphy
<br>CALFUSE V1.6.7 and V1.7.1
<br>PR 40541

<p STYLE="margin-bottom: 0in">A few histogram data sets were crashing the
pipeline becuause of a bad pixel value that was larger than 32767. This
value was large enough that it would not fit into a short integer in the
pipeline and cfitsio would return a data conversion error. Jim Rose has
agreed to modify the OPUS pipeline to find pixel values larger than 32767
and change them to the data fill value 21865. As seen below, the pipeline
will convert the data fill value to 0.0 and change its quality flag to
bad.
<hr>
<p>February 1, 2000
<br>Ed Murphy
<br>CALFUSE V1.6.7 and V1.7.1
<br>PR 40544

<p STYLE="margin-bottom: 0in">A number of histogram data sets have fill
data in them (decimal 21865) which the pipeline was not filtering out.
I have modifed v1.6.7 and v1.7.1 of the pipeline to check pixels for the
fill data value. If the fill data value is found, it will replace the data
with 0.0 and change the quality flag to bad.
<hr>
<p>January 31, 2000
<br>Ed Murphy
<br>CALFUSE V1.6.7 and V1.7.1
<br>PR 40553

<p STYLE="margin-bottom: 0in">Until now, the DATE keyword in the header
was not modified by any of the modules in the pipeline, even though its
comment stated that it was the "date the file was written." I have modified
cf_proc_update.c to update the DATE keyword. Since cf_proc_update is called
at the end of each module of the pipeline, the output files and all intermediate
data products will now have accurate dates and times in the DATE keyword.
This change was made to both V.1.6.7 and V1.7.1 of the pipeline.
<hr>
<p>January 24, 2000
<br>Martial
<br>CALFUSE V1.6 and V1.7

<p STYLE="margin-bottom: 0in">CENTROIDING PROBLEMS FIXED :

<p STYLE="margin-bottom: 0in">Until now, the cf_extract procedure was unable
to perform a good centroiding in Y when very few counts were involved.
Since we used the formula : Ycenter = (<font face="symbol">&aring;</font>
Yi * nbcounts_i)/<font face="symbol">&aring;</font>nbcounts_i, where nbcounts_i
is the total number of counts along the row i, the result was depending
on the Y limits of the sum. For instance, if the upper limit equals infinity,
the result is infinity (do not forget that the noise is different of 0).
So, to use this formula, we need a first guess for the position of the
center in order

<p STYLE="margin-bottom: 0in">to choose a domain of calculation surrounding
it. At present, this first guess is the maximum peak.
<br>
<hr>
<p>January 21, 2000
<br>Martial
<br>CALFUSE V1.6 and V1.7

<p STYLE="margin-bottom: 0in">The new extraction windows are now available
(spex*005.fit). This is the first set of In Orbit Based Extraction Windows
: all the apertures have the same window (based on 100 percent with LWRS).

<p STYLE="margin-bottom: 0in">The associated weight files are also available
(wgts*003.fit). Note that since the raw windows extracted from In Orbit
Data are very noisy, I had to smooth and correct the geometrical distorsions
, sometimes " by hand ".
<br>&nbsp;
<table BORDER CELLSPACING=3 CELLPADDING=4 >
<caption><COL WIDTH=85><COL WIDTH=85><COL WIDTH=85><THEAD>
<br></THEAD><TBODY>
<br></TBODY></caption>

<tr VALIGN=TOP>
<th>Detector</th>

<th>Data Used</th>

<th>Notes</th>
</tr>

<tr VALIGN=TOP>
<td>1A (LiF)</td>

<td>/data2/fuse/CAL/M101/M1010201</td>

<td>Good&nbsp;</td>
</tr>

<tr VALIGN=TOP>
<td>1A (SiC)</td>

<td>/data2/fuse/CAL/M103/M1030303</td>

<td>Good&nbsp;</td>
</tr>

<tr VALIGN=TOP>
<td>1B (LiF)</td>

<td>/data2/fuse/CAL/M101/M1010201</td>

<td>Corrected by hand : mirror transformation applied</td>
</tr>

<tr VALIGN=TOP>
<td>1B (SiC)</td>

<td>/data2/fuse/CAL/M103/M1030304</td>

<td>Corrected by hand : linear regression for the narrow domain</td>
</tr>

<tr VALIGN=TOP>
<td>2A (LiF)</td>

<td>/data2/fuse/CAL/M101/M1010201</td>

<td>Good</td>
</tr>

<tr VALIGN=TOP>
<td>2A (SiC)</td>

<td>/data2/fuse/CAL/M103/M1030304</td>

<td>Good&nbsp;</td>
</tr>

<tr VALIGN=TOP>
<td>2B (LiF)</td>

<td>NOT AVAILABLE</td>

<td>Here I didn't find a signal strong enough ... I used the old Ground
Based Files + geometrical correction</td>
</tr>

<tr VALIGN=TOP>
<td>2B (SiC)</td>

<td>/data2/fuse/CAL/M103/M1030304</td>

<td>Ground Based Files + geometrical correction</td>
</tr>
</table>

<div STYLE="margin-bottom: 0in"></div>&nbsp;


<p STYLE="margin-bottom: 0in">Note also that you can change the windows
with "cf_modifwindows" wich apply an homothetic factor to the LiF channel
and the SiC channel :

<p STYLE="margin-bottom: 0in">>cf_modifwindows filename 0.8 (80% for LiF)
0.9 (90% for SiC)
<br>
<hr>
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;
<p>January 5, 2000
<br>Ed Murphy
<br>CALFUSE V1.6 and V1.7

<p STYLE="margin-bottom: 0in">By popular demand, I have written a program
to convert an ASCII file to the 1-D FITS extracted format that comes out
of the pipeline. The program is called ascii2fits and is in the /usr/local/fusesw/calfuse/current/bin
directory. The program takes 3 arguments: Calling sequence:ascii2fits ascii_file
template_fits_file output_fits_file The ASCII file must have six columns:
wavelength (float) flux (float) errors (float) quality flags (int) counts
(float) errors on counts (float) The template FITS file is used to populate
the header keywords. It can be any raw or pipeline processed file.
<br>
<hr>
<p>January 03, 2000
<br>Paul Barrett
<br>CALFUSE V1.6.5

<p STYLE="margin-bottom: 0in">Overlapping pixels are now averaged by cf_hist_geodopp.
This is a temporary fix to minimize the effect on the spectrum due to a
mis-match between the BARF and FARF, i.e. it removes the spikes from the
spectrum.
<br>
<hr>
<p>December 21, 1999
<br>Ed Murphy
<br>CALFUSE V1.7.1

<p STYLE="margin-bottom: 0in">Version 1.7.1 of the pipeline is now in the
FARF frame, however, the calibration files are not.
<br>
<hr>
<p>December 21, 1999
<br>Ed Murphy
<br>CALFUSE V1.6.5

<p STYLE="margin-bottom: 0in">The dead time correction step has been removed
from the pipeline. The new version of pipeline is V1.6.5. The pipeline
module itself was fine. However, Dave Sahnow has found that the on-board
counters behave strangely at low count rates (in addition to behaving strangely
in the SAA). Until this issue is resolved, we will not dead time correct
the data.
<br>
<hr>
<p>December 21, 1999
<br>Ed Murphy
<br>CALFUSE V1.6.4

<p STYLE="margin-bottom: 0in">Histogram data currently show strong spikes
approximately once per Angstrom. This behavior is not unexpected. It comes
from the fact that we have to compress the image in the X direction by
about 110 pixels in order to bring the data into the reference frame of
the calibration files. Until we can redefine the calibration file reference
frame and remake all our calibration files, this behavior will be present
in the data.
<br>
<hr>
<p>December 17, 1999
<br>Ed Murphy
<br>CALFUSE V1.6.4
<p>Version 1.6.4 of the CALFUSE pipeline is now frozen. In the future,
only bug fixes will occur. The /usr/local/fusesw/calfuse/current directory
will now point to v1.6. All development will take place in v1.7.
<p>Upgrades include:
<ol>
<div STYLE="margin-bottom: 0in">The histogram pipeline finally works. The
histogram images are, for now, expanded out to 16384x1024 in size to avoid
some of the binning problems we were encountering.</div>


<p STYLE="margin-bottom: 0in">The spectral thermal shifts are now removed
from the data using Kathy's algorithm. If you have a local copy of the
calibration files, will need to copy the new version of master_calib_file.dat
from /data1/fuse/calfuse/parmfiles and the new calibration file shft001.fit
from /data1/fuse/calfuse/calfiles.

<p STYLE="margin-bottom: 0in">In ttag data, the calculated centroid of
the target aperture is used to offset all apertures to account for movememnt
in the Y direction. In the past, each aperture was centroided and offset
independently. However, because of the overlapping spectra on side 2, the
HIRS aperture centroid often caused the HIRS extraction to contain significant
flux from the LWRS aperture.
<p>A large number of small items were taken care of (keyword updates, minor
bug fixes, etc.).</ol>

<div STYLE="margin-bottom: 0in">REMINDER: Many people directly reference
"v1.5" rather than "current" in their PATH and LD_LIBRARY_PATH. If you
do this, be sure to change both PATH and LD_LIBARARY_PATH to v1.6. Otherwise,
you will be running the pipeline with outdated copies of the library routines
since we are now using dynamically linked libraries (linked in at run time).</div>

<br>
<hr>
      <address><a href="mailto:emurphy@pha.jhu.edu">Ed Murphy</a></address>
<!-- Created: Fri Apr 28 15:14:57 EDT 2000 -->
<!-- hhmts start -->
Last modified: Monday, December 10 2001
<!-- hhmts end -->
  </body>
</html>