IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 6, 2017, 11:16:30 AM (10 years ago)
Author:
eugene
Message:

merge changes from trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/czw_branch/20160809/ippToPsps/jython/stackbatch.py

    r39649 r39922  
    129129           self.zpImage[filter] = self.getKeyFloat(header, "%.8f", 'ZPT_OBS')
    130130           self.zpError[filter] = self.getKeyFloat(header, "%.8f", 'ZPT_ERR')
    131 
    132            deteffHeader = self.fits[filter].findAndReadHeader("SkyChip.deteff", self.config.test)
    133            if not deteffHeader:
    134                if self.config.test: self.logger.errorPair("No header found for Skychip.deteff for", filter)
    135                return False
    136 
    137            self.magref[filter] = self.getKeyFloat(deteffHeader, "%.8f", 'DETEFF.MAGREF')
    138            self.nInjected[filter] = int(self.getKeyInt(deteffHeader, 0, 'DETEFF.NUM'))
     131           hasdeteff = 1           
     132           try: deteffHeader = self.fits[filter].findAndReadHeader("SkyChip.deteff", self.config.test)
     133           except:
     134               hasdeteff = 0
     135           #if not deteffHeader:
     136           #    if self.config.test: self.logger.errorPair("No header found for Skychip.deteff for", filter)
     137           #    return False
     138               
     139           if hasdeteff == 1:         
     140               self.magref[filter] = self.getKeyFloat(deteffHeader, "%.8f", 'DETEFF.MAGREF')
     141               self.nInjected[filter] = int(self.getKeyInt(deteffHeader, 0, 'DETEFF.NUM'))
    139142
    140143           ## MEH -- md5sum test
     
    733736        # sersic fit has an extra parameter
    734737        if (ippModelType == "PS_MODEL_SERSIC"):
    735             sqlLine.group("a." + filter + model + "Nu",    "1 / (2.0 * b.EXT_PAR_07)")
    736             sqlLine.group("a." + filter + model + "NuErr", "'0.1'") # this is not measured at the moment
     738            testSQL = 'show columns FROM rSkyChip_xfit LIKE "EXT_PAR_07"'
     739            have_ext_par_07 = 1
     740            try:
     741                rs = self.scratchDb.execute(sql)
     742            except:
     743                have_ext_par_07 = 0
     744            if have_ext_par_07 == 1:
     745                sqlLine.group("a." + filter + model + "Nu",    "1 / (2.0 * b.EXT_PAR_07)")
     746                sqlLine.group("a." + filter + model + "NuErr", "'0.1'") # this is not measured at the moment
     747
     748            ### I think, if ippModelType = PS_MODEL_SERSIC, and EXT_PAR_07 does not exist, then Nu, Nerr = null
     749           
    737750
    738751        # missing these two fields?
     
    11701183                # search the words for the o....g....o part
    11711184                for j in range(len(words)):
    1172                     match = re.search('o\d\d\d\dg\d\d\d\d\o', words[j])
    1173                     if (match != None):
     1185                    match1 = re.search('^\d\d\d\dg\d\d\d\d\o', words[j]) #remove leading  o: then ones with borked no os and cs will work now
     1186                    match2 = re.search('\o\d\d\d\dg\d\d\d\d\o', words[j]) #remove leading  o: then ones with borked no os and cs will work now
     1187                    match3 = re.search('\c\d\d\d\dg\d\d\d\d\o', words[j]) #remove leading  o: then ones with borked no os and cs will work now
     1188                    if (match1 != None):
    11741189                        ogo=j
     1190                        ogoname = 'o'+words[ogo]
     1191                        break
     1192                    if (match2 != None):
     1193                        ogo=j
     1194                        ogoname = words[ogo]
     1195                        break
     1196                    if (match3 != None):
     1197                        ogo=j
     1198                        ogoname = words[ogo]
    11751199                        break
    11761200                    # did we find it? if so, are there are least 2 more elements past the ogo?
     
    11781202
    11791203                if ogo > -1:
    1180                     if (ogo +1) < len(words):
     1204                    if (ogo +2) < len(words): #this was the mistake before
    11811205                        # there is a o....g....o element, and the next 2 exist
    11821206                        frameID = words[ogo+1]
    11831207                       
    1184                     else:
    1185                         self.logger.infoPair("unable to find exp_id from", inputName)
    1186                         raise
     1208                    else:
     1209                        #ogoname = "o"+words[ogo]
     1210                        try: frameID = self.gpc1Db.getExpIdFromExpName(ogoname)
     1211                        except:
     1212                            self.logger.error("cant get expid")
     1213                            raise
     1214                       
     1215#                        frameID = str(rs.getInt(1))
     1216       
     1217#                        self.logger.infoPair("unable to find exp_id from", inputName)
     1218#                        raise
    11871219                        # and then raise an error and stop the program. I expect this to mostly work fine
    11881220        # for the extra long label (?) - can probably get it from just the o g o (if exp_id
     
    12161248
    12171249        self.tablesToExport.append("StackToFrame")
     1250        return True
    12181251
    12191252    '''
     
    14961529            if self.stackIDs[filter] > 0:       
    14971530                self.populateStackMeta(filter)
    1498 
     1531               
    14991532        self.populateStackObjectThin()
    15001533
     
    15291562        self.logger.infoPair("populating","StackToImage")
    15301563        self.populateStackToImage()
    1531        
     1564       
     1565 
     1566       
    15321567        self.logger.infoPair("populating","StackToFrame")
    1533         self.populateStackToFrame()
    1534        
     1568
     1569#        self.populateStackToFrame()
     1570        if not self.populateStackToFrame():
     1571                    self.logger.errorPair("can't populate"," stack to frame")
     1572                    return False
     1573        self.logger.infoPair("removing frameID"," duplicates")
     1574        self.scratchDb.execute("ALTER IGNORE TABLE StackToFrame ADD UNIQUE INDEX(frameID)")
     1575
    15351576        self.setMinMaxObjID(["StackObjectThin"])
    15361577
Note: See TracChangeset for help on using the changeset viewer.