IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 36744


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

Location:
trunk/ippToPsps
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippToPsps/config/tables.ST.vot

    r36736 r36744  
    124124        <DESCRIPTION>galactic coordinates ODM object identifier</DESCRIPTION>
    125125      </FIELD>
    126       <FIELD name="ippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    127         <DESCRIPTION>IPP object identifier</DESCRIPTION>
    128       </FIELD>
    129126      <FIELD name="surveyID" arraysize="1" datatype="unsignedByte" unit="dimensionless" default="NA">
    130127        <DESCRIPTION>survey flag identifier</DESCRIPTION>
     
    151148        <DESCRIPTION>Data release when this table was loaded.</DESCRIPTION>
    152149      </FIELD>
     150      <FIELD name="gippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     151        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     152      </FIELD>
    153153      <FIELD name="gippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    154154        <DESCRIPTION>ipp identifier</DESCRIPTION>
     
    283283        <DESCRIPTION>number of frames contributing to source</DESCRIPTION>
    284284      </FIELD>
     285      <FIELD name="rippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     286        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     287      </FIELD>
    285288      <FIELD name="rippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    286289        <DESCRIPTION>ipp identifier</DESCRIPTION>
     
    415418        <DESCRIPTION>number of frames contributing to source</DESCRIPTION>
    416419      </FIELD>
     420      <FIELD name="iippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     421        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     422      </FIELD>
    417423      <FIELD name="iippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    418424        <DESCRIPTION>ipp identifier</DESCRIPTION>
     
    547553        <DESCRIPTION>number of frames contributing to source</DESCRIPTION>
    548554      </FIELD>
     555      <FIELD name="zippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     556        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     557      </FIELD>
    549558      <FIELD name="zippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    550559        <DESCRIPTION>ipp identifier</DESCRIPTION>
     
    678687      <FIELD name="znFrames" arraysize="1" datatype="int" unit="dimensionless" default="-999">
    679688        <DESCRIPTION>number of frames contributing to source</DESCRIPTION>
     689      </FIELD>
     690      <FIELD name="yippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     691        <DESCRIPTION>IPP object identifier</DESCRIPTION>
    680692      </FIELD>
    681693      <FIELD name="yippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    824836        <DESCRIPTION>galactic coordinates ODM object identifier</DESCRIPTION>
    825837      </FIELD>
    826       <FIELD name="ippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    827         <DESCRIPTION>IPP object identifier</DESCRIPTION>
    828       </FIELD>
    829838      <FIELD name="surveyID" arraysize="1" datatype="unsignedByte" unit="dimensionless" default="0">
    830839        <DESCRIPTION>survey flag identifier</DESCRIPTION>
     
    857866        <DESCRIPTION>stack identifier</DESCRIPTION>
    858867      </FIELD>
     868      <FIELD name="gippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     869        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     870      </FIELD>
    859871      <FIELD name="gippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    860872        <DESCRIPTION>ipp identifier</DESCRIPTION>
     
    974986        <DESCRIPTION>stack identifier</DESCRIPTION>
    975987      </FIELD>
    976       <FIELD name="rIppDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     988      <FIELD name="rippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     989        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     990      </FIELD>
     991      <FIELD name="rippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    977992        <DESCRIPTION>ipp identifier</DESCRIPTION>
    978993      </FIELD>
     
    10911106        <DESCRIPTION>stack identifier</DESCRIPTION>
    10921107      </FIELD>
    1093       <FIELD name="iIppDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     1108      <FIELD name="iippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     1109        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     1110      </FIELD>
     1111      <FIELD name="iippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    10941112        <DESCRIPTION>ipp identifier</DESCRIPTION>
    10951113      </FIELD>
     
    12081226        <DESCRIPTION>stack identifier</DESCRIPTION>
    12091227      </FIELD>
    1210       <FIELD name="zIppDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     1228      <FIELD name="zippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     1229        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     1230      </FIELD>
     1231      <FIELD name="zippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    12111232        <DESCRIPTION>ipp identifier</DESCRIPTION>
    12121233      </FIELD>
     
    13251346        <DESCRIPTION>stack identifier</DESCRIPTION>
    13261347      </FIELD>
    1327       <FIELD name="yIppDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     1348      <FIELD name="yippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     1349        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     1350      </FIELD>
     1351      <FIELD name="yippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    13281352        <DESCRIPTION>ipp identifier</DESCRIPTION>
    13291353      </FIELD>
     
    14491473        <DESCRIPTION>galactic coordinates ODM object identifier</DESCRIPTION>
    14501474      </FIELD>
    1451       <FIELD name="ippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    1452         <DESCRIPTION>IPP object identifier</DESCRIPTION>
    1453       </FIELD>
    14541475      <FIELD name="surveyID" arraysize="1" datatype="unsignedByte" unit="dimensionless" default="NA">
    14551476        <DESCRIPTION>survey flag identifier</DESCRIPTION>
     
    14911512        <DESCRIPTION>stack identifier</DESCRIPTION>
    14921513      </FIELD>
     1514      <FIELD name="gippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     1515        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     1516      </FIELD>
    14931517      <FIELD name="gippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    14941518        <DESCRIPTION>ipp detect identifier</DESCRIPTION>
     
    20282052        <DESCRIPTION>stack identifier</DESCRIPTION>
    20292053      </FIELD>
     2054      <FIELD name="rippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     2055        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     2056      </FIELD>
    20302057      <FIELD name="rippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    20312058        <DESCRIPTION>ipp detect identifier</DESCRIPTION>
     
    25652592        <DESCRIPTION>stack identifier</DESCRIPTION>
    25662593      </FIELD>
     2594      <FIELD name="iippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     2595        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     2596      </FIELD>
    25672597      <FIELD name="iippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="-999">
    25682598        <DESCRIPTION>ipp detect identifier</DESCRIPTION>
     
    31023132        <DESCRIPTION>stack identifier</DESCRIPTION>
    31033133      </FIELD>
     3134      <FIELD name="zippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     3135        <DESCRIPTION>IPP object identifier</DESCRIPTION>
     3136      </FIELD>
    31043137      <FIELD name="zippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    31053138        <DESCRIPTION>ipp detect identifier</DESCRIPTION>
     
    36383671      <FIELD name="ystackMetaID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    36393672        <DESCRIPTION>stack identifier</DESCRIPTION>
     3673      </FIELD>
     3674      <FIELD name="yippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     3675        <DESCRIPTION>IPP object identifier</DESCRIPTION>
    36403676      </FIELD>
    36413677      <FIELD name="yippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
  • trunk/ippToPsps/jython/detectionbatch.py

    r36706 r36744  
    410410        sql = "INSERT IGNORE INTO " + pspsTableName + " ( \
    411411               ippDetectID \
     412               ,randomDetID \
    412413               ,filterID \
    413414               ,surveyID \
     
    442443               ,sky \
    443444               ,skyErr \
     445               ,pltScale \
     446               ,posAngle \
    444447               ,dataRelease \
    445448               ) \
    446449               SELECT \
    447450               IPP_IDET \
     451               , FLOOR(RAND()*9223372036854775807) \
    448452               , " + str(self.filterID) + "\
    449453               , " + str(self.surveyID) + " \
     
    464468               ,MOMENTS_XY \
    465469               ,MOMENTS_YY \
    466                ,-999 \
    467                ,-999 \
    468                ,-999 \
    469                ,-999 \
    470                ,-999 \
    471                ,-999 \
     470               ,MOMENTS_R1 \
     471               ,MOMENTS_RH \
     472               ,MOMENTS_M3C \
     473               ,MOMENTS_M3S \
     474               ,MOMENTS_M4C \
     475               ,MOMENTS_M4S \
    472476               ,POW(10.0, -0.4 *AP_MAG) / " + self.header['EXPTIME'] + " \
    473477               ,KRON_FLUX / " + self.header['EXPTIME'] + " \
     
    478482               ,SKY  / " + self.header['EXPTIME'] + " \
    479483               ,SKY_SIGMA  / " + self.header['EXPTIME'] + " \
     484               ,PLTSCALE \
     485               ,POSANGLE \
    480486               , " + str(self.skychunk.dataRelease) + "\
    481487               FROM " + ippTableName
     
    932938        sql = "UPDATE FrameMeta SET nOTA = %d, numPhotoRef = %d" % (otaCount, self.totalNumPhotoRef)
    933939        self.scratchDb.execute(sql)
     940        #to make it stop
     941        #test = self.scratchDb.getRowCount("Object")
     942        #return False
    934943       
    935944        return True
     
    10111020
    10121021       # XXX EAM NOTE : this is fragile : requires PS1_V4
    1013        columns = "IPP_IDET X_PSF Y_PSF X_PSF_SIG Y_PSF_SIG PSF_INST_MAG PSF_INST_MAG_SIG PSF_INST_FLUX PSF_INST_FLUX_SIG PEAK_FLUX_AS_MAG PSF_MAJOR PSF_MINOR PSF_THETA EXT_NSIGMA PSF_QF MOMENTS_XX MOMENTS_XY MOMENTS_YY AP_MAG KRON_FLUX KRON_FLUX_ERR FLAGS FLAGS2 SKY SKY_SIGMA EXT_NSIGMA PSF_QF_PERFECT PSF_CHISQ"
     1022       columns = "IPP_IDET X_PSF Y_PSF X_PSF_SIG Y_PSF_SIG PSF_INST_MAG PSF_INST_MAG_SIG PSF_INST_FLUX PSF_INST_FLUX_SIG PEAK_FLUX_AS_MAG PSF_MAJOR PSF_MINOR PSF_THETA EXT_NSIGMA PSF_QF MOMENTS_XX MOMENTS_XY MOMENTS_YY MOMENTS_R1 MOMENTS_RH MOMENTS_M3C MOMENTS_M3S MOMENTS_M4C MOMENTS_M4S AP_MAG KRON_FLUX KRON_FLUX_ERR FLAGS FLAGS2 SKY SKY_SIGMA EXT_NSIGMA PSF_QF_PERFECT PSF_CHISQ POSANGLE PLTSCALE"
    10141023
    10151024       return super(DetectionBatch, self).importIppTables(columns, regex)
  • trunk/ippToPsps/jython/objectbatch.py

    r36736 r36744  
    108108    Inserts stuff for all mags
    109109    '''
    110     def insertMeanMags(self, cpsTable):
     110    def updateMeanObjectFromCps(self, cpsTable):
    111111
    112112        # list of all filters PSPS is interested in
     
    130130            # from bit 24 to bit 13 so that it fits into the SMALLINT Object.Flags
    131131
    132             sql = "UPDATE MeanObject JOIN ObjectThin using (objID) JOIN \
    133                    " + cpsTable + " AS cps ON (cps.row = (ObjectThin.row* " + str(filterCount) + ")-(" + str(filterCount) + " - " + str(filter[0]) + ")) \
     132            sql = "UPDATE MeanObject JOIN \
     133                   " + cpsTable + " AS cps ON (cps.row = (MeanObject.row* " + str(filterCount) + ")-(" + str(filterCount) + " - " + str(filter[0]) + ")) \
    134134                   SET \
    135                    ObjectThin.n" + filter[1] + " = NCODE \
     135                   MeanObject." + filter[1] + "QfPerfect = -999 \
    136136                   ,MeanObject." + filter[1] + "MeanPSFMag = MAG \
    137137                   ,MeanObject." + filter[1] + "MeanPSFMagErr = MAG_ERR \
    138138                   ,MeanObject." + filter[1] + "MeanKronMag = MAG_KRON \
    139139                   ,MeanObject." + filter[1] + "MeanKronMagErr = MAG_KRON_ERR \
     140                   ,MeanObject." + filter[1] + "nIncPSFMag = -999 \
     141                   ,MeanObject." + filter[1] + "MeanPSFMagStd = -999 \
     142                   ,MeanObject." + filter[1] + "MinPSFMag = -999 \
     143                   ,MeanObject." + filter[1] + "MaxPSFMag = -999 \
     144                   ,MeanObject." + filter[1] + "nIncKronMag = -999 \
     145                   ,MeanObject." + filter[1] + "MeanKronMag = -999 \
     146                   ,MeanObject." + filter[1] + "MeanKronMagStd = -999 \
     147                   ,MeanObject." + filter[1] + "MeanApMag = MAG_AP \
     148                   ,MeanObject." + filter[1] + "MeanApMagErr = MAG_ERR \
     149                   ,MeanObject." + filter[1] + "MeanApMagStd = MAG_STDEV \
     150                   ,MeanObject." + filter[1] + "nIncApMag = -999 \
    140151                   ,MeanObject." + filter[1] + "Flags = (0x7fff & FLAGS) | ((FLAGS >> 11) & 0x2000) "
    141152
     
    143154            self.logger.info(sql)
    144155            self.scratchDb.execute(sql)
    145 
    146         self.logger.infoPair("Calculating nDetections from", "n[filters]")
    147         for filter in filters:
    148             # now do a sum of n[filters], but do not include the ones with -999
    149             sql = "UPDATE ObjectThin join MeanObject using (objID)  \
    150                    SET nDetections = nDetections + n" + filter[1] + " \
    151                    WHERE n" + filter[1] + " != -999"
    152             self.scratchDb.execute(sql)
    153            
    154 
    155 
    156156
    157157        # now set to null all MeanMagErr values > 0.5 (cut set by Gene, 2012-04-12)
     
    164164                   WHERE " + filter[1] + "MeanPSFMagErr > " + str(cut)
    165165            self.scratchDb.execute(sql)
     166    '''
     167    Inserts stuff for all mags
     168    '''
     169    def updateObjectThinFromCps(self, cpsTable):
     170
     171        # list of all filters PSPS is interested in
     172        interestedFilters = ['g', 'r', 'i', 'z', 'y']
     173       
     174        filters = self.scratchDb.getOrderedListOfFiltersFromPhotcodesTable(interestedFilters)
     175   
     176        # get a count of the available filters
     177        filterCount = self.scratchDb.getCountOfFiltersFromPhotcodesTable()
     178        # filterCount = len(filters)
     179
     180        self.logger.infoPair("Available filters in Photcodes", filters)
     181
     182        # the 'code' now defines the order in the cps file that the mags are listed for a given filter
     183        self.logger.infoPair("Adding magnitudes from", "cps table")
     184        for filter in filters:
     185
     186            filterID = self.scratchDb.getFilterID(filter[1])
     187
     188            # NOTE: Manipulation of FLAGS from cpsTable is to move ID_SECF_OBJ_EXT flag (0x01000000)
     189            # from bit 24 to bit 13 so that it fits into the SMALLINT Object.Flags
     190
     191            sql = "UPDATE ObjectThin JOIN \
     192                   " + cpsTable + " AS cps ON (cps.row = (ObjectThin.row* " + str(filterCount) + ")-(" + str(filterCount) + " - " + str(filter[0]) + ")) \
     193                   SET \
     194                   ObjectThin.n" + filter[1] + " = NCODE "
     195            self.logger.info(sql)
     196            self.scratchDb.execute(sql)
     197
     198        self.logger.infoPair("Calculating nDetections from", "n[filters]")
     199        for filter in filters:
     200            # now do a sum of n[filters], but do not include the ones with -999
     201            sql = "UPDATE ObjectThin   \
     202                   SET nDetections = nDetections + n" + filter[1] + " \
     203                   WHERE n" + filter[1] + " != -999"
     204            self.scratchDb.execute(sql)
     205           
     206
     207
     208    '''
     209    give objectName to objectThin
     210    '''
     211    def updateObjName(self):
     212    ##this is a 4 part update:
     213        self.logger.infoPair("updating objName", "using stacks")
     214    ## if we have a stackra and dec, use stackra and dec , dec >=0
     215
     216        sql = "update ObjectThin set objName =  concat('PS1.2 J', \
     217        lpad(floor(raStack/15.),2,'0'), \
     218        lpad((raStack/15.-(floor(raStack/15.)))*60. ,2,'0'), \
     219        lpad(format(((raStack/15.-(floor(raStack/15.)))*60.-floor((raStack/15.-(floor(raStack/15.)))*60.))*60.,2),4,'0'), \
     220        '+', \
     221        lpad(floor(decStack),2,'0'), \
     222        lpad((decStack-(floor(decStack)))*60. ,2,'0'), \
     223        lpad(format(((decStack-(floor(decStack)))*60.-floor((decStack-(floor(decStack)))*60.))*60.,2),4,'0') \
     224        ) where raStack > -999 and decStack > -999 and decStack >= 0"
     225        try:
     226            self.scratchDb.execute(sql)
     227        except:
     228            self.logger.errorPair("failed sql", sql)
     229            return False
     230
     231
     232    ## if we have a stackra and dec, use stackra and dec, dec < 0
     233
     234        sql = "update ObjectThin set objName =  concat('PS1.2 J', \
     235        lpad(floor(raStack/15.),2,'0'), \
     236        lpad((raStack/15.-(floor(raStack/15.)))*60. ,2,'0'), \
     237        lpad(format(((raStack/15.-(floor(raStack/15.)))*60.-floor((raStack/15.-(floor(raStack/15.)))*60.))*60.,2),4,'0'), \
     238        '-', \
     239        lpad(floor(decStack),2,'0'), \
     240        lpad((decStack-(floor(decStack)))*60. ,2,'0'), \
     241        lpad(format(((decStack-(floor(decStack)))*60.-floor((decStack-(floor(decStack)))*60.))*60.,2),4,'0') \
     242        ) where raStack > -999 and decStack > -999 and decStack <= 0"
     243        try:
     244            self.scratchDb.execute(sql)
     245        except:
     246            self.logger.errorPair("failed sql", sql)
     247            return False
     248        self.logger.infoPair("updating objName", "using means")
     249    ## use mean ra and dec (dec >= 0)
     250        sql = "update ObjectThin set objName =  concat('PS1.2 J', \
     251        lpad(floor(raMean/15.),2,'0'), \
     252        lpad((raMean/15.-(floor(raMean/15.)))*60. ,2,'0'), \
     253        lpad(format(((raMean/15.-(floor(raMean/15.)))*60.-floor((raMean/15.-(floor(raMean/15.)))*60.))*60.,2),4,'0'), \
     254        '+', \
     255        lpad(floor(decMean),2,'0'), \
     256        lpad((decMean-(floor(decMean)))*60. ,2,'0'), \
     257        lpad(format(((decMean-(floor(decMean)))*60.-floor((decMean-(floor(decMean)))*60.))*60.,2),4,'0') \
     258        ) where raMean > -999 and decMean > -999 and decMean >= 0"
     259        try:
     260            self.scratchDb.execute(sql)
     261        except:
     262            self.logger.errorPair("failed sql", sql)
     263            return False
     264 
     265    ## use mean ra and dec (dec < 0)
     266
     267        sql = "update ObjectThin set objName =  concat('PS1.2 J', \
     268        lpad(floor(raMean/15.),2,'0'), \
     269        lpad((raMean/15.-(floor(raMean/15.)))*60. ,2,'0'), \
     270        lpad(format(((raMean/15.-(floor(raMean/15.)))*60.-floor((raMean/15.-(floor(raMean/15.)))*60.))*60.,2),4,'0'), \
     271        '-', \
     272        lpad(floor(decMean),2,'0'), \
     273        lpad((decMean-(floor(decMean)))*60. ,2,'0'), \
     274        lpad(format(((decMean-(floor(decMean)))*60.-floor((decMean-(floor(decMean)))*60.))*60.,2),4,'0') \
     275        ) where raMean > -999 and decMean > -999 and decMean < 0"
     276
     277        try:
     278            self.scratchDb.execute(sql)
     279        except:
     280            self.logger.errorPair("failed sql", sql)
     281            return False
     282
     283
     284
     285
     286
    166287
    167288
     
    206327               ,randomID \
    207328               ,batchID \
     329               ,dvoRegionID \
    208330               ,dataRelease \
    209331               ,objInfoFlag \
    210332               ,qualityFlag \
     333               ,consistencyFlag \
     334               ,raStack \
     335               ,decStack \
     336               ,raStackErr \
     337               ,decStackErr \
    211338               ,raMean \
    212339               ,decMean \
    213340               ,raMeanErr \
    214341               ,decMeanErr \
     342               ,raMeanStd \
     343               ,decMeanStd \
     344               ,nStackObjectRows \
     345               ,nStackDetections \
    215346               ,nDetections \
    216347                ) \
     
    220351               ,CAT_ID*1000000000 + OBJ_ID \
    221352               ," + str(self.surveyID) + " \
    222                ,-999 \
    223                , RAND() \
     353               , -999 \
     354               , FLOOR(RAND()*9223372036854775807) \
    224355               , " + str(self.batchID) + "\
     356               , -999 \
    225357               , " + str(self.skychunk.dataRelease) + "\
    226358               ,FLAGS \
    227359               ,FLAGS >> 24 & 0xFF \
     360               , 0 \
     361               , -999 \
     362               , -999 \
     363               , -999 \
     364               , -999 \
    228365               ,RA \
    229366               ,DEC_ \
    230367               ,RA_ERR \
    231368               ,DEC_ERR \
     369               , -999 \
     370               , -999 \
     371               ,0 \
     372               ,0 \
    232373               ,0 \
    233374                FROM " + cptTableName
     
    244385        self.scratchDb.addRowCountColumn(cpsTableName, "row")
    245386
    246  #       self.insertMeanMags(cpsTableName)
    247 
    248 #don't do this as we removed those columns..
    249 #        self.updateColors()
     387##        self.insertMeanMags(cpsTableName)
     388## this is the new version
     389        self.logger.infoPair("update objName for ","objectThin")
     390        self.updateObjName()
     391
     392
     393        self.logger.infoPair("update ObjectThin from ","cps table")
     394
     395        self.updateObjectThinFromCps(cpsTableName)
    250396
    251397        #objects can have out of range ra dec in dvo - need to find and kill them at the end
     
    292438        self.logger.infoPair("Dropping row column from", "ObjectThin table")
    293439        self.scratchDb.dropColumn("ObjectThin", "row")
    294         self.logger.infoPair("Purging from scratch Db", self.region + " region")
    295 
    296         self.dvoObjects.purgeRegion(self.region)
     440        ##self.logger.infoPair("Purging from scratch Db", self.region + " region")
     441
     442        ##Don't do this till after MeanObject
     443        ##self.dvoObjects.purgeRegion(self.region)
    297444
    298445        self.setMinMaxObjID(["ObjectThin"])
     
    304451    '''
    305452    def populateMeanObjectTable(self):
    306 
    307         self.logger.infoPair("Populating", "MeanObject")
     453        cptTableName = self.scratchDb.getDbFriendlyTableName(self.region + ".cpt")
     454        cpsTableName = self.scratchDb.getDbFriendlyTableName(self.region + ".cps")
     455        self.logger.infoPair("Populating MeanObject from ", "ObjectThin")
    308456
    309457        sql = "INSERT INTO MeanObject ( \
     
    321469            return False
    322470
    323         self.insertMeanMags("MeanObject")
     471        self.logger.infoPair("Adding 'row' columns to", "MeanObject table")
     472        self.scratchDb.addRowCountColumn("MeanObject", "row")
     473 
     474
     475        ##self.scratchDb.addRowCountColumn(cpsTableName, "row")
     476        self.logger.infoPair("update MeanObjects from ","cps table")
     477        self.updateMeanObjectFromCps(cpsTableName)
     478
     479        self.logger.infoPair("Dropping row column from", "MeanObject table")
     480        self.scratchDb.dropColumn("MeanObject", "row")
     481
    324482        return True
    325483
     
    372530        self.logger.infoPair("Number of duplicated objIDs removed", "%d out of %d" % ((rowCountBefore - rowCountAfter), rowCountBefore))
    373531
     532        self.dvoObjects.purgeRegion(self.region)
    374533
    375534        #this is abuse of something but this is how I get the object batches to crash to further investigate them
    376535       
    377         rowCountAfter = self.scratchDb.getRowCount("Object")
    378         #return True
    379         return False
     536#        rowCountAfter = self.scratchDb.getRowCount("Object")
     537        return True
     538#        return False
  • 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.