Changeset 28863
- Timestamp:
- Aug 6, 2010, 11:22:14 PM (16 years ago)
- Location:
- branches/eam_branches/ipp-20100621/Ohana/src/dvomerge
- Files:
-
- 5 edited
-
include/dvomerge.h (modified) (1 diff)
-
src/SkyTablePopulatedRange.c (modified) (1 diff)
-
src/args.c (modified) (1 diff)
-
src/dvomergeUpdate.c (modified) (5 diffs)
-
src/help.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20100621/Ohana/src/dvomerge/include/dvomerge.h
r28838 r28863 59 59 60 60 int SkyTablePopulatedRange PROTO((off_t *ns, off_t *ne, SkyTable *sky, off_t Nstart)); 61 int SkyListPopulatedRange PROTO((off_t *ns, off_t *ne, SkyList *sky, off_t Nstart)); 61 62 62 63 SkyList *SkyTablePopulatedList PROTO((SkyTable *sky)); -
branches/eam_branches/ipp-20100621/Ohana/src/dvomerge/src/SkyTablePopulatedRange.c
r27435 r28863 12 12 Ns = sky[0].regions[Nstart].childS; 13 13 Ne = sky[0].regions[Nstart].childE; 14 if (Ns == 0) { 15 fprintf (stderr, "no populated tables at an appropriate depth\n"); 16 exit (1); 17 } 18 Nstart = Ns; 19 } 20 21 *ns = Ns; 22 *ne = Ne; 23 return (TRUE); 24 } 25 26 int SkyListPopulatedRange (off_t *ns, off_t *ne, SkyList *sky, off_t Nstart) { 27 28 off_t Ns, Ne; 29 30 // given the starting sky region, find the populated range at or below this region 31 32 Ns = Nstart; 33 Ne = Nstart + 1; 34 while (!sky[0].regions[Nstart][0].table) { 35 Ns = sky[0].regions[Nstart][0].childS; 36 Ne = sky[0].regions[Nstart][0].childE; 14 37 if (Ns == 0) { 15 38 fprintf (stderr, "no populated tables at an appropriate depth\n"); -
branches/eam_branches/ipp-20100621/Ohana/src/dvomerge/src/args.c
r28838 r28863 10 10 if ((N = get_argument (*argc, argv, "-v"))) { 11 11 VERBOSE = TRUE; 12 remove_argument (N, argc, argv); 13 } 14 15 /*** provide additional data ***/ 16 /* restrict to a portion of the sky? */ 17 UserPatch.Rmin = 0; 18 UserPatch.Rmax= 360; 19 UserPatch.Dmin = -90; 20 UserPatch.Dmax = +90; 21 if ((N = get_argument (*argc, argv, "-region"))) { 22 remove_argument (N, argc, argv); 23 UserPatch.Rmin = atof (argv[N]); 24 remove_argument (N, argc, argv); 25 UserPatch.Rmax = atof (argv[N]); 26 remove_argument (N, argc, argv); 27 UserPatch.Dmin = atof (argv[N]); 28 remove_argument (N, argc, argv); 29 UserPatch.Dmax = atof (argv[N]); 12 30 remove_argument (N, argc, argv); 13 31 } -
branches/eam_branches/ipp-20100621/Ohana/src/dvomerge/src/dvomergeUpdate.c
r28674 r28863 6 6 off_t i, j, Ns, Ne; 7 7 SkyTable *outsky, *insky; 8 SkyList *outlist ;8 SkyList *outlist, *inlist; 9 9 Catalog incatalog, outcatalog; 10 10 char filename[256], *input, *output; … … 46 46 SkyTableSetFilenames (insky, input, "cpt"); 47 47 48 // XXX apply this...generate the subset matching the user-selected region 49 inlist = SkyListByPatch (insky, -1, &UserPatch); 50 48 51 // generate an output table populated at the desired depth 49 52 outsky = SkyTableLoadOptimal (output, NULL, GSCFILE, TRUE, SKY_DEPTH, VERBOSE); … … 55 58 // loop over the populatable output tables; check for data in input in the corresponding regions 56 59 57 Sky TablePopulatedRange (&Ns, &Ne, insky, 0);58 depth = in sky[0].regions[Ns].depth;60 SkyListPopulatedRange (&Ns, &Ne, inlist, 0); 61 depth = inlist[0].regions[Ns][0].depth; 59 62 60 63 // loop over the populated input regions 61 64 for (i = 0; i < outsky[0].Nregions; i++) { 62 if (!in sky[0].regions[i].table) continue;63 if (VERBOSE) fprintf (stderr, "input: %s\n", in sky[0].regions[i].name);65 if (!inlist[0].regions[i][0].table) continue; 66 if (VERBOSE) fprintf (stderr, "input: %s\n", inlist[0].regions[i][0].name); 64 67 65 68 // load / create output catalog (if catalog does not exist, it will be created) 66 LoadCatalog (&incatalog, &in sky[0].regions[i], insky[0].filename[i], "r");69 LoadCatalog (&incatalog, &inlist[0].regions[i][0], inlist[0].filename[i], "r"); 67 70 // skip empty input catalogs 68 71 if (!incatalog.Naves_disk) { … … 78 81 // compare to a slightly reduced footprint 79 82 float dPos = 2.0/3600.0; 80 outlist = SkyListByBounds (outsky, depth, in sky[0].regions[i].Rmin + dPos, insky[0].regions[i].Rmax - dPos, insky[0].regions[i].Dmin + dPos, insky[0].regions[i].Dmax - dPos);83 outlist = SkyListByBounds (outsky, depth, inlist[0].regions[i][0].Rmin + dPos, inlist[0].regions[i][0].Rmax - dPos, inlist[0].regions[i][0].Dmin + dPos, inlist[0].regions[i][0].Dmax - dPos); 81 84 for (j = 0; j < outlist[0].Nregions; j++) { 82 85 if (VERBOSE) fprintf (stderr, "output : %s\n", outlist[0].regions[j][0].name); … … 93 96 dvo_catalog_free (&outcatalog); 94 97 95 fprintf (stderr, "merged %s into %s\n", in sky[0].regions[i].name, outlist[0].regions[j][0].name);98 fprintf (stderr, "merged %s into %s\n", inlist[0].regions[i][0].name, outlist[0].regions[j][0].name); 96 99 } 97 100 SkyListFree (outlist); -
branches/eam_branches/ipp-20100621/Ohana/src/dvomerge/src/help.c
r28838 r28863 4 4 fprintf (stderr, "USAGE: dvomerge (input1) and (input2) to (output)\n"); 5 5 fprintf (stderr, " OR: dvomerge (input) into (output)\n"); 6 fprintf (stderr, " [-region Rmin Rmax Dmin Dmax]\n"); 6 7 exit (2); 7 8 }
Note:
See TracChangeset
for help on using the changeset viewer.
