IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37191


Ignore:
Timestamp:
Aug 6, 2014, 2:58:16 PM (12 years ago)
Author:
eugene
Message:

various fixes, still double-checking values

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20140717/ippToPsps/jython/stackbatch.py

    r37186 r37191  
    322322            sqlLine.group("a."+filter+"ra",            "b.ra")
    323323            sqlLine.group("a."+filter+"dec",           "b.dec_")
    324             sqlLine.group("a."+filter+"raErr",         "b.raErr")
    325             sqlLine.group("a."+filter+"decErr",        "b.decErr")
    326324
    327325            sqlLine.group("a."+filter+"PSFMag",        "b.Mpsf")
     
    348346            sqlLine = sqlUtility("UPDATE StackObjectThin AS a , " + filter + "SkyChip_psf AS b SET")
    349347
     348            sqlLine.group("a."+filter+"raErr",         "b.X_PSF_SIG * b.PLTSCALE")
     349            sqlLine.group("a."+filter+"decErr",        "b.Y_PSF_SIG * b.PLTSCALE")
    350350            sqlLine.group("a."+filter+"sky",           "b.SKY / " + str(exptime))
    351351            sqlLine.group("a."+filter+"skyErr",        "b.SKY_SIGMA / " + str(exptime))
     
    406406            sqlLine.group("a."+filter+"xPosErr",       "b.X_PSF_SIG")
    407407            sqlLine.group("a."+filter+"yPosErr",       "b.Y_PSF_SIG")
    408 
    409408            sqlLine.group("a."+filter+"psfMajorFWHM",  "b.PSF_FWHM_MAJ")
    410409            sqlLine.group("a."+filter+"psfMinorFWHM",  "b.PSF_FWHM_MIN")
     
    420419            sqlLine.group("a."+filter+"momentR1",      "b.MOMENTS_R1")
    421420            sqlLine.group("a."+filter+"momentRH",      "b.MOMENTS_RH")
    422 
    423421            sqlLine.group("a."+filter+"PSFFlux",       "b.PSF_INST_FLUX / " + str(exptime))
    424422            sqlLine.group("a."+filter+"PSFFluxErr",    "b.PSF_INST_FLUX_SIG / " + str(exptime))
     
    427425            sqlLine.group("a."+filter+"KronFlux",      "b.KRON_FLUX / " + str(exptime))
    428426            sqlLine.group("a."+filter+"KronFluxErr",   "b.KRON_FLUX_ERR / " + str(exptime))
    429 
    430             sqlLine.group("a."+filter+"ApFillFac",     "b.AP_NPIX / (3.14159265359 * b.AP_MAG_RADIUS * b.AP_MAG_RADIUS)")
     427            sqlLine.group("a."+filter+"ApFillFac",     "b.AP_NPIX / (3.14159265359 * POW(b.AP_MAG_RADIUS - 0.5, 2))")
    431428            sqlLine.group("a."+filter+"ApRadius",      "b.AP_MAG_RADIUS")
    432429            sqlLine.group("a."+filter+"KronRad",       "b.MOMENTS_R1 * 2.5")
     
    517514        sqlLine.group("a."+filter+"haveData",              "'1'")
    518515
     516        # model calibrated magnitude = instrumental magnitude + 2.5*log10(exptime) + ZP (added below from dvoDetectionTable)
    519517        sqlLine.group("a." + filter + model + "Mag",       "b.EXT_INST_MAG + " + magtime) # need to modify by zero point and 2.5*log10(exptime)
    520518        sqlLine.group("a." + filter + model + "MagErr",    "b.EXT_INST_MAG_SIG")
     
    529527
    530528        # XXX this is tricky: RA_EXT is not defined, but X_EXT is...
    531         # sqlLine.group("a." + filter + model + "Ra",        "b.RA_EXT")
    532         # sqlLine.group("a." + filter + model + "Dec",       "b.DEC_EXT")
     529        # sqlLine.group("a." + filter + model + "RaOff",     "b.X_EXT")
     530        # sqlLine.group("a." + filter + model + "DecOff",    "b.Y_EXT")
    533531        # sqlLine.group("a." + filter + model + "RaErr",     "b.X_EXT_SIG * b.PLTSCALE")
    534532        # sqlLine.group("a." + filter + model + "DecErr",    "b.Y_EXT_SIG * b.PLTSCALE")
     
    584582    def populateStackPetrosianFilter(self, filter):
    585583
     584        tablename = "StackPetrosian"
     585
    586586        if self.stackIDs[filter] <= 0:
    587587            self.logger.infoPair("no stack data for filter" , filter)
    588588            return True
    589589
     590        header  = self.headerSet[filter]
     591
     592        # PETRO_MAG is instrumental + 2.5log(exptime) + FPA.ZP
     593        # we want to apply the DVO zero point, so remove FPA.ZP:
     594
     595        hdrZP   = "%.5f" % float(header['FPA.ZP'])
     596        # magtime = "%.5f" % (2.5*math.log10(float(header['EXPTIME'])))
     597
    590598        self.logger.infoPair("Adding", "petrosians for extended sources")
    591         sqlLine = sqlUtility("UPDATE StackPetrosian AS a, " + filter + "SkyChip_xsrc AS b SET")
     599        sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + filter + "SkyChip_xsrc AS b SET")
    592600
    593601        sqlLine.group("a."+filter+"haveData",         "'1'")
     
    595603        sqlLine.group("a." + filter + "petRadius",    "b.PETRO_RADIUS")
    596604        sqlLine.group("a." + filter + "petRadiusErr", "b.PETRO_RADIUS_ERR")
    597         sqlLine.group("a." + filter + "petFlux",      "b.PETRO_MAG")  # XXX EAM 20140732 : still need to decide about flux vs mag
    598         sqlLine.group("a." + filter + "petFluxErr",   "b.PETRO_MAG_ERR")  # XXX EAM 20140732
     605        sqlLine.group("a." + filter + "petMag",       "b.PETRO_MAG - " + hdrZP) 
     606        sqlLine.group("a." + filter + "petMagErr",    "1.0 / b.PETRO_MAG_ERR") 
    599607        sqlLine.group("a." + filter + "petR50",       "b.PETRO_RADIUS_50")
    600608        sqlLine.group("a." + filter + "petR50Err",    "b.PETRO_RADIUS_50_ERR")
     
    607615        print "SQL: " + sql
    608616        self.scratchDb.execute(sql)
     617
     618        # modify petMag to apply the zero point
     619        sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + self.scratchDb.dvoDetectionTable + " as b SET")
     620        sqlLine.group("a." + filter + "petMag",       "a." + filter + "petMag + b.zp")
     621        sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND a." + filter + "ippDetectID = b.ippDetectID")
     622
     623        self.logger.infoPair('sql', sql)     
     624        try:
     625            self.scratchDb.execute(sql)
     626        except:
     627            self.logger.errorPair('failed sql',sql)
     628            return
    609629
    610630    '''
     
    730750
    731751        for number in numbers:
    732             sqlLine.group(filter + prefix + "flxR" + number,          "b.APER_FLUX_"       + number + " / " + exptime)
    733             sqlLine.group(filter + prefix + "flxR" + number + "Err",  "b.APER_FLUX_ERR_"   + number + " / " + exptime)
    734             sqlLine.group(filter + prefix + "flxR" + number + "Std",  "b.APER_FLUX_STDEV_" + number + " / " + exptime)
    735             sqlLine.group(filter + prefix + "flxR" + number + "Fill", "b.APER_FILL_"       + number + " / " + exptime)
     752            field = filter + prefix + "flxR" + number
     753            sqlLine.group(field,          "b.APER_FLUX_"       + number + " / " + exptime)
     754            sqlLine.group(field + "Err",  "b.APER_FLUX_ERR_"   + number + " / " + exptime)
     755            sqlLine.group(field + "Std",  "b.APER_FLUX_STDEV_" + number + " / " + exptime)
     756            sqlLine.group(field + "Fill", "b.APER_FILL_"       + number)
    736757           
    737758        sql = sqlLine.makeEquals("WHERE a." + filter + "ippDetectID = b.IPP_IDET AND  " + psfCondition)
    738759        self.logger.infoPair("sql",sql)
    739760        self.scratchDb.execute(sql)
     761
     762        # modify flux to apply the zero point
     763        # sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + self.scratchDb.dvoDetectionTable + " as b SET")
     764        # field = filter + prefix + "flxR" + number
     765        # sqlLine.group(field,               field         + " * POW(10, 3.56 - 0.4* b.zp)")
     766        # sqlLine.group(field + "Err",       field + "err" + " * POW(10, 3.56 - 0.4* b.zp)")
     767        # sqlLine.group(field + "Std",       field + "Std" + " * POW(10, 3.56 - 0.4* b.zp)")
     768        # sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND a." + filter + "ippDetectID = b.ippDetectID")
    740769
    741770    '''
Note: See TracChangeset for help on using the changeset viewer.