Changeset 34615 for trunk/ippToPsps/jython/stackbatch.py
- Timestamp:
- Oct 26, 2012, 5:15:52 PM (14 years ago)
- File:
-
- 1 edited
-
trunk/ippToPsps/jython/stackbatch.py (modified) (18 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippToPsps/jython/stackbatch.py
r34441 r34615 89 89 self.scratchDb.dropTable("SkinnyObject") 90 90 self.scratchDb.dropTable("ObjectCalColor") 91 self.scratchDb.dropTable("StackDetectionCalib") 91 92 92 93 # delete IPP tables … … 140 141 141 142 sql = "UPDATE StackApFlx AS a, SkyChip_xrad AS b SET \ 142 "+prefix+"flxR1=b.APER_FLUX_1 , \143 "+prefix+"flxR1Err=b.APER_FLUX_ERR_1 , \144 "+prefix+"flxR1Std=b.APER_FLUX_STDEV_1 , \143 "+prefix+"flxR1=b.APER_FLUX_1 / " + str(self.expTime) + ", \ 144 "+prefix+"flxR1Err=b.APER_FLUX_ERR_1 / " + str(self.expTime) + ", \ 145 "+prefix+"flxR1Std=b.APER_FLUX_STDEV_1 / " + str(self.expTime) + ", \ 145 146 "+prefix+"flxR1Fill=b.APER_FILL_1, \ 146 "+prefix+"flxR2=b.APER_FLUX_2 , \147 "+prefix+"flxR2Err=b.APER_FLUX_ERR_2 , \148 "+prefix+"flxR2Std=b.APER_FLUX_STDEV_2 , \147 "+prefix+"flxR2=b.APER_FLUX_2 / " + str(self.expTime) + ", \ 148 "+prefix+"flxR2Err=b.APER_FLUX_ERR_2 / " + str(self.expTime) + ", \ 149 "+prefix+"flxR2Std=b.APER_FLUX_STDEV_2 / " + str(self.expTime) + ", \ 149 150 "+prefix+"flxR2Fill=b.APER_FILL_2, \ 150 "+prefix+"flxR3=b.APER_FLUX_3 , \151 "+prefix+"flxR3Err=b.APER_FLUX_ERR_3 , \152 "+prefix+"flxR3Std=b.APER_FLUX_STDEV_3 , \151 "+prefix+"flxR3=b.APER_FLUX_3 / " + str(self.expTime) + ", \ 152 "+prefix+"flxR3Err=b.APER_FLUX_ERR_3 / " + str(self.expTime) + ", \ 153 "+prefix+"flxR3Std=b.APER_FLUX_STDEV_3 / " + str(self.expTime) + ", \ 153 154 "+prefix+"flxR3Fill=b.APER_FILL_3, \ 154 "+prefix+"flxR4=b.APER_FLUX_4 , \155 "+prefix+"flxR4Err=b.APER_FLUX_ERR_4 , \156 "+prefix+"flxR4Std=b.APER_FLUX_STDEV_4 , \155 "+prefix+"flxR4=b.APER_FLUX_4 / " + str(self.expTime) + ", \ 156 "+prefix+"flxR4Err=b.APER_FLUX_ERR_4 / " + str(self.expTime) + ", \ 157 "+prefix+"flxR4Std=b.APER_FLUX_STDEV_4 / " + str(self.expTime) + ", \ 157 158 "+prefix+"flxR4Fill=b.APER_FILL_4, \ 158 "+prefix+"flxR5=b.APER_FLUX_5 , \159 "+prefix+"flxR5Err=b.APER_FLUX_ERR_5 , \160 "+prefix+"flxR5Std=b.APER_FLUX_STDEV_5 , \159 "+prefix+"flxR5=b.APER_FLUX_5 / " + str(self.expTime) + ", \ 160 "+prefix+"flxR5Err=b.APER_FLUX_ERR_5 / " + str(self.expTime) + ", \ 161 "+prefix+"flxR5Std=b.APER_FLUX_STDEV_5 / " + str(self.expTime) + ", \ 161 162 "+prefix+"flxR5Fill=b.APER_FILL_5, \ 162 "+prefix+"flxR6=b.APER_FLUX_6 , \163 "+prefix+"flxR6Err=b.APER_FLUX_ERR_6 , \164 "+prefix+"flxR6Std=b.APER_FLUX_STDEV_6 , \163 "+prefix+"flxR6=b.APER_FLUX_6 / " + str(self.expTime) + ", \ 164 "+prefix+"flxR6Err=b.APER_FLUX_ERR_6 / " + str(self.expTime) + ", \ 165 "+prefix+"flxR6Std=b.APER_FLUX_STDEV_6 / " + str(self.expTime) + ", \ 165 166 "+prefix+"flxR6Fill=b.APER_FILL_6, \ 166 "+prefix+"flxR7=b.APER_FLUX_7 , \167 "+prefix+"flxR7Err=b.APER_FLUX_ERR_7 , \168 "+prefix+"flxR7Std=b.APER_FLUX_STDEV_7 , \167 "+prefix+"flxR7=b.APER_FLUX_7 / " + str(self.expTime) + ", \ 168 "+prefix+"flxR7Err=b.APER_FLUX_ERR_7 / " + str(self.expTime) + ", \ 169 "+prefix+"flxR7Std=b.APER_FLUX_STDEV_7 / " + str(self.expTime) + ", \ 169 170 "+prefix+"flxR7Fill=b.APER_FILL_7, \ 170 "+prefix+"flxR8=b.APER_FLUX_8 , \171 "+prefix+"flxR8Err=b.APER_FLUX_ERR_8 , \172 "+prefix+"flxR8Std=b.APER_FLUX_STDEV_8 , \171 "+prefix+"flxR8=b.APER_FLUX_8 / " + str(self.expTime) + ", \ 172 "+prefix+"flxR8Err=b.APER_FLUX_ERR_8 / " + str(self.expTime) + ", \ 173 "+prefix+"flxR8Std=b.APER_FLUX_STDEV_8 / " + str(self.expTime) + ", \ 173 174 "+prefix+"flxR8Fill=b.APER_FILL_8, \ 174 "+prefix+"flxR9=b.APER_FLUX_9 , \175 "+prefix+"flxR9Err=b.APER_FLUX_ERR_9 , \176 "+prefix+"flxR9Std=b.APER_FLUX_STDEV_9 , \175 "+prefix+"flxR9=b.APER_FLUX_9 / " + str(self.expTime) + ", \ 176 "+prefix+"flxR9Err=b.APER_FLUX_ERR_9 / " + str(self.expTime) + ", \ 177 "+prefix+"flxR9Std=b.APER_FLUX_STDEV_9 / " + str(self.expTime) + ", \ 177 178 "+prefix+"flxR9Fill=b.APER_FILL_9, \ 178 "+prefix+"flxR10=b.APER_FLUX_10 , \179 "+prefix+"flxR10Err=b.APER_FLUX_ERR_10 , \180 "+prefix+"flxR10Std=b.APER_FLUX_STDEV_10 , \179 "+prefix+"flxR10=b.APER_FLUX_10 / " + str(self.expTime) + ", \ 180 "+prefix+"flxR10Err=b.APER_FLUX_ERR_10 / " + str(self.expTime) + ", \ 181 "+prefix+"flxR10Std=b.APER_FLUX_STDEV_10 / " + str(self.expTime) + ", \ 181 182 "+prefix+"flxR10Fill=b.APER_FILL_10 \ 182 183 WHERE a.ippDetectID=b.IPP_IDET AND b.PSF_FWHM "+psfCondition … … 196 197 sql = "UPDATE StackModelFit AS a, SkyChip_xfit AS b SET \ 197 198 "+model+"Radius=b.EXT_WIDTH_MAJ, \ 198 "+model+" Mag=b.EXT_INST_MAG, \199 "+model+" MagErr=b.EXT_INST_MAG_SIG, \199 "+model+"Flux=b.EXT_INST_MAG, \ 200 "+model+"FluxErr=b.EXT_INST_MAG_SIG, \ 200 201 "+model+"Ab=b.EXT_WIDTH_MAJ/b.EXT_WIDTH_MIN, \ 201 202 "+model+"Phi=b.EXT_THETA, \ … … 229 230 "+modelLong+"Covar77=b.EXT_COVAR_06_06 \ 230 231 WHERE a.ippDetectID=b.IPP_IDET AND b.MODEL_TYPE = '"+ippModelType+"'" 232 233 #SA10 convert mag to flux in calculation above 231 234 232 235 self.scratchDb.execute(sql) … … 319 322 ,skyCellID \ 320 323 ,projectionCellID \ 321 ,obsTime \322 324 ,xPos \ 323 325 ,yPos \ 324 326 ,xPosErr \ 325 327 ,yPosErr \ 326 , instFlux \327 , instFluxErr \328 ,psfFlux \ 329 ,psfFluxErr \ 328 330 ,peakFlux \ 329 331 ,sky \ … … 335 337 ,psfLikelihood \ 336 338 ,infoFlag \ 337 ,psfCf \ 339 ,psfQf \ 340 ,psfQfPerfect \ 338 341 ,momentXX \ 339 342 ,momentXY \ … … 345 348 ,momentR1 \ 346 349 ,momentRH \ 347 ,ap Mag\348 ,ap MagErr \350 ,apFlux \ 351 ,apFluxErr \ 349 352 ,kronFlux \ 350 353 ,kronFluxErr \ 351 354 ,kronRad \ 352 , kronRadErr\355 ,psfChiSq \ 353 356 ,nFrames \ 354 357 ,assocDate \ … … 359 362 ," + self.skycell + " \ 360 363 ," + self.projectioncell + " \ 361 ," + self.header['MJD-OBS'] + " \362 364 ,X_PSF \ 363 365 ,Y_PSF \ … … 374 376 ,PSF_THETA \ 375 377 ,psfLikelihood(EXT_NSIGMA) \ 376 , FLAGS2 << 32 | FLAGS \378 , FLAGS2 << 32 | FLAGS \ 377 379 ,PSF_QF \ 380 ,PSF_QF_PERFECT \ 378 381 ,MOMENTS_XX \ 379 382 ,MOMENTS_XY \ … … 389 392 ,KRON_FLUX / " + str(self.expTime) + " \ 390 393 ,KRON_FLUX_ERR / " + str(self.expTime) + " \ 391 , MOMENTS_R1 * 2.5 \392 , NULL\394 ,MOMENTS_R1 * 2.5 \ 395 ,PSF_CHISQ \ 393 396 ,N_FRAMES \ 394 397 , '" + self.dateStr + "' \ 395 398 ," + self.historyModNum + " \ 396 399 FROM SkyChip_psf" 400 401 #SA10 to do 402 # put in correct formula for apFlux, psfFlux, psfLikelihood, sgsep 403 # need correct units of anything in Flux 397 404 self.scratchDb.execute(sql) 398 405 … … 417 424 self.updateStackTypeID("StackDetection") 418 425 419 self.updateDvoIDs ("StackDetection")426 self.updateDvoIDsAndFlags("StackDetection") 420 427 421 428 sql = "ALTER IGNORE TABLE StackDetection ADD PRIMARY KEY (objID)" … … 427 434 #if deep stack and instFlux = null and err not null 428 435 sql = "UPDATE StackDetection AS a, SkyChip_psf AS b \ 429 SET instFlux = 2*b.PSF_INST_FLUX_SIG / " + str(self.expTime) + " \430 WHERE instFlux IS NULL \436 SET psfFlux = 2*b.PSF_INST_FLUX_SIG / " + str(self.expTime) + " \ 437 WHERE psfFlux IS NULL \ 431 438 AND a.ippDetectID = b.IPP_IDET \ 432 439 AND b.PSF_INST_FLUX_SIG IS NOT NULL" … … 434 441 self.scratchDb.execute(sql) 435 442 436 437 self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "instFlux")443 #leave null instflux in 444 #self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "instFlux") 438 445 439 446 self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "objID") … … 474 481 petRadius=b.PETRO_RADIUS \ 475 482 ,petRadiusErr=b.PETRO_RADIUS_ERR \ 476 ,pet Mag=b.PETRO_MAG \477 ,pet MagErr=b.PETRO_MAG_ERR \483 ,petFlux=b.PETRO_MAG \ 484 ,petFluxErr=b.PETRO_MAG_ERR \ 478 485 ,petR50=b.PETRO_RADIUS_50 \ 479 486 ,petR50Err=b.PETRO_RADIUS_50_ERR \ … … 482 489 ,petCf=b.PETRO_FILL \ 483 490 WHERE a.ippDetectID=b.IPP_IDET" 491 #SA10 Put correct calculation for PetFlux 484 492 self.scratchDb.execute(sql) 485 493 … … 586 594 self.scratchDb.updateAllRows("SkinnyObject", "surveyID", str(self.surveyID)) 587 595 self.scratchDb.updateAllRows("SkinnyObject", "dataRelease", str(self.config.dataRelease)) 596 597 ''' 598 Populates the StackDetectionCalib table 599 ''' 600 def populateStackDetectionCalib(self): 601 self.logger.infoPair("Processing table", "StackDetectionCalib") 602 tableName = "StackDetectionCalib" 603 # insert all detections into table 604 sql = "INSERT INTO " + tableName + " ( \ 605 objID \ 606 ,stackDetectID \ 607 ,ippObjID \ 608 ,ippDetectID \ 609 ,filterID \ 610 ,surveyID \ 611 ) \ 612 SELECT \ 613 objID \ 614 ,stackDetectID \ 615 ,ippObjID \ 616 ,ippDetectID \ 617 ,filterID \ 618 ,surveyID \ 619 FROM StackDetection" 620 self.logger.info(sql) 621 self.scratchDb.execute(sql) 622 #SA10 TODO 623 # insert ra/dec/calstuff into Table 624 # heather discovered dec is called 'dec_' 625 sql = "UPDATE " + tableName + " SET ra = -999, dec_ =-999, raErr = -999, decErr = -999, zp = -999, zpErr = -999, expTime = -999, airMass = -999" 626 self.logger.info(sql) 627 self.scratchDb.execute(sql) 628 self.scratchDb.updateAllRows(tableName, "dataRelease", str(self.config.dataRelease)) 629 630 631 588 632 589 633 ''' … … 649 693 WHERE a.ippDetectID = b.ippDetectID \ 650 694 AND b.imageID = " + str(imageID) 651 652 self.scratchDb.execute(sql) 653 695 self.scratchDb.execute(sql) 696 697 ''' 698 Updates Flags 699 ''' 700 def updateDvoIDsAndFlags(self, table): 701 self.logger.infoPair("getting","imageID") 702 imageID = self.scratchDb.getImageIDFromExternID(self.header['IMAGEID']) 703 self.logger.infoPair("obtained","imageID") 704 self.logger.debug("Updating table '" + table + "' with DVO IDs...") 705 sql = "UPDATE " + table + " AS a, " + self.scratchDb.dvoDetectionTable + " AS b SET \ 706 a.ippObjID = b.ippObjID, \ 707 a.stackDetectID = 10 * b.detectID + " + str(self.filterID) + ", \ 708 a.objID = b.objID, \ 709 a.infoFlag = b.flags << 46 | a.infoFlag \ 710 WHERE a.ippDetectID = b.ippDetectID \ 711 AND b.imageID = " + str(imageID) 712 self.scratchDb.execute(sql) 713 714 654 715 ''' 655 716 Does the processing, i.e. pulling stuff from IPP tables into PSPS tables … … 660 721 if not self.getIDsFromDVO(): 661 722 return False 662 723 #self.logger.infoPair("populating","StackMeta") 663 724 self.populateStackMeta() 725 #self.logger.infoPair("populating","StackDetection") 664 726 self.populateStackDetection() 665 727 666 728 if self.stackType != "NIGHTLY_STACK": 729 #self.logger.infoPair("populating","StackModelFit") 667 730 self.populateStackModelFit() 731 #self.logger.infoPair("populating","StackApFlx") 668 732 self.populateStackApFlx() 669 733 #self.logger.infoPair("populating","StackToImage") 670 734 self.populateStackToImage() 735 #self.logger.infoPair("populating","SkinnyObject") 671 736 self.populateSkinnyObject() 737 #self.logger.infoPair("populating","ObjectCalColor") 672 738 self.populateObjectCalColor() 739 #self.logger.infoPair("populating","StackDetectionCalib") 740 self.populateStackDetectionCalib() 673 741 674 742 self.setMinMaxObjID(["StackDetection"])
Note:
See TracChangeset
for help on using the changeset viewer.
