Changeset 33824
- Timestamp:
- Apr 20, 2012, 3:20:43 PM (14 years ago)
- Location:
- branches/eam_branches/ipp-20120405/Ohana/src/addstar
- Files:
-
- 3 added
- 7 edited
-
Makefile (modified) (1 diff)
-
include/WISE.h (modified) (2 diffs)
-
src/args_loadwise.c (modified) (4 diffs)
-
src/find_matches.c (modified) (1 diff)
-
src/find_matches_closest.c (modified) (1 diff)
-
src/loadwise.c (modified) (1 diff)
-
src/loadwise_rawdata.c (added)
-
src/loadwise_star_full.c (modified) (5 diffs)
-
test/WISE.allsky.sample.dat (added)
-
test/WISE.prelim.sample.dat (added)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20120405/Ohana/src/addstar/Makefile
r33719 r33824 220 220 LOAD-WISE = \ 221 221 $(SRC)/loadwise.$(ARCH).o \ 222 $(SRC)/loadwise_ prelim_rawdata.$(ARCH).o \222 $(SRC)/loadwise_rawdata.$(ARCH).o \ 223 223 $(SRC)/loadwise_ops.$(ARCH).o \ 224 224 $(SRC)/loadwise_star_full.$(ARCH).o \ -
branches/eam_branches/ipp-20120405/Ohana/src/addstar/include/WISE.h
r33653 r33824 21 21 short WISE_W1, WISE_W2, WISE_W3, WISE_W4; 22 22 23 int ALLSKY; 24 23 25 AddstarClientOptions args_loadwise (int argc, char **argv, AddstarClientOptions options); 24 26 25 int loadwise_ prelim_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options);27 int loadwise_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options, int ALLSKY); 26 28 27 29 int getWISE_setup (); … … 31 33 32 34 int getWISE_sortStars (WISE_Stars *tstars, int Ntstars); 33 int loadwise_star_full (Stars **star, char *line, int Nmax); 35 36 int loadwise_star_allsky (Stars **star, char *line, int Nmax); 37 int loadwise_star_prelim (Stars **star, char *line, int Nmax); 38 34 39 35 40 char *nextWISEfield (char *line); -
branches/eam_branches/ipp-20120405/Ohana/src/addstar/src/args_loadwise.c
r33653 r33824 1 1 # include "addstar.h" 2 # include "WISE.h" 2 3 static void help (void); 3 4 … … 12 13 } 13 14 14 // a global used by find_matches_refstars.c (value is 1 except for load 2mass& loadwise)15 // a global used by find_matches_refstars.c (value is 1 except for loadwise & loadwise) 15 16 NREFSTAR_GROUP = 4; 16 17 … … 52 53 } 53 54 54 /* other addstar options which cannot be used in load2mass */ 55 /* load the prelim data dump */ 56 ALLSKY = TRUE; 57 if ((N = get_argument (argc, argv, "-prelim"))) { 58 ALLSKY = FALSE; 59 remove_argument (N, &argc, argv); 60 } 61 62 /* other addstar options which cannot be used in loadwise */ 55 63 options.photcode = 0; 56 64 options.timeref = 0; … … 70 78 71 79 if (argc < 2) { 72 fprintf (stderr, "USAGE: load 2mass[options] (wisefile) [..more files]\n");80 fprintf (stderr, "USAGE: loadwise [options] (wisefile) [..more files]\n"); 73 81 exit (2); 74 82 } -
branches/eam_branches/ipp-20120405/Ohana/src/addstar/src/find_matches.c
r33735 r33824 294 294 catalog[0].secfilt[Nave*Nsecfilt+j].Map = NAN; 295 295 catalog[0].secfilt[Nave*Nsecfilt+j].dM = NAN; 296 catalog[0].secfilt[Nave*Nsecfilt+j].Mstdev = NAN ;296 catalog[0].secfilt[Nave*Nsecfilt+j].Mstdev = NAN_S_SHORT; 297 297 catalog[0].secfilt[Nave*Nsecfilt+j].Xm = NAN_S_SHORT; 298 298 catalog[0].secfilt[Nave*Nsecfilt+j].M_20 = NAN_S_SHORT; -
branches/eam_branches/ipp-20120405/Ohana/src/addstar/src/find_matches_closest.c
r33735 r33824 295 295 catalog[0].secfilt[Nave*Nsecfilt+j].Map = NAN; 296 296 catalog[0].secfilt[Nave*Nsecfilt+j].dM = NAN; 297 catalog[0].secfilt[Nave*Nsecfilt+j].Mstdev = NAN ;297 catalog[0].secfilt[Nave*Nsecfilt+j].Mstdev = NAN_S_SHORT; 298 298 catalog[0].secfilt[Nave*Nsecfilt+j].Xm = NAN_S_SHORT; 299 299 catalog[0].secfilt[Nave*Nsecfilt+j].M_20 = NAN_S_SHORT; -
branches/eam_branches/ipp-20120405/Ohana/src/addstar/src/loadwise.c
r33653 r33824 40 40 for (i = 1; i < argc; i++) { 41 41 fprintf (stderr, "loading %s\n", argv[i]); 42 loadwise_ prelim_rawdata (skylist, argv[i], options);42 loadwise_rawdata (skylist, argv[i], options, ALLSKY); 43 43 } 44 44 exit (0); -
branches/eam_branches/ipp-20120405/Ohana/src/addstar/src/loadwise_star_full.c
r33653 r33824 3 3 4 4 int setWISE_ph_qual (Stars *star, char qual); 5 int setWISE_var_flag (Stars *star, char qual); 6 int setWISE_ext_flag (Stars **star, char *ptr); 5 int setWISE_var_flag_allsky (Stars *star, char qual); 6 int setWISE_ext_flag_allsky (Stars **star, char ptr); 7 int setWISE_var_flag_prelim (Stars *star, char qual); 8 int setWISE_ext_flag_prelim (Stars **star, char ptr); 7 9 int setWISE_cc_flag (Stars *star, char qual); 8 10 int setWISE_sat_flag (Stars *star, char *ptr); 9 11 int setWISE_blend_flag (Stars **star, char *ptr); 10 12 13 // there are slight format differences between the prelim data dump and the allsky data dump: 14 // * after ph_qual & det_bit : new field moon_lev 15 // * for each filter, after w?sigp2 : new fields w?dmag, w?ndf, w?mlq, w?mjdmin, w?mjdmax, w?mjdmean 16 // * after w4mdjmean : new fields rho12, rho23, rho34, q12, q23, q34 17 // * after k_msig_2mass : new fields best_use_cntr, ngrp 18 11 19 // fill in the data for a WISE quad star. takes a pointer to the start of the line the 12 20 // RA and DEC have already been set 13 int loadwise_star_ full(Stars **star, char *line, int Nmax) {21 int loadwise_star_allsky (Stars **star, char *line, int Nmax) { 14 22 15 23 int i; … … 52 60 // W1 53 61 for (i = 0; i < 4; i++) { 54 star[0][0].measure.M = strtod (ptr, NULL); // w?mpro 62 char *endpoint; 63 star[i][0].measure.M = strtod (ptr, &endpoint); // w?mpro 64 if (endpoint == ptr) { 65 star[i][0].measure.M = NAN; 66 } 55 67 ptr = nextWISEfield (ptr); 56 star[0][0].measure.dM = strtod (ptr, NULL); // w?sigmpro 68 star[i][0].measure.dM = strtod (ptr, &endpoint); // w?sigmpro 69 if (endpoint == ptr) { 70 star[i][0].measure.dM = NAN; 71 } 57 72 ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: w?sigmpro, w?snr 58 star[ 0][0].measure.psfChisq = strtod (ptr, NULL); // w?rchi273 star[i][0].measure.psfChisq = strtod (ptr, NULL); // w?rchi2 59 74 ptr = nextWISEfield (ptr); // skip : w1rchi2 60 75 … … 81 96 82 97 // set ext flags for all 4 measures 83 setWISE_ext_flag (star, ptr); // ext_flg98 setWISE_ext_flag_allsky (star, ptr[0]); // ext_flg 84 99 ptr = nextWISEfield (ptr); // skip ext_flags 85 100 86 101 for (i = 0; i < 4; i++) { 87 setWISE_var_flag (star[i], ptr[i]); // var_flg 102 setWISE_var_flag_allsky (star[i], ptr[i]); // var_flg 103 } 104 ptr = nextWISEfield (ptr); // skip var_flags 105 106 for (i = 0; i < 4; i++) { 107 setWISE_ph_qual (star[i], ptr[i]); // ph_qual 108 } 109 110 ptr = skipNbounds (ptr, '|', 159, Nmax); // skip: det_bit, moon_lev, w?nm, w?m, w?cov, etc, etc. 111 112 for (i = 0; i < 4; i++) { 113 ptr = skipNbounds (ptr, '|', 8, Nmax); // skip: det_bit, moon_lev, w?nm, w?m, w?cov, etc, etc. 114 115 // double mjdmin = strtod (ptr, NULL); // mjd min 116 // ptr = nextWISEfield (ptr); // skip 117 // double mjdmax = strtod (ptr, NULL); // mjd max 118 // ptr = nextWISEfield (ptr); // skip mjd max 119 double mjdmean = strtod (ptr, NULL); // mjd mean 120 ptr = nextWISEfield (ptr); // skip mjd mean 121 122 // fprintf (stderr, "w%d mjd: %f\n", i, mjdmean); 123 124 // the release is based on data taken in the period 14 January 2010 to 29 April 2010 125 if (mjdmean == 0.0) { 126 star[i][0].measure.t = 0; 127 } else { 128 star[i][0].measure.t = ohana_mjd_to_sec (mjdmean); 129 } 130 } 131 132 star[0][0].measure.photcode = WISE_W1; 133 star[0][0].measure.detID = 0; 134 star[0][0].measure.imageID = 0; 135 136 star[1][0].measure.photcode = WISE_W2; 137 star[1][0].measure.detID = 0; 138 star[1][0].measure.imageID = 0; 139 140 star[2][0].measure.photcode = WISE_W3; 141 star[2][0].measure.detID = 0; 142 star[2][0].measure.imageID = 0; 143 144 star[3][0].measure.photcode = WISE_W4; 145 star[3][0].measure.detID = 0; 146 star[3][0].measure.imageID = 0; 147 148 return TRUE; 149 } 150 151 // fill in the data for a WISE quad star. takes a pointer to the start of the line the 152 // RA and DEC have already been set 153 int loadwise_star_prelim (Stars **star, char *line, int Nmax) { 154 155 int i; 156 char *ptr; 157 158 if (line == NULL) Shutdown ("format error in WISE"); 159 160 ptr = line; 161 162 // I can assign dRA and dDEC to dX and dY if I can consistently set posangle and pltscale 163 star[0][0].measure.posangle = 0.0; 164 star[0][0].measure.pltscale = 1.0; 165 166 ptr = skipNbounds (ptr, '|', 3, Nmax); // skip: desig, ra, dec, 167 star[0][0].measure.dXccd = ToShortPixels(strtod (ptr, NULL)); // sig_ra 168 ptr = nextWISEfield (ptr); 169 star[0][0].measure.dYccd = ToShortPixels(strtod (ptr, NULL)); // sig_dec 170 ptr = nextWISEfield (ptr); 171 172 // we only know a single set of values for all 4 bands 173 for (i = 1; i < 4; i++) { 174 star[i][0].measure.dXccd = star[0][0].measure.dXccd; 175 star[i][0].measure.dYccd = star[0][0].measure.dYccd; 176 star[i][0].measure.posangle = star[0][0].measure.posangle; 177 star[i][0].measure.pltscale = star[0][0].measure.pltscale; 178 } 179 ptr = skipNbounds (ptr, '|', 5, Nmax); // skip: sig_radec, glon, glat, elon, elat 180 181 star[0][0].measure.Xccd = strtod (ptr, NULL); // wx 182 ptr = nextWISEfield (ptr); // skip wx 183 star[0][0].measure.Yccd = strtod (ptr, NULL); // wy 184 ptr = nextWISEfield (ptr); // skip wy 185 186 for (i = 1; i < 4; i++) { 187 star[i][0].measure.Xccd = star[0][0].measure.Xccd; 188 star[i][0].measure.Yccd = star[0][0].measure.Yccd; 189 } 190 ptr = skipNbounds (ptr, '|', 4, Nmax); // skip: cntr, source_id, coadd_id, src 191 192 // W1 193 for (i = 0; i < 4; i++) { 194 star[i][0].measure.M = strtod (ptr, NULL); // w?mpro 195 ptr = nextWISEfield (ptr); 196 star[i][0].measure.dM = strtod (ptr, NULL); // w?sigmpro 197 ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: w?sigmpro, w?snr 198 star[i][0].measure.psfChisq = strtod (ptr, NULL); // w?rchi2 199 ptr = nextWISEfield (ptr); // skip : w1rchi2 200 201 // init the photFlags field 202 star[i][0].measure.photFlags = 0; 203 } 204 205 ptr = nextWISEfield (ptr); // skip: rchi2 206 207 // set blend flags for all 4 measures 208 setWISE_blend_flag (star, ptr); // nb & na both used here 209 ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: nb, na 210 211 for (i = 0; i < 4; i++) { 212 setWISE_sat_flag (star[i], ptr); // w1sat 213 ptr = nextWISEfield (ptr); 214 } 215 ptr = nextWISEfield (ptr); // skip satnum 216 217 for (i = 0; i < 4; i++) { 218 setWISE_cc_flag (star[i], ptr[i]); // cc_flg 219 } 220 ptr = nextWISEfield (ptr); // skip cc_flags 221 222 // set ext flags for all 4 measures 223 setWISE_ext_flag_prelim (star, *ptr); // ext_flg 224 ptr = nextWISEfield (ptr); // skip ext_flags 225 226 for (i = 0; i < 4; i++) { 227 setWISE_var_flag_prelim (star[i], ptr[i]); // var_flg 88 228 } 89 229 ptr = nextWISEfield (ptr); // skip var_flags … … 150 290 151 291 # define FLAG_EXTENDED 0x01000000 // ext == 1 292 # define FLAG_EXT_IN_XSC 0x02000000 // ext == 1 293 # define FLAG_EXT_BY_XSC 0x04000000 // ext == 1 152 294 153 295 # define FLAG_VARIABLE_LEVEL1 0x10000000 // var_flg == 1 to 4 … … 207 349 } 208 350 209 int setWISE_ext_flag (Stars **star, char *ptr) { 210 211 int ext = atoi (ptr); 212 if (ext == 1) { 213 star[0][0].measure.photFlags |= FLAG_EXTENDED; 214 star[1][0].measure.photFlags |= FLAG_EXTENDED; 215 star[2][0].measure.photFlags |= FLAG_EXTENDED; 216 star[3][0].measure.photFlags |= FLAG_EXTENDED; 217 } 218 return TRUE; 219 } 220 221 int setWISE_var_flag (Stars *star, char qual) { 222 223 int value = qual - '0'; 224 assert (value >= 0); 225 assert (value <= 9); 226 if (value == 0) return TRUE; 227 if (value < 5) { 351 int setWISE_ext_flag_allsky (Stars **star, char value) { 352 353 switch (value) { 354 case '0': 355 return TRUE; 356 case '1': 357 star[0][0].measure.photFlags |= FLAG_EXTENDED; 358 star[1][0].measure.photFlags |= FLAG_EXTENDED; 359 star[2][0].measure.photFlags |= FLAG_EXTENDED; 360 star[3][0].measure.photFlags |= FLAG_EXTENDED; 361 return TRUE; 362 case '2': 363 star[0][0].measure.photFlags |= FLAG_EXT_IN_XSC; 364 star[1][0].measure.photFlags |= FLAG_EXT_IN_XSC; 365 star[2][0].measure.photFlags |= FLAG_EXT_IN_XSC; 366 star[3][0].measure.photFlags |= FLAG_EXT_IN_XSC; 367 return TRUE; 368 case '3': 369 star[0][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC; 370 star[1][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC; 371 star[2][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC; 372 star[3][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC; 373 return TRUE; 374 case '4': 375 star[0][0].measure.photFlags |= FLAG_EXT_BY_XSC; 376 star[1][0].measure.photFlags |= FLAG_EXT_BY_XSC; 377 star[2][0].measure.photFlags |= FLAG_EXT_BY_XSC; 378 star[3][0].measure.photFlags |= FLAG_EXT_BY_XSC; 379 return TRUE; 380 case '5': 381 star[0][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC; 382 star[1][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC; 383 star[2][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC; 384 star[3][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC; 385 return TRUE; 386 default: 387 fprintf (stderr, "programming error\n"); 388 abort(); 389 } 390 return TRUE; 391 } 392 393 int setWISE_ext_flag_prelim (Stars **star, char value) { 394 395 switch (value) { 396 case '0': 397 return TRUE; 398 case '1': 399 star[0][0].measure.photFlags |= FLAG_EXTENDED; 400 star[1][0].measure.photFlags |= FLAG_EXTENDED; 401 star[2][0].measure.photFlags |= FLAG_EXTENDED; 402 star[3][0].measure.photFlags |= FLAG_EXTENDED; 403 return TRUE; 404 default: 405 fprintf (stderr, "programming error\n"); 406 abort(); 407 } 408 return TRUE; 409 } 410 411 // NOTE: var flag definition changed slightly between prelim & allsky 412 int setWISE_var_flag_allsky (Stars *star, char qual) { 413 414 switch (qual) { 415 case 'n': 416 return TRUE; 417 case '0': 418 case '1': 419 case '2': 420 case '3': 421 case '4': 422 case '5': 228 423 star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL1; 229 424 return TRUE; 230 }231 if (value < 8) {425 case '6': 426 case '7': 232 427 star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL2; 233 428 return TRUE; 234 } 235 star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL3; 236 return TRUE; 429 case '8': 430 case '9': 431 star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL3; 432 return TRUE; 433 default: 434 fprintf (stderr, "programming error\n"); 435 abort(); 436 } 437 } 438 439 int setWISE_var_flag_prelim (Stars *star, char qual) { 440 441 switch (qual) { 442 case '0': 443 return TRUE; 444 case '1': 445 case '2': 446 case '3': 447 case '4': 448 star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL1; 449 return TRUE; 450 case '5': 451 case '6': 452 case '7': 453 star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL2; 454 return TRUE; 455 case '8': 456 case '9': 457 star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL3; 458 return TRUE; 459 default: 460 fprintf (stderr, "programming error\n"); 461 abort(); 462 } 237 463 } 238 464
Note:
See TracChangeset
for help on using the changeset viewer.
