IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 12, 2014, 5:37:01 PM (12 years ago)
Author:
heather
Message:

Ipptopsps: new Schema, old dvo - first attempt to run sas

File:
1 edited

Legend:

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

    r36736 r36744  
    187187
    188188       # TODO this is the wrong way, but is consistent with SkyCell table in IN data
    189        self.skycell = self.skycell[8:12]
     189       self.skycell = self.skycell[8:]
    190190       self.projectioncell = self.skycell
    191191
     
    407407 # idk what to do about PET
    408408
     409        sql = "DESCRIBE "+f+"SkyChip_xfit 'EXT_COVAR_%'"
     410        rs = self.scratchDb.executeQuery(sql)
     411        rs.first()
     412        hasResult = rs.next()
     413
     414
     415
    409416        sql = "UPDATE StackModelFit AS a, " + f + "SkyChip_xfit AS b SET \
    410417        "+f+model+"Radius=b.EXT_WIDTH_MAJ,  \
     
    419426        self.scratchDb.execute(sql)
    420427
     428
     429
    421430        # sersic fit has an extra parameter
    422431        if (ippModelType == "PS_MODEL_SERSIC"):
     432            extra_sql = ""
     433            if hasResult:
     434                extra_sql = ","+f+"serNuErr=SQRT(EXT_COVAR_07_07)"
    423435            sql = "UPDATE StackModelFit AS a, "+ f+ "SkyChip_xfit AS b SET \
    424436            "+f+"serNu=b.EXT_PAR_07   \
     437            "+extra_sql+" \
    425438            WHERE a."+f+"ippDetectID=b.IPP_IDET AND b.MODEL_TYPE = '"+ippModelType+"'"
    426439#           "+f+"serNuErr=SQRT(EXT_COVAR_07_07)  \
     
    438451        # this should work : set header into (grizy)header and run from there
    439452        if filterName == 'g.00000':
     453            f = "g"
    440454            self.header = self.gheader
    441455            tablename = 'gStackMeta'
    442456            stackmetaid = self.gstackID
    443457        if filterName == 'r.00000':
     458            f = "r"
    444459            tablename = 'rStackMeta'
    445460            self.header = self.rheader
    446461            stackmetaid = self.rstackID
    447462        if filterName == 'i.00000':
     463            f = "i"
    448464            tablename = 'iStackMeta'
    449465            self.header = self.iheader
    450466            stackmetaid = self.istackID
    451467        if filterName == 'z.00000':
     468            f = "z"
    452469            tablename = 'zStackMeta'
    453470            self.header = self.zheader
    454471            stackmetaid = self.zstackID
    455472        if filterName == 'y.00000':
     473            f = "y"
    456474            tablename = 'yStackMeta'
    457475            self.header = self.yheader
     
    470488        #make a table
    471489
     490        filterid = self.scratchDb.getFilterID(f)
     491        self.logger.infoPair("filterid is ",str(filterid))
     492
    472493        sql = "CREATE TABLE " + tablename + " LIKE StackMeta"
    473494        try: self.scratchDb.execute(sql)
     
    476497        sql = "INSERT INTO " + tablename + " (\
    477498        stackMetaID \
     499        ,filterID \
    478500        ,skyCellID \
    479501        ,photoCalID \
     
    497519         ) VALUES ( \
    498520        " + str(stackmetaid) + " \
     521        , " + str(filterid) + "  \
    499522        ," + self.skycell + " \
    500523        ," + str(self.scratchDb.getPhotoCalID(self.header['IMAGEID'])) + " \
     
    518541        )"
    519542        self.scratchDb.execute(sql)
     543
     544
    520545        self.scratchDb.updateAllRows(tablename, "batchID", str(self.batchID))
    521546        self.scratchDb.updateAllRows(tablename, "surveyID", str(self.surveyID))
    522         self.scratchDb.updateFilterID(tablename, filterName)
     547    #    self.scratchDb.updateFilterID(tablename, self.scratchDb.getFilterID(filterName))
    523548        self.scratchDb.updateAllRows(tablename, "dataRelease", str(self.skychunk.dataRelease))
    524549        self.updateStackTypeID(tablename)
     
    954979                    self.scratchDb.execute(sql)
    955980
     981    '''
     982    Generates the randomStackIds
     983    '''
     984    def populateRandomsAndSkyCellID(self):
     985
     986        self.logger.infoPair("Generating Randoms","for StackObject")
     987        sql = "update StackObject set randomStackObjID = FLOOR(RAND()*9223372036854775807) \
     988              ,skyCellID = " + str(self.skycell)+ " \
     989              ,surveyID = " + str(self.surveyID)
     990        try:
     991            self.scratchDb.execute(sql)
     992        except:
     993            self.logger.infoPair("failed sql", sql)
     994
     995    '''
     996    copies randomStackIds from StackObject to tableName
     997    '''
     998    def copyRandomsAndSkyCellIDFromStackObject(self, tableName):
     999
     1000        self.logger.infoPair("copying Randoms from StackObject to ", tableName)
     1001        sql = "update " + tableName + " join StackObject using (objID) \
     1002        set " + tableName + ".randomStackObjID = StackObject.randomStackObjID \
     1003        , " + tableName + ".skyCellID = StackObject.skyCellID \
     1004        , " + tableName + ".surveyID = StackObject.surveyID"
     1005        self.logger.infoPair("sql", sql)
     1006        try:
     1007            self.scratchDb.execute(sql)
     1008        except:
     1009            self.logger.infoPair("failed sql", sql)
     1010
     1011
    9561012       
    9571013    def populateStackIPPDetectIDFromDvo(self, tableName, all):
     
    10121068                      " + addsql + " \
    10131069                      a." + f + "stackDetectID = b.detectID,   \
     1070                      a." + f + "ippObjID = b.ippObjID, \
    10141071                      a." + f + "stackMetaID = " + str(stackmetaid) +  " \
    10151072                      WHERE a.objID = b.objID  AND b.imageID = " + str(imageID)
     
    11881245        self.scratchDb.createIndex("StackObject", "yippDetectID")
    11891246        self.populateStackObject()
     1247        self.populateRandomsAndSkyCellID()
    11901248        # stackObject should be done, pending a few NULL columns (need help)
    11911249
     
    12061264            self.deleteNULLippDetectIDs("StackModelFit")
    12071265        #populate stackModelFit
    1208             self.populateStackModelFit("g")
    1209             self.populateStackModelFit("r")
    1210             self.populateStackModelFit("i")
    1211             self.populateStackModelFit("z")
    1212             self.populateStackModelFit("y")
    1213 
     1266            if self.gstackID > 0:
     1267                self.logger.infoPair("populating g filter for stackModelFit, stackmetaid =", self.gstackID)
     1268                self.populateStackModelFit("g")
     1269            if self.rstackID > 0:
     1270                self.logger.infoPair("populating r filter for stackModelFit, stackmetaid =", self.rstackID)
     1271                self.populateStackModelFit("r")
     1272            if self.istackID > 0:
     1273                self.logger.infoPair("populating i filter for stackModelFit, stackmetaid =", self.istackID)
     1274                self.populateStackModelFit("i")
     1275            if self.zstackID > 0:
     1276                self.logger.infoPair("populating z filter for stackModelFit, stackmetaid =", self.zstackID)
     1277                self.populateStackModelFit("z")
     1278            if self.ystackID > 0:
     1279                self.logger.infoPair("populating y filter for stackModelFit, stackmetaid =", self.ystackID)
     1280                self.populateStackModelFit("y")
     1281           
     1282            self.copyRandomsAndSkyCellIDFromStackObject("StackModelFit")
    12141283 
    12151284            self.logger.infoPair("populating ","StackApFlx")
     
    12271296            self.deleteNULLippDetectIDs("StackApFlx")
    12281297            self.populateStackApFlx()
     1298            self.copyRandomsAndSkyCellIDFromStackObject("StackApFlx")
    12291299        #cull the entries that should not be (how?)
    12301300       
Note: See TracChangeset for help on using the changeset viewer.