- Timestamp:
- Mar 28, 2015, 8:28:32 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20150112/ippToPsps/jython/gpc1db.py
r37754 r38052 145 145 elif batchType == "FW": 146 146 147 stage = "f orcedwarp"148 sql = "SELECT DISTINCT sky_id, radeg, decdeg FROM fullForceInput \149 JOIN addRun ON(fullForceInput.ff_id = addRun.stage_id ,fullForceInput.warp_id = addRun.stage_extra1) \147 stage = "fullforce" 148 sql = "SELECT DISTINCT add_id, radeg, decdeg FROM fullForceInput \ 149 JOIN addRun ON(fullForceInput.ff_id = addRun.stage_id AND fullForceInput.warp_id = addRun.stage_extra1) \ 150 150 JOIN minidvodbRun USING(minidvodb_name) \ 151 151 JOIN minidvodbProcessed USING(minidvodb_id) \ … … 219 219 220 220 221 ''' 222 Gets a list of PSPS image IDs for this stack ID 223 ''' 224 def getImageIDsForThisForcedWarpID(self, forcedWarpID): 225 226 self.logger.debug("Querying GPC1 for image IDs for forcedWarp ID: " + str(forcedWarpID)) 227 228 # JOIN stackInputSkyfile shoule use stack_id as well as warp_id, right? (maybe not -- the join to warp is first) 229 sql = "SELECT DISTINCT CONCAT(exp_id, SUBSTR(class_id, 3, 4)) FROM ( \ 230 SELECT DISTINCT exp_id,class_id \ 231 FROM addRun join \ 232 fullForceInput on (fullForceInput.ff_id = addRun.stage_id and \ 233 fullForceInput.warp_id = addRun.stage_extra1) \ 234 JOIN fullForceResult using (ff_id, warp_id) \ 235 JOIN warpRun USING(warp_id) \ 236 JOIN warpSkyCellMap using (warp_id) \ 237 JOIN fakeRun USING(fake_id) \ 238 JOIN camRun USING(cam_id) \ 239 JOIN chipRun USING(chip_id) \ 240 WHERE add_id = " + str(forcedWarpID) + ") AS a" 241 242 try: 243 rs = self.executeQuery(sql) 244 except: 245 self.logger.exception("Can't query for imageIDs using :" + sql ) 246 247 imageIDs = [] 248 while (rs.next()): 249 imageIDs.append(rs.getString(1)) 250 rs.close() 251 252 return imageIDs 253 221 254 222 255 … … 251 284 252 285 return meta 286 287 ''' 288 Gets some forcedwarp stage meta data for this sky_id # TODO this SQL could surely be improved 289 ''' 290 def getForcedWarpStageMeta(self, forcedWarpID, warpSkyfileID): 291 self.logger.debug("Querying GPC1 for forced warp meta data") 292 293 meta = [] 294 295 sql = "SELECT \ 296 exp_id, \ 297 exp_time, \ 298 fullForceResult.software_ver, \ 299 skycell_id, \ 300 warpRun.tess_id \ 301 FROM fullForceInput join addRun on \ 302 (fullForceInput.ff_id = addRun.stage_id and fullForceInput.warp_id = addRun.stage_extra1) \ 303 JOIN fullForceResult using (ff_id,warp_id) \ 304 JOIN warpRun using (warp_id) \ 305 JOIN warpImfile using (warp_id) \ 306 JOIN fakeRun using (fake_id) \ 307 JOIN camRun using (cam_id) \ 308 JOIN chipRun using (chip_id) \ 309 JOIN rawExp using (exp_id) \ 310 WHERE add_id = " + str(forcedWarpID) + " \ 311 AND warp_skyfile_id = " + str(warpSkyfileID) 312 313 try: 314 rs = self.executeQuery(sql) 315 rs.first() 316 except: 317 self.logger.errorPair("Can't query for", "forced warp meta data") 318 319 try: 320 meta.append(rs.getString(1)) 321 meta.append(rs.getString(2)) 322 meta.append(rs.getString(3)) 323 meta.append(rs.getString(4)) 324 meta.append(rs.getString(5)) 325 326 except: 327 self.logger.errorPair("getForcedWarpStageMeta()", "empty meta data") 328 329 return meta 330 253 331 254 332 … … 300 378 301 379 ''' 380 get forcedwarp stage cmf 381 ''' 382 def getForcedWarpStageCmf(self, dvoDb, forcedWarpID): 383 sql = "SELECT DISTINCT fullForceResult.path_base \ 384 from fullForceInput join addRun on \ 385 (fullForceInput.ff_id = addRun.stage_id AND \ 386 fullForceInput.warp_id = addRun.stage_extra1) \ 387 join fullForceResult using (ff_id, warp_id) \ 388 where add_id = %d" % forcedWarpID 389 try: 390 rs = self.executeQuery(sql) 391 rs.first() 392 except: 393 self.logger.infoPair("failed sql", sql) 394 self.logger.errorPair("can't query for fullforce cmf", "add_id = %d" %forcedWarpID) 395 return None 396 397 try: 398 pathBase = rs.getString(1) 399 except: 400 self.logger.errorPair("no full force cmfs found for add_id = %d" %forcedWarpID) 401 return None 402 403 files = [] 404 if pathBase.startswith("neb"): 405 406 f=os.popen("neb-ls -p " + pathBase + ".cmf") 407 for i in f.readlines(): 408 409 files.append(i.rstrip()) 410 411 412 if len(files) < 1: return None 413 fits = Fits(self.logger, self.config, files[0]) 414 return fits 415 416 417 418 ''' 302 419 get diff stage cmf name 303 420 ''' … … 327 444 pathBase = rs.getString(1) 328 445 except: 329 self.logger.errorPair("no diff cm s found for diff_skyfile_id = %d" %diff_skyfile_id)446 self.logger.errorPair("no diff cmfs found for diff_skyfile_id = %d" %diff_skyfile_id) 330 447 return None 331 448 print pathBase
Note:
See TracChangeset
for help on using the changeset viewer.
