IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 30, 2012, 1:46:12 PM (14 years ago)
Author:
eugene
Message:

merge changes from eam_branches/ipp-20120405

Location:
trunk
Files:
20 edited
6 copied

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/Ohana/src/addstar/Makefile

    r33719 r33963  
    2929mkcmf       : $(BIN)/mkcmf.$(ARCH)
    3030
    31 all: addstar sedstar load2mass skycells mkcmf loadwise loadsupercos dumpskycells
    32 
    33 INSTALL = addstar sedstar load2mass skycells mkcmf loadwise loadsupercos dumpskycells
     31all: addstar addstar_client sedstar load2mass skycells mkcmf loadwise loadsupercos dumpskycells
     32
     33INSTALL = addstar addstar_client sedstar load2mass skycells mkcmf loadwise loadsupercos dumpskycells
    3434
    3535# I need to fix the client/server version of addstar now that I have dropped Stars
     
    7878$(SRC)/resort_threaded.$(ARCH).o \
    7979$(SRC)/resort_unthreaded.$(ARCH).o \
     80$(SRC)/resort_unthreaded_catalogs.$(ARCH).o \
    8081$(SRC)/StarOps.$(ARCH).o \
    8182$(SRC)/ReadStarsFITS.$(ARCH).o \
     
    8990$(SRC)/update_coords.$(ARCH).o \
    9091$(SRC)/psps_ids.$(ARCH).o
     92
     93# this is the client for parallel operations
     94ADDSTAR_CLIENT = \
     95$(SRC)/ConfigInit.$(ARCH).o \
     96$(SRC)/SetSignals.$(ARCH).o \
     97$(SRC)/Shutdown.$(ARCH).o \
     98$(SRC)/SkyListForStars.$(ARCH).o \
     99$(SRC)/SkyRegionUtils.$(ARCH).o \
     100$(SRC)/build_links.$(ARCH).o \
     101$(SRC)/addstar_client.$(ARCH).o \
     102$(SRC)/args_parallel_client.$(ARCH).o \
     103$(SRC)/resort_catalog.$(ARCH).o \
     104$(SRC)/resort_threaded.$(ARCH).o \
     105$(SRC)/resort_unthreaded.$(ARCH).o \
     106$(SRC)/resort_unthreaded_catalogs.$(ARCH).o
    91107
    92108ADDSTARD = \
     
    168184$(SRC)/psps_ids.$(ARCH).o
    169185
     186# this is the client for server / client addstar operations
    170187ADDSTARC = \
    171188$(SRC)/addstarc.$(ARCH).o \
     
    220237LOAD-WISE = \
    221238$(SRC)/loadwise.$(ARCH).o \
    222 $(SRC)/loadwise_prelim_rawdata.$(ARCH).o \
     239$(SRC)/loadwise_rawdata.$(ARCH).o \
    223240$(SRC)/loadwise_ops.$(ARCH).o \
    224241$(SRC)/loadwise_star_full.$(ARCH).o \
     
    282299$(SRC)/SetSignals.$(ARCH).o \
    283300
    284 $(ADDSTARC)   : $(INC)/addstar.h
    285 $(ADDSTARD)   : $(INC)/addstar.h
    286 $(ADDSTART)   : $(INC)/addstar.h
    287 $(ADDSTAR)    : $(INC)/addstar.h
    288 $(SKYCELLS)   : $(INC)/addstar.h
    289 $(DUMPSKYCELLS): $(INC)/addstar.h
    290 $(LOAD-2MASS) : $(INC)/addstar.h $(INC)/2mass.h
    291 $(LOAD-WISE)  : $(INC)/addstar.h $(INC)/WISE.h
    292 $(MKCMF)      : $(INC)/mkcmf.h
    293 
    294 $(BIN)/addstar.$(ARCH)     : $(ADDSTAR)
    295 $(BIN)/addstard.$(ARCH)    : $(ADDSTARD)
    296 $(BIN)/addstart.$(ARCH)    : $(ADDSTART)
    297 $(BIN)/addstarc.$(ARCH)    : $(ADDSTARC)
    298 $(BIN)/mkacc-2mass.$(ARCH) : $(MKACC-2MASS)
    299 $(BIN)/sedstar.$(ARCH)     : $(SEDSTAR)
    300 $(BIN)/load2mass.$(ARCH)   : $(LOAD-2MASS)
    301 $(BIN)/loadwise.$(ARCH)    : $(LOAD-WISE)
    302 $(BIN)/loadsupercos.$(ARCH): $(LOAD-SUPERCOS)
    303 $(BIN)/skycells.$(ARCH)    : $(SKYCELLS)
    304 $(BIN)/dumpskycells.$(ARCH) : $(DUMPSKYCELLS)
    305 $(BIN)/mkcmf.$(ARCH)       : $(MKCMF)
     301$(ADDSTARC)       : $(INC)/addstar.h
     302$(ADDSTARD)       : $(INC)/addstar.h
     303$(ADDSTART)       : $(INC)/addstar.h
     304$(ADDSTAR)        : $(INC)/addstar.h
     305$(ADDSTAR_CLIENT) : $(INC)/addstar.h
     306$(SKYCELLS)       : $(INC)/addstar.h
     307$(DUMPSKYCELLS)   : $(INC)/addstar.h
     308$(LOAD-2MASS)     : $(INC)/addstar.h $(INC)/2mass.h
     309$(LOAD-WISE)      : $(INC)/addstar.h $(INC)/WISE.h
     310$(MKCMF)          : $(INC)/mkcmf.h
     311
     312$(BIN)/addstar.$(ARCH)        : $(ADDSTAR)
     313$(BIN)/addstar_client.$(ARCH) : $(ADDSTAR_CLIENT)
     314$(BIN)/addstard.$(ARCH)       : $(ADDSTARD)
     315$(BIN)/addstart.$(ARCH)       : $(ADDSTART)
     316$(BIN)/addstarc.$(ARCH)       : $(ADDSTARC)
     317$(BIN)/mkacc-2mass.$(ARCH)    : $(MKACC-2MASS)
     318$(BIN)/sedstar.$(ARCH)        : $(SEDSTAR)
     319$(BIN)/load2mass.$(ARCH)      : $(LOAD-2MASS)
     320$(BIN)/loadwise.$(ARCH)       : $(LOAD-WISE)
     321$(BIN)/loadsupercos.$(ARCH)   : $(LOAD-SUPERCOS)
     322$(BIN)/skycells.$(ARCH)       : $(SKYCELLS)
     323$(BIN)/dumpskycells.$(ARCH)   : $(DUMPSKYCELLS)
     324$(BIN)/mkcmf.$(ARCH)          : $(MKCMF)
    306325
    307326# I need to fix the client/server version of addstar now that I have dropped Stars
  • trunk/Ohana/src/addstar/include/WISE.h

    r33653 r33963  
    2121short WISE_W1, WISE_W2, WISE_W3, WISE_W4;
    2222
     23int ALLSKY;
     24
    2325AddstarClientOptions args_loadwise (int argc, char **argv, AddstarClientOptions options);
    2426
    25 int loadwise_prelim_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options);
     27int loadwise_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options, int ALLSKY);
    2628
    2729int getWISE_setup ();
     
    3133
    3234int getWISE_sortStars (WISE_Stars *tstars, int Ntstars);
    33 int loadwise_star_full (Stars **star, char *line, int Nmax);
     35
     36int loadwise_star_allsky (Stars **star, char *line, int Nmax);
     37int loadwise_star_prelim (Stars **star, char *line, int Nmax);
     38
    3439
    3540char *nextWISEfield (char *line);
  • trunk/Ohana/src/addstar/include/addstar.h

    r33653 r33963  
    5959typedef struct sockaddr_in SockAddress;
    6060
    61 enum {M_IMAGE, M_REFLIST, M_REFCAT, M_FAKEIMAGE, M_RESORT};
     61enum {ADDSTAR_MODE_NONE, ADDSTAR_MODE_IMAGE, ADDSTAR_MODE_REFLIST, ADDSTAR_MODE_REFCAT, ADDSTAR_MODE_FAKEIMAGE, ADDSTAR_MODE_RESORT};
    6262enum {NONE, SIMPLE_CMP, SIMPLE_CMF, SIMPLE_MEF, MOSAIC_CMP, MOSAIC_CMF, MOSAIC_MEF, MOSAIC_PHU, SDSS_OBJ};
    6363/* note: MEF implies CMF */
    6464
    6565/* globals which define database info / data sources (KEEP) */
    66 char   ImageCat[256];
     66char   ImageCat[DVO_MAX_PATH];
    6767char   GSCFILE[256];
    68 char   CATDIR[256];
     68char  *CATDIR;
    6969char   CATMODE[16];    /* raw, mef, split, mysql */
    7070char   CATFORMAT[16];  /* internal, elixir, loneos, panstarrs */
     
    132132int     OLD_RESORT;
    133133
     134int    PARALLEL;
     135int    PARALLEL_MANUAL;
     136int    PARALLEL_SERIAL;
     137int    HOST_ID;
     138char  *HOSTDIR;
     139
    134140// carries the mosaic into gstars
    135141
     
    160166/*** addstar prototypes ***/
    161167
    162 AddstarClientOptions ConfigInit   PROTO((int *argc, char **argv));
    163 AddstarClientOptions args         PROTO((int argc, char **argv, AddstarClientOptions options));
     168AddstarClientOptions ConfigInit           PROTO((int *argc, char **argv));
     169AddstarClientOptions args                 PROTO((int argc, char **argv, AddstarClientOptions options));
     170AddstarClientOptions args_parallel_client PROTO((int argc, char **argv, AddstarClientOptions options));
    164171
    165172void       AddToCalibration       PROTO((Average *average, SecFilt *secfilt, Measure *measure, Measure *new, off_t *next, off_t Nstar));
     
    216223int        replace_match          PROTO((Average *average, Measure *measure, Stars *star));
    217224int        resort_threaded        PROTO((AddstarClientOptions *options, SkyTable *sky));
    218 int        resort_unthreaded      PROTO((AddstarClientOptions *options, SkyTable *sky));
     225int        resort_unthreaded      PROTO((AddstarClientOptions *options, SkyTable *sky, int hostID, char *hostpath));
     226int        resort_unthreaded_catalogs PROTO((AddstarClientOptions *options, SkyList *skylist, int hostID, char *hostpath));
    219227void       resort_catalog         PROTO((Catalog *catalog));
    220228void       resort_catalog_old     PROTO((Catalog *catalog));
  • trunk/Ohana/src/addstar/src/ConfigInit.c

    r33653 r33963  
    125125  ScanConfig (config, "TYCHO_DIR",              "%s",  0, TYCHO_DIR);
    126126
     127  // force CATDIR to be absolute (so parallel mode will work)
     128  char tmpcatdir[DVO_MAX_PATH];
     129  GetConfig (config, "CATDIR" ,                 "%s",  0, tmpcatdir);
     130  CATDIR = abspath (tmpcatdir, DVO_MAX_PATH);
     131
    127132  GetConfig (config, "GSCFILE",                 "%s",  0, GSCFILE);
    128   GetConfig (config, "CATDIR",                  "%s",  0, CATDIR);
    129133  GetConfig (config, "PHOTCODE_FILE",           "%s",  0, MasterPhotcodeFile);
    130134  ScanConfig (config, "CATMODE",                "%s",  0, CATMODE);
  • trunk/Ohana/src/addstar/src/addstar.c

    r29938 r33963  
    3434  SkyTableSetFilenames (sky, CATDIR, "cpt");
    3535 
    36   if (options.mode == M_RESORT) {
     36  if (options.mode == ADDSTAR_MODE_RESORT) {
    3737    if (NTHREADS == 0) {
    38       resort_unthreaded (&options, sky);
     38      resort_unthreaded (&options, sky, 0, NULL);
    3939    } else {
    4040      resort_threaded (&options, sky);
     
    4747  /*** load in the new data (images, stars) ***/
    4848  switch (options.mode) {
    49     case M_IMAGE:
     49    case ADDSTAR_MODE_IMAGE:
    5050      stars = LoadStars (argv[1], &Nstars, &images, &Nimages, &options);
    5151
     
    6262      ImageOptions (&options, images, Nimages);
    6363      break;
    64     case M_REFLIST:
     64    case ADDSTAR_MODE_REFLIST:
    6565      stars = grefstars (argv[1], options.photcode, &Nstars);
    6666      skylist = SkyListForStars (sky, -1, stars, Nstars);
    6767      break;
    68     case M_RESORT:
    69     case M_REFCAT:
     68    case ADDSTAR_MODE_RESORT:
     69    case ADDSTAR_MODE_REFCAT:
    7070      skylist = SkyListByPatch (sky, -1, &UserPatch);
    7171      break;
    72     case M_FAKEIMAGE:
     72    case ADDSTAR_MODE_FAKEIMAGE:
    7373      images = fakeimage (argv[1], &Nimages, options.photcode);
    7474      ALLOCATE (skylist, SkyList, 1);
     
    137137
    138138    switch (options.mode) {
    139       case M_IMAGE:
     139      case ADDSTAR_MODE_IMAGE:
    140140        Nsubset = Nstars;
    141141        if (options.closest) {
     
    145145        }
    146146        break;
    147       case M_REFCAT:
     147      case ADDSTAR_MODE_REFCAT:
    148148        stars = greference (argv[1], skylist[0].regions[i], options.photcode, &Nstars);
    149       case M_REFLIST:
     149      case ADDSTAR_MODE_REFLIST:
    150150        subset = find_subset (skylist[0].regions[i], stars, Nstars, &Nsubset);
    151151        if (options.closest) {
     
    156156        if (Nsubset) free (subset);
    157157        break;
    158       case M_RESORT:
     158      case ADDSTAR_MODE_RESORT:
    159159        if (options.nosort == 3) catalog.sorted = FALSE;
    160160
     
    192192    dvo_catalog_free (&catalog);
    193193
    194     if (options.mode == M_REFCAT) free (stars);
     194    if (options.mode == ADDSTAR_MODE_REFCAT) free (stars);
    195195  }
    196196
     
    216216
    217217  /* add the new images and save */
    218   if (options.mode == M_IMAGE) {
     218  if (options.mode == ADDSTAR_MODE_IMAGE) {
    219219    dvo_image_addrows (&db, images, Nimages);
    220220    SetProtect (TRUE);
  • trunk/Ohana/src/addstar/src/addstarc.c

    r21153 r33963  
    2020  /* send new data to server */
    2121  switch (options.mode) {
    22     case M_IMAGE:
     22    case ADDSTAR_MODE_IMAGE:
    2323      /* load data */
    2424      stars = LoadStars (argv[1], &Nstars, &images, &Nimages, &options);
     
    4040      break;
    4141
    42     case M_REFLIST:
     42    case ADDSTAR_MODE_REFLIST:
    4343      /* load data */
    4444      stars = grefstars (argv[1], options.photcode, &Nstars);
     
    5050      break;
    5151
    52     case M_REFCAT:
     52    case ADDSTAR_MODE_REFCAT:
    5353      /* send data to server */
    5454      SendCommand (BindSocket, 5, "REFCT");
  • trunk/Ohana/src/addstar/src/addstart.c

    r25757 r33963  
    3131
    3232    switch (dataset[0].options[0].mode) {
    33       case M_IMAGE:
     33      case ADDSTAR_MODE_IMAGE:
    3434        UpdateDatabase_Image (dataset[0].options, dataset[0].images, dataset[0].Nimages, dataset[0].mosaic, dataset[0].stars, dataset[0].Nstars);
    3535        continue;
    3636
    37       case M_REFLIST:
     37      case ADDSTAR_MODE_REFLIST:
    3838        UpdateDatabase_Reflist (dataset[0].options, dataset[0].stars, dataset[0].Nstars);
    3939        continue;
    4040
    41       case M_REFCAT:
     41      case ADDSTAR_MODE_REFCAT:
    4242        UpdateDatabase_Refcat (dataset[0].options, dataset[0].patch, dataset[0].refcat);
    4343        continue;
  • trunk/Ohana/src/addstar/src/args.c

    r31669 r33963  
    2121
    2222  /* basic mode: image, list, refcat */
    23   options.mode = M_IMAGE;
     23  options.mode = ADDSTAR_MODE_IMAGE;
    2424  if ((N = get_argument (argc, argv, "-ref"))) {
    25     options.mode = M_REFLIST;
     25    options.mode = ADDSTAR_MODE_REFLIST;
    2626    remove_argument (N, &argc, argv);
    2727  }
    2828  if ((N = get_argument (argc, argv, "-cat"))) {
    29     options.mode = M_REFCAT;
     29    options.mode = ADDSTAR_MODE_REFCAT;
    3030    remove_argument (N, &argc, argv);
    3131  }
    3232  if ((N = get_argument (argc, argv, "-resort"))) {
    33     options.mode = M_RESORT;
     33    options.mode = ADDSTAR_MODE_RESORT;
    3434    remove_argument (N, &argc, argv);
    3535  }
    3636
    3737  if ((N = get_argument (argc, argv, "-fakeimage"))) {
    38     options.mode = M_FAKEIMAGE;
     38    options.mode = ADDSTAR_MODE_FAKEIMAGE;
    3939    remove_argument (N, &argc, argv);
    4040    FAKE_RA = atof (argv[N]);
     
    9898    remove_argument (N, &argc, argv);
    9999  } else {
    100       if (options.mode == M_IMAGE) goto allow;
    101       if (options.mode == M_FAKEIMAGE) goto allow;
    102       if (options.mode == M_REFLIST) goto allow;
    103       if (options.mode == M_REFCAT) {
     100      if (options.mode == ADDSTAR_MODE_IMAGE) goto allow;
     101      if (options.mode == ADDSTAR_MODE_FAKEIMAGE) goto allow;
     102      if (options.mode == ADDSTAR_MODE_REFLIST) goto allow;
     103      if (options.mode == ADDSTAR_MODE_REFCAT) {
    104104          fprintf (stderr, "you have requested uploading from a catalog to the entire sky in one pass\n");
    105105      }
    106       if (options.mode == M_RESORT) {
     106      if (options.mode == ADDSTAR_MODE_RESORT) {
    107107          fprintf (stderr, "you have requested resorting the entire sky in one pass\n");
    108108      }
     
    330330  }
    331331
    332   if ((options.mode == M_RESORT) && (argc == 1)) return (options);
     332  // XXX for the moment, make this selection manual.  it needs to be automatic
     333  // based on the state of the SkyTable
     334  PARALLEL = FALSE;
     335  if ((N = get_argument (argc, argv, "-parallel"))) {
     336    PARALLEL = TRUE;
     337    remove_argument (N, &argc, argv);
     338  }
     339  // this is a test mode : rather than launching the remote jobs and waiting for completion,
     340  // relphot will simply list the remote command and wait for the user to signal completion
     341  PARALLEL_MANUAL = FALSE;
     342  if ((N = get_argument (argc, argv, "-parallel-manual"))) {
     343    PARALLEL = TRUE; // -parallel-manual implies -parallel
     344    PARALLEL_MANUAL = TRUE;
     345    remove_argument (N, &argc, argv);
     346  }
     347  // this is a test mode : rather than launching the relphot_client jobs remotely, they are
     348  // run in serial via 'system'
     349  PARALLEL_SERIAL = FALSE;
     350  if ((N = get_argument (argc, argv, "-parallel-serial"))) {
     351    if (PARALLEL_MANUAL) {
     352      fprintf (stderr, "ERROR: cannot mix -parallel-manual and -parallel-serial\n");
     353      exit (1);
     354    }
     355    PARALLEL = TRUE; // -parallel-serial implies -parallel
     356    PARALLEL_SERIAL = TRUE;
     357    remove_argument (N, &argc, argv);
     358  }
     359  if (PARALLEL) {
     360    if (options.mode != ADDSTAR_MODE_RESORT) {
     361      fprintf (stderr, "parallel mode is only valid for -resort mode\n");
     362      exit (2);
     363    }
     364  }
     365
     366  if ((options.mode == ADDSTAR_MODE_RESORT) && (argc == 1)) return (options);
    333367  if (argc == 2) return (options);
    334368
    335   if ((options.mode == M_REFLIST) && (options.photcode == 0)) {
     369  if ((options.mode == ADDSTAR_MODE_REFLIST) && (options.photcode == 0)) {
    336370    fprintf (stderr, "photcode must be specified for -ref\n");
    337371    exit (2);
  • trunk/Ohana/src/addstar/src/args_client.c

    r18374 r33963  
    1818
    1919  /* basic mode: image, list, refcat */
    20   options.mode = M_IMAGE;
     20  options.mode = ADDSTAR_MODE_IMAGE;
    2121  if ((N = get_argument (argc, argv, "-ref"))) {
    22     options.mode = M_REFLIST;
     22    options.mode = ADDSTAR_MODE_REFLIST;
    2323    remove_argument (N, &argc, argv);
    2424  }
    2525  if ((N = get_argument (argc, argv, "-cat"))) {
    26     options.mode = M_REFCAT;
     26    options.mode = ADDSTAR_MODE_REFCAT;
    2727    remove_argument (N, &argc, argv);
    2828  }
  • trunk/Ohana/src/addstar/src/args_load2mass.c

    r24977 r33963  
    1818
    1919  /* basic mode: image, list, refcat */
    20   options.mode = M_REFCAT;
     20  options.mode = ADDSTAR_MODE_REFCAT;
    2121
    2222  /*** provide additional data ***/
  • trunk/Ohana/src/addstar/src/args_loadsupercos.c

    r33653 r33963  
    1818
    1919  /* basic mode: image, list, refcat */
    20   options.mode = M_REFCAT;
     20  options.mode = ADDSTAR_MODE_REFCAT;
    2121
    2222  /* we do not allow a subset to be extracted -- all or nothing, babe */
  • trunk/Ohana/src/addstar/src/args_loadwise.c

    r33653 r33963  
    11# include "addstar.h"
     2# include "WISE.h"
    23static void help (void);
    34
     
    1213  }
    1314
    14   // a global used by find_matches_refstars.c (value is 1 except for load2mass & loadwise)
     15  // a global used by find_matches_refstars.c (value is 1 except for loadwise & loadwise)
    1516  NREFSTAR_GROUP = 4;
    1617
     
    1819
    1920  /* basic mode: image, list, refcat */
    20   options.mode = M_REFCAT;
     21  options.mode = ADDSTAR_MODE_REFCAT;
    2122
    2223  /* we do not allow a subset to be extracted -- all or nothing, babe */
     
    5253  }
    5354
    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 */
    5563  options.photcode = 0;
    5664  options.timeref = 0;
     
    7078
    7179  if (argc < 2) {
    72     fprintf (stderr, "USAGE: load2mass [options] (wisefile) [..more files]\n");
     80    fprintf (stderr, "USAGE: loadwise [options] (wisefile) [..more files]\n");
    7381    exit (2);
    7482  }
  • trunk/Ohana/src/addstar/src/args_sedstar.c

    r18374 r33963  
    1818
    1919  /* basic mode: image, list, refcat */
    20   options.mode = M_REFCAT;
     20  options.mode = ADDSTAR_MODE_REFCAT;
    2121
    2222  /*** provide additional data ***/
  • trunk/Ohana/src/addstar/src/find_matches.c

    r33653 r33963  
    294294      catalog[0].secfilt[Nave*Nsecfilt+j].Map         = NAN;
    295295      catalog[0].secfilt[Nave*Nsecfilt+j].dM          = NAN;
     296      catalog[0].secfilt[Nave*Nsecfilt+j].Mstdev      = NAN_S_SHORT;
    296297      catalog[0].secfilt[Nave*Nsecfilt+j].Xm          = NAN_S_SHORT;
    297298      catalog[0].secfilt[Nave*Nsecfilt+j].M_20        = NAN_S_SHORT;
     
    301302      catalog[0].secfilt[Nave*Nsecfilt+j].ubercalDist = 1000;
    302303      catalog[0].secfilt[Nave*Nsecfilt+j].flags       = 0;
    303       catalog[0].secfilt[Nave*Nsecfilt+j].dummy[0]    = 0;
    304       catalog[0].secfilt[Nave*Nsecfilt+j].dummy[1]    = 0;
    305304    }
    306305
  • trunk/Ohana/src/addstar/src/find_matches_closest.c

    r33653 r33963  
    295295      catalog[0].secfilt[Nave*Nsecfilt+j].Map         = NAN;
    296296      catalog[0].secfilt[Nave*Nsecfilt+j].dM          = NAN;
     297      catalog[0].secfilt[Nave*Nsecfilt+j].Mstdev      = NAN_S_SHORT;
    297298      catalog[0].secfilt[Nave*Nsecfilt+j].Xm          = NAN_S_SHORT;
    298299      catalog[0].secfilt[Nave*Nsecfilt+j].M_20        = NAN_S_SHORT;
     
    302303      catalog[0].secfilt[Nave*Nsecfilt+j].ubercalDist = 1000;
    303304      catalog[0].secfilt[Nave*Nsecfilt+j].flags       = 0;
    304       catalog[0].secfilt[Nave*Nsecfilt+j].dummy[0]    = 0;
    305       catalog[0].secfilt[Nave*Nsecfilt+j].dummy[1]    = 0;
    306305    }
    307306
  • trunk/Ohana/src/addstar/src/loadwise.c

    r33653 r33963  
    4040  for (i = 1; i < argc; i++) {
    4141      fprintf (stderr, "loading %s\n", argv[i]);
    42       loadwise_prelim_rawdata (skylist, argv[i], options);
     42      loadwise_rawdata (skylist, argv[i], options, ALLSKY);
    4343  }
    4444  exit (0);
  • trunk/Ohana/src/addstar/src/loadwise_star_full.c

    r33653 r33963  
    33
    44int 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);
     5int setWISE_var_flag_allsky (Stars *star, char qual);
     6int setWISE_ext_flag_allsky (Stars **star, char ptr);
     7int setWISE_var_flag_prelim (Stars *star, char qual);
     8int setWISE_ext_flag_prelim (Stars **star, char ptr);
    79int setWISE_cc_flag (Stars *star, char qual);
    810int setWISE_sat_flag (Stars *star, char *ptr);
    911int setWISE_blend_flag (Stars **star, char *ptr);
    1012
     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
    1119// fill in the data for a WISE quad star.  takes a pointer to the start of the line the
    1220// RA and DEC have already been set
    13 int loadwise_star_full (Stars **star, char *line, int Nmax) {
     21int loadwise_star_allsky (Stars **star, char *line, int Nmax) {
    1422
    1523  int i;
     
    5260  // W1
    5361  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      }
    5567      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      }
    5772      ptr = skipNbounds (ptr, '|', 2, Nmax); // skip: w?sigmpro, w?snr
    58       star[0][0].measure.psfChisq = strtod (ptr, NULL); // w?rchi2
     73      star[i][0].measure.psfChisq = strtod (ptr, NULL); // w?rchi2
    5974      ptr = nextWISEfield (ptr); // skip : w1rchi2
    6075
     
    8196
    8297  // set ext flags for all 4 measures
    83   setWISE_ext_flag (star, ptr); // ext_flg
     98  setWISE_ext_flag_allsky (star, ptr[0]); // ext_flg
    8499  ptr = nextWISEfield (ptr); // skip ext_flags
    85100
    86101  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
     153int 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
    88228  }
    89229  ptr = nextWISEfield (ptr); // skip var_flags
     
    150290
    151291# define FLAG_EXTENDED        0x01000000 // ext == 1
     292# define FLAG_EXT_IN_XSC      0x02000000 // ext == 1
     293# define FLAG_EXT_BY_XSC      0x04000000 // ext == 1
    152294
    153295# define FLAG_VARIABLE_LEVEL1 0x10000000 // var_flg == 1 to 4
     
    201343    case '0': break;
    202344    default:
    203       fprintf (stderr, "error!\n");
    204       exit (2);
     345      fprintf (stderr, "error in cc_flag: %c\n", qual);
    205346  }     
    206347  return (TRUE);
    207348}
    208349
    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) {
     350int setWISE_ext_flag_allsky (Stars **star, char value) {
     351
     352  switch (value) {
     353    case '0':
     354      return TRUE;
     355    case '1':
     356      star[0][0].measure.photFlags |= FLAG_EXTENDED;
     357      star[1][0].measure.photFlags |= FLAG_EXTENDED;
     358      star[2][0].measure.photFlags |= FLAG_EXTENDED;
     359      star[3][0].measure.photFlags |= FLAG_EXTENDED;
     360      return TRUE;
     361    case '2':
     362      star[0][0].measure.photFlags |= FLAG_EXT_IN_XSC;
     363      star[1][0].measure.photFlags |= FLAG_EXT_IN_XSC;
     364      star[2][0].measure.photFlags |= FLAG_EXT_IN_XSC;
     365      star[3][0].measure.photFlags |= FLAG_EXT_IN_XSC;
     366      return TRUE;
     367    case '3':
     368      star[0][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC;
     369      star[1][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC;
     370      star[2][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC;
     371      star[3][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_IN_XSC;
     372      return TRUE;
     373    case '4':
     374      star[0][0].measure.photFlags |= FLAG_EXT_BY_XSC;
     375      star[1][0].measure.photFlags |= FLAG_EXT_BY_XSC;
     376      star[2][0].measure.photFlags |= FLAG_EXT_BY_XSC;
     377      star[3][0].measure.photFlags |= FLAG_EXT_BY_XSC;
     378      return TRUE;
     379    case '5':
     380      star[0][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC;
     381      star[1][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC;
     382      star[2][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC;
     383      star[3][0].measure.photFlags |= FLAG_EXTENDED | FLAG_EXT_BY_XSC;
     384      return TRUE;
     385    default:
     386      fprintf (stderr, "programming error\n");
     387      abort();
     388  }
     389  return TRUE;
     390}
     391
     392int setWISE_ext_flag_prelim (Stars **star, char value) {
     393
     394  switch (value) {
     395    case '0':
     396      return TRUE;
     397    case '1':
     398      star[0][0].measure.photFlags |= FLAG_EXTENDED;
     399      star[1][0].measure.photFlags |= FLAG_EXTENDED;
     400      star[2][0].measure.photFlags |= FLAG_EXTENDED;
     401      star[3][0].measure.photFlags |= FLAG_EXTENDED;
     402      return TRUE;
     403    default:
     404      fprintf (stderr, "programming error\n");
     405      abort();
     406  }
     407  return TRUE;
     408}
     409
     410// NOTE: var flag definition changed slightly between prelim & allsky
     411int setWISE_var_flag_allsky (Stars *star, char qual) {
     412
     413  switch (qual) {
     414    case 'n':
     415        return TRUE;
     416    case '0':
     417    case '1':
     418    case '2':
     419    case '3':
     420    case '4':
     421    case '5':
    228422        star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL1;
    229423        return TRUE;
    230     }
    231     if (value < 8) {
     424    case '6':
     425    case '7':
    232426        star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL2;
    233427        return TRUE;
    234     }
    235     star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL3;
    236     return TRUE;
     428    case '8':
     429    case '9':
     430      star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL3;
     431      return TRUE;
     432    default:
     433      fprintf (stderr, "programming error\n");
     434      abort();
     435  }
     436}
     437
     438int setWISE_var_flag_prelim (Stars *star, char qual) {
     439
     440  switch (qual) {
     441    case '0':
     442      return TRUE;
     443    case '1':
     444    case '2':
     445    case '3':
     446    case '4':
     447        star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL1;
     448        return TRUE;
     449    case '5':
     450    case '6':
     451    case '7':
     452        star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL2;
     453        return TRUE;
     454    case '8':
     455    case '9':
     456      star[0].measure.photFlags |= FLAG_VARIABLE_LEVEL3;
     457      return TRUE;
     458    default:
     459      fprintf (stderr, "programming error\n");
     460      abort();
     461  }
    237462}
    238463
     
    246471    case 'X': star[0].measure.photFlags |= FLAG_PH_X; break;
    247472    default:
    248       fprintf (stderr, "error!\n");
    249       exit (2);
     473      fprintf (stderr, "error in ph_flag: %c\n", qual);
    250474  }     
    251475  return (TRUE);
  • trunk/Ohana/src/addstar/src/resort_unthreaded.c

    r29938 r33963  
    11# include "addstar.h"
    22
    3 int resort_unthreaded (AddstarClientOptions *options, SkyTable *sky) {
    4 
    5   off_t i;
    6   off_t Naverage, Nmeasure;
    7   Catalog catalog;
     3int resort_unthreaded (AddstarClientOptions *options, SkyTable *sky, int hostID, char *hostpath) {
    84
    95  double dtime;
     
    4440  }
    4541
    46   // XXX ALLOCATE catalog[Nthreads]
    47 
    48   /* match stars to existing catalog data (or otherwise manipulate catalog data) */
    49   Naverage = Nmeasure = 0;
    50   for (i = 0; i < skylist[0].Nregions; i++) {
    51 
    52     // XXX BLOCK here for an empty thread
    53 
    54     // set the parameters which guide catalog open/load/create
    55     catalog.filename  = skylist[0].filename[i];
    56     catalog.catformat = dvo_catalog_catformat (CATFORMAT);  // set the default catformat from config data
    57     catalog.catmode   = dvo_catalog_catmode (CATMODE);      // set the default catmode from config data
    58     catalog.catflags  = LOAD_AVES | LOAD_MEAS;
    59     catalog.Nsecfilt  = GetPhotcodeNsecfilt ();
    60 
    61     // an error exit status here is a significant error (disk I/O or file access)
    62     if (!dvo_catalog_open (&catalog, skylist[0].regions[i], VERBOSE, "w")) {
    63       fprintf (stderr, "ERROR: failure to open/create catalog file %s\n", catalog.filename);
    64       exit (2);
    65     }
    66 
    67     // Naves_disk == 0 implies an empty catalog file, skip empty catalogs
    68     if (catalog.Naves_disk == 0) {
    69       dvo_catalog_unlock (&catalog);
    70       dvo_catalog_free (&catalog);
    71       continue;
    72     }
    73 
    74     // this is an overloaded value to mean 'force sort'
    75     if (options->nosort == 3) catalog.sorted = FALSE;
    76 
    77     // XXX send these to a free thread
    78 
    79     if (OLD_RESORT) {
    80       resort_catalog_old (&catalog);
    81     } else {
    82       resort_catalog (&catalog);
    83     }
    84 
    85     // XXX wait for completed threads
    86 
    87     /* report total updated values */
    88     Naverage += catalog.Naverage;
    89     Nmeasure += catalog.Nmeasure;
    90 
    91     // write out catalog, if appropriate
    92     SetProtect (TRUE);
    93     dvo_catalog_save (&catalog, VERBOSE);
    94     SetProtect (FALSE);
    95     dvo_catalog_unlock (&catalog);
    96     dvo_catalog_free (&catalog);
    97   }
     42  resort_unthreaded_catalogs (options, skylist, 0, NULL);
    9843
    9944  gettimeofday (&stop, NULL);
    10045  dtime = DTIME (stop, start);
    101   fprintf (stderr, "SUCCESS: elapsed time %9.4f sec for, "OFF_T_FMT" average, "OFF_T_FMT" measure\n", dtime, Naverage, Nmeasure);
     46  fprintf (stderr, "SUCCESS: elapsed time %9.4f sec\n", dtime);
    10247
    10348  return TRUE;
  • trunk/Ohana/src/addstar/test

    • Property svn:ignore
      •  

        old new  
        1616relphot.Mag.png
        1717relphot.Mcal.dMcal.png
         18catdir.wise.test
Note: See TracChangeset for help on using the changeset viewer.