Changeset 31182
- Timestamp:
- Apr 5, 2011, 3:07:50 PM (15 years ago)
- File:
-
- 1 edited
-
trunk/ippToPsps/jython/stackbatch.py (modified) (17 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippToPsps/jython/stackbatch.py
r31118 r31182 4 4 from java.lang import * 5 5 from java.sql import * 6 7 from gpc1 import Gpc1 6 8 from batch import Batch 7 9 … … 11 13 Constructor 12 14 ''' 13 def __init__(self ):15 def __init__(self, skyID, inputFile): 14 16 super(StackBatch, self).__init__( 15 17 "stack", 16 #"/data/ipp053.0/eugene/md04.20110320/staticsky/MD04.V2/skycell.087/MD04.V2.skycell.087.stk.280.000.cmf", 17 "demo.fits", 18 "stack.fits", 19 "localhost", 20 "ipptopsps_scratch", 21 "ipp", 22 "ipp", 18 inputFile, 23 19 "MD04") # TODO 24 20 25 21 self.log("StackBatch constructor. Creating batch from input file here: ''" + inputFile + "'") 22 23 # obs time makes no sense except for nightly stacks 24 if self.header['STK_TYPE'] != "NIGHTLY_STACK": self.header['MJD-OBS'] = "-999" 25 26 # determine skycell from header value 27 self.skycell = self.header['SKYCELL'] 28 self.skycell = self.skycell[8:] 29 30 # get filterID using init table 31 self.filter = self.header['FPA.FILTER'] 32 self.filter = self.filter[0:1] 33 34 # create an output filename, which is {skycellID}{filterID}.FITS 35 self.outputFitsPath = "%s%07d.FITS" % (self.filter, skyID); 36 37 # set some constants 38 self.dataRelease = "1" 39 self.stackVer = "1" 40 self.historyModNum = "0" 41 42 43 ''' 44 Updates a table with data release number 45 ''' 46 def updateDataRelease(self, table): 47 48 sql = "UPDATE " + table + " SET dataRelease=" + self.dataRelease 49 self.localStmt.execute(sql) 26 50 27 51 ''' … … 31 55 32 56 sql = "UPDATE " + table + " SET stackMetaID=" + self.header['STK_ID'] 33 self. stmt.execute(sql)57 self.localStmt.execute(sql) 34 58 35 59 ''' … … 39 63 40 64 sql = "UPDATE "+table+" AS a, StackType AS b SET a.stackTypeID=b.stackTypeID WHERE b.name = '"+self.header['STK_TYPE']+"'" 41 self. stmt.execute(sql)65 self.localStmt.execute(sql) 42 66 43 67 … … 90 114 WHERE a.ippDetectID=b.IPP_IDET AND b.PSF_FWHM "+psfCondition 91 115 92 self. stmt.execute(sql)116 self.localStmt.execute(sql) 93 117 94 118 ''' … … 138 162 WHERE a.ippDetectID=b.IPP_IDET AND b.MODEL_TYPE = '"+ippModelType+"'" 139 163 140 self. stmt.execute(sql)164 self.localStmt.execute(sql) 141 165 142 166 # sersic fit has an extra parameter … … 153 177 WHERE a.ippDetectID=b.IPP_IDET AND b.MODEL_TYPE = '"+ippModelType+"'" 154 178 155 self. stmt.execute(sql)179 self.localStmt.execute(sql) 156 180 157 181 … … 197 221 ," + self.header['PC002002'] + " \ 198 222 )" 199 self. stmt.execute(sql)223 self.localStmt.execute(sql) 200 224 201 225 self.updateSurveyID("StackMeta") … … 212 236 sql = "INSERT INTO StackDetection (\ 213 237 ippDetectID \ 238 ,skyCellID \ 239 ,stackVer \ 240 ,obsTime \ 214 241 ,xPos \ 215 242 ,yPos \ … … 225 252 ,psfWidMinor \ 226 253 ,psfTheta \ 254 ,infoFlag \ 227 255 ,psfCf \ 228 256 ,nFrames \ 257 ,assocDate \ 258 ,historyModNum \ 229 259 ) \ 230 260 SELECT \ 231 261 IPP_IDET \ 262 ," + self.skycell + " \ 263 ," + self.stackVer + " \ 264 ," + self.header['MJD-OBS'] + " \ 232 265 ,X_PSF \ 233 266 ,Y_PSF \ … … 243 276 ,PSF_MINOR \ 244 277 ,PSF_THETA \ 278 ,FLAGS << 32 | FLAGS2 \ 245 279 ,PSF_QF \ 246 280 ,N_FRAMES \ 281 ," + self.dateStr + " \ 282 ," + self.historyModNum + " \ 247 283 FROM SkyChip_psf" 248 284 249 self.stmt.execute(sql) 250 251 if self.header['STK_TYPE'] != "NIGHTLY_STACK": 252 sql = "UPDATE StackDetection SET obsTime = " + self.header['MJD-OBS'] 253 self.stmt.execute(sql) 254 255 256 sql = "UPDATE StackDetection SET skycellID = " + self.skycell + ", assocDate = '"+self.dateStr+"'" 257 self.stmt.execute(sql) 285 self.localStmt.execute(sql) 286 258 287 self.updateSurveyID("StackDetection") 259 288 self.updateFilterID("StackDetection") 260 289 self.updateStackMetaID("StackDetection") 290 self.updateDataRelease("StackDetection") 261 291 self.updateStackTypeID("StackDetection") 262 292 … … 272 302 DISTINCT IPP_IDET \ 273 303 FROM SkyChip_xrad" 274 self.stmt.execute(sql) 275 304 self.localStmt.execute(sql) 305 306 # TODO temporarily loading 1st convolved fluxes into unconvolved fields 307 self.log(" Adding un-convolved fluxes") 308 self.updateApFlxs("", "< 7.0") 276 309 self.log(" Adding 1st convolved fluxes") 277 310 self.updateApFlxs("c1", "< 7.0") … … 279 312 self.updateApFlxs("c2", "> 7.0") 280 313 281 self.log(" Adding petrosian stufffor extended sources")314 self.log(" Adding petrosians for extended sources") 282 315 sql = "UPDATE StackApFlx AS a, SkyChip_xsrc AS b SET \ 283 316 petRadius=b.PETRO_RADIUS \ … … 290 323 ,petR90Err=b.PETRO_RADIUS_90_ERR \ 291 324 WHERE a.ippDetectID=b.IPP_IDET" 292 self. stmt.execute(sql)325 self.localStmt.execute(sql) 293 326 294 327 self.updateSurveyID("StackApFlx") 295 328 self.updateFilterID("StackApFlx") 296 329 self.updateStackMetaID("StackApFlx") 330 self.updateDataRelease("StackApFlx") 297 331 self.updateStackTypeID("StackApFlx") 298 299 #rs = stmt.executeQuery(sql)300 # list = []301 302 #while (rs.next()):303 304 # print rs.getString(1)305 306 #rs.close()307 332 308 333 ''' … … 314 339 # insert all the detections 315 340 sql = "INSERT INTO StackModelFit (ippDetectID) SELECT DISTINCT IPP_IDET from SkyChip_xfit" 316 self. stmt.execute(sql)341 self.localStmt.execute(sql) 317 342 318 343 # populate model parameters … … 327 352 self.updateFilterID("StackModelFit") 328 353 self.updateStackMetaID("StackModelFit") 354 self.updateDataRelease("StackModelFit") 329 355 self.updateStackTypeID("StackModelFit") 330 356 357 ''' 358 Populates the StackToImage table 359 ''' 360 def populateStackToImage(self): 361 self.log("Procesing StackToImage table") 362 363 sql = "INSERT INTO StackToImage (stackMetaID) VALUES (" + self.header['STK_ID'] + ")" 364 self.localStmt.execute(sql) 331 365 332 366 ''' … … 356 390 def populatePspsTables(self): 357 391 358 # determine skycell from header value359 self.skycell = self.header['SKYCELL']360 self.skycell = self.skycell[8:]361 362 # get filterID using init table363 self.filter = self.header['FPA.FILTER']364 self.filter = self.filter[0:1]365 366 392 self.populateStackMeta() 367 393 self.populateStackDetection() 368 394 self.populateStackModelFit() 369 395 self.populateStackApFlx() 370 371 372 stackBatch = StackBatch() 373 stackBatch.createEmptyPspsTables() 374 stackBatch.importIppTables(".*psf") 375 stackBatch.populatePspsTables() 376 stackBatch.exportPspsTablesToFits() 396 self.populateStackToImage() 397 398 399 sky_id = 299 400 gpc1 = Gpc1() 401 cmfFiles = gpc1.getStackStageCmfs(sky_id) 402 403 i = 0 404 for file in cmfFiles: 405 406 stackBatch = StackBatch(sky_id, file) 407 stackBatch.createEmptyPspsTables() 408 stackBatch.importIppTables(".*psf") 409 stackBatch.populatePspsTables() 410 stackBatch.reportNullsInAllPspsTables(False) 411 #stackBatch.replaceAllPspsNulls("-999") 412 stackBatch.exportPspsTablesToFits() 413 i = i + 1 414 if i > 0: break # TODO just doing one filter for now 415
Note:
See TracChangeset
for help on using the changeset viewer.
