IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 30, 2015, 5:01:15 PM (11 years ago)
Author:
watersc1
Message:

Updates to make DF batches work. Test suite changes to implement that. There are still a few issues with header keywords not being respected completely, but I'm not fully sure if that's due to the simulated data or not. Change to fulltest.sh to move dbuser/pass into variables that can be changed easily.

File:
1 edited

Legend:

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

    r38999 r39015  
    114114
    115115           self.difftypeID[num] = meta[1];
    116            self.ippDiffID[num] = stage_id
     116           self.ippDiffID[num] = stageid
    117117           self.posImageID[num] = meta[2];
    118118           self.negImageID[num] = meta[3];
     
    122122           ## MEH -- should be able to use diff header now for mjd (see below)
    123123           #self.obsTime[num] = meta[7];
    124            self.expID[num] = meta[8];
     124           # tess_id is handled below, that's #8.
     125           self.expID[num] = meta[9];
    125126           self.logger.infoPair("loading diff stage cmf", diffSkyFileID)
    126127           self.fits[num] = gpc1Db.getDiffStageCmf(skychunk.dvoLabel, int(diffSkyFileID))
     
    160161           self.dropTableVerbose("DiffToImage_"+str(num))
    161162           self.dropTableVerbose("DiffDetection_"+str(num))
     163           self.dropTableVerbose("DiffDetEffMeta_"+str(num))
    162164
    163165           if not self.analysisVer[num]: self.analysisVer[num] = -999
     
    440442
    441443
     444    '''
     445    Populate DiffDetEffMeta
     446    '''
     447    def populateDiffDetEffMeta(self,num):
     448        diffSkyFileID = self.number[num]
     449        self.logger.infoPair("Processing table", "DiffDetEffMeta")
     450
     451        if diffSkyFileID <= 0:
     452            self.logger.infoPair("no diff data for number", num)
     453            return False
     454
     455        cmfTable = "SkyChip_deteff_" + str(num)
     456        if not cmfTable in self.tablesLoaded:
     457            self.logger.infoPair("no deteff data for diff", diffSkyFileID)
     458            self.logger.infoPair("(did not find table in tablesLoaded)", cmfTable)
     459            for name in self.tablesLoaded:
     460                print "-- table: " + name
     461            os._exit(3)
     462            return False
     463
     464        self.logger.infoPair("Found cmfTable:", cmfTable)
     465
     466        ippTableName = "DiffDetEffMeta_" + str(num)
     467        sql = "CREATE TABLE " + ippTableName + " LIKE DiffDetEffMeta"
     468        try: self.scratchDb.execute(sql)
     469        except: pass
     470
     471        self.logger.infoPair("Created tmp table:", ippTableName)
     472
     473        header = self.header[num]
     474        # CZW: this is broken, and can't get the zeropoint
     475        #        zpImage = self.scratchDb.getImageZeroPoint(diffSkyFileID)
     476        zpImage = 0.0
     477
     478        if zpImage < 0.0:
     479            zpImage = 0.0
     480        if zpImage == 0.0:
     481            self.logger.infoPair("CZW If this value for the zeropoint is zero, the getImageZeroPoint call is likely still broken", str(zpImage))
     482
     483
     484        magref = self.getKeyFloat(header,"%.8f","DETEFF.MAGREF") + zpImage
     485        self.logger.infoPair("Found zeropoint and set magref", str(magref))
     486        self.logger.infoPair("CZW If that magref is -5.804804, then it's reading from the PHU, not the Deteff extension.","In a test, I mean.")
     487        sqlLine = sqlUtility("INSERT INTO " + ippTableName + "(")
     488        sqlLine.group("diffImageID", str(diffSkyFileID))
     489        sqlLine.group("magref",       magref)
     490        sql = sqlLine.make(") VALUES ( ", ")")
     491           
     492
     493        try: self.scratchDb.execute(sql)
     494        except:
     495            self.logger.errorPair('failed sql: ', sql)
     496            raise
     497
     498        self.logger.infoPair("CZW:", "About to loop over deteff bins.")
     499
     500        for i in xrange(1, 14):
     501            stringint = str(i)
     502            if i < 10:
     503                stringint = '0' + str(i)
     504               
     505            sql = "UPDATE " + ippTableName + " , " + cmfTable + \
     506                " SET offset"+stringint + " = OFFSET, counts" \
     507                +stringint + " = COUNTS, diffMean" \
     508                +stringint + " = DIFF_MEAN, diffStdev" \
     509                +stringint + " = DIFF_STDEV, errMean" \
     510                +stringint + " = ERR_MEAN WHERE table_index = " + str(i)
     511               
     512            try: self.scratchDb.execute(sql)
     513            except:
     514                self.logger.errorPair('filed sql: ', sql)
     515                raise
     516            # end for
     517                # Append this like this?
     518        self.tablesToExport.append(ippTableName)
     519        # end filters
     520
     521
     522        return True
    442523
    443524
     
    452533        self.logger.debug("Altering PSPS tables")
    453534        self.logger.debug("Creating indexes on PSPS tables")
    454         self.scratchDb.makeColumnUnique("DiffDetection", "objID")
     535        self.scratchDb.makeColumnUnique("DiffDetection", "diffObjID")
    455536        self.scratchDb.makeColumnPrimaryKey("DiffDetection", "ippDetectID")
    456537
     
    555636            self.setMinMaxDiffObjID(["DiffDetection_"+str(num)])
    556637
    557 
     638            self.populateDiffDetEffMeta(num)
     639            self.logger.infoPair("populated","DiffDetEffMeta_"+str(num))
     640            # CZW: I appended to tablesToExport inside populateDiffDetEffMeta to be like stack.
    558641        #test = self.scratchDb.getRowCount("Object")
    559642        #return False
     
    623706                        self.haveApNpix[num] = 1
    624707
    625                 myTable = table.name + "_" + str(num)
     708
     709                myTable = table.name.replace(".","_") + "_" + str(num)
    626710                count = count + 1
    627711                     
Note: See TracChangeset for help on using the changeset viewer.