Changeset 38062 for trunk/Ohana/src/addstar
- Timestamp:
- Mar 29, 2015, 6:52:41 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
-
. (modified) (1 prop)
-
Ohana (modified) (1 prop)
-
Ohana/src/addstar/include/WISE.h (modified) (1 diff)
-
Ohana/src/addstar/src/args_loadwise.c (modified) (1 diff)
-
Ohana/src/addstar/src/loadwise_rawdata.c (modified) (2 diffs)
-
Ohana/src/addstar/src/loadwise_star_full.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
-
trunk/Ohana
- Property svn:mergeinfo deleted
-
trunk/Ohana/src/addstar/include/WISE.h
r37807 r38062 35 35 int getWISE_sortStars (WISE_Stars *tstars, int Ntstars); 36 36 37 int loadwise_star_prelim (Stars **star, char *line, int Nmax); 37 38 int loadwise_star_allsky (Stars **star, char *line, int Nmax); 38 int loadwise_star_ prelim(Stars **star, char *line, int Nmax);39 int loadwise_star_allwise (Stars **star, char *line, int Nmax); 39 40 40 41 -
trunk/Ohana/src/addstar/src/args_loadwise.c
r37807 r38062 53 53 } 54 54 55 enum {MODE_NONE, MODE_ALLWISE, MODE_ALLSKY, MODE_PRELIM};56 int MODE;57 58 55 /* load the prelim data dump */ 59 56 MODE = MODE_ALLWISE; -
trunk/Ohana/src/addstar/src/loadwise_rawdata.c
r37807 r38062 7 7 8 8 /* read in chunks of ~64MB */ 9 # define NBYTE 0x4000000 9 # define NBYTE 0x40000000 10 10 # define DEBUG 0 11 11 … … 167 167 break; 168 168 case MODE_ALLWISE: 169 loadwise_star_allwise (&stars[Nstars], &buffer[offset], Nbyte - offset); 170 break; 169 171 default: 170 // loadwise_star_allwise (&stars[Nstars], &buffer[offset], Nbyte - offset);171 172 break; 172 173 } -
trunk/Ohana/src/addstar/src/loadwise_star_full.c
r37818 r38062 14 14 // RA and DEC have already been set 15 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) + 0.005)); // sig_ra -- add 5/1000 to avoid truncation 30 ptr = nextWISEfield (ptr); 31 star[0][0].measure.dYccd = ToShortPixels((strtod (ptr, NULL) + 0.005)); // 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 star[i][0].measure.psfQF = strtod (ptr, NULL); // w?rchi2 69 ptr = nextWISEfield (ptr); // skip : w1rchi2 70 71 // init the photFlags field 72 star[i][0].measure.photFlags = 0; 73 } 74 75 ptr = nextWISEfield (ptr); // skip: rchi2 76 77 // set blend flags for all 4 measures 78 setWISE_blend_flag (star, ptr); // nb & na both used here 79 ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: nb, na 80 81 for (i = 0; i < 4; i++) { 82 setWISE_sat_flag (star[i], ptr); // w1sat 83 ptr = nextWISEfield (ptr); 84 } 85 ptr = nextWISEfield (ptr); // skip satnum 86 87 ptr = skipNbounds (ptr, '|', 15, Nmax); // skip pm info 88 89 for (i = 0; i < 4; i++) { 90 setWISE_cc_flag (star[i], ptr[i]); // cc_flags 91 } 92 ptr = nextWISEfield (ptr); // skip cc_flags 93 ptr = nextWISEfield (ptr); // skip rel 94 95 // set ext flags for all 4 measures 96 setWISE_ext_flag_allsky (star, ptr[0]); // ext_flg 97 ptr = nextWISEfield (ptr); // skip ext_flags 98 99 for (i = 0; i < 4; i++) { 100 setWISE_var_flag_allsky (star[i], ptr[i]); // var_flg 101 } 102 ptr = nextWISEfield (ptr); // skip var_flags 103 104 for (i = 0; i < 4; i++) { 105 setWISE_ph_qual (star[i], ptr[i]); // ph_qual 106 } 107 108 ptr = skipNbounds (ptr, '|', 157, Nmax); // skip: det_bit, moon_lev, w?nm, w?m, w?cov, etc, etc. 109 // w?frtr dropped, (-4), use_src, best_use_cntr, ngrp added (+3), w?dmag dropped, w?k added, 110 111 for (i = 0; i < 4; i++) { 112 ptr = skipNbounds (ptr, '|', 8, Nmax); // skip: w?magp, w?sigp1,2, w?dmag, w?ndf, w?m1q, w?mjdmin, w?mjdmax 113 // w?magp is at 217, ph_qual is at 60 114 // double mjdmin = strtod (ptr, NULL); // mjd min 115 // ptr = nextWISEfield (ptr); // skip 116 // double mjdmax = strtod (ptr, NULL); // mjd max 117 // ptr = nextWISEfield (ptr); // skip mjd max 118 double mjdmean = strtod (ptr, NULL); // mjd mean 119 ptr = nextWISEfield (ptr); // skip mjd mean 120 121 // fprintf (stderr, "w%d mjd: %f\n", i, mjdmean); 122 123 // the release is based on data taken in the period 14 January 2010 to 29 April 2010 124 if (mjdmean == 0.0) { 125 star[i][0].measure.t = 0; 126 } else { 127 star[i][0].measure.t = ohana_mjd_to_sec (mjdmean); 128 } 129 } 130 131 star[0][0].measure.photcode = WISE_W1; 132 star[0][0].measure.detID = 0; 133 star[0][0].measure.imageID = 0; 134 135 star[1][0].measure.photcode = WISE_W2; 136 star[1][0].measure.detID = 0; 137 star[1][0].measure.imageID = 0; 138 139 star[2][0].measure.photcode = WISE_W3; 140 star[2][0].measure.detID = 0; 141 star[2][0].measure.imageID = 0; 142 143 star[3][0].measure.photcode = WISE_W4; 144 star[3][0].measure.detID = 0; 145 star[3][0].measure.imageID = 0; 146 147 return TRUE; 148 } 149 150 // there are slight format differences between the prelim data dump and the allsky data dump: 151 // * after ph_qual & det_bit : new field moon_lev 152 // * for each filter, after w?sigp2 : new fields w?dmag, w?ndf, w?mlq, w?mjdmin, w?mjdmax, w?mjdmean 153 // * after w4mdjmean : new fields rho12, rho23, rho34, q12, q23, q34 154 // * after k_msig_2mass : new fields best_use_cntr, ngrp 155 156 // fill in the data for a WISE quad star. takes a pointer to the start of the line the 157 // RA and DEC have already been set 158 int loadwise_star_allsky (Stars **star, char *line, int Nmax) { 16 159 17 160 int i; … … 84 227 ptr = nextWISEfield (ptr); // skip satnum 85 228 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 229 for (i = 0; i < 4; i++) { 230 setWISE_cc_flag (star[i], ptr[i]); // cc_flg 90 231 } 91 232 ptr = nextWISEfield (ptr); // skip cc_flags 92 ptr = nextWISEfield (ptr); // skip rel93 233 94 234 // set ext flags for all 4 measures … … 105 245 } 106 246 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 247 ptr = skipNbounds (ptr, '|', 159, Nmax); // skip: det_bit, moon_lev, w?nm, w?m, w?cov, etc, etc. 248 249 for (i = 0; i < 4; i++) { 250 ptr = skipNbounds (ptr, '|', 8, Nmax); // skip: det_bit, moon_lev, w?nm, w?m, w?cov, etc, etc. 112 251 113 252 // double mjdmin = strtod (ptr, NULL); // mjd min … … 147 286 } 148 287 149 // there are slight format differences between the prelim data dump and the allsky data dump:150 // * after ph_qual & det_bit : new field moon_lev151 // * for each filter, after w?sigp2 : new fields w?dmag, w?ndf, w?mlq, w?mjdmin, w?mjdmax, w?mjdmean152 // * after w4mdjmean : new fields rho12, rho23, rho34, q12, q23, q34153 // * after k_msig_2mass : new fields best_use_cntr, ngrp154 155 288 // fill in the data for a WISE quad star. takes a pointer to the start of the line the 156 289 // RA and DEC have already been set 157 int loadwise_star_ allsky(Stars **star, char *line, int Nmax) {290 int loadwise_star_prelim (Stars **star, char *line, int Nmax) { 158 291 159 292 int i; … … 196 329 // W1 197 330 for (i = 0; i < 4; i++) { 198 char *endpoint;199 star[i][0].measure.M = strtod (ptr, &endpoint); // w?mpro200 if (endpoint == ptr) {201 star[i][0].measure.M = NAN;202 }203 ptr = nextWISEfield (ptr);204 star[i][0].measure.dM = strtod (ptr, &endpoint); // w?sigmpro205 if (endpoint == ptr) {206 star[i][0].measure.dM = NAN;207 }208 ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: w?sigmpro, w?snr209 star[i][0].measure.psfChisq = strtod (ptr, NULL); // w?rchi2210 ptr = nextWISEfield (ptr); // skip : w1rchi2211 212 // init the photFlags field213 star[i][0].measure.photFlags = 0;214 }215 216 ptr = nextWISEfield (ptr); // skip: rchi2217 218 // set blend flags for all 4 measures219 setWISE_blend_flag (star, ptr); // nb & na both used here220 ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: nb, na221 222 for (i = 0; i < 4; i++) {223 setWISE_sat_flag (star[i], ptr); // w1sat224 ptr = nextWISEfield (ptr);225 }226 ptr = nextWISEfield (ptr); // skip satnum227 228 for (i = 0; i < 4; i++) {229 setWISE_cc_flag (star[i], ptr[i]); // cc_flg230 }231 ptr = nextWISEfield (ptr); // skip cc_flags232 233 // set ext flags for all 4 measures234 setWISE_ext_flag_allsky (star, ptr[0]); // ext_flg235 ptr = nextWISEfield (ptr); // skip ext_flags236 237 for (i = 0; i < 4; i++) {238 setWISE_var_flag_allsky (star[i], ptr[i]); // var_flg239 }240 ptr = nextWISEfield (ptr); // skip var_flags241 242 for (i = 0; i < 4; i++) {243 setWISE_ph_qual (star[i], ptr[i]); // ph_qual244 }245 246 ptr = skipNbounds (ptr, '|', 159, Nmax); // skip: det_bit, moon_lev, w?nm, w?m, w?cov, etc, etc.247 248 for (i = 0; i < 4; i++) {249 ptr = skipNbounds (ptr, '|', 8, Nmax); // skip: det_bit, moon_lev, w?nm, w?m, w?cov, etc, etc.250 251 // double mjdmin = strtod (ptr, NULL); // mjd min252 // ptr = nextWISEfield (ptr); // skip253 // double mjdmax = strtod (ptr, NULL); // mjd max254 // ptr = nextWISEfield (ptr); // skip mjd max255 double mjdmean = strtod (ptr, NULL); // mjd mean256 ptr = nextWISEfield (ptr); // skip mjd mean257 258 // fprintf (stderr, "w%d mjd: %f\n", i, mjdmean);259 260 // the release is based on data taken in the period 14 January 2010 to 29 April 2010261 if (mjdmean == 0.0) {262 star[i][0].measure.t = 0;263 } else {264 star[i][0].measure.t = ohana_mjd_to_sec (mjdmean);265 }266 }267 268 star[0][0].measure.photcode = WISE_W1;269 star[0][0].measure.detID = 0;270 star[0][0].measure.imageID = 0;271 272 star[1][0].measure.photcode = WISE_W2;273 star[1][0].measure.detID = 0;274 star[1][0].measure.imageID = 0;275 276 star[2][0].measure.photcode = WISE_W3;277 star[2][0].measure.detID = 0;278 star[2][0].measure.imageID = 0;279 280 star[3][0].measure.photcode = WISE_W4;281 star[3][0].measure.detID = 0;282 star[3][0].measure.imageID = 0;283 284 return TRUE;285 }286 287 // fill in the data for a WISE quad star. takes a pointer to the start of the line the288 // RA and DEC have already been set289 int loadwise_star_prelim (Stars **star, char *line, int Nmax) {290 291 int i;292 char *ptr;293 294 if (line == NULL) Shutdown ("format error in WISE");295 296 ptr = line;297 298 // I can assign dRA and dDEC to dX and dY if I can consistently set posangle and pltscale299 star[0][0].measure.posangle = 0.0;300 star[0][0].measure.pltscale = 1.0;301 302 ptr = skipNbounds (ptr, '|', 3, Nmax); // skip: desig, ra, dec,303 star[0][0].measure.dXccd = ToShortPixels(strtod (ptr, NULL)); // sig_ra304 ptr = nextWISEfield (ptr);305 star[0][0].measure.dYccd = ToShortPixels(strtod (ptr, NULL)); // sig_dec306 ptr = nextWISEfield (ptr);307 308 // we only know a single set of values for all 4 bands309 for (i = 1; i < 4; i++) {310 star[i][0].measure.dXccd = star[0][0].measure.dXccd;311 star[i][0].measure.dYccd = star[0][0].measure.dYccd;312 star[i][0].measure.posangle = star[0][0].measure.posangle;313 star[i][0].measure.pltscale = star[0][0].measure.pltscale;314 }315 ptr = skipNbounds (ptr, '|', 5, Nmax); // skip: sig_radec, glon, glat, elon, elat316 317 star[0][0].measure.Xccd = strtod (ptr, NULL); // wx318 ptr = nextWISEfield (ptr); // skip wx319 star[0][0].measure.Yccd = strtod (ptr, NULL); // wy320 ptr = nextWISEfield (ptr); // skip wy321 322 for (i = 1; i < 4; i++) {323 star[i][0].measure.Xccd = star[0][0].measure.Xccd;324 star[i][0].measure.Yccd = star[0][0].measure.Yccd;325 }326 ptr = skipNbounds (ptr, '|', 4, Nmax); // skip: cntr, source_id, coadd_id, src327 328 // W1329 for (i = 0; i < 4; i++) {330 331 star[i][0].measure.M = strtod (ptr, NULL); // w?mpro 331 332 ptr = nextWISEfield (ptr); … … 413 414 # define FLAG_PH_U 0x00000008 // quality flag 'U' 414 415 # define FLAG_PH_X 0x00000010 // quality flag 'X' 416 # define FLAG_PH_Z 0x00000020 // quality flag 'Z' 415 417 416 418 # define FLAG_SATURATED_PIX 0x00000100 // sat > 0.0 … … 429 431 # define FLAG_EXT_BY_XSC 0x04000000 // ext == 1 430 432 431 # define FLAG_VARIABLE_LEVEL1 0x10000000 // var_flg == 1 to 4 432 # define FLAG_VARIABLE_LEVEL2 0x20000000 // var_flg == 5 to 7 433 // note prelim version had 1 -> 1-4, 2 -> 5-6 434 # define FLAG_VARIABLE_LEVEL1 0x10000000 // var_flg == 0 to 5 435 # define FLAG_VARIABLE_LEVEL2 0x20000000 // var_flg == 6 or 7 433 436 # define FLAG_VARIABLE_LEVEL3 0x40000000 // var_flg == 8 or 9 434 437 … … 606 609 case 'U': star[0].measure.photFlags |= FLAG_PH_U; break; 607 610 case 'X': star[0].measure.photFlags |= FLAG_PH_X; break; 611 case 'Z': star[0].measure.photFlags |= FLAG_PH_Z; break; 608 612 default: 609 613 fprintf (stderr, "error in ph_flag: %c\n", qual);
Note:
See TracChangeset
for help on using the changeset viewer.
