Changeset 8499
- Timestamp:
- Aug 22, 2006, 5:28:12 PM (20 years ago)
- Location:
- trunk/Ohana/src/mosastro
- Files:
-
- 5 deleted
- 8 edited
-
Makefile (modified) (1 diff)
-
include/mosastro.h (modified) (2 diffs)
-
src/ConfigInit.c (modified) (2 diffs)
-
src/ConvertStars.c (deleted)
-
src/gcatalog.c (deleted)
-
src/get2mass.c (deleted)
-
src/getgsc.c (modified) (3 diffs)
-
src/getptolemy.c (modified) (1 diff)
-
src/getusno.c (modified) (3 diffs)
-
src/getusnob.c (modified) (8 diffs)
-
src/gptolemy.c (deleted)
-
src/greference.c (modified) (1 diff)
-
src/gregions.c (deleted)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/mosastro/Makefile
r8301 r8499 22 22 23 23 MOS = \ 24 $(SRC)/mosastro.$(ARCH).o \ 24 $(SRC)/ConfigInit.$(ARCH).o \ 25 $(SRC)/ConvertMatch.$(ARCH).o \ 26 $(SRC)/FitChips.$(ARCH).o \ 27 $(SRC)/FitGradients.$(ARCH).o \ 28 $(SRC)/GetGradients.$(ARCH).o \ 29 $(SRC)/GetScatter.$(ARCH).o \ 30 $(SRC)/LoadStars.$(ARCH).o \ 31 $(SRC)/SaveResiduals.$(ARCH).o \ 25 32 $(SRC)/args.$(ARCH).o \ 26 $(SRC)/LoadStars.$(ARCH).o \ 33 $(SRC)/chips.$(ARCH).o \ 34 $(SRC)/clip.$(ARCH).o \ 35 $(SRC)/dump.$(ARCH).o \ 36 $(SRC)/field.$(ARCH).o \ 37 $(SRC)/fitpoly.$(ARCH).o \ 38 $(SRC)/getgsc.$(ARCH).o \ 39 $(SRC)/getptolemy.$(ARCH).o \ 40 $(SRC)/getstone.$(ARCH).o \ 41 $(SRC)/getusno.$(ARCH).o \ 42 $(SRC)/getusnob.$(ARCH).o \ 43 $(SRC)/greference.$(ARCH).o \ 27 44 $(SRC)/match.$(ARCH).o \ 28 45 $(SRC)/mkheader.$(ARCH).o \ 29 $(SRC)/fakefield.$(ARCH).o \ 30 $(SRC)/greference.$(ARCH).o \ 46 $(SRC)/mkmosaic.$(ARCH).o \ 47 $(SRC)/mkpolyterm.$(ARCH).o \ 48 $(SRC)/mosastro.$(ARCH).o \ 49 $(SRC)/output.$(ARCH).o \ 50 $(SRC)/parse_time.$(ARCH).o \ 31 51 $(SRC)/project.$(ARCH).o \ 52 $(SRC)/rfits.$(ARCH).o \ 53 $(SRC)/rtext.$(ARCH).o \ 54 $(SRC)/sort.$(ARCH).o \ 55 $(SRC)/testcoords.$(ARCH).o \ 32 56 $(SRC)/transforms.$(ARCH).o \ 33 $(SRC)/dump.$(ARCH).o \34 $(SRC)/sort.$(ARCH).o \35 $(SRC)/ConfigInit.$(ARCH).o \36 $(SRC)/getstone.$(ARCH).o \37 $(SRC)/get2mass.$(ARCH).o \38 $(SRC)/getgsc.$(ARCH).o \39 $(SRC)/getptolemy.$(ARCH).o \40 $(SRC)/gptolemy.$(ARCH).o \41 $(SRC)/gregions.$(ARCH).o \42 $(SRC)/gcatalog.$(ARCH).o \43 $(SRC)/getusno.$(ARCH).o \44 $(SRC)/getusnob.$(ARCH).o \45 $(SRC)/wstars.$(ARCH).o \46 $(SRC)/field.$(ARCH).o \47 $(SRC)/chips.$(ARCH).o \48 $(SRC)/GetGradients.$(ARCH).o \49 $(SRC)/FitGradients.$(ARCH).o \50 $(SRC)/FitChips.$(ARCH).o \51 $(SRC)/fitpoly.$(ARCH).o \52 $(SRC)/output.$(ARCH).o \53 $(SRC)/wstars.$(ARCH).o \54 $(SRC)/mkpolyterm.$(ARCH).o \55 $(SRC)/mkmosaic.$(ARCH).o \56 $(SRC)/GetScatter.$(ARCH).o \57 $(SRC)/clip.$(ARCH).o \58 $(SRC)/parse_time.$(ARCH).o \59 $(SRC)/testcoords.$(ARCH).o \60 $(SRC)/rfits.$(ARCH).o \61 57 $(SRC)/wfits.$(ARCH).o \ 62 $(SRC)/rtext.$(ARCH).o \ 63 $(SRC)/ConvertMatch.$(ARCH).o \ 64 $(SRC)/SaveResiduals.$(ARCH).o 58 $(SRC)/wstars.$(ARCH).o 65 59 66 60 mosastro: $(BIN)/mosastro.$(ARCH) -
trunk/Ohana/src/mosastro/include/mosastro.h
r7401 r8499 89 89 double ZERO_POINT; 90 90 91 char StoneRegions[256];92 char CDROM[256];93 char USNO_B_DIR[256];94 91 char REFCAT[256]; 95 char CATDIR[256]; 96 char CATMODE[16]; /* raw, mef, split, mysql */ 97 char CATFORMAT[16]; /* internal, elixir, loneos, panstarrs */ 92 char CATMODE[16]; /* raw, mef, split, mysql */ 93 char CATFORMAT[16]; /* internal, elixir, loneos, panstarrs */ 98 94 char ExptimeKeyword[256]; 99 95 char DateKeyword[256]; … … 102 98 char MJDKeyword[256]; 103 99 char JDKeyword[256]; 104 char TWO_MASS_DIR[256];105 100 int VERBOSE; 106 101 int NO_CHIPS; 107 102 int SAVE_RESID; 108 103 104 char CATDIR[256]; 109 105 char GSCFILE[256]; 110 char GSC_DIR[256]; 106 char GSCDIR[256]; 107 char USNO_A_DIR[256]; 108 char USNO_B_DIR[256]; 109 char TWO_MASS_DIR[256]; 110 char ASTROM_CATDIR[256]; 111 char StoneRegions[256]; 111 112 112 113 char *FIELD; -
trunk/Ohana/src/mosastro/src/ConfigInit.c
r6242 r8499 17 17 if (VERBOSE) fprintf (stderr, "loaded config file: %s\n", file); 18 18 19 GetConfig (config, "USNO_CDROM", "%s", 0, CDROM); 20 ScanConfig (config, "2MASS_DIR", "%s", 0, TWO_MASS_DIR); 19 ScanConfig (config, "GSCFILE", "%s", 0, GSCFILE); 21 20 22 21 GetConfig (config, "ASTRO_REFCAT", "%s", 0, REFCAT); 23 ScanConfig (config, "CATDIR", "%s", 0, CATDIR);24 22 25 ScanConfig (config, "GSCFILE", "%s", 0, GSCFILE); 26 ScanConfig (config, "GSCDIR", "%s", 0, GSC_DIR); 23 /* possible sources of astrometric reference data */ 24 if (!ScanConfig (config, "USNO_A_DIR", "%s", 0, USNO_A_DIR)) { 25 ScanConfig (config, "USNO_CDROM", "%s", 0, USNO_A_DIR); 26 } 27 ScanConfig (config, "USNO_B_DIR", "%s", 0, USNO_B_DIR); 28 ScanConfig (config, "GSCDIR", "%s", 0, GSCDIR); 27 29 ScanConfig (config, "STONE_DIR", "%s", 0, StoneRegions); 28 ScanConfig (config, "USNO_B_DIR", "%s", 0, USNO_B_DIR); 30 ScanConfig (config, "2MASS_DIR", "%s", 0, TWO_MASS_DIR); 31 ScanConfig (config, "ASTROM_CATDIR", "%s", 0, ASTROM_CATDIR); 29 32 30 /* abstracted header keywords */33 /* abstracted header keywords - used by parse_time */ 31 34 ScanConfig (config, "DATE-KEYWORD", "%s", 0, DateKeyword); 32 35 ScanConfig (config, "DATE-MODE", "%s", 0, DateMode); … … 36 39 ScanConfig (config, "EXPTIME-KEYWORD", "%s", 0, ExptimeKeyword); 37 40 38 GetConfig (config, "RADIUS","%lf", 0, &RADIUS);39 GetConfig (config, "SIGMA_LIM","%lf", 0, &SIGMA_LIM);41 GetConfig (config, "RADIUS", "%lf", 0, &RADIUS); 42 GetConfig (config, "SIGMA_LIM", "%lf", 0, &SIGMA_LIM); 40 43 ScanConfig (config, "ZERO_PT", "%lf", 0, &ZERO_POINT); 41 44 -
trunk/Ohana/src/mosastro/src/getgsc.c
r3294 r8499 1 1 # include "mosastro.h" 2 # define BYTES_STAR 23 3 # define BLOCK 1000 4 5 StarData *rd_gsc (char *filename, int *Nstars); 2 6 3 7 StarData *getgsc (CatStats *catstats, int *NSTARS) { 4 8 5 int i, j, k, Ns, Ngsc, N regions, Nstars;9 int i, j, k, Ns, Ngsc, Nstars; 6 10 StarData *gsc; 7 11 StarData *stars; 8 CatStats *regions; 12 SkyList *skylist; 13 SkyTable *sky; 14 SkyRegion patch; 9 15 16 patch.Rmin = catstats[0].RA[0]; 17 patch.Rmax = catstats[0].RA[1]; 18 patch.Dmin = catstats[0].DEC[0]; 19 patch.Dmax = catstats[0].DEC[1]; 20 21 /* load regions from GSC table, restrict to patch */ 22 sky = SkyTableFromGSC (GSCFILE, 3, VERBOSE); 23 SkyTableSetFilenames (sky, GSCDIR, "cpt"); 24 skylist = SkyListByPatch (sky, -1, &patch); 25 10 26 Nstars = 0; 11 27 ALLOCATE (stars, StarData, 1); 12 28 13 set_catalog (GSC_DIR); 14 regions = gregions (catstats, &Nregions); 15 16 for (i = 0; i < Nregions; i++) { 17 gsc = gcatalog (regions[i].name, &Ngsc); 18 if (gsc == NULL) continue; 29 for (i = 0; i < skylist[0].Nregions; i++) { 30 gsc = rd_gsc (skylist[0].filename[i], &Ngsc); 19 31 20 32 Ns = Nstars; … … 23 35 REALLOCATE (stars, StarData, MAX (1, Nstars)); 24 36 for (k = Ns, j = 0; j < Ngsc; k++, j++) { 25 stars[k].R = gsc[j].R;26 stars[k].D = gsc[j].D;27 stars[k].M ag = gsc[j].Mag;37 stars[k].R = gsc[j].R; 38 stars[k].D = gsc[j].D; 39 stars[k].M = gsc[j].M; 28 40 } 29 41 free (gsc); 30 42 } 31 43 SkyTableFree (sky); 44 32 45 if (VERBOSE) fprintf (stderr, "%d stars from HST GSC\n", Nstars); 33 46 *NSTARS = Nstars; … … 35 48 } 36 49 50 StarData *rd_gsc (char *filename, int *Nstars) { 51 52 StarData *stars; 53 int i, NSTAR, nstar, Nbytes, nbytes; 54 char *buffer; 55 FILE *f; 56 57 f = fopen (filename, "r"); 58 if (f == NULL) { 59 fprintf (stderr, "ERROR: can't find catalog file %s\n", filename); 60 exit (1); 61 } 62 63 nstar = 0; 64 NSTAR = 1000; 65 ALLOCATE (stars, StarData, NSTAR); 66 67 ALLOCATE (buffer, char, (BLOCK*BYTES_STAR)); 68 Nbytes = BLOCK*BYTES_STAR; 69 70 while ((nbytes = fread (buffer, 1, Nbytes, f)) > 0) { 71 for (i = 0; i < nbytes / BYTES_STAR; i++) { 72 dparse (&stars[nstar].R, 1, &buffer[i*BYTES_STAR]); 73 dparse (&stars[nstar].D, 2, &buffer[i*BYTES_STAR]); 74 dparse (&stars[nstar].M, 3, &buffer[i*BYTES_STAR]); 75 nstar++; 76 if (nstar == NSTAR) { 77 NSTAR += 1000; 78 REALLOCATE (stars, StarData, NSTAR); 79 } 80 } 81 } 82 83 free (buffer); 84 85 *Nstars = nstar; 86 return (stars); 87 } -
trunk/Ohana/src/mosastro/src/getptolemy.c
r3294 r8499 3 3 StarData *getptolemy (CatStats *catstats, int *NSTARS) { 4 4 5 int i, j, k, Ns, Nptolemy, Nregions, Nstars; 6 CatStats *regions; 7 StarData *stars, *ptolemy; 5 int i, j, k, Ns, Nstars; 6 Catalog catalog; 7 StarData *stars; 8 SkyList *skylist; 9 SkyTable *sky; 10 SkyRegion patch; 11 12 patch.Rmin = catstats[0].RA[0]; 13 patch.Rmax = catstats[0].RA[1]; 14 patch.Dmin = catstats[0].DEC[0]; 15 patch.Dmax = catstats[0].DEC[1]; 8 16 9 17 Nstars = 0; 10 18 ALLOCATE (stars, StarData, 1); 11 19 12 set_catalog (CATDIR); 13 regions = gregions (catstats, &Nregions); 20 /* load regions from GSC table, restrict to patch */ 21 sky = SkyTableFromGSC (GSCFILE, 3, VERBOSE); 22 SkyTableSetFilenames (sky, CATDIR, "cpt"); 23 skylist = SkyListByPatch (sky, -1, &patch); 14 24 15 for (i = 0; i < Nregions; i++) { 16 ptolemy = gptolemy (regions[i].name, &Nptolemy); 17 if (ptolemy == NULL) continue; 25 for (i = 0; i <skylist[0].Nregions; i++) { 26 // set the parameters which guide catalog open/load/create 27 catalog.filename = skylist[0].filename[i]; 28 catalog.catflags = LOAD_AVES | LOAD_MEAS; 29 catalog.Nsecfilt = 0; 30 31 // an error exit status here is a significant error 32 if (!dvo_catalog_open (&catalog, skylist[0].regions[i], VERBOSE, "w")) { 33 fprintf (stderr, "ERROR: failure to open catalog file %s\n", catalog.filename); 34 exit (2); 35 } 36 dvo_catalog_unlock (&catalog); 37 38 // Nave_disk == 0 implies an empty catalog file 39 // for only_match, skip empty catalogs 40 if (!catalog.Nave_disk) { 41 dvo_catalog_free (&catalog); 42 continue; 43 } 18 44 19 45 Ns = Nstars; 20 Nstars += Nptolemy;46 Nstars += catalog.Naverage; 21 47 22 48 REALLOCATE (stars, StarData, MAX (1, Nstars)); 23 for (k = Ns, j = 0; j < Nptolemy; k++, j++) { 24 stars[k] = ptolemy[j]; 25 } 26 free (ptolemy); 49 for (k = Ns, j = 0; j < catalog.Naverage; k++, j++) { 50 stars[k].R = catalog.average[j].R; 51 stars[k].D = catalog.average[j].D; 52 stars[k].M = catalog.measure[catalog.average[j].offset].M_PS; 53 } 54 dvo_catalog_free (&catalog); 27 55 } 28 56 -
trunk/Ohana/src/mosastro/src/getusno.c
r3323 r8499 15 15 float hours[100]; 16 16 int start[100], number[100], *buffer, *buf; 17 char filename[128] , c;17 char filename[128]; 18 18 FILE *f; 19 19 int iRA0, iRA1, iDEC0, iDEC1; … … 59 59 60 60 /* load accelerator file */ 61 sprintf (filename, "%s/zone%04d.acc", CDROM, spd);61 sprintf (filename, "%s/zone%04d.acc", USNO_A_DIR, spd); 62 62 if (VERBOSE) fprintf (stderr, "reading from %s\n", filename); 63 63 f = fopen (filename, "r"); 64 64 if (f == (FILE *) NULL) { 65 fprintf (stderr, "can't open file %s, is cdrom %d in drive?\n", filename, disk); 66 fprintf (stderr, "press return when ready to continue: "); 67 fscanf (stdin, "%c", &c); 68 fprintf (stderr, "trying again...\n"); 69 f = fopen (filename, "r"); 70 if (f == (FILE *) NULL) { 71 fprintf (stderr, "ERROR: can't open file %s, is cdrom %d in drive?\n", filename, disk); 72 exit (1); 73 } 65 fprintf (stderr, "ERROR: can't open file %s, is cdrom %d in drive?\n", filename, disk); 66 exit (1); 74 67 } 75 68 for (i = 0; fscanf (f, "%f %d %d", &hours[i], &start[i], &number[i]) != EOF; i++); … … 89 82 90 83 /* open data file */ 91 sprintf (filename, "%s/zone%04d.cat", CDROM, spd);84 sprintf (filename, "%s/zone%04d.cat", USNO_A_DIR, spd); 92 85 if (VERBOSE) fprintf (stderr, "reading from %s\n", filename); 93 86 f = fopen (filename, "r"); -
trunk/Ohana/src/mosastro/src/getusnob.c
r6242 r8499 1 1 # include "mosastro.h" 2 # define NBYTE 4 3 # define NELEM 20 2 4 3 5 StarData *getusnob (CatStats *catstats, int *Nstars) { … … 7 9 float hours[100]; 8 10 int start[100], number[100], *buffer, *buf; 9 char filename[128] , c;11 char filename[128]; 10 12 FILE *f; 11 13 double DEC1; … … 13 15 float mB1, mB2, mR1, mR2, mB, mR; 14 16 int iDEC0, iDEC1, iRA0, iRA1; 15 int spd, spd_start, spd_end , disk;17 int spd, spd_start, spd_end; 16 18 int NUSNO, Nusno, nstars; 17 19 StarData *stars; … … 44 46 f = fopen (filename, "r"); 45 47 if (f == (FILE *) NULL) { 46 fprintf (stderr, "can't open file %s, is cdrom %d in drive?\n", filename, disk); 47 fprintf (stderr, "press return when ready to continue: "); 48 fscanf (stdin, "%c", &c); 49 fprintf (stderr, "trying again...\n"); 50 f = fopen (filename, "r"); 51 if (f == (FILE *) NULL) { 52 fprintf (stderr, "ERROR: can't open file %s, is cdrom %d in drive?\n", filename, disk); 53 exit (1); 54 } 48 fprintf (stderr, "ERROR: can't open accelerator file %s\n", filename); 49 exit (1); 55 50 } 56 51 for (i = 0; fscanf (f, "%f %d %d", &hours[i], &start[i], &number[i]) != EOF; i++); … … 70 65 71 66 /* open data file */ 72 /* sprintf (filename, "%s/zone%04d.cat", CDROM, spd); */73 67 sprintf (filename, "%s/%03d/b%04d.cat", USNO_B_DIR, (int)(spd/10), spd); 74 68 fprintf (stderr, "reading from %s\n", filename); … … 79 73 } 80 74 75 /** USNO-B consists of 20 x 4byte (int) records **/ 81 76 /* advance file pointer to first slice */ 82 /**** 4*20 is record-length for USNO-B ****/ 83 offset = 20*sizeof(int)*(start[first] - 1); 77 offset = NELEM*NBYTE*(start[first] - 1); 84 78 fseek (f, offset, SEEK_SET); 85 79 … … 89 83 nstars += number[bin]; 90 84 } 91 Nitems = 20*nstars; /* number of integer blocks; need to use Fread for byte-swapping read */85 Nitems = NELEM*nstars; /* number of integer blocks; need to use Fread for byte-swapping read */ 92 86 93 87 /* allocate space for stars in segment */ … … 103 97 buf = buffer; 104 98 /* print out data from slice within RA and DEC range */ 105 for (i = 0; i < nstars; i++, buf+= 20) {99 for (i = 0; i < nstars; i++, buf+=NELEM) { 106 100 if (buf[0] < iRA0) continue; 107 101 if (buf[0] > iRA1) continue; -
trunk/Ohana/src/mosastro/src/greference.c
r6242 r8499 42 42 strcpy (CATDIR, TWO_MASS_DIR); 43 43 stars = getptolemy (&catstats, &Nstars); 44 /* stars = get2mass (&catstats, &Nstars); */45 44 } 46 45 47 46 /* get stars from the DVO CATDIR for the given region */ 48 47 if (!strcmp (REFCAT, "PTOLEMY")) { 48 strcpy (CATDIR, ASTROM_CATDIR); 49 49 stars = getptolemy (&catstats, &Nstars); 50 50 }
Note:
See TracChangeset
for help on using the changeset viewer.
