Changeset 36744 for trunk/ippToPsps/jython/objectbatch.py
- Timestamp:
- May 12, 2014, 5:37:01 PM (12 years ago)
- File:
-
- 1 edited
-
trunk/ippToPsps/jython/objectbatch.py (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippToPsps/jython/objectbatch.py
r36736 r36744 108 108 Inserts stuff for all mags 109 109 ''' 110 def insertMeanMags(self, cpsTable):110 def updateMeanObjectFromCps(self, cpsTable): 111 111 112 112 # list of all filters PSPS is interested in … … 130 130 # from bit 24 to bit 13 so that it fits into the SMALLINT Object.Flags 131 131 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]) + ")) \ 134 134 SET \ 135 ObjectThin.n" + filter[1] + " = NCODE\135 MeanObject." + filter[1] + "QfPerfect = -999 \ 136 136 ,MeanObject." + filter[1] + "MeanPSFMag = MAG \ 137 137 ,MeanObject." + filter[1] + "MeanPSFMagErr = MAG_ERR \ 138 138 ,MeanObject." + filter[1] + "MeanKronMag = MAG_KRON \ 139 139 ,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 \ 140 151 ,MeanObject." + filter[1] + "Flags = (0x7fff & FLAGS) | ((FLAGS >> 11) & 0x2000) " 141 152 … … 143 154 self.logger.info(sql) 144 155 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 -999149 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 156 156 157 157 # now set to null all MeanMagErr values > 0.5 (cut set by Gene, 2012-04-12) … … 164 164 WHERE " + filter[1] + "MeanPSFMagErr > " + str(cut) 165 165 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 166 287 167 288 … … 206 327 ,randomID \ 207 328 ,batchID \ 329 ,dvoRegionID \ 208 330 ,dataRelease \ 209 331 ,objInfoFlag \ 210 332 ,qualityFlag \ 333 ,consistencyFlag \ 334 ,raStack \ 335 ,decStack \ 336 ,raStackErr \ 337 ,decStackErr \ 211 338 ,raMean \ 212 339 ,decMean \ 213 340 ,raMeanErr \ 214 341 ,decMeanErr \ 342 ,raMeanStd \ 343 ,decMeanStd \ 344 ,nStackObjectRows \ 345 ,nStackDetections \ 215 346 ,nDetections \ 216 347 ) \ … … 220 351 ,CAT_ID*1000000000 + OBJ_ID \ 221 352 ," + str(self.surveyID) + " \ 222 , -999 \223 , RAND() \353 , -999 \ 354 , FLOOR(RAND()*9223372036854775807) \ 224 355 , " + str(self.batchID) + "\ 356 , -999 \ 225 357 , " + str(self.skychunk.dataRelease) + "\ 226 358 ,FLAGS \ 227 359 ,FLAGS >> 24 & 0xFF \ 360 , 0 \ 361 , -999 \ 362 , -999 \ 363 , -999 \ 364 , -999 \ 228 365 ,RA \ 229 366 ,DEC_ \ 230 367 ,RA_ERR \ 231 368 ,DEC_ERR \ 369 , -999 \ 370 , -999 \ 371 ,0 \ 372 ,0 \ 232 373 ,0 \ 233 374 FROM " + cptTableName … … 244 385 self.scratchDb.addRowCountColumn(cpsTableName, "row") 245 386 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) 250 396 251 397 #objects can have out of range ra dec in dvo - need to find and kill them at the end … … 292 438 self.logger.infoPair("Dropping row column from", "ObjectThin table") 293 439 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) 297 444 298 445 self.setMinMaxObjID(["ObjectThin"]) … … 304 451 ''' 305 452 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") 308 456 309 457 sql = "INSERT INTO MeanObject ( \ … … 321 469 return False 322 470 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 324 482 return True 325 483 … … 372 530 self.logger.infoPair("Number of duplicated objIDs removed", "%d out of %d" % ((rowCountBefore - rowCountAfter), rowCountBefore)) 373 531 532 self.dvoObjects.purgeRegion(self.region) 374 533 375 534 #this is abuse of something but this is how I get the object batches to crash to further investigate them 376 535 377 rowCountAfter = self.scratchDb.getRowCount("Object")378 #return True379 return False536 # rowCountAfter = self.scratchDb.getRowCount("Object") 537 return True 538 # return False
Note:
See TracChangeset
for help on using the changeset viewer.
