- Timestamp:
- Jan 12, 2015, 12:09:58 PM (12 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/addstar/src/loadwise_star_full.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/addstar/src/loadwise_star_full.c
r33963 r37818 10 10 int setWISE_sat_flag (Stars *star, char *ptr); 11 11 int setWISE_blend_flag (Stars **star, char *ptr); 12 13 // fill in the data for a WISE quad star. takes a pointer to the start of the line the 14 // RA and DEC have already been set 15 int loadwise_star_allwise (Stars **star, char *line, int Nmax) { 16 17 int i; 18 char *ptr; 19 20 if (line == NULL) Shutdown ("format error in WISE"); 21 22 ptr = line; 23 24 // I can assign dRA and dDEC to dX and dY if I can consistently set posangle and pltscale 25 star[0][0].measure.posangle = 0.0; 26 star[0][0].measure.pltscale = 1.0; 27 28 ptr = skipNbounds (ptr, '|', 3, Nmax); // skip: desig, ra, dec, 29 star[0][0].measure.dXccd = ToShortPixels(strtod (ptr, NULL)); // sig_ra 30 ptr = nextWISEfield (ptr); 31 star[0][0].measure.dYccd = ToShortPixels(strtod (ptr, NULL)); // sig_dec 32 ptr = nextWISEfield (ptr); 33 34 // we only know a single set of values for all 4 bands 35 for (i = 1; i < 4; i++) { 36 star[i][0].measure.dXccd = star[0][0].measure.dXccd; 37 star[i][0].measure.dYccd = star[0][0].measure.dYccd; 38 star[i][0].measure.posangle = star[0][0].measure.posangle; 39 star[i][0].measure.pltscale = star[0][0].measure.pltscale; 40 } 41 ptr = skipNbounds (ptr, '|', 5, Nmax); // skip: sig_radec, glon, glat, elon, elat 42 43 star[0][0].measure.Xccd = strtod (ptr, NULL); // wx 44 ptr = nextWISEfield (ptr); // skip wx 45 star[0][0].measure.Yccd = strtod (ptr, NULL); // wy 46 ptr = nextWISEfield (ptr); // skip wy 47 48 for (i = 1; i < 4; i++) { 49 star[i][0].measure.Xccd = star[0][0].measure.Xccd; 50 star[i][0].measure.Yccd = star[0][0].measure.Yccd; 51 } 52 ptr = skipNbounds (ptr, '|', 4, Nmax); // skip: cntr, source_id, coadd_id, src 53 54 // W1 55 for (i = 0; i < 4; i++) { 56 char *endpoint; 57 star[i][0].measure.M = strtod (ptr, &endpoint); // w?mpro 58 if (endpoint == ptr) { 59 star[i][0].measure.M = NAN; 60 } 61 ptr = nextWISEfield (ptr); 62 star[i][0].measure.dM = strtod (ptr, &endpoint); // w?sigmpro 63 if (endpoint == ptr) { 64 star[i][0].measure.dM = NAN; 65 } 66 ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: w?sigmpro, w?snr 67 star[i][0].measure.psfChisq = strtod (ptr, NULL); // w?rchi2 68 ptr = nextWISEfield (ptr); // skip : w1rchi2 69 70 // init the photFlags field 71 star[i][0].measure.photFlags = 0; 72 } 73 74 ptr = nextWISEfield (ptr); // skip: rchi2 75 76 // set blend flags for all 4 measures 77 setWISE_blend_flag (star, ptr); // nb & na both used here 78 ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: nb, na 79 80 for (i = 0; i < 4; i++) { 81 setWISE_sat_flag (star[i], ptr); // w1sat 82 ptr = nextWISEfield (ptr); 83 } 84 ptr = nextWISEfield (ptr); // skip satnum 85 86 ptr = skipNbounds (ptr, '|', 15, Nmax); // skip pm info 87 88 for (i = 0; i < 4; i++) { 89 setWISE_cc_flag (star[i], ptr[i]); // cc_flags 90 } 91 ptr = nextWISEfield (ptr); // skip cc_flags 92 ptr = nextWISEfield (ptr); // skip rel 93 94 // set ext flags for all 4 measures 95 setWISE_ext_flag_allsky (star, ptr[0]); // ext_flg 96 ptr = nextWISEfield (ptr); // skip ext_flags 97 98 for (i = 0; i < 4; i++) { 99 setWISE_var_flag_allsky (star[i], ptr[i]); // var_flg 100 } 101 ptr = nextWISEfield (ptr); // skip var_flags 102 103 for (i = 0; i < 4; i++) { 104 setWISE_ph_qual (star[i], ptr[i]); // ph_qual 105 } 106 107 ptr = skipNbounds (ptr, '|', 158, Nmax); // skip: det_bit, moon_lev, w?nm, w?m, w?cov, etc, etc. 108 // w?frtr dropped, (-4), use_src, best_use_cntr, ngrp added (+3), w?dmag dropped, w?k added, 109 110 for (i = 0; i < 4; i++) { 111 ptr = skipNbounds (ptr, '|', 8, Nmax); // skip: w?magp, w?sigp1,2, w?dmag, w?ndf, w?m1q, w?mjdmin, w?mjdmax 112 113 // double mjdmin = strtod (ptr, NULL); // mjd min 114 // ptr = nextWISEfield (ptr); // skip 115 // double mjdmax = strtod (ptr, NULL); // mjd max 116 // ptr = nextWISEfield (ptr); // skip mjd max 117 double mjdmean = strtod (ptr, NULL); // mjd mean 118 ptr = nextWISEfield (ptr); // skip mjd mean 119 120 // fprintf (stderr, "w%d mjd: %f\n", i, mjdmean); 121 122 // the release is based on data taken in the period 14 January 2010 to 29 April 2010 123 if (mjdmean == 0.0) { 124 star[i][0].measure.t = 0; 125 } else { 126 star[i][0].measure.t = ohana_mjd_to_sec (mjdmean); 127 } 128 } 129 130 star[0][0].measure.photcode = WISE_W1; 131 star[0][0].measure.detID = 0; 132 star[0][0].measure.imageID = 0; 133 134 star[1][0].measure.photcode = WISE_W2; 135 star[1][0].measure.detID = 0; 136 star[1][0].measure.imageID = 0; 137 138 star[2][0].measure.photcode = WISE_W3; 139 star[2][0].measure.detID = 0; 140 star[2][0].measure.imageID = 0; 141 142 star[3][0].measure.photcode = WISE_W4; 143 star[3][0].measure.detID = 0; 144 star[3][0].measure.imageID = 0; 145 146 return TRUE; 147 } 12 148 13 149 // there are slight format differences between the prelim data dump and the allsky data dump:
Note:
See TracChangeset
for help on using the changeset viewer.
