IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 1, 2014, 9:46:08 PM (12 years ago)
Author:
heather
Message:

first pass of stackbatch stackObject - has objID + basic filter dvo data. woot.

File:
1 edited

Legend:

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

    r36719 r36723  
    10151015        self.scratchDb.updateAllRows(tableName, "dataRelease", str(self.skychunk.dataRelease))
    10161016       
    1017     def populateStackObjectCalib(self):
     1017    def populateStackObjectFromDvo(self):
    10181018
    10191019        tableName = "StackObject"
    10201020        self.logger.infoPair("Processing table", tableName)
    10211021
    1022         imageID = self.scratchDb.getImageIDFromExternID(self.header['IMAGEID'])
    1023         self.logger.infoPair("obtained","imageID")
    1024         sql = "UPDATE " + tableName + " AS a, "  + self.scratchDb.dvoDetectionTable + " AS b \
    1025             SET a.ra = b.ra, \
    1026             a.dec = b.dec_, \
    1027             a.raErr = b.raErr, \
    1028             a.decErr = b.decErr, \
    1029             a.zp = b.zp, \
    1030             a.expTime = b.expTime, \
    1031             a.airMass = b.airMass   \
    1032             WHERE a.stackDetectID = b.detectID \
    1033             AND b.imageID = " + str(imageID)
    1034         self.scratchDb.execute(sql)
    1035         self.scratchDb.updateAllRows(tableName, "dataRelease", str(self.skychunk.dataRelease))
     1022        filters = ['g','r','i','z','y']
     1023       
     1024        for f in filters:
     1025            skip = 0
     1026            #first: do we skip this filter
     1027            if f == 'g':
     1028                self.header = self.gheader
     1029                if self.gstackID < 0:
     1030                    skip = 1
     1031            elif f == 'r':
     1032                self.header = self.rheader
     1033                if self.rstackID < 0:
     1034                    skip = 1
     1035            elif f == 'i':
     1036                self.header = self.iheader
     1037                if self.istackID < 0:
     1038                    skip = 1
     1039            elif f == 'z':
     1040                self.header = self.zheader
     1041                if self.zstackID < 0:
     1042                    skip = 1
     1043            elif f == 'y':
     1044                self.header = self.yheader
     1045                if self.ystackID < 0:
     1046                    skip = 1
     1047            if skip == 0:       
     1048                imageID = self.scratchDb.getImageIDFromExternID(self.header['IMAGEID'])
     1049                self.logger.infoPair("obtained","imageID")
     1050                sql = "UPDATE " + tableName + " AS a, "  + self.scratchDb.dvoDetectionTable + " AS b \
     1051                      SET a." + f + "ra = b.ra, \
     1052                      a." + f + "dec = b.dec_, \
     1053                      a." + f + "raErr = b.raErr, \
     1054                      a." + f + "decErr = b.decErr, \
     1055                      a." + f + "zp = b.zp, \
     1056                      a." + f + "expTime = b.expTime, \
     1057                      a." + f + "stackDetectID = b.detectID   \
     1058                      WHERE a.objID = b.objID \
     1059                      AND b.imageID = " + str(imageID)
     1060            self.logger.infoPair('sql',sql)   
     1061            self.scratchDb.execute(sql)
     1062            self.scratchDb.updateAllRows(tableName, "dataRelease", str(self.skychunk.dataRelease))
    10361063
    10371064        ## XXX write this with the select/insert
     
    10911118        sql = "INSERT IGNORE INTO " + table + " ( \
    10921119               objID ) \
    1093                SELECT (objID) FROM " + self.scratchDb.dvoDetectionTable + " ( \
    1094                WHERE b.imageID = " + str(imageID)
     1120               SELECT (objID) FROM " + self.scratchDb.dvoDetectionTable + "  \
     1121               WHERE " + self.scratchDb.dvoDetectionTable + ".imageID = " + str(imageID)
     1122        self.logger.infoPair("sql",sql)
    10951123        self.scratchDb.execute(sql)
    10961124   
     
    11391167    '''
    11401168    def populatePspsTables(self):
    1141         self.infoPair("starting","populatePspsTables");
     1169        self.logger.infoPair("starting","populatePspsTables");
    11421170        self.skipBatch = False
    11431171     
     
    11821210            self.insertDvoIDs("StackApFlx","y.00000")
    11831211
    1184         self.logger.infoPair("populating","StackObject")
     1212        self.logger.infoPair("populating","StackObject")
     1213        # need to index on objid or it is stupidly slow
     1214        self.scratchDb.createIndex("StackObject", "objID")
     1215        self.scratchDb.createIndex("StackModelFit", "objID")
     1216        self.scratchDb.createIndex("StackApFlx", "objID")
     1217
     1218
     1219
     1220        #ok, now we have the shell stackObjects - these need to be filled.
     1221        self.populateStackObjectFromDvo()
    11851222        self.populateStackObject()
    11861223       
Note: See TracChangeset for help on using the changeset viewer.