Changeset 38331
- Timestamp:
- May 28, 2015, 8:29:48 PM (11 years ago)
- Location:
- branches/eam_branches/ohana.20150429/src
- Files:
-
- 13 edited
-
libautocode/Makefile.Targets (modified) (1 diff)
-
libautocode/def/galshape.d (modified) (1 diff)
-
libdvo/include/dvo.h (modified) (4 diffs)
-
libdvo/include/ps1_v5_defs.h (modified) (1 diff)
-
libdvo/src/dvo_catalog.c (modified) (1 diff)
-
libdvo/src/dvo_catalog_create.c (modified) (3 diffs)
-
libdvo/src/dvo_catalog_mef.c (modified) (3 diffs)
-
libdvo/src/dvo_catalog_split.c (modified) (20 diffs)
-
libdvo/src/dvo_convert_PS1_DEV_2.c (modified) (2 diffs)
-
libdvo/src/dvo_convert_PS1_V1.c (modified) (2 diffs)
-
libdvo/src/dvo_convert_PS1_V2.c (modified) (2 diffs)
-
libdvo/src/dvo_convert_PS1_V3.c (modified) (2 diffs)
-
libdvo/src/dvo_convert_PS1_V4.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ohana.20150429/src/libautocode/Makefile.Targets
r38218 r38331 167 167 $(AINC)/starpar-ps1-v5.h \ 168 168 $(AINC)/starpar-ps1-sim.h \ 169 $(AINC)/galshape.h \ 170 $(AINC)/galshape-ps1-v5.h \ 169 171 $(AINC)/missing.h \ 170 172 $(AINC)/photcode.h \ -
branches/eam_branches/ohana.20150429/src/libautocode/def/galshape.d
r38218 r38331 7 7 FIELD Xfit, XFIT, float, centroid for fit 8 8 FIELD Yfit, YFIT, float, centroid for fit 9 10 9 FIELD mag, MAG, float, galaxy magnitude 11 10 FIELD magErr, MAG_ERR, float, galaxy magnitude error 12 13 11 FIELD majorAxis, MAJOR_AXIS, float, major axis size 14 12 FIELD minorAxis, MINOR_AXIS, float, minor axis size 15 16 13 FIELD majorAxisErr, MAJOR_AXIS_ERR, float, major axis size error 17 14 FIELD minorAxisErr, MINOR_AXIS_ERR, float, minor axis size error 18 19 15 FIELD theta, THETA, float, angle 20 16 FIELD theta_err, THETA_ERR, float, angle error 21 22 17 FIELD index, INDEX, float, sersic index (if relevant) 23 18 FIELD chisq, CHISQ, float, fit chisq -
branches/eam_branches/ohana.20150429/src/libdvo/include/dvo.h
r38218 r38331 490 490 unsigned short Nmeasure; // number of psf measurements 491 491 unsigned short Nmissing; // number of missings 492 unsigned short N extend;// number of extended measurements492 unsigned short Ngalshape; // number of extended measurements 493 493 uint32_t measureOffset; // offset to first psf measurement 494 494 uint32_t missingOffset; // offset to first missing obs … … 713 713 int measureOffset; // offset to first psf measurement 714 714 int missingOffset; // offset to first missing obs 715 int galshapeOffset;// offset to first lensing obs715 int lensingOffset; // offset to first lensing obs 716 716 int lensobjOffset; // offset to mean lensing data 717 int extendOffset;// offset to extended object entry717 int galshapeOffset; // offset to extended object entry 718 718 int starparOffset; // offset to stellar parameter data 719 719 float refColorBlue; // color of astrometry ref stars … … 972 972 Lensobj *FtableToLensobj (FTable *ftable, off_t *Nlensobj, char *format); 973 973 StarPar *FtableToStarPar (FTable *ftable, off_t *Nstarpar, char *format); 974 GalShape *FtableToGalShape (FTable *ftable, off_t *Ngalshape, char *format); 975 974 976 int FtableToImage (FTable *ftable, Header *theader, char *format); 975 977 … … 980 982 int LensobjToFtable (FTable *ftable, Lensobj *lensobj, off_t Nlensobj, char format); 981 983 int StarParToFtable (FTable *ftable, StarPar *starpar, off_t Nstarpar, char format); 984 int GalShapeToFtable (FTable *ftable, GalShape *galshape, off_t Ngalshape, char format); 985 982 986 int ImageToFtable (FTable *ftable, Header *theader, char format); 983 987 int ImageToVtable (VTable *vtable, Header *theader, char format); -
branches/eam_branches/ohana.20150429/src/libdvo/include/ps1_v5_defs.h
r38153 r38331 23 23 StarPar_PS1_V5 *StarParInternalTo_PS1_V5 (StarPar *in, off_t Nvalues); 24 24 25 GalShape *GalShape_PS1_V5_ToInternal (GalShape_PS1_V5 *in, off_t Nvalues); 26 GalShape_PS1_V5 *GalShapeInternalTo_PS1_V5 (GalShape *in, off_t Nvalues); 27 25 28 PhotCode *PhotCode_PS1_V5_To_Internal (PhotCode_PS1_V5 *in, off_t Nvalues); 26 29 PhotCode_PS1_V5 *PhotCode_Internal_To_PS1_V5 (PhotCode *in, off_t Nvalues); -
branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_catalog.c
r38218 r38331 488 488 galshape->photcode = 0; 489 489 galshape->modelType = 0; 490 491 galshape->averef = 0;492 galshape->padding = 0;493 490 } 494 491 -
branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_catalog_create.c
r37807 r38331 107 107 free (file); 108 108 109 /* define galshape catalog file */ 110 ALLOCATE (catalog[0].galshape_catalog, Catalog, 1); 111 dvo_catalog_init (catalog[0].galshape_catalog, TRUE); 112 113 /* create basic data for galshape catalog file */ 114 gfits_create_header (&catalog[0].galshape_catalog[0].header); 115 ALLOCATE (catalog[0].galshape_catalog[0].filename, char, length); 116 sprintf (catalog[0].galshape_catalog[0].filename, "%s/%s.cpx", path, root); 117 file = filebasename (catalog[0].galshape_catalog[0].filename); 118 gfits_modify (&catalog[0].header, "GALSHAPE", "%s", 1, file); 119 free (file); 120 109 121 free (path); 110 122 free (root); … … 133 145 } 134 146 if (dvo_catalog_lock (catalog[0].starpar_catalog, catalog[0].lockmode) != DVO_CAT_OPEN_EMPTY) { 147 fprintf (stderr, "error with file lock\n"); 148 exit (2); 149 } 150 if (dvo_catalog_lock (catalog[0].galshape_catalog, catalog[0].lockmode) != DVO_CAT_OPEN_EMPTY) { 135 151 fprintf (stderr, "error with file lock\n"); 136 152 exit (2); … … 163 179 ALLOCATE (catalog[0].lensobj, Lensobj, 1); 164 180 ALLOCATE (catalog[0].starpar, StarPar, 1); 181 ALLOCATE (catalog[0].galshape, GalShape, 1); 165 182 166 183 /* setup secondary filters to match photcodes: -
branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_catalog_mef.c
r38219 r38331 293 293 catalog[0].galshape = FtableToGalShape (&ftable, &catalog[0].Ngalshape, &catalog[0].catformat); 294 294 if (Ngalshape != catalog[0].Ngalshape_disk) { 295 fprintf (stderr, "Warning: mismatch between Ngalshape in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n", N lensing, catalog[0].Nlensing_disk);296 } 297 catalog[0].N lensing = catalog[0].Nlensing_disk;298 catalog[0].N lensing_off = 0;299 } else { 300 Nbytes = gfits_data_size (&header); 301 fseeko (catalog[0].f, Nbytes, SEEK_CUR); 302 ALLOCATE (catalog[0]. lensing, Lensing, 1);303 catalog[0].N lensing= 0;304 catalog[0].N lensing_off = catalog[0].Nlensing_disk;295 fprintf (stderr, "Warning: mismatch between Ngalshape in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n", Ngalshape, catalog[0].Ngalshape_disk); 296 } 297 catalog[0].Ngalshape = catalog[0].Ngalshape_disk; 298 catalog[0].Ngalshape_off = 0; 299 } else { 300 Nbytes = gfits_data_size (&header); 301 fseeko (catalog[0].f, Nbytes, SEEK_CUR); 302 ALLOCATE (catalog[0].galshape, GalShape, 1); 303 catalog[0].Ngalshape = 0; 304 catalog[0].Ngalshape_off = catalog[0].Ngalshape_disk; 305 305 } 306 306 … … 356 356 gfits_modify (&catalog[0].header, "NLENSOBJ", OFF_T_FMT, 1, catalog[0].Nlensobj); 357 357 gfits_modify (&catalog[0].header, "NSTARPAR", OFF_T_FMT, 1, catalog[0].Nstarpar); 358 gfits_modify (&catalog[0].header, "NGALSHAPE", OFF_T_FMT, 1, catalog[0].Ngalshape); 359 358 360 gfits_modify_alt (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 359 361 gfits_modify (&catalog[0].header, "OBJID", "%d", 1, catalog[0].objID); … … 461 463 gfits_free_header (&header); 462 464 463 /* free temp storage */464 if (primary != NULL) {465 free (primary);466 free (secfilt);467 }468 return (TRUE);469 470 465 /* write out StarPar table (convert to FITS table format) */ 471 466 StarParToFtable (&ftable, catalog[0].starpar, catalog[0].Nstarpar, catalog[0].catformat); 467 if (!gfits_fwrite_Theader (catalog[0].f, &header)) { 468 fprintf (stderr, "can't write table header"); 469 goto failure; 470 } 471 if (!gfits_fwrite_table (catalog[0].f, &ftable)) { 472 fprintf (stderr, "can't write table data"); 473 goto failure; 474 } 475 gfits_free_table (&ftable); 476 gfits_free_header (&header); 477 478 /* write out GalShape table (convert to FITS table format) */ 479 GalShapeToFtable (&ftable, catalog[0].galshape, catalog[0].Ngalshape, catalog[0].catformat); 472 480 if (!gfits_fwrite_Theader (catalog[0].f, &header)) { 473 481 fprintf (stderr, "can't write table header"); -
branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_catalog_split.c
r38153 r38331 192 192 // databases created prior to ~2014.07.01 did not have the LENSING, LENSOBJ, STARPAR paths in their headers. 193 193 // in these cases, we do not try to lock or open the relevant file 194 if (!strcmp (name, "LENSING")) return (DVO_CAT_OPEN_EMPTY); 195 if (!strcmp (name, "LENSOBJ")) return (DVO_CAT_OPEN_EMPTY); 196 if (!strcmp (name, "STARPAR")) return (DVO_CAT_OPEN_EMPTY); 194 if (!strcmp (name, "LENSING")) return (DVO_CAT_OPEN_EMPTY); 195 if (!strcmp (name, "LENSOBJ")) return (DVO_CAT_OPEN_EMPTY); 196 if (!strcmp (name, "STARPAR")) return (DVO_CAT_OPEN_EMPTY); 197 if (!strcmp (name, "GALSHAPE")) return (DVO_CAT_OPEN_EMPTY); 197 198 return (DVO_CAT_OPEN_FAIL); 198 199 } … … 240 241 off_t Nlensobj; 241 242 off_t Nstarpar; 243 off_t Ngalshape; 242 244 off_t Nitems; 243 245 int status, Nsecfilt; … … 254 256 255 257 /* get the components from the header - these duplicate information in the split files (NAXIS2) */ 256 // NSTARS, NMEAS, NMISS are required; NLENSING, NLENSOBJ, NSTARPAR are not (0 if not found) 257 if (!gfits_scan (&catalog[0].header, "NSTARS", OFF_T_FMT, 1, &Naverage)) return (FALSE); 258 if (!gfits_scan (&catalog[0].header, "NMEAS", OFF_T_FMT, 1, &Nmeasure)) return (FALSE); 259 if (!gfits_scan (&catalog[0].header, "NMISS", OFF_T_FMT, 1, &Nmissing)) return (FALSE); 260 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0; 261 if (!gfits_scan (&catalog[0].header, "NLENSING", OFF_T_FMT, 1, &Nlensing)) Nlensing = 0; 262 if (!gfits_scan (&catalog[0].header, "NLENSOBJ", OFF_T_FMT, 1, &Nlensobj)) Nlensobj = 0; 263 if (!gfits_scan (&catalog[0].header, "NSTARPAR", OFF_T_FMT, 1, &Nstarpar)) Nstarpar = 0; 258 // NSTARS, NMEAS, NMISS are required; NLENSING, NLENSOBJ, NSTARPAR, NGALSHAPE are not (0 if not found) 259 if (!gfits_scan (&catalog[0].header, "NSTARS", OFF_T_FMT, 1, &Naverage)) return (FALSE); 260 if (!gfits_scan (&catalog[0].header, "NMEAS", OFF_T_FMT, 1, &Nmeasure)) return (FALSE); 261 if (!gfits_scan (&catalog[0].header, "NMISS", OFF_T_FMT, 1, &Nmissing)) return (FALSE); 262 if (!gfits_scan (&catalog[0].header, "NSECFILT", "%d", 1, &Nsecfilt)) Nsecfilt = 0; 263 if (!gfits_scan (&catalog[0].header, "NLENSING", OFF_T_FMT, 1, &Nlensing)) Nlensing = 0; 264 if (!gfits_scan (&catalog[0].header, "NLENSOBJ", OFF_T_FMT, 1, &Nlensobj)) Nlensobj = 0; 265 if (!gfits_scan (&catalog[0].header, "NSTARPAR", OFF_T_FMT, 1, &Nstarpar)) Nstarpar = 0; 266 if (!gfits_scan (&catalog[0].header, "NGALSHAPE", OFF_T_FMT, 1, &Ngalshape)) Ngalshape = 0; 264 267 265 268 /* the OBJID is a counter that uniquely defines an average entry and never changes. if … … 280 283 catalog[0].Nmiss_disk = Nmissing; 281 284 catalog[0].Nsecf_disk = Naverage * Nsecfilt; 282 catalog[0].Nlensing_disk = Nlensing; 283 catalog[0].Nlensobj_disk = Nlensobj; 284 catalog[0].Nstarpar_disk = Nstarpar; 285 catalog[0].Nlensing_disk = Nlensing; 286 catalog[0].Nlensobj_disk = Nlensobj; 287 catalog[0].Nstarpar_disk = Nstarpar; 288 catalog[0].Ngalshape_disk = Ngalshape; 285 289 286 290 /** Nsecfilt is unusual: it does not list the number of data items in the table … … 289 293 290 294 /* default values, but we will assign these a valid value before we exit (even if empty) */ 291 catalog[0].average = NULL; 292 catalog[0].measure = NULL; 293 catalog[0].missing = NULL; 294 catalog[0].secfilt = NULL; 295 catalog[0].lensing = NULL; 296 catalog[0].lensobj = NULL; 297 catalog[0].starpar = NULL; 295 catalog[0].average = NULL; 296 catalog[0].measure = NULL; 297 catalog[0].missing = NULL; 298 catalog[0].secfilt = NULL; 299 catalog[0].lensing = NULL; 300 catalog[0].lensobj = NULL; 301 catalog[0].starpar = NULL; 302 catalog[0].galshape = NULL; 298 303 299 304 /*** Average Table ***/ … … 567 572 gfits_free_header (&header); 568 573 574 /*** GalShape Table ***/ 575 if (!(catalog[0].catflags & SKIP_GALSHAPE)) { 576 // unless we specify 'skip', we still need to load the GalShape table 577 status = dvo_catalog_open_subcat (catalog, &catalog[0].galshape_catalog, ftable.header, "GALSHAPE", VERBOSE); 578 if (status == DVO_CAT_OPEN_FAIL) { 579 return (FALSE); 580 } 581 // the GalShape file need not exist, unless we expect data to exist 582 if ((status == DVO_CAT_OPEN_EMPTY) && (catalog[0].Ngalshape_disk > 0)) { 583 return (FALSE); 584 } 585 } 586 if ((status != DVO_CAT_OPEN_EMPTY) && (catalog[0].catflags & LOAD_GALSHAPE)) { 587 // only read the GalShape table if the file actually exists 588 /* read GalShape table data */ 589 if (!gfits_fread_ftable_data (catalog[0].galshape_catalog[0].f, &ftable, FALSE)) { 590 if (VERBOSE) fprintf (stderr, "can't read table galshape data\n"); 591 return (FALSE); 592 } 593 /* convert data format to internal : returns number of row read in Ngalshape */ 594 catalog[0].galshape = FtableToGalShape (&ftable, &Ngalshape, &catalog[0].catformat); 595 if (Ngalshape != catalog[0].Ngalshape_disk) { 596 fprintf (stderr, "Warning: mismatch between Ngalshape in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n", Ngalshape, catalog[0].Ngalshape_disk); 597 } 598 catalog[0].Ngalshape = catalog[0].Ngalshape_disk; 599 catalog[0].Ngalshape_off = 0; 600 } else { 601 if (catalog[0].galshape_catalog) { 602 gfits_free_header (&catalog[0].galshape_catalog[0].header); 603 } else { 604 ALLOCATE (catalog[0].galshape_catalog, Catalog, 1); 605 dvo_catalog_init (catalog[0].galshape_catalog, TRUE); 606 } 607 gfits_create_header (&catalog[0].galshape_catalog[0].header); 608 ALLOCATE (catalog[0].galshape, GalShape, 1); 609 catalog[0].Ngalshape = 0; 610 catalog[0].Ngalshape_off = catalog[0].Ngalshape_disk; 611 } 612 gfits_free_header (&header); 613 569 614 return (TRUE); 570 615 } … … 575 620 576 621 off_t Nbytes; 577 off_t Naverage, Nexpect, Nitems, Nmeasure, Nmissing, Nlensing, Nlensobj, Nstarpar ;622 off_t Naverage, Nexpect, Nitems, Nmeasure, Nmissing, Nlensing, Nlensobj, Nstarpar, Ngalshape; 578 623 Header header; 579 624 FTable ftable; … … 808 853 } 809 854 855 // XXX check the open status of the catalog 856 if (catalog[0].catflags & LOAD_GALSHAPE) { 857 858 Catalog *subcat = catalog[0].galshape_catalog; 859 860 /* move pointer past header -- must be already read (load_catalog) */ 861 Nbytes = subcat[0].header.datasize + gfits_data_size (&subcat[0].header); 862 fseeko (subcat[0].f, Nbytes, SEEK_SET); 863 864 /* read GalShape table header */ 865 if (!gfits_fread_header (subcat[0].f, &header)) { 866 if (VERBOSE) fprintf (stderr, "can't read table galshape header"); 867 return (FALSE); 868 } 869 /* read GalShape table data : format is irrelevant here */ 870 if (!gfits_fread_ftable_range (subcat[0].f, FALSE, &ftable, start, Nrows)) { 871 if (VERBOSE) fprintf (stderr, "can't read table galshape data"); 872 return (FALSE); 873 } 874 875 /* convert data format to internal : returns number of row read in Ngalshape */ 876 catalog[0].galshape = FtableToGalShape (&ftable, &Ngalshape, &catalog[0].catformat); 877 if (Ngalshape != Nrows) { 878 // XXX this condition denotes the eof has been reached; not an error or a warning 879 // fprintf (stderr, "Warning: mismatch between Ngalshape in PHU and Table headers ("OFF_T_FMT" vs "OFF_T_FMT")\n", Ngalshape, Nrows); 880 } 881 gfits_free_header (&header); 882 catalog[0].Ngalshape = Ngalshape; 883 catalog[0].Ngalshape_off = start; 884 } 885 810 886 return (TRUE); 811 887 } … … 819 895 SecFilt *primary, *secfilt; 820 896 int Nsecfilt; 821 off_t Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new, Nlensing_disk_new, Nlensobj_disk_new, Nstarpar_disk_new ;897 off_t Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new, Nlensing_disk_new, Nlensobj_disk_new, Nstarpar_disk_new, Ngalshape_disk_new; 822 898 off_t first, start, Nrows; 823 899 … … 853 929 Nlensobj_disk_new = MAX (catalog[0].Nlensobj_disk, catalog[0].Nlensobj + catalog[0].Nlensobj_off); 854 930 Nstarpar_disk_new = MAX (catalog[0].Nstarpar_disk, catalog[0].Nstarpar + catalog[0].Nstarpar_off); 931 Ngalshape_disk_new = MAX (catalog[0].Ngalshape_disk, catalog[0].Ngalshape + catalog[0].Ngalshape_off); 855 932 856 933 /* make sure header is consistent with data */ 857 gfits_modify (&catalog[0].header, "NSTARS", OFF_T_FMT, 1, Naves_disk_new); 858 gfits_modify (&catalog[0].header, "NMEAS", OFF_T_FMT, 1, Nmeas_disk_new); 859 gfits_modify (&catalog[0].header, "NMISS", OFF_T_FMT, 1, Nmiss_disk_new); 860 gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, Nsecfilt); 861 gfits_modify (&catalog[0].header, "NLENSING", OFF_T_FMT, 1, Nlensing_disk_new); 862 gfits_modify (&catalog[0].header, "NLENSOBJ", OFF_T_FMT, 1, Nlensobj_disk_new); 863 gfits_modify (&catalog[0].header, "NSTARPAR", OFF_T_FMT, 1, Nstarpar_disk_new); 934 gfits_modify (&catalog[0].header, "NSTARS", OFF_T_FMT, 1, Naves_disk_new); 935 gfits_modify (&catalog[0].header, "NMEAS", OFF_T_FMT, 1, Nmeas_disk_new); 936 gfits_modify (&catalog[0].header, "NMISS", OFF_T_FMT, 1, Nmiss_disk_new); 937 gfits_modify (&catalog[0].header, "NSECFILT", "%d", 1, Nsecfilt); 938 gfits_modify (&catalog[0].header, "NLENSING", OFF_T_FMT, 1, Nlensing_disk_new); 939 gfits_modify (&catalog[0].header, "NLENSOBJ", OFF_T_FMT, 1, Nlensobj_disk_new); 940 gfits_modify (&catalog[0].header, "NSTARPAR", OFF_T_FMT, 1, Nstarpar_disk_new); 941 gfits_modify (&catalog[0].header, "NGALSHAPE", OFF_T_FMT, 1, Ngalshape_disk_new); 942 864 943 gfits_modify_alt (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 865 944 gfits_modify (&catalog[0].header, "OBJID", "%d", 1, catalog[0].objID); … … 1067 1146 } 1068 1147 1148 /*** GalShape Table (optional, do not save if not loaded) ***/ 1149 if ((catalog[0].catflags & LOAD_GALSHAPE) && catalog[0].galshape_catalog->f && catalog[0].galshape) { 1150 1151 first = 0; // first row in memory to write 1152 start = catalog[0].Ngalshape_off; // first disk row to write 1153 Nrows = catalog[0].Ngalshape - first; 1154 1155 assert (Nrows >= 0); 1156 assert (first >= 0); 1157 assert (first <= catalog[0].Ngalshape); 1158 assert (catalog[0].Ngalshape_disk >= catalog[0].Ngalshape_off); 1159 1160 if (catalog[0].Ngalshape) { 1161 // convert to external table format (note that the block above does not damage or free catalog.average) 1162 if (!GalShapeToFtable (&ftable, &catalog[0].galshape[first], Nrows, catalog[0].catformat)) { 1163 fprintf (stderr, "trouble converting format\n"); 1164 goto failure; 1165 } 1166 1167 // write out GalShape table 1168 if (!dvo_catalog_save_subcat (catalog[0].galshape_catalog, &ftable, start, Nrows, catalog[0].Ngalshape_disk, Ngalshape_disk_new)) { 1169 fprintf (stderr, "trouble writing GalShape table\n"); 1170 goto failure; 1171 } 1172 gfits_free_header (&header); 1173 gfits_free_table (&ftable); 1174 } 1175 } 1176 1069 1177 /* free temp storage */ 1070 1178 if (primary != NULL) { … … 1093 1201 SecFilt *primary, *secfilt; 1094 1202 int Nsecfilt; 1095 off_t Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new, Nlensing_disk_new, Nlensobj_disk_new, Nstarpar_disk_new ;1203 off_t Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new, Nlensing_disk_new, Nlensobj_disk_new, Nstarpar_disk_new, Ngalshape_disk_new; 1096 1204 off_t first, start, Nrows; 1097 1205 … … 1128 1236 if (catalog[0].Nstarpar_off > 0) { 1129 1237 fprintf (stderr, "ERROR: only partial catalog (StarPar) was loaded\n"); 1238 goto failure; 1239 } 1240 if (catalog[0].Ngalshape_off > 0) { 1241 fprintf (stderr, "ERROR: only partial catalog (GalShape) was loaded\n"); 1130 1242 goto failure; 1131 1243 } … … 1157 1269 Nlensobj_disk_new = catalog[0].Nlensobj; 1158 1270 Nstarpar_disk_new = catalog[0].Nstarpar; 1271 Ngalshape_disk_new = catalog[0].Ngalshape; 1159 1272 1160 1273 /* make sure header is consistent with data */ … … 1166 1279 gfits_modify (&catalog[0].header, "NLENSOBJ", OFF_T_FMT, 1, Nlensobj_disk_new); 1167 1280 gfits_modify (&catalog[0].header, "NSTARPAR", OFF_T_FMT, 1, Nstarpar_disk_new); 1281 gfits_modify (&catalog[0].header, "NGALSHAPE", OFF_T_FMT, 1, Ngalshape_disk_new); 1168 1282 gfits_modify_alt (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 1169 1283 gfits_modify (&catalog[0].header, "OBJID", "%d", 1, catalog[0].objID); … … 1359 1473 if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new)) { 1360 1474 fprintf (stderr, "trouble writing StarPar table\n"); 1475 goto failure; 1476 } 1477 gfits_free_header (&header); 1478 gfits_free_table (&ftable); 1479 } 1480 1481 /*** GalShape Table ***/ 1482 if ((catalog[0].catflags & LOAD_GALSHAPE) && (catalog[0].galshape != NULL)) { 1483 1484 first = 0; // first row in memory to write 1485 start = catalog[0].Ngalshape_off; // first disk row to write 1486 Nrows = catalog[0].Ngalshape - first; 1487 1488 assert (Nrows >= 0); 1489 assert (first >= 0); 1490 assert (first <= catalog[0].Ngalshape); 1491 assert (catalog[0].Ngalshape_disk >= catalog[0].Ngalshape_off); 1492 1493 // convert to external table format 1494 if (!GalShapeToFtable (&ftable, &catalog[0].galshape[first], Nrows, catalog[0].catformat)) { 1495 fprintf (stderr, "trouble converting format\n"); 1496 goto failure; 1497 } 1498 1499 // write out GalShape table 1500 if (!dvo_catalog_save_subcat (catalog[0].galshape_catalog, &ftable, start, Nrows, catalog[0].Ngalshape_disk, Ngalshape_disk_new)) { 1501 fprintf (stderr, "trouble writing GalShape table\n"); 1361 1502 goto failure; 1362 1503 } … … 1390 1531 SecFilt *primary, *secfilt; 1391 1532 int Nsecfilt; 1392 off_t Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new, Nlensing_disk_new, Nlensobj_disk_new, Nstarpar_disk_new ;1533 off_t Naves_disk_new, Nmeas_disk_new, Nmiss_disk_new, Nsecf_disk_new, Nlensing_disk_new, Nlensobj_disk_new, Nstarpar_disk_new, Ngalshape_disk_new; 1393 1534 off_t first, start, Nrows; 1394 1535 … … 1423 1564 Nlensobj_disk_new = MAX (catalog[0].Nlensobj_disk, catalog[0].Nlensobj + catalog[0].Nlensobj_off); 1424 1565 Nstarpar_disk_new = MAX (catalog[0].Nstarpar_disk, catalog[0].Nstarpar + catalog[0].Nstarpar_off); 1566 Ngalshape_disk_new = MAX (catalog[0].Ngalshape_disk, catalog[0].Ngalshape + catalog[0].Ngalshape_off); 1425 1567 1426 1568 /* make sure header is consistent with data */ … … 1432 1574 gfits_modify (&catalog[0].header, "NLENSOBJ", OFF_T_FMT, 1, Nlensobj_disk_new); 1433 1575 gfits_modify (&catalog[0].header, "NSTARPAR", OFF_T_FMT, 1, Nstarpar_disk_new); 1576 gfits_modify (&catalog[0].header, "NGALSHAPE", OFF_T_FMT, 1, Ngalshape_disk_new); 1577 1434 1578 gfits_modify_alt (&catalog[0].header, "EXTEND", "%t", 1, TRUE); 1435 1579 gfits_modify (&catalog[0].header, "OBJID", "%d", 1, catalog[0].objID); … … 1630 1774 if (!dvo_catalog_save_subcat (catalog[0].starpar_catalog, &ftable, start, Nrows, catalog[0].Nstarpar_disk, Nstarpar_disk_new)) { 1631 1775 fprintf (stderr, "trouble writing StarPar table\n"); 1776 goto failure; 1777 } 1778 gfits_free_header (&header); 1779 gfits_free_table (&ftable); 1780 } 1781 1782 /*** GalShape Table ***/ 1783 if (catalog[0].galshape != NULL) { 1784 1785 first = catalog[0].Ngalshape_disk - catalog[0].Ngalshape_off; // first row in memory to write 1786 start = catalog[0].Ngalshape_disk; // first disk row to write 1787 Nrows = catalog[0].Ngalshape - first; 1788 1789 assert (Nrows >= 0); 1790 assert (first >= 0); 1791 assert (first <= catalog[0].Ngalshape); 1792 assert (catalog[0].Ngalshape_disk >= catalog[0].Ngalshape_off); 1793 1794 // convert to external table format 1795 // XXX does catalog.galshape have averef correctly set up? 1796 if (!GalShapeToFtable (&ftable, &catalog[0].galshape[first], Nrows, catalog[0].catformat)) { 1797 fprintf (stderr, "trouble converting format\n"); 1798 goto failure; 1799 } 1800 1801 // write out GalShape table 1802 if (!dvo_catalog_save_subcat (catalog[0].galshape_catalog, &ftable, start, Nrows, catalog[0].Ngalshape_disk, Ngalshape_disk_new)) { 1803 fprintf (stderr, "trouble writing GalShape table\n"); 1632 1804 goto failure; 1633 1805 } -
branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_convert_PS1_DEV_2.c
r37807 r38331 118 118 out[i].Nmeasure = in[i].Nmeasure; 119 119 out[i].Nmissing = in[i].Nmissing; 120 out[i].N extend= in[i].Nextend;120 out[i].Ngalshape = in[i].Nextend; 121 121 out[i].measureOffset = in[i].measureOffset; 122 122 out[i].missingOffset = in[i].missingOffset; … … 152 152 out[i].Nmeasure = in[i].Nmeasure; 153 153 out[i].Nmissing = in[i].Nmissing; 154 out[i].Nextend = in[i].N extend;154 out[i].Nextend = in[i].Ngalshape; 155 155 out[i].measureOffset = in[i].measureOffset; 156 156 out[i].missingOffset = in[i].missingOffset; -
branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_convert_PS1_V1.c
r37807 r38331 138 138 out[i].Nmeasure = in[i].Nmeasure; 139 139 out[i].Nmissing = in[i].Nmissing; 140 out[i].N extend = in[i].Nextend;140 out[i].Ngalshape = in[i].Ngalshape; 141 141 out[i].measureOffset = in[i].measureOffset; 142 142 out[i].missingOffset = in[i].missingOffset; … … 173 173 out[i].Nmeasure = in[i].Nmeasure; 174 174 out[i].Nmissing = in[i].Nmissing; 175 out[i].N extend = in[i].Nextend;175 out[i].Ngalshape = in[i].Ngalshape; 176 176 out[i].measureOffset = in[i].measureOffset; 177 177 out[i].missingOffset = in[i].missingOffset; -
branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_convert_PS1_V2.c
r37807 r38331 143 143 out[i].Nmeasure = in[i].Nmeasure; 144 144 out[i].Nmissing = in[i].Nmissing; 145 out[i].N extend = in[i].Nextend;145 out[i].Ngalshape = in[i].Ngalshape; 146 146 out[i].measureOffset = in[i].measureOffset; 147 147 out[i].missingOffset = in[i].missingOffset; … … 182 182 out[i].Nmeasure = in[i].Nmeasure; 183 183 out[i].Nmissing = in[i].Nmissing; 184 out[i].N extend = in[i].Nextend;184 out[i].Ngalshape = in[i].Ngalshape; 185 185 out[i].measureOffset = in[i].measureOffset; 186 186 out[i].missingOffset = in[i].missingOffset; -
branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_convert_PS1_V3.c
r37807 r38331 143 143 out[i].Nmeasure = in[i].Nmeasure; 144 144 out[i].Nmissing = in[i].Nmissing; 145 out[i].N extend = in[i].Nextend;145 out[i].Ngalshape = in[i].Ngalshape; 146 146 out[i].measureOffset = in[i].measureOffset; 147 147 out[i].missingOffset = in[i].missingOffset; … … 184 184 out[i].Nmeasure = in[i].Nmeasure; 185 185 out[i].Nmissing = in[i].Nmissing; 186 out[i].N extend = in[i].Nextend;186 out[i].Ngalshape = in[i].Ngalshape; 187 187 out[i].measureOffset = in[i].measureOffset; 188 188 out[i].missingOffset = in[i].missingOffset; -
branches/eam_branches/ohana.20150429/src/libdvo/src/dvo_convert_PS1_V4.c
r37807 r38331 164 164 out[i].Nmeasure = in[i].Nmeasure; 165 165 out[i].Nmissing = in[i].Nmissing; 166 out[i].N extend = in[i].Nextend;166 out[i].Ngalshape = in[i].Ngalshape; 167 167 out[i].measureOffset = in[i].measureOffset; 168 168 out[i].missingOffset = in[i].missingOffset; … … 208 208 out[i].Nmeasure = in[i].Nmeasure; 209 209 out[i].Nmissing = in[i].Nmissing; 210 out[i].N extend = in[i].Nextend;210 out[i].Ngalshape = in[i].Ngalshape; 211 211 out[i].measureOffset = in[i].measureOffset; 212 212 out[i].missingOffset = in[i].missingOffset; … … 690 690 out[i].Nmeasure = in[i].Nmeasure; 691 691 out[i].Nmissing = in[i].Nmissing; 692 out[i].N extend = in[i].Nextend;692 out[i].Ngalshape = in[i].Ngalshape; 693 693 out[i].measureOffset = in[i].measureOffset; 694 694 out[i].missingOffset = in[i].missingOffset;
Note:
See TracChangeset
for help on using the changeset viewer.
