IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 5, 2016, 3:34:49 PM (11 years ago)
Author:
eugene
Message:

need to handle possibly NULL / NaN values in the headers

File:
1 edited

Legend:

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

    r39249 r39305  
    5656               "DF",
    5757               None)
    58     #           gpc1Db.getDiffStageCmf(skychunk.dvoLabel,diffSkyFileID))
    5958
    6059       # get diff meta data
     
    195194           ## -- XXX hard-wired platescale : 0.25
    196195           pltscale = 0.25
    197            self.psfFwhmMajor[num] = pltscale * self.getKeyFloat(self.header[num], "%.8f", 'FWHM_MAJ')
    198            self.psfFwhmMinor[num] = pltscale * self.getKeyFloat(self.header[num], "%.8f", 'FWHM_MIN')
    199            self.psfFWHM[num] = 0.5*(self.psfFwhmMajor[num] + self.psfFwhmMinor[num])
    200 
    201            self.psfModelName[num]    = self.getKeyValue(self.header[num], 'PSFMODEL')
    202            self.psfModelID[num]  = self.scratchDb.getFitModelID(self.psfModelName[num])
     196           self.psfFwhmMajor[num] = self.getKeyFloat(self.header[num], "%.8f", 'FWHM_MAJ')
     197           if (self.psfFwhmMajor[num] != "NULL"): self.psfFwhmMajor[num] *= pltscale
     198
     199           self.psfFwhmMinor[num] = self.getKeyFloat(self.header[num], "%.8f", 'FWHM_MIN')
     200           if (self.psfFwhmMinor[num] != "NULL"): self.psfFwhmMinor[num] *= pltscale
     201
     202           self.psfFWHM[num] = "NULL"
     203           if (self.psfFwhmMajor[num] != "NULL") and (self.psfFwhmMinor[num] != "NULL"):
     204               self.psfFWHM[num] = 0.5*(self.psfFwhmMajor[num] + self.psfFwhmMinor[num])
     205
     206           self.psfModelName[num] = self.getKeyValue(self.header[num], 'PSFMODEL')
     207           self.psfModelID[num]   = self.scratchDb.getFitModelID(self.psfModelName[num])
    203208
    204209           # drop the existing tables   
     
    244249        # Convert detectionThreshold to appropriate magnitudes
    245250        # we have read these values from the appropriate locations in init()
    246         zpImage = float(self.zpImage[num])
    247         expTime = float(self.expTime[num])
    248         magref  = float(self.magref[num])
    249 
    250         detectionThreshold = magref + zpImage + 2.5 * math.log10(expTime)
     251        zpImage = "NULL" if (self.zpImage[num] == "NULL") else float(self.zpImage[num])
     252        expTime = "NULL" if (self.expTime[num] == "NULL") else float(self.expTime[num])
     253        magref  = "NULL" if (self.magref[num]  == "NULL") else float(self.magref[num])
     254
     255        isNull = (zpImage == "NULL") or (expTime == "NULL") or (magref == "NULL")
     256        detectionThreshold = "NULL" if isNull else magref + zpImage + 2.5 * math.log10(expTime)
    251257
    252258        sql = "CREATE TABLE DiffMeta_"+str(num)+" like DiffMeta"
     
    532538
    533539        # we have read these values from the appropriate locations in init()
    534         zpImage = float(self.zpImage[num])
    535         expTime = float(self.expTime[num])
    536         magref  = float(self.magref[num])
    537 
    538         detectionThreshold = magref + zpImage + 2.5 * math.log10(expTime)
     540        zpImage = "NULL" if (self.zpImage[num] == "NULL") else float(self.zpImage[num])
     541        expTime = "NULL" if (self.expTime[num] == "NULL") else float(self.expTime[num])
     542        magref  = "NULL" if (self.magref[num]  == "NULL") else float(self.magref[num])
     543
     544        isNull = (zpImage == "NULL") or (expTime == "NULL") or (magref == "NULL")
     545        detectionThreshold = "NULL" if isNull else magref + zpImage + 2.5 * math.log10(expTime)
    539546
    540547        nInjected = int(self.nInjected[num])
Note: See TracChangeset for help on using the changeset viewer.