IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 18, 2014, 6:00:15 PM (12 years ago)
Author:
heather
Message:

st/ob/p2/df/do batches all work but have minimal problems in teh columns

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippToPsps/jython/diffobjectbatch.py

    r37755 r37763  
    134134            #  " + cpsTable + " AS cps ON (cps.row = (MeanObject.row* " + str(filterCount) + ")-(" + str(filterCount) + " - " + str(filter[0]) + ")) \
    135135
    136             sql = "UPDATE DiffObject JOIN \
    137                    " + cpsTable + " AS cps ON (cps.row = (DiffObject.row* " + str(filterCount) + ")-(" + str(filterCount) + " - " + str(filter[0]) + ")) \
     136            sql = "UPDATE DiffDetObject JOIN \
     137                   " + cpsTable + " AS cps ON (cps.row = (DiffDetObject.row* " + str(filterCount) + ")-(" + str(filterCount) + " - " + str(filter[0]) + ")) \
    138138                   SET \
    139                     MeanObject." + filter[1] + "QfPerfect      = PSF_QF_PERF_MAX \
    140                    ,MeanObject." + filter[1] + "MeanPSFMag     = MAG \
    141                    ,MeanObject." + filter[1] + "MeanPSFMagErr  = MAG_ERR \
    142                    ,MeanObject." + filter[1] + "MeanPSFMagStd  = MAG_STDEV \
    143                    ,MeanObject." + filter[1] + "MeanPSFMagMin  = MAG_MIN \
    144                    ,MeanObject." + filter[1] + "MeanPSFMagMax  = MAG_MAX \
    145                    ,MeanObject." + filter[1] + "MeanPSFMagNpt  = NUSED \
    146                    ,MeanObject." + filter[1] + "MeanKronMag    = MAG_KRON \
    147                    ,MeanObject." + filter[1] + "MeanKronMagErr = MAG_KRON_ERR \
    148                    ,MeanObject." + filter[1] + "MeanKronMagStd = MAG_KRON_STDEV \
    149                    ,MeanObject." + filter[1] + "MeanKronMagNpt = NUSED_KRON \
    150                    ,MeanObject." + filter[1] + "MeanApMag      = MAG_AP \
    151                    ,MeanObject." + filter[1] + "MeanApMagErr   = MAG_AP_ERR \
    152                    ,MeanObject." + filter[1] + "MeanApMagStd   = MAG_AP_STDEV \
    153                    ,MeanObject." + filter[1] + "MeanApMagNpt   = NUSED_AP \
    154                    ,MeanObject." + filter[1] + "Flags = (0x7fff & FLAGS) | ((FLAGS >> 11) & 0x2000) "
    155 
     139                    DiffDetObject." + filter[1] + "QfPerfect      = PSF_QF_PERF_MAX "
    156140
    157141            try: self.scratchDb.execute(sql)
    158142            except:
    159                 self.logger.errorPair("failed update MeanObject", sql)
     143                self.logger.errorPair("failed update DiffDetObject", sql)
    160144                raise
    161 
    162         # now set to null all MeanMagErr values > 0.5 (cut set by Gene, 2012-04-12)
    163         # XXX EAM 20140724 : keep this cut?
    164         cut = 0.5
    165         self.logger.infoPair("Setting to NULL all MeanMagErr value >", "%f" % cut)
    166         for filter in filters:
    167 
    168             sql = "UPDATE MeanObject \
    169                    SET " + filter[1] + "MeanPSFMagErr = null \
    170                    WHERE " + filter[1] + "MeanPSFMagErr > " + str(cut)
    171             self.scratchDb.execute(sql)
    172145
    173146    '''
     
    196169            # sqlLine = sqlUtility()
    197170
    198             sql  = "UPDATE DiffObject JOIN "
     171            sql  = "UPDATE DiffDetObject JOIN "
    199172            sql += cpsTable + " AS cps "
    200             sql += "ON (cps.row = (DiffObject.row * "
     173            sql += "ON (cps.row = (DiffDetObject.row * "
    201174            sql += str(filterCount) + ")-("
    202175            sql += str(filterCount) + " - "
     
    204177            sql += ")) "
    205178
    206             sql += "SET DiffObject.n" + filter[1] + " = NCODE, "
    207             sql += "DiffObject.nDetections = DiffObject.nDetections + cps.NSTACK_DET"
     179            sql += "SET DiffDetObject.n" + filter[1] + " = NCODE, "
     180            sql += "DiffDetObject.nDetections = DiffDetObject.nDetections + cps.NSTACK_DET"
    208181            self.logger.info(sql)
    209182            self.scratchDb.execute(sql)
     
    213186        for filter in filters:
    214187            # now do a sum of n[filters], but do not include the ones with -999
    215             sql  = "UPDATE DiffObject "
     188            sql  = "UPDATE DiffDetObject "
    216189            sql += "SET nDetections = nDetections + n" + filter[1]
    217190            sql += " WHERE n" + filter[1] + " != -999"
     
    227200        self.logger.infoPair("updating diffObjName", "using means")
    228201    ## use mean ra and dec (dec >= 0)
    229         sql = "update DiffObject set diffObjName =  concat('PS1.2 J', \
    230         lpad(floor(raMean/15.),2,'0'), \
    231         lpad((raMean/15.-(floor(raMean/15.)))*60. ,2,'0'), \
    232         lpad(format(((raMean/15.-(floor(raMean/15.)))*60.-floor((raMean/15.-(floor(raMean/15.)))*60.))*60.,2),4,'0'), \
     202        sql = "update DiffDetObject set diffObjName =  concat('PS1.2 J', \
     203        lpad(floor(ra/15.),2,'0'), \
     204        lpad((ra/15.-(floor(ra/15.)))*60. ,2,'0'), \
     205        lpad(format(((ra/15.-(floor(ra/15.)))*60.-floor((ra/15.-(floor(ra/15.)))*60.))*60.,2),4,'0'), \
    233206        '+', \
    234         lpad(floor(decMean),2,'0'), \
    235         lpad((decMean-(floor(decMean)))*60. ,2,'0'), \
    236         lpad(format(((decMean-(floor(decMean)))*60.-floor((decMean-(floor(decMean)))*60.))*60.,2),4,'0') \
    237         ) where raMean > -999 and decMean > -999 and decMean >= 0"
     207        lpad(floor(dec_),2,'0'), \
     208        lpad((dec_-(floor(dec_)))*60. ,2,'0'), \
     209        lpad(format(((dec_-(floor(dec_)))*60.-floor((dec_-(floor(dec_)))*60.))*60.,2),4,'0') \
     210        ) where ra > -999 and dec_ > -999 and dec_ >= 0"
    238211        try:
    239212            self.scratchDb.execute(sql)
     
    244217    ## use mean ra and dec (dec < 0)
    245218
    246         sql = "update DiffObject set diffObjName =  concat('PS1.2 J', \
    247         lpad(floor(raMean/15.),2,'0'), \
    248         lpad((raMean/15.-(floor(raMean/15.)))*60. ,2,'0'), \
    249         lpad(format(((raMean/15.-(floor(raMean/15.)))*60.-floor((raMean/15.-(floor(raMean/15.)))*60.))*60.,2),4,'0'), \
     219        sql = "update DiffDetObject set diffObjName =  concat('PS1.2 J', \
     220        lpad(floor(ra/15.),2,'0'), \
     221        lpad((ra/15.-(floor(ra/15.)))*60. ,2,'0'), \
     222        lpad(format(((ra/15.-(floor(ra/15.)))*60.-floor((ra/15.-(floor(ra/15.)))*60.))*60.,2),4,'0'), \
    250223        '-', \
    251         lpad(floor(decMean),2,'0'), \
    252         lpad((decMean-(floor(decMean)))*60. ,2,'0'), \
    253         lpad(format(((decMean-(floor(decMean)))*60.-floor((decMean-(floor(decMean)))*60.))*60.,2),4,'0') \
    254         ) where raMean > -999 and decMean > -999 and decMean < 0"
     224        lpad(floor(dec_),2,'0'), \
     225        lpad((dec_-(floor(dec_)))*60. ,2,'0'), \
     226        lpad(format(((dec_-(floor(dec_)))*60.-floor((dec_-(floor(dec_)))*60.))*60.,2),4,'0') \
     227        ) where ra > -999 and dec_ > -999 and dec_ < 0"
    255228
    256229        try:
     
    290263
    291264       
    292         self.logger.info("Populating DiffObject")
     265        self.logger.info("Populating DiffDetObject")
    293266        self.logger.info("Inserting objects from cpt file")
    294267
     
    297270        # INSERT IGNORE INTO ObjectThin
    298271
    299         sqlLine = sqlUtility("INSERT INTO DiffObject (")
     272        sqlLine = sqlUtility("INSERT INTO DiffDetObject (")
    300273
    301274        sqlLine.group("diffObjID",           "EXT_ID")
     
    311284        sqlLine.group("consistencyFlag", "'0'")
    312285        sqlLine.group("ra",          "RA_MEAN")
    313         sqlLine.group("dec",         "DEC_MEAN")
     286        sqlLine.group("dec_",         "DEC_MEAN")
    314287        sqlLine.group("raErr",       "RA_ERR")
    315288        sqlLine.group("decErr",      "DEC_ERR")
     
    320293            self.scratchDb.execute(sql)
    321294        except:
    322             self.logger.errorPair("Couldn't populate DiffObject table", sql)
     295            self.logger.errorPair("Couldn't populate DiffDetObject table", sql)
    323296            return False
    324297 
    325298        # add row count columns so we can perform joins to get colors
    326         self.logger.infoPair("Adding 'row' columns to", "DiffObject and cps tables")
    327         self.scratchDb.addRowCountColumn("DiffObject", "row")
     299        self.logger.infoPair("Adding 'row' columns to", "DiffDetObject and cps tables")
     300        self.scratchDb.addRowCountColumn("DiffDetObject", "row")
    328301        self.scratchDb.addRowCountColumn(cpsTableName, "row")
    329302
    330303##        self.insertMeanMags(cpsTableName)
    331304## this is the new version
    332         self.logger.infoPair("update diffObjName for ","DiffObject")
     305        self.logger.infoPair("update diffObjName for ","DiffDetObject")
    333306        self.updateDiffObjName()
    334307
    335         self.logger.infoPair("update DiffObject from ","cps table")
     308        self.logger.infoPair("update DiffDetObject from ","cps table")
    336309
    337310        self.updateDiffObjectFromCps(cpsTableName)
     
    353326        #count out of range
    354327
    355         sql = "SELECT count(*) FROM DiffObject where \
    356               DiffObject.dec > (" + str(decMax) + " + .0033) \
    357               or DiffObject.dec < (" + str(decMin) + " - .0033) \
    358               or DiffObject.ra > (" + str(raMax) + " + .0033) \
    359               or DiffObject.ra < (" + str(raMin) + " - .0033)"       
     328        sql = "SELECT count(*) FROM DiffDetObject where \
     329              DiffDetObject.dec_ > (" + str(decMax) + " + .0033) \
     330              or DiffDetObject.dec_ < (" + str(decMin) + " - .0033) \
     331              or DiffDetObject.ra > (" + str(raMax) + " + .0033) \
     332              or DiffDetObject.ra < (" + str(raMin) + " - .0033)"       
    360333   
    361334        rs = self.scratchDb.executeQuery(sql)
     
    366339       
    367340 
    368         sql = "DELETE FROM DiffObject where \
    369               DiffObject.decMean > (" + str(decMax) + " + .0033) or \
    370               DiffObject.decMean < (" + str(decMin) + " - .0033) or \
    371               DiffObject.raMean > (" + str(raMax) + " + .0033) or \
    372               DiffObject.raMean < (" + str(raMin) + " - .0033)"
     341        sql = "DELETE FROM DiffDetObject where \
     342              DiffDetObject.dec_ > (" + str(decMax) + " + .0033) or \
     343              DiffDetObject.dec_ < (" + str(decMin) + " - .0033) or \
     344              DiffDetObject.ra > (" + str(raMax) + " + .0033) or \
     345              DiffDetObject.ra < (" + str(raMin) + " - .0033)"
    373346        self.logger.infoPair("Deleting", str(nToDelete) + " objects outside of ra/dec range")
    374347
     
    376349            self.scratchDb.execute(sql)
    377350        except:
    378             self.logger.errorPair("Couldn't cull outsiders from DiffObject table", sql)
     351            self.logger.errorPair("Couldn't cull outsiders from DiffDetObject table", sql)
    379352            return False
    380353
    381         self.logger.infoPair("Dropping row column from", "DiffObject table")
    382         self.scratchDb.dropColumn("DiffObject", "row")
     354        self.logger.infoPair("Dropping row column from", "DiffDetObject table")
     355        self.scratchDb.dropColumn("DiffDetObject", "row")
    383356        ##self.logger.infoPair("Purging from scratch Db", self.region + " region")
    384357
     
    386359        ##self.dvoObjects.purgeRegion(self.region)
    387360
    388         self.setMinMaxDiffObjID(["DiffObject"])
     361        self.setMinMaxDiffObjID(["DiffDetObject"])
    389362
    390363        return True
     364
     365    '''
     366    Updates table and generates pspsuniqueids
     367    '''
     368
     369    def updatePspsUniqueIDs(self,table):
     370        sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, diffobjID from \
     371        (select @r:=0) r, "+table+" t) as foo using (diffobjID) set \
     372        uniquePspsDOid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
     373        try: self.scratchDb.execute(sql)
     374        except:
     375            self.logger.errorPair('failed sql',sql)
     376            return
     377
     378
    391379
    392380    '''
     
    399387        # now remove the objID duplicates. We could not do this before as cpt/cps tables relate by row number
    400388        self.logger.infoPair("Forcing uniqueness on", "objID in DIffObject table")
    401         rowCountBefore = self.scratchDb.getRowCount("DiffObject")
     389        rowCountBefore = self.scratchDb.getRowCount("DiffDetObject")
    402390
    403391        # XXX EAM : note that in mysql versions later than 5.1, this fails
     
    410398            self.scratchDb.execute("set session old_alter_table=1")
    411399           
    412         self.scratchDb.execute("ALTER IGNORE TABLE DiffObject ADD UNIQUE INDEX(diffObjID)")
     400        self.scratchDb.execute("ALTER IGNORE TABLE DiffDetObject ADD UNIQUE INDEX(diffObjID)")
    413401        if self.scratchDb.version > 5.1:
    414402            self.scratchDb.execute("set session old_alter_table=0")
    415403
    416         rowCountAfter = self.scratchDb.getRowCount("DiffObject")
     404        rowCountAfter = self.scratchDb.getRowCount("DiffDetObject")
    417405        self.logger.infoPair("Number of duplicated diffobjIDs removed", "%d out of %d" % ((rowCountBefore - rowCountAfter), rowCountBefore))
    418406
     407        self.scratchDb.execute("ALTER TABLE DiffDetObject CHANGE dec_ `dec` double")
     408
     409        self.updatePspsUniqueIDs("DiffDetObject")
     410
    419411        self.dvoObjects.purgeRegion(self.region)
    420412
    421413        #this is abuse of something but this is how I get the object batches to crash to further investigate them
    422414       
    423         rowCountAfter = self.scratchDb.getRowCount("Object")
     415 
     416#        rowCountAfter = self.scratchDb.getRowCount("Object")
    424417        return True
    425418#        return False
Note: See TracChangeset for help on using the changeset viewer.