IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 32994


Ignore:
Timestamp:
Dec 21, 2011, 4:11:47 PM (15 years ago)
Author:
eugene
Message:

initial code for WISE and SuperCOSMOS ingests

Location:
branches/eam_branches/ipp-20111122/Ohana/src/addstar
Files:
8 added
11 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20111122/Ohana/src/addstar/Makefile

    r31496 r32994  
    2424sedstar     : $(BIN)/sedstar.$(ARCH)
    2525load2mass   : $(BIN)/load2mass.$(ARCH)
     26loadwise    : $(BIN)/loadwise.$(ARCH)
     27loadsupercos: $(BIN)/loadsupercos.$(ARCH)
    2628gztest      : $(BIN)/gztest.$(ARCH)
    2729mkcmf       : $(BIN)/mkcmf.$(ARCH)
    2830
    29 all: addstar sedstar load2mass skycells mkcmf
     31all: addstar sedstar load2mass skycells mkcmf loadwise loadsupercos
    3032
    3133# I need to fix the client/server version of addstar now that I have dropped Stars
     
    214216$(SRC)/psps_ids.$(ARCH).o
    215217
     218LOAD-WISE = \
     219$(SRC)/loadwise.$(ARCH).o \
     220$(SRC)/loadwise_prelim_rawdata.$(ARCH).o \
     221$(SRC)/loadwise_ops.$(ARCH).o \
     222$(SRC)/loadwise_star_full.$(ARCH).o \
     223$(SRC)/args_loadwise.$(ARCH).o \
     224$(SRC)/ConfigInit.$(ARCH).o \
     225$(SRC)/Shutdown.$(ARCH).o \
     226$(SRC)/StarOps.$(ARCH).o \
     227$(SRC)/find_matches_refstars.$(ARCH).o \
     228$(SRC)/build_links.$(ARCH).o \
     229$(SRC)/replace_match.$(ARCH).o \
     230$(SRC)/SetSignals.$(ARCH).o \
     231$(SRC)/update_coords.$(ARCH).o \
     232$(SRC)/SkyRegionUtils.$(ARCH).o \
     233$(SRC)/psps_ids.$(ARCH).o
     234
     235LOAD-SUPERCOS = \
     236$(SRC)/loadsupercos.$(ARCH).o \
     237$(SRC)/loadsupercos_ops.$(ARCH).o \
     238$(SRC)/loadsupercos_survey.$(ARCH).o \
     239$(SRC)/loadsupercos_plates.$(ARCH).o \
     240$(SRC)/loadsupercos_rawdata.$(ARCH).o \
     241$(SRC)/args_loadsupercos.$(ARCH).o \
     242$(SRC)/ConfigInit.$(ARCH).o \
     243$(SRC)/Shutdown.$(ARCH).o \
     244$(SRC)/StarOps.$(ARCH).o \
     245$(SRC)/find_matches_refstars.$(ARCH).o \
     246$(SRC)/build_links.$(ARCH).o \
     247$(SRC)/replace_match.$(ARCH).o \
     248$(SRC)/SetSignals.$(ARCH).o \
     249$(SRC)/update_coords.$(ARCH).o \
     250$(SRC)/SkyRegionUtils.$(ARCH).o \
     251$(SRC)/parse_time.$(ARCH).o \
     252$(SRC)/psps_ids.$(ARCH).o
     253
    216254SEDSTAR = \
    217255$(SRC)/sedstar.$(ARCH).o \
     
    241279$(SKYCELLS)   : $(INC)/addstar.h
    242280$(LOAD-2MASS) : $(INC)/addstar.h $(INC)/2mass.h
     281$(LOAD-WISE)  : $(INC)/addstar.h $(INC)/WISE.h
    243282$(MKCMF)      : $(INC)/mkcmf.h
    244283
     
    250289$(BIN)/sedstar.$(ARCH)     : $(SEDSTAR)
    251290$(BIN)/load2mass.$(ARCH)   : $(LOAD-2MASS)
     291$(BIN)/loadwise.$(ARCH)    : $(LOAD-WISE)
     292$(BIN)/loadsupercos.$(ARCH): $(LOAD-SUPERCOS)
    252293$(BIN)/skycells.$(ARCH)    : $(SKYCELLS)
    253294$(BIN)/mkcmf.$(ARCH)       : $(MKCMF)
  • branches/eam_branches/ipp-20111122/Ohana/src/addstar/include/WISE.h

    r32346 r32994  
    2121short WISE_W1, WISE_W2, WISE_W3, WISE_W4;
    2222
    23 SkyTable *get2mass_acc (SkyRegion *patch, char *path, char *accel);
    24 Stars    *get2mass_2DR_data (SkyRegion *region, char *filename, SkyRegion *patch, int photcode, int *nstars);
    25 Stars    *get2mass_AS_data (SkyRegion *region, char *filename, SkyRegion *patch, int phocode, int *nstars);
    26 Stars    *get2mass_AS_rawdata (SkyRegion *region, char *filename, SkyRegion *patch, int phocode, int *nstars);
     23AddstarClientOptions args_loadwise (int argc, char **argv, AddstarClientOptions options);
    2724
    28 SkyTable *scan2mass_acc (char *path, char *accel);
    29 int       scan2mass_as_data (char *filename);
     25int loadwise_prelim_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options);
    3026
    31 char     *skipNbounds (char *line, char bound, int Nbound, int Nbyte);
    32 e_time    get2mass_time (char *ptr, int Nbound, int Nbyte);
    33 e_time    get2mass_date (char *ptr, int Nbound, int Nmax);
     27int getWISE_setup ();
     28int getWISE_coords (char *line, double *R, double *D, int Nmax);
     29e_time getWISE_date (char *ptr, int Nbound, int Nmax);
     30e_time getWISE_time (char *ptr, int Nbound, int Nmax);
    3431
    35 int       load2mass_as_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options);
    36 SkyTable *load2mass_acc (char *path, char *accel);
    37 int       get2mass_3star (Stars *star, char *line, int Nmax);
    38 int       load2mass_catalog (Catalog *catalog, Stars *stars, int Nstars);
     32int getWISE_sortStars (WISE_Stars *tstars, int Ntstars);
     33int loadwise_star_full (Stars **star, char *line, int Nmax);
    3934
    40 int       get2mass_setup (int photcode);
    41 int       get2mass_coords (char *line, double *R, double *D, int Nmax);
    42 int       get2mass_star (Stars *star, char *line, int Nmax);
    43 int       get2mass_3star (Stars *star, char *line, int Nmax);
     35char *nextWISEfield (char *line);
     36int setWISE_cc_flag (Stars *star, char qual);
     37int setWISE_ph_qual (Stars *star, char qual);
     38int setWISE_rd_flag (Stars *star, char qual);
     39int setWISE_bl_flag (Stars *star, char qual);
     40int setWISE_gal_flag (Stars *star, char qual);
     41int setWISE_mp_flag (Stars *star, char qual);
     42int setWISE_dup_flag (Stars *star, char qual);
     43int setWISE_use_flag (Stars *star, char qual);
    4444
    45 int get2mass_3star_full (Stars **star, char *line, int Nmax);
    46 char *next2MASSfield (char *line);
    47 int set2MASS_ph_qual (Stars *star, char qual);
    48 int set2MASS_rd_flag (Stars *star, char qual);
    49 int set2MASS_cc_flag (Stars *star, char qual);
    50 int set2MASS_bl_flag (Stars *star, char qual);
    51 int set2MASS_gal_flag (Stars *star, char qual);
    52 int set2MASS_mp_flag (Stars *star, char qual);
    53 int set2MASS_dup_flag (Stars *star, char qual);
    54 int set2MASS_use_flag (Stars *star, char qual);
    55 int get2mass_sortStars (WISE_Stars *tstars, int Ntstars);
     45char *skipNbounds (char *line, char bound, int Nbound, int Nbyte);
  • branches/eam_branches/ipp-20111122/Ohana/src/addstar/include/addstar.h

    r31669 r32994  
    2828    fprintf (stderr, "ERROR:  photcode %s not found in photcode table\n", NAME); \
    2929    exit (0); }
     30
     31# define dCOS(A)   ((double) cos ((double)RAD_DEG*A))
     32# define dSIN(A)   ((double) sin ((double)RAD_DEG*A))
    3033
    3134typedef struct {
  • branches/eam_branches/ipp-20111122/Ohana/src/addstar/src/ConfigInit.c

    r28967 r32994  
    213213
    214214  /* get detection filtering mask */
    215   if(!ScanConfig (config, "DETECTIONFILTER", "%d", 0, &options.detectionFilter)) {
     215  if (!ScanConfig (config, "DETECTIONFILTER", "%d", 0, &options.detectionFilter)) {
    216216      options.detectionFilter = 0;
    217       fprintf (stderr, "Could not find 'DETECTIONFILTER' in config, using '%x'\n", options.detectionFilter);
    218217  }
    219218
  • branches/eam_branches/ipp-20111122/Ohana/src/addstar/src/ReadStarsSDSS.c

    r30613 r32994  
    44
    55# define NFILTER 5
    6 # define dCOS(A)   ((double) cos ((double)RAD_DEG*A))
    7 # define dSIN(A)   ((double) sin ((double)RAD_DEG*A))
    86
    97# define GET_COLUMN_5(NAME,TYPE) \
     
    279277}
    280278
    281 // ha/dec -> alt/az
    282 int altaz (double *alt, double *az, double ha, double dec, double latitude) {
    283 
    284   double sind, sinh, cosh;
    285 
    286   sind = dSIN (dec) * dSIN (latitude) + dCOS (dec) * dCOS (ha) * dCOS (latitude);
    287   *alt  = DEG_RAD * asin (sind);
    288 
    289   sinh = - dCOS (dec) * dSIN (ha);
    290   cosh =   dSIN (dec) * dCOS (latitude) - dCOS (dec) * dCOS (ha) * dSIN (latitude);
    291 
    292   *az = DEG_RAD * atan2 (sinh, cosh);
    293 
    294   // I may need to use the parallactic angle to get the right plate rotation...
    295   // sinh = -dCOS(az) * dSIN(alt) * dSIN(ha) * dSIN(latitude) + dSIN(az) * dSIN(alt) * dCOS(ha) - dSIN(ha) * dCOS(alt) * dCOS(latitude);
    296   // cosh = -dSIN(az) * dSIN(ha) * dSIN(latitude) - dCOS(az) * dCOS(ha);
    297   // rot = -DEG_RAD * atan2 (sinh, cosh);
    298   return TRUE;
    299 }
    300 
    301279int SetSDSSFlags (Stars *star, unsigned int flags1, unsigned int flags2) {
    302280
  • branches/eam_branches/ipp-20111122/Ohana/src/addstar/src/find_matches_refstars.c

    r29001 r32994  
    1313  int Nsecfilt;
    1414
    15   if ((NREFSTAR_GROUP != 1) && (NREFSTAR_GROUP != 3)) {
     15  switch (NREFSTAR_GROUP) {
     16    case 1:
     17    case 3:
     18    case 4:
     19      break;
     20    default:
    1621      fprintf (stderr, "ERROR: NREFSTAR_GROUP NOT SET!\n");
    1722      exit (1);
  • branches/eam_branches/ipp-20111122/Ohana/src/addstar/src/loadwise.c

    r32346 r32994  
    22# include "WISE.h"
    33
     4/* This is the DVO program to upload WISE detections into a DVO database.
     5   It is modeled on the load2mass program, but unlike that case, it is expected to be run only
     6   rarely (once?).  The WISE data are delivered as *.bz2 files.  This program assumes the files
     7   have been decompressed.  It does not allow a subset of the sky to be uploaded; entire WISE
     8   files are loaded if supplied on the command line.
     9
     10   USAGE: loadwise -D CATDIR (catdir) (wisefile) [...more files]
     11
     12 */
     13
    414int main (int argc, char **argv) {
    515
    6   char *path;
    716  int i;
    8   SkyTable *sky, *skyWISE;
     17  SkyTable *sky;
    918  SkyList *skylist = NULL;
    10   SkyList *overlap = NULL;
    1119  AddstarClientOptions options;
    1220
    1321  // need to construct these options with args_loadWISE...
    1422  options = ConfigInit (&argc, argv);
    15   options = args_loadWISE (argc, argv, options);
     23  options = args_loadwise (argc, argv, options);
    1624
    1725  // load the full sky description table:
     
    3038  }
    3139
    32   path = WISE_DIR_PRELIM;
    33 
    34   // the accel.dat file has the raw filenames
    35   // test if the file exists, or else try the .gz version
    36   // XXX can we build an accelerator?
    37   skyWISE = loadWISE_acc (path, "accel.dat");
    38  
    39   for (i = 0; i < skyWISE[0].Nregions; i++) {
    40     // check if any of the skylist entries overlap this WISE catalog:
    41     overlap = SkyListByBounds_List (skylist, -1, skyWISE[0].regions[i].Rmin, skyWISE[0].regions[i].Rmax, skyWISE[0].regions[i].Dmin, skyWISE[0].regions[i].Dmax);
    42     if (overlap[0].Nregions == 0) {
    43       SkyListFree (overlap);
    44       continue;
    45     }
    46    
    47     fprintf (stderr, "loading %s\n", skyWISE[0].filename[i]);
    48     loadWISE_as_rawdata (overlap, skyWISE[0].filename[i], options);
    49     SkyListFree (overlap);
     40  for (i = 1; i < argc; i++) {
     41      fprintf (stderr, "loading %s\n", argv[i]);
     42      loadwise_prelim_rawdata (skylist, argv[i], options);
    5043  }
    5144  exit (0);
    5245
     46
  • branches/eam_branches/ipp-20111122/Ohana/src/addstar/src/loadwise_ops.c

    r32346 r32994  
    11# include "addstar.h"
    22# include "WISE.h"
    3 
    4 static int FilterSkip;
    5 static int TimeSkip;
    6 static int Qentry;
    7 static int Photcode;
    83
    94int getWISE_setup () {
  • branches/eam_branches/ipp-20111122/Ohana/src/addstar/src/loadwise_prelim_rawdata.c

    r32346 r32994  
    1010# define DEBUG 0
    1111
    12 int loadWISE_as_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options) {
     12int loadwise_prelim_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options) {
    1313 
    1414  int i, j, verbose;
     
    159159        stars[Nstars+3][0].average.R = tstars[j].R;
    160160        stars[Nstars+3][0].average.D = tstars[j].D;
    161         getWISE_star_full (&stars[Nstars], &buffer[offset], Nbyte - offset);
     161        loadwise_star_full (&stars[Nstars], &buffer[offset], Nbyte - offset);
    162162
    163163        tstars[j].flag = TRUE;
  • branches/eam_branches/ipp-20111122/Ohana/src/addstar/src/loadwise_star_full.c

    r32346 r32994  
    66// fill in the data for a WISE quad star.  takes a pointer to the start of the line the
    77// RA and DEC have already been set
    8 int getWISE_star_full (Stars **star, char *line, int Nmax) {
     8int loadwise_star_full (Stars **star, char *line, int Nmax) {
    99
    1010  char *ptr;
    11   double dMfull;
    1211  double jd;
    1312
    1413  if (line == NULL) Shutdown ("format error in WISE");
    1514
     15  ptr = line;
     16
    1617  ptr = skipNbounds (ptr, '|', 3, Nmax); // skip: desig, ra, dec,
    17   star[0][0].measure.FWx = ToShortPixels(strtod (ptr, NULL));
    18   ptr = nextWISEfield (ptr); // sig_dec
    19   star[0][0].measure.FWy = ToShortPixels(strtod (ptr, NULL));
    20   ptr = nextWISEfield (ptr); // sig_radec
    21   star[0][0].measure.theta = ToShortPixels(strtod (ptr, NULL));
     18  star[0][0].measure.FWx = ToShortPixels(strtod (ptr, NULL)); // sig_ra
     19  ptr = nextWISEfield (ptr);
     20  star[0][0].measure.FWy = ToShortPixels(strtod (ptr, NULL)); // sig_dec
     21  ptr = nextWISEfield (ptr);
     22  star[0][0].measure.theta = ToShortPixels(strtod (ptr, NULL)); // sig_radec
    2223
    2324  star[1][0].measure.FWx   = star[0][0].measure.FWx;
     
    3132  star[3][0].measure.theta = star[0][0].measure.theta;
    3233
    33   ptr = skipNbounds (ptr, '|', 10, Nmax); // skip: glon, glat, elon, elat, wx, wy, cntr, source_id, coadd_id, src
     34  ptr = skipNbounds (ptr, '|', 11, Nmax); // skip: sig_radec, glon, glat, elon, elat, wx, wy, cntr, source_id, coadd_id, src
    3435
    3536  // W1
    36   star[0][0].measure.M  = strtod (ptr, NULL);
    37   ptr = nextWISEfield (ptr); // j_cmsig
    38   star[0][0].measure.dM = strtod (ptr, NULL);
    39   ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: w1snr, w1rchi2
     37  star[0][0].measure.M  = strtod (ptr, NULL); // w1mpro
     38  ptr = nextWISEfield (ptr);
     39  star[0][0].measure.dM = strtod (ptr, NULL); // w1sigmpro
     40  ptr = skipNbounds (ptr, '|', 3, Nmax); // skip: w1sigmpro, w1snr, w1rchi2
    4041
    4142  // W2
    42   star[1][0].measure.M  = strtod (ptr, NULL);
    43   ptr = nextWISEfield (ptr); // j_cmsig
    44   star[1][0].measure.dM = strtod (ptr, NULL);
    45   ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: w2snr, w2rchi2
     43  star[1][0].measure.M  = strtod (ptr, NULL); // w1mpro
     44  ptr = nextWISEfield (ptr);
     45  star[1][0].measure.dM = strtod (ptr, NULL); // w1sigmpro
     46  ptr = skipNbounds (ptr, '|', 3, Nmax); // skip: w2sigmpro, w2snr, w2rchi2
    4647
    4748  // W3
    48   star[2][0].measure.M  = strtod (ptr, NULL);
    49   ptr = nextWISEfield (ptr); // j_cmsig
    50   star[2][0].measure.dM = strtod (ptr, NULL);
    51   ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: w3snr, w3rchi2
     49  star[2][0].measure.M  = strtod (ptr, NULL); // w1mpro
     50  ptr = nextWISEfield (ptr);
     51  star[2][0].measure.dM = strtod (ptr, NULL); // w1sigmpro
     52  ptr = skipNbounds (ptr, '|', 3, Nmax); // skip: w3sigmpro, w3snr, w3rchi2
    5253
    5354  // W4
    54   star[3][0].measure.M  = strtod (ptr, NULL);
    55   ptr = nextWISEfield (ptr); // j_cmsig
    56   star[3][0].measure.dM = strtod (ptr, NULL);
    57   ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: w4snr, w4rchi2
     55  star[3][0].measure.M  = strtod (ptr, NULL); // w1mpro
     56  ptr = nextWISEfield (ptr);
     57  star[3][0].measure.dM = strtod (ptr, NULL); // w1sigmpro
     58  ptr = skipNbounds (ptr, '|', 3, Nmax); // skip: w4sigmpro, w4snr, w4rchi2
    5859
    5960  star[0][0].measure.photFlags = 0;
     
    6768  setWISE_cc_flag (star[2], ptr[2]); // cc_flg
    6869  setWISE_cc_flag (star[3], ptr[2]); // cc_flg
    69   ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: ext_flg, var_flg
     70  ptr = skipNbounds (ptr, '|', 3, Nmax); // skip: cc_flags, ext_flg, var_flg
    7071
    7172  setWISE_ph_qual (star[0], ptr[0]); // ph_qual
     
    7374  setWISE_ph_qual (star[2], ptr[2]); // ph_qual
    7475  setWISE_ph_qual (star[3], ptr[3]); // ph_qual
    75   ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: ext_flg, var_flg
    7676
    7777  // setWISE_rd_flag (star[0], ptr[0]);
     
    125125  // setWISE_use_flag (star[2], ptr[0]);
    126126
    127   star[0][0].measure.photcode  = TM_J;
     127  star[0][0].measure.photcode  = WISE_W1;
    128128  star[0][0].measure.detID   = 0;
    129129  star[0][0].measure.imageID = 0;
    130130
    131   star[1][0].measure.photcode  = TM_H;
     131  star[1][0].measure.photcode  = WISE_W2;
    132132  star[1][0].measure.detID   = 0;
    133133  star[1][0].measure.imageID = 0;
    134134
    135   star[2][0].measure.photcode  = TM_K;
     135  star[2][0].measure.photcode  = WISE_W3;
    136136  star[2][0].measure.detID   = 0;
    137137  star[2][0].measure.imageID = 0;
     138
     139  star[3][0].measure.photcode  = WISE_W4;
     140  star[3][0].measure.detID   = 0;
     141  star[3][0].measure.imageID = 0;
    138142
    139143  return TRUE;
  • branches/eam_branches/ipp-20111122/Ohana/src/addstar/src/parse_time.c

    r17419 r32994  
    145145
    146146}
     147
     148// ha/dec -> alt/az
     149int altaz (double *alt, double *az, double ha, double dec, double latitude) {
     150
     151  double sind, sinh, cosh;
     152
     153  sind = dSIN (dec) * dSIN (latitude) + dCOS (dec) * dCOS (ha) * dCOS (latitude);
     154  *alt  = DEG_RAD * asin (sind);
     155
     156  sinh = - dCOS (dec) * dSIN (ha);
     157  cosh =   dSIN (dec) * dCOS (latitude) - dCOS (dec) * dCOS (ha) * dSIN (latitude);
     158
     159  *az = DEG_RAD * atan2 (sinh, cosh);
     160
     161  // I may need to use the parallactic angle to get the right plate rotation...
     162  // sinh = -dCOS(az) * dSIN(alt) * dSIN(ha) * dSIN(latitude) + dSIN(az) * dSIN(alt) * dCOS(ha) - dSIN(ha) * dCOS(alt) * dCOS(latitude);
     163  // cosh = -dSIN(az) * dSIN(ha) * dSIN(latitude) - dCOS(az) * dCOS(ha);
     164  // rot = -DEG_RAD * atan2 (sinh, cosh);
     165  return TRUE;
     166}
     167
Note: See TracChangeset for help on using the changeset viewer.