Changeset 34735 for branches/eam_branches/ipp-20120905/ippToPsps
- Timestamp:
- Nov 29, 2012, 2:15:01 PM (14 years ago)
- Location:
- branches/eam_branches/ipp-20120905
- Files:
-
- 13 edited
-
. (modified) (1 prop)
-
ippToPsps (modified) (1 prop)
-
ippToPsps/config/OB/tables.vot (modified) (8 diffs)
-
ippToPsps/config/P2/tables.vot (modified) (5 diffs)
-
ippToPsps/config/ST/tables.vot (modified) (10 diffs)
-
ippToPsps/jython/detectionbatch.py (modified) (15 diffs)
-
ippToPsps/jython/dvodetections.py (modified) (7 diffs)
-
ippToPsps/jython/ipptopspsdb.py (modified) (2 diffs)
-
ippToPsps/jython/loader.py (modified) (6 diffs)
-
ippToPsps/jython/objectbatch.py (modified) (4 diffs)
-
ippToPsps/jython/scratchdb.py (modified) (3 diffs)
-
ippToPsps/jython/stackbatch.py (modified) (19 diffs)
-
ippToPsps/src/Dvo.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20120905
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20120905/ippToPsps
- Property svn:mergeinfo changed
/trunk/ippToPsps merged: 34615,34629-34631,34633,34638-34641,34649,34661,34723
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20120905/ippToPsps/config/OB/tables.vot
r34275 r34735 45 45 <DESCRIPTION> Declination error</DESCRIPTION> 46 46 </FIELD> 47 <FIELD name="cx" arraysize="1" datatype="double" unit="unknown">48 <DESCRIPTION>Cartesian x</DESCRIPTION>49 </FIELD>50 <FIELD name="cy" arraysize="1" datatype="double" unit="unknown">51 <DESCRIPTION>Cartesian y</DESCRIPTION>52 </FIELD>53 <FIELD name="cz" arraysize="1" datatype="double" unit="unknown">54 <DESCRIPTION>Cartesian z</DESCRIPTION>55 </FIELD>56 47 <FIELD name="lambda" arraysize="1" datatype="double" unit="degree"> 57 48 <DESCRIPTION> ecliptic longitude</DESCRIPTION> … … 66 57 <DESCRIPTION> galactic latitude</DESCRIPTION> 67 58 </FIELD> 68 <FIELD name="lsg" arraysize="1" datatype="double" unit="unknown">69 <DESCRIPTION>supergalactic longitude</DESCRIPTION>70 </FIELD>71 <FIELD name="bsg" arraysize="1" datatype="double" unit="unknown">72 <DESCRIPTION>supergalactic latitude</DESCRIPTION>73 </FIELD>74 59 <FIELD name="nDetections" arraysize="1" datatype="short" unit="unknown"> 75 60 <DESCRIPTION>total number of detection measurements in all filters</DESCRIPTION> … … 201 186 <DESCRIPTION> 80 pct w magnitude</DESCRIPTION> 202 187 </FIELD> 203 <FIELD name="gStackPSF Flux" arraysize="1" datatype="float" unit="mag">188 <FIELD name="gStackPSFMag" arraysize="1" datatype="float" unit="mag"> 204 189 <DESCRIPTION> g stack psf flux </DESCRIPTION> 205 190 </FIELD> 206 <FIELD name="gStackPSF FluxErr" arraysize="1" datatype="double" unit="mag">191 <FIELD name="gStackPSFMagErr" arraysize="1" datatype="double" unit="mag"> 207 192 <DESCRIPTION> estimated error in g stack psf flux</DESCRIPTION> 208 193 </FIELD> … … 216 201 <DESCRIPTION>flags for g stack</DESCRIPTION> 217 202 </FIELD> 218 <FIELD name="rStackPSFFlux" arraysize="1" datatype="float" unit="mag"> 203 <FIELD name="gStackDetectID" arraysize="1" datatype="long" unit="unknown"> 204 <DESCRIPTION>ODM detection identifier</DESCRIPTION> 205 </FIELD> 206 <FIELD name="rStackPSFMag" arraysize="1" datatype="float" unit="mag"> 219 207 <DESCRIPTION> r stack psf flux </DESCRIPTION> 220 208 </FIELD> 221 <FIELD name="rStackPSF FluxErr" arraysize="1" datatype="double" unit="mag">209 <FIELD name="rStackPSFMagErr" arraysize="1" datatype="double" unit="mag"> 222 210 <DESCRIPTION> estimated error in r stack psf flux</DESCRIPTION> 223 211 </FIELD> … … 231 219 <DESCRIPTION>flags for r stack</DESCRIPTION> 232 220 </FIELD> 233 <FIELD name="iStackPSFFlux" arraysize="1" datatype="float" unit="mag"> 221 <FIELD name="rStackDetectID" arraysize="1" datatype="long" unit="unknown"> 222 <DESCRIPTION>ODM detection identifier</DESCRIPTION> 223 </FIELD> 224 <FIELD name="iStackPSFMag" arraysize="1" datatype="float" unit="mag"> 234 225 <DESCRIPTION> i stack psf flux </DESCRIPTION> 235 226 </FIELD> 236 <FIELD name="iStackPSF FluxErr" arraysize="1" datatype="float" unit="mag">227 <FIELD name="iStackPSFMagErr" arraysize="1" datatype="float" unit="mag"> 237 228 <DESCRIPTION> estimated error in i stack psf flux</DESCRIPTION> 238 229 </FIELD> … … 246 237 <DESCRIPTION>flags for i stack</DESCRIPTION> 247 238 </FIELD> 248 <FIELD name="zStackPSFFlux" arraysize="1" datatype="float" unit="mag"> 239 <FIELD name="iStackDetectID" arraysize="1" datatype="long" unit="unknown"> 240 <DESCRIPTION>ODM detection identifier</DESCRIPTION> 241 </FIELD> 242 <FIELD name="zStackPSFMag" arraysize="1" datatype="float" unit="mag"> 249 243 <DESCRIPTION> z stack psf flux </DESCRIPTION> 250 244 </FIELD> 251 <FIELD name="zStackPSF FluxErr" arraysize="1" datatype="float" unit="mag">245 <FIELD name="zStackPSFMagErr" arraysize="1" datatype="float" unit="mag"> 252 246 <DESCRIPTION> estimated error in z stack psf flux</DESCRIPTION> 253 247 </FIELD> … … 261 255 <DESCRIPTION>flags for z stack</DESCRIPTION> 262 256 </FIELD> 263 <FIELD name="yStackPSFFlux" arraysize="1" datatype="float" unit="unknown"> 257 <FIELD name="zStackDetectID" arraysize="1" datatype="long" unit="unknown"> 258 <DESCRIPTION>ODM detection identifier</DESCRIPTION> 259 </FIELD> 260 <FIELD name="yStackPSFMag" arraysize="1" datatype="float" unit="unknown"> 264 261 <DESCRIPTION>y band stack PSF flux</DESCRIPTION> 265 262 </FIELD> 266 <FIELD name="yStackPSF FluxErr" arraysize="1" datatype="float" unit="unknown">263 <FIELD name="yStackPSFMagErr" arraysize="1" datatype="float" unit="unknown"> 267 264 <DESCRIPTION>y band stack psf flux err</DESCRIPTION> 268 265 </FIELD> … … 276 273 <DESCRIPTION>flags for y stack</DESCRIPTION> 277 274 </FIELD> 278 <FIELD name="extra" arraysize="1" datatype="float" unit="unknown"> 279 <DESCRIPTION>currently unused</DESCRIPTION> 275 <FIELD name="yStackDetectID" arraysize="1" datatype="long" unit="unknown"> 276 <DESCRIPTION>ODM detection identifier</DESCRIPTION> 277 </FIELD> 278 <FIELD name="qfPerfect" arraysize="1" datatype="float" unit="unknown"> 279 <DESCRIPTION>qf perfect</DESCRIPTION> 280 280 </FIELD> 281 281 <FIELD name="sgSep" arraysize="1" datatype="float" unit="unknown"> -
branches/eam_branches/ipp-20120905/ippToPsps/config/P2/tables.vot
r32031 r34735 404 404 <DESCRIPTION> estimated error in y</DESCRIPTION> 405 405 </FIELD> 406 <FIELD name=" instFlux" arraysize="1" datatype="float" unit="adu/s">406 <FIELD name="psfFlux" arraysize="1" datatype="float" unit="adu/s"> 407 407 <DESCRIPTION> PSF instrumental flux</DESCRIPTION> 408 408 </FIELD> 409 <FIELD name=" instFluxErr" arraysize="1" datatype="float" unit="adu/s">409 <FIELD name="psfFluxErr" arraysize="1" datatype="float" unit="adu/s"> 410 410 <DESCRIPTION> estimated error in flux</DESCRIPTION> 411 411 </FIELD> … … 425 425 <DESCRIPTION>PSF likelihood</DESCRIPTION> 426 426 </FIELD> 427 <FIELD name="psf Cf" arraysize="1" datatype="float" unit="unknown">428 <DESCRIPTION>PSF coverage factor</DESCRIPTION>427 <FIELD name="psfQf" arraysize="1" datatype="float" unit="unknown"> 428 <DESCRIPTION>PSF qf</DESCRIPTION> 429 429 </FIELD> 430 430 <FIELD name="momentXX" arraysize="1" datatype="float" unit="arcsec"> … … 437 437 <DESCRIPTION> momeny YY</DESCRIPTION> 438 438 </FIELD> 439 <FIELD name="ap Mag" arraysize="1" datatype="float" unit="magnitude">440 <DESCRIPTION> Aperture magnitude</DESCRIPTION>441 </FIELD> 442 <FIELD name="ap MagErr" arraysize="1" datatype="float" unit="magnitude">443 <DESCRIPTION> Aperture magnitudeerror</DESCRIPTION>444 </FIELD> 445 <FIELD name="kronFlux" arraysize="1" datatype="float" unit=" magnitude">439 <FIELD name="apFlux" arraysize="1" datatype="float" unit="adu/s"> 440 <DESCRIPTION> Aperture Flux</DESCRIPTION> 441 </FIELD> 442 <FIELD name="apFluxErr" arraysize="1" datatype="float" unit="adu/s"> 443 <DESCRIPTION> Aperture Flux error</DESCRIPTION> 444 </FIELD> 445 <FIELD name="kronFlux" arraysize="1" datatype="float" unit="adu/s"> 446 446 <DESCRIPTION> Kron flux</DESCRIPTION> 447 447 </FIELD> 448 <FIELD name="kronFluxErr" arraysize="1" datatype="float" unit=" magnitude">448 <FIELD name="kronFluxErr" arraysize="1" datatype="float" unit="adu/s"> 449 449 <DESCRIPTION> Kron flux error</DESCRIPTION> 450 450 </FIELD> … … 455 455 <DESCRIPTION> Kron radius error</DESCRIPTION> 456 456 </FIELD> 457 <FIELD name=" crLikelihood" arraysize="1" datatype="float" unit="unknown">458 <DESCRIPTION> Likelihood the source is a cosmic ray</DESCRIPTION>459 </FIELD> 460 <FIELD name=" extendedLikelihood" arraysize="1" datatype="float" unit="unknown">461 <DESCRIPTION> Likelihood the source is extended</DESCRIPTION>457 <FIELD name="psfQfPerfect" arraysize="1" datatype="float" unit="unknown"> 458 <DESCRIPTION>psf QF Perfect</DESCRIPTION> 459 </FIELD> 460 <FIELD name="psfChiSq" arraysize="1" datatype="float" unit="unknown"> 461 <DESCRIPTION>PSF Chi sq</DESCRIPTION> 462 462 </FIELD> 463 463 <FIELD name="infoFlag" arraysize="1" datatype="long" unit="unknown"> 464 464 <DESCRIPTION>flag indicating provenance information</DESCRIPTION> 465 465 </FIELD> 466 <FIELD name="sky" arraysize="1" datatype="float" unit="adu ">466 <FIELD name="sky" arraysize="1" datatype="float" unit="adu/s/pixel"> 467 467 <DESCRIPTION> PSF sky level at source</DESCRIPTION> 468 468 </FIELD> 469 <FIELD name="skyErr" arraysize="1" datatype="float" unit="adu ">469 <FIELD name="skyErr" arraysize="1" datatype="float" unit="adu/s/pixel"> 470 470 <DESCRIPTION> estimated error in sky</DESCRIPTION> 471 471 </FIELD> … … 539 539 </DATA> 540 540 </TABLE> 541 <TABLE name="DetectionCalib"> 542 <DESCRIPTION>VOTable description of PSPS table DetectionCalib</DESCRIPTION> 543 <PARAM arraysize="1" datatype="char" ucd="meta.bib.author" name="Author" value="PSPS"></PARAM> 544 <FIELD name="objID" arraysize="1" datatype="long" unit="unknown"> 545 <DESCRIPTION>ODM object identifier index</DESCRIPTION> 546 </FIELD> 547 <FIELD name="detectID" arraysize="1" datatype="long" unit="unknown"> 548 <DESCRIPTION>ODM detection identifier index</DESCRIPTION> 549 </FIELD> 550 <FIELD name="ippObjID" arraysize="1" datatype="long" unit="unknown"> 551 <DESCRIPTION>IPP object number</DESCRIPTION> 552 </FIELD> 553 <FIELD name="ippDetectID" arraysize="1" datatype="long" unit="unknown"> 554 <DESCRIPTION>detection ID generated by IPP</DESCRIPTION> 555 </FIELD> 556 <FIELD name="filterID" arraysize="1" datatype="unsignedByte" unit="unknown"> 557 <DESCRIPTION>filter identifier</DESCRIPTION> 558 </FIELD> 559 <FIELD name="surveyID" arraysize="1" datatype="unsignedByte" unit="unknown"> 560 <DESCRIPTION>survey identifier</DESCRIPTION> 561 </FIELD> 562 <FIELD name="ra" arraysize="1" datatype="double" unit="degrees"> 563 <DESCRIPTION>right ascension</DESCRIPTION> 564 </FIELD> 565 <FIELD name="dec" arraysize="1" datatype="double" unit="degrees"> 566 <DESCRIPTION>declination</DESCRIPTION> 567 </FIELD> 568 <FIELD name="raErr" arraysize="1" datatype="float" unit="arcsec"> 569 <DESCRIPTION>right ascension error</DESCRIPTION> 570 </FIELD> 571 <FIELD name="decErr" arraysize="1" datatype="float" unit="arcsec"> 572 <DESCRIPTION>declination error</DESCRIPTION> 573 </FIELD> 574 <FIELD name="zp" arraysize="1" datatype="float" unit="magnitude"> 575 <DESCRIPTION>zero point offset</DESCRIPTION> 576 </FIELD> 577 <FIELD name="zpErr" arraysize="1" datatype="float" unit="magnitude"> 578 <DESCRIPTION>zerop point offset error</DESCRIPTION> 579 </FIELD> 580 <FIELD name="expTime" arraysize="1" datatype="float" unit="s"> 581 <DESCRIPTION>exposure time</DESCRIPTION> 582 </FIELD> 583 <FIELD name="airMass" arraysize="1" datatype="float" unit="unknown"> 584 <DESCRIPTION>airmass</DESCRIPTION> 585 </FIELD> 586 <FIELD name="dataRelease" arraysize="1" datatype="unsignedByte" unit="unknown"> 587 <DESCRIPTION>Data release to propagate to the object</DESCRIPTION> 588 </FIELD> 589 <DATA> 590 <TABLEDATA></TABLEDATA> 591 </DATA> 592 </TABLE> 541 593 </RESOURCE> 542 594 </VOTABLE> -
branches/eam_branches/ipp-20120905/ippToPsps/config/ST/tables.vot
r32031 r34735 148 148 <DESCRIPTION>projection cell identifier</DESCRIPTION> 149 149 </FIELD> 150 <FIELD name="obsTime" arraysize="1" datatype="double">151 <DESCRIPTION> Time of mid observation (unit = day)</DESCRIPTION>152 </FIELD>153 150 <FIELD name="xPos" arraysize="1" datatype="float"> 154 151 <DESCRIPTION>measured x on CCD from PSF fit</DESCRIPTION> … … 163 160 <DESCRIPTION>estimated error in y</DESCRIPTION> 164 161 </FIELD> 165 <FIELD name=" instFlux" arraysize="1" datatype="float">162 <FIELD name="psfFlux" arraysize="1" datatype="float"> 166 163 <DESCRIPTION>PSF instrumental flux</DESCRIPTION> 167 164 </FIELD> 168 <FIELD name=" instFluxErr" arraysize="1" datatype="float">165 <FIELD name="psfFluxErr" arraysize="1" datatype="float"> 169 166 <DESCRIPTION>estimated error in instrumental flux</DESCRIPTION> 170 167 </FIELD> … … 193 190 <DESCRIPTION>PSF likelihood</DESCRIPTION> 194 191 </FIELD> 195 <FIELD name="psfCf" arraysize="1" datatype="float"> 196 <DESCRIPTION>PSF coverage factor</DESCRIPTION> 197 </FIELD> 192 <FIELD name="psfQf" arraysize="1" datatype="float"> 193 <DESCRIPTION>PSF Q factor</DESCRIPTION> 194 </FIELD> 195 <FIELD name="psfQfPerfect" arraysize="1" datatype="float"> 196 <DESCRIPTION>PSF QF Perfect</DESCRIPTION> 197 </FIELD> 198 198 <FIELD name="momentXX" arraysize="1" datatype="float"> 199 199 <DESCRIPTION> moment XX (unit = arcsec)</DESCRIPTION> … … 223 223 <DESCRIPTION> moment RH (unit = arcsec)</DESCRIPTION> 224 224 </FIELD> 225 <FIELD name="ap Mag" arraysize="1" datatype="float">226 <DESCRIPTION> Aperture magnitude (unit = magnitude)</DESCRIPTION>227 </FIELD> 228 <FIELD name="ap MagErr" arraysize="1" datatype="float">229 <DESCRIPTION> Aperture magnitude error (unit = magnitude)</DESCRIPTION>225 <FIELD name="apFlux" arraysize="1" datatype="float"> 226 <DESCRIPTION> Aperture flux (unit = adu/s)</DESCRIPTION> 227 </FIELD> 228 <FIELD name="apFluxErr" arraysize="1" datatype="float"> 229 <DESCRIPTION> Aperture flux error (unit = adu/s)</DESCRIPTION> 230 230 </FIELD> 231 231 <FIELD name="kronFlux" arraysize="1" datatype="float"> 232 <DESCRIPTION> Kron flux (unit = magnitude)</DESCRIPTION>232 <DESCRIPTION> Kron flux (unit = adu/s)</DESCRIPTION> 233 233 </FIELD> 234 234 <FIELD name="kronFluxErr" arraysize="1" datatype="float"> 235 <DESCRIPTION> Kron flux error (unit = magnitude)</DESCRIPTION>235 <DESCRIPTION> Kron flux error (unit = adu/s)</DESCRIPTION> 236 236 </FIELD> 237 237 <FIELD name="kronRad" arraysize="1" datatype="float"> 238 238 <DESCRIPTION> Kron radius (unit = arcsecs)</DESCRIPTION> 239 239 </FIELD> 240 <FIELD name=" kronRadErr" arraysize="1" datatype="float">241 <DESCRIPTION> Kron radius error (unit = arcsecs)</DESCRIPTION>240 <FIELD name="psfChiSq" arraysize="1" datatype="float"> 241 <DESCRIPTION> psf chi sq</DESCRIPTION> 242 242 </FIELD> 243 243 <FIELD name="infoFlag" arraysize="1" datatype="long"> … … 293 293 <DESCRIPTION>stack identifier</DESCRIPTION> 294 294 </FIELD> 295 <FIELD name="isophot Mag" arraysize="1" datatype="float">296 <DESCRIPTION>isophotal magnitude</DESCRIPTION>297 </FIELD> 298 <FIELD name="isophot MagErr" arraysize="1" datatype="float">299 <DESCRIPTION>estimated error in isophotal magnitude</DESCRIPTION>295 <FIELD name="isophotFlux" arraysize="1" datatype="float"> 296 <DESCRIPTION>isophotal flux</DESCRIPTION> 297 </FIELD> 298 <FIELD name="isophotFluxErr" arraysize="1" datatype="float"> 299 <DESCRIPTION>estimated error in isophotal flux</DESCRIPTION> 300 300 </FIELD> 301 301 <FIELD name="isophotMajAxis" arraysize="1" datatype="float"> … … 332 332 <DESCRIPTION>estimated error inPetrosian radius</DESCRIPTION> 333 333 </FIELD> 334 <FIELD name="pet Mag" arraysize="1" datatype="float">335 <DESCRIPTION>Petrosian magntiude</DESCRIPTION>336 </FIELD> 337 <FIELD name="pet MagErr" arraysize="1" datatype="float">338 <DESCRIPTION>estimated error in pet Mag</DESCRIPTION>334 <FIELD name="petFlux" arraysize="1" datatype="float"> 335 <DESCRIPTION>Petrosian Flux</DESCRIPTION> 336 </FIELD> 337 <FIELD name="petFluxErr" arraysize="1" datatype="float"> 338 <DESCRIPTION>estimated error in petFlux</DESCRIPTION> 339 339 </FIELD> 340 340 <FIELD name="petR50" arraysize="1" datatype="float"> … … 765 765 <DESCRIPTION>estimated error in deVaucouleurs radius</DESCRIPTION> 766 766 </FIELD> 767 <FIELD name="deV Mag" arraysize="1" datatype="float">767 <FIELD name="deVFlux" arraysize="1" datatype="float"> 768 768 <DESCRIPTION>deVaucouleurs magntiude</DESCRIPTION> 769 769 </FIELD> 770 <FIELD name="deV MagErr" arraysize="1" datatype="float">770 <FIELD name="deVFluxErr" arraysize="1" datatype="float"> 771 771 <DESCRIPTION>estimated error in deV_mag</DESCRIPTION> 772 772 </FIELD> … … 891 891 <DESCRIPTION>estimated error in Exponential fit radius</DESCRIPTION> 892 892 </FIELD> 893 <FIELD name="exp Mag" arraysize="1" datatype="float">894 <DESCRIPTION>Exponential fit magntiude</DESCRIPTION>895 </FIELD> 896 <FIELD name="exp MagErr" arraysize="1" datatype="float">897 <DESCRIPTION>estimated error in exp Mag</DESCRIPTION>893 <FIELD name="expFlux" arraysize="1" datatype="float"> 894 <DESCRIPTION>Exponential fit flux</DESCRIPTION> 895 </FIELD> 896 <FIELD name="expFluxErr" arraysize="1" datatype="float"> 897 <DESCRIPTION>estimated error in expFlux</DESCRIPTION> 898 898 </FIELD> 899 899 <FIELD name="expAb" arraysize="1" datatype="float"> … … 1017 1017 <DESCRIPTION>estimated error in Sersic radius</DESCRIPTION> 1018 1018 </FIELD> 1019 <FIELD name="ser Mag" arraysize="1" datatype="float">1020 <DESCRIPTION>Sersic magntiude</DESCRIPTION>1021 </FIELD> 1022 <FIELD name="ser MagErr" arraysize="1" datatype="float">1023 <DESCRIPTION>estimated error in ser Mag</DESCRIPTION>1019 <FIELD name="serFlux" arraysize="1" datatype="float"> 1020 <DESCRIPTION>Sersic Flux</DESCRIPTION> 1021 </FIELD> 1022 <FIELD name="serFluxErr" arraysize="1" datatype="float"> 1023 <DESCRIPTION>estimated error in serFlux</DESCRIPTION> 1024 1024 </FIELD> 1025 1025 <FIELD name="serAb" arraysize="1" datatype="float"> … … 1240 1240 </DATA> 1241 1241 </TABLE> 1242 <TABLE name="StackDetectionCalib"> 1243 <DESCRIPTION>VOTable description of PSPS table StackDetectionCalib</DESCRIPTION> 1244 <PARAM arraysize="1" datatype="char" ucd="meta.bib.author" name="Author" value="PSPS"></PARAM> 1245 <FIELD name="objID" arraysize="1" datatype="long" unit="unknown"> 1246 <DESCRIPTION>ODM object identifier index</DESCRIPTION> 1247 </FIELD> 1248 <FIELD name="stackDetectID" arraysize="1" datatype="long" unit="unknown"> 1249 <DESCRIPTION>ODM detection identifier index</DESCRIPTION> 1250 </FIELD> 1251 <FIELD name="ippObjID" arraysize="1" datatype="long" unit="unknown"> 1252 <DESCRIPTION>IPP object number</DESCRIPTION> 1253 </FIELD> 1254 <FIELD name="ippDetectID" arraysize="1" datatype="long" unit="unknown"> 1255 <DESCRIPTION>detection ID generated by IPP</DESCRIPTION> 1256 </FIELD> 1257 <FIELD name="filterID" arraysize="1" datatype="unsignedByte" unit="unknown"> 1258 <DESCRIPTION>filter identifier</DESCRIPTION> 1259 </FIELD> 1260 <FIELD name="surveyID" arraysize="1" datatype="unsignedByte" unit="unknown"> 1261 <DESCRIPTION>survey identifier</DESCRIPTION> 1262 </FIELD> 1263 <FIELD name="ra" arraysize="1" datatype="double" unit="degrees"> 1264 <DESCRIPTION>right ascension</DESCRIPTION> 1265 </FIELD> 1266 <FIELD name="dec" arraysize="1" datatype="double" unit="degrees"> 1267 <DESCRIPTION>declination</DESCRIPTION> 1268 </FIELD> 1269 <FIELD name="raErr" arraysize="1" datatype="float" unit="arcsec"> 1270 <DESCRIPTION>right ascension error</DESCRIPTION> 1271 </FIELD> 1272 <FIELD name="decErr" arraysize="1" datatype="float" unit="arcsec"> 1273 <DESCRIPTION>declination error</DESCRIPTION> 1274 </FIELD> 1275 <FIELD name="zp" arraysize="1" datatype="float" unit="magnitude"> 1276 <DESCRIPTION>zero point offset</DESCRIPTION> 1277 </FIELD> 1278 <FIELD name="zpErr" arraysize="1" datatype="float" unit="magnitude"> 1279 <DESCRIPTION>zerop point offset error</DESCRIPTION> 1280 </FIELD> 1281 <FIELD name="expTime" arraysize="1" datatype="float" unit="s"> 1282 <DESCRIPTION>exposure time</DESCRIPTION> 1283 </FIELD> 1284 <FIELD name="airMass" arraysize="1" datatype="float" unit="unknown"> 1285 <DESCRIPTION>airmass</DESCRIPTION> 1286 </FIELD> 1287 <FIELD name="dataRelease" arraysize="1" datatype="unsignedByte" unit="unknown"> 1288 <DESCRIPTION>Data release to propagate to the object</DESCRIPTION> 1289 </FIELD> 1290 <DATA> 1291 <TABLEDATA></TABLEDATA> 1292 </DATA> 1293 </TABLE> 1242 1294 </RESOURCE> 1243 1295 </VOTABLE> -
branches/eam_branches/ipp-20120905/ippToPsps/jython/detectionbatch.py
r33830 r34735 388 388 # delete all detections with PSF_INST_MAG < 17.5, as decreed by Gene 389 389 BEFORE = self.scratchDb.getRowCount(ippTableName) 390 sql = "DELETE FROM " + ippTableName + " WHERE PSF_INST_MAG < -17.5" 391 self.scratchDb.execute(sql) 390 #don't do this anymore 391 #sql = "DELETE FROM " + ippTableName + " WHERE PSF_INST_MAG < -17.5" 392 #self.scratchDb.execute(sql) 392 393 #DELETED = BEFORE - self.scratchDb.getRowCount(ippTableName) 393 results['SATDET'] = BEFORE - self.scratchDb.getRowCount(ippTableName) 394 #results['SATDET'] = BEFORE - self.scratchDb.getRowCount(ippTableName) 395 #we aren't deletng these now 396 results['SATDET'] = 0 394 397 #self.logger.infoPair("Saturated detections", "%d deleted" % DELETED) 395 398 … … 404 407 ,xPosErr \ 405 408 ,yPosErr \ 406 , instFlux \407 , instFluxErr \409 ,psfFlux \ 410 ,psfFluxErr \ 408 411 ,peakADU \ 409 412 ,psfWidMajor \ … … 411 414 ,psfTheta \ 412 415 ,psfLikelihood \ 413 ,psf Cf \416 ,psfQf \ 414 417 ,momentXX \ 415 418 ,momentXY \ 416 419 ,momentYY \ 417 ,ap Mag\420 ,apFlux \ 418 421 ,kronFlux \ 419 422 ,kronFluxErr \ 423 ,psfQfPerfect \ 424 ,psfChiSq \ 420 425 ,infoFlag \ 421 426 ,sky \ … … 447 452 ,MOMENTS_XY \ 448 453 ,MOMENTS_YY \ 449 , AP_MAG\454 ,POW(10.0, -0.4 *AP_MAG) / " + self.header['EXPTIME'] + " \ 450 455 ,KRON_FLUX / " + self.header['EXPTIME'] + " \ 451 456 ,KRON_FLUX_ERR / " + self.header['EXPTIME'] + " \ 452 ,FLAGS\ 453 ,SKY \ 454 ,SKY_SIGMA \ 457 ,PSF_QF_PERFECT \ 458 ,PSF_CHISQ \ 459 ,FLAGS2 << 32 | FLAGS \ 460 ,SKY / " + self.header['EXPTIME'] + " \ 461 ,SKY_SIGMA / " + self.header['EXPTIME'] + " \ 455 462 ,EXT_NSIGMA \ 456 463 , 0 \ … … 459 466 , " + str(self.config.dataRelease) + "\ 460 467 FROM " + ippTableName 468 # self.logger.info(sql) 461 469 self.scratchDb.execute(sql) 462 470 463 471 # now delete bad flux and bad chip positions 464 sql="DELETE FROM " + pspsTableName + " WHERE instFlux < 0.0000001" # TODO clearly a hack = 0 not allowed for instFlux 465 self.scratchDb.execute(sql) 466 472 #sql="DELETE FROM " + pspsTableName + " WHERE instFlux < 0.0000001" # TODO clearly a hack = 0 not allowed for instFlux 473 #self.scratchDb.execute(sql) 474 475 # add a instFlux = 0.0 -> 0.000001 476 sql="UPDATE " + pspsTableName + " SET psfFlux = 0.0000001 WHERE psfFlux = 0" 477 self.scratchDb.execute(sql) 478 467 479 # update cosmic ray and extended likelihoods 468 sql="UPDATE " + pspsTableName + " SET extendedLikelihood = 0, crLikelihood = 1.0 - psfLikelihood WHERE sgSep <= 0"469 self.scratchDb.execute(sql)470 sql="UPDATE " + pspsTableName + " SET crLikelihood = 0, extendedLikelihood = 1.0 - psfLikelihood WHERE sgSep > 0"471 self.scratchDb.execute(sql)480 #sql="UPDATE " + pspsTableName + " SET extendedLikelihood = 0, crLikelihood = 1.0 - psfLikelihood WHERE sgSep <= 0" 481 #self.scratchDb.execute(sql) 482 #sql="UPDATE " + pspsTableName + " SET crLikelihood = 0, extendedLikelihood = 1.0 - psfLikelihood WHERE sgSep > 0" 483 #self.scratchDb.execute(sql) 472 484 473 485 # remove detections will NULL inst flux or NULL peak ADU 474 results['NULLINSTFLUX'] = self.scratchDb.reportAndDeleteRowsWithNULLS(pspsTableName, "instFlux") 475 results['NULLPEAKADU'] = self.scratchDb.reportAndDeleteRowsWithNULLS(pspsTableName, "peakADU") 486 # leave them in at this stage- don't delete them. 487 #results['NULLINSTFLUX'] = self.scratchDb.reportAndDeleteRowsWithNULLS(pspsTableName, "instFlux") 488 #results['NULLPEAKADU'] = self.scratchDb.reportAndDeleteRowsWithNULLS(pspsTableName, "peakADU") 489 #we don't delete thos anymore 490 results['NULLINSTFLUX'] = 0; 491 results['NULLPEAKADU'] = 0; 476 492 477 493 ''' … … 504 520 505 521 ''' 522 Populates the DetectionCalib table for this OTA 523 ''' 524 def populateDetectionCalibTable(self, ota): 525 526 tableName = "DetectionCalib_" + ota 527 # drop then re-create table 528 self.scratchDb.dropTable(tableName) 529 sql = "CREATE TABLE " + tableName + " LIKE DetectionCalib" 530 try: self.scratchDb.execute(sql) 531 except: pass 532 533 # insert all detections into table 534 sql = "INSERT INTO " + tableName + " ( \ 535 objID \ 536 ,detectID \ 537 ,ippObjID \ 538 ,ippDetectID \ 539 ,filterID \ 540 ,surveyID \ 541 ) \ 542 SELECT \ 543 objID \ 544 ,detectID \ 545 ,ippObjID \ 546 ,ippDetectID \ 547 ,filterID \ 548 ,surveyID \ 549 FROM Detection_" + ota 550 self.scratchDb.execute(sql) 551 552 # insert calibration information from dvoDetections into the Table 553 sql = "UPDATE " + tableName + " AS a, " + self.scratchDb.dvoDetectionTable + " AS b \ 554 SET a.ra = b.ra, \ 555 a.dec = b.dec_, \ 556 a.raErr = b.raErr, \ 557 a.decErr = b.decErr, \ 558 a.zp = b.zp, \ 559 a.zpErr = b.zpErr, \ 560 a.expTime = b.expTime, \ 561 a.airMass = b.airMass \ 562 WHERE a.objID = b.objID AND a.detectID = b.detectID" 563 self.scratchDb.execute(sql) 564 self.scratchDb.updateAllRows(tableName, "dataRelease", str(self.config.dataRelease)) 565 566 ''' 506 567 Populates the Detection table for this OTA 507 568 ''' … … 587 648 if not self.getIDsFromDVO(): return False 588 649 650 # dec is reserved in MySQL, so STILTS replaces if with dec_, which is not the name of 651 # the column in PSPS 652 self.scratchDb.execute("ALTER TABLE DetectionCalib CHANGE dec_ `dec` double") 653 654 655 589 656 return True 590 657 … … 608 675 extension = "XY%d%d_psf" % (x, y) 609 676 self.scratchDb.createIndex(extension, "IPP_IDET") 610 677 self.logger.infoPair("created indexes on", "IPP tables") 611 678 ''' 612 679 Updates provided table with DVO IDs from DVO table … … 620 687 a.detectID = b.detectID, \ 621 688 a.objID = b.objID, \ 622 a.infoFlag = b.flags << 32| a.infoFlag \689 a.infoFlag = b.flags << 45 | a.infoFlag \ 623 690 WHERE a.ippDetectID = b.ippDetectID \ 624 691 AND b.imageID = " + str(imageID) … … 658 725 self.logger.info("| %5s | ------------- Bad astrometric solution : rejecting ------------ |" % ota) 659 726 continue 660 727 # self.logger.info("populate stuff "); 661 728 # populate remainder of tables 662 729 self.populateDetectionTable(ota, results) 663 730 # self.logger.info("successful populate "); 664 731 # now add DVO IDs 665 732 self.updateDvoIDs("Detection_" + ota, self.imageIDs[ota]) 733 # self.logger.info("updated dvoids") 666 734 results['NULLOBJID'] = self.scratchDb.reportAndDeleteRowsWithNULLS("Detection_" + ota, "objID") 667 self.updateImageID("Detection_" + ota, x, y) 735 #self.logger.info("deleted nulls") 736 self.updateImageID("Detection_" + ota, x, y) 737 # self.logger.info("updateImageId") 668 738 rowCount = self.scratchDb.getRowCount("Detection_" + ota) 739 # self.logger.info("got row count") 669 740 self.logger.info("| %5s | %13d | %13d | %13d | %13d | %13d | %13d |", 670 741 ota, … … 675 746 results['NULLOBJID'], 676 747 rowCount) 677 678 748 totalOriginal = totalOriginal + results['ORIGINALTOTAL'] 679 749 totalSatDet = totalSatDet + results['SATDET'] … … 682 752 totalNullObjID = totalNullObjID + results['NULLOBJID'] 683 753 totalDetections = totalDetections + rowCount 684 754 #self.logger.info("updated totals") 685 755 # check we have something in this Detection table TODO add this to table above 686 756 if rowCount < 1: … … 692 762 SET nDetect = %d, photoCalID = %d" % (self.scratchDb.getRowCount("Detection_" + ota), self.scratchDb.getPhotoCalID(self.imageIDs[ota])) 693 763 self.scratchDb.execute(sql) 694 764 765 #self.logger.info("updated imagedata") 695 766 self.populateSkinnyObjectTable(ota) 767 #self.logger.info("updated skinnyobject") 696 768 self.populateObjectCalColorTable(ota) 697 769 #self.logger.info("updated objectcalcolor") 770 self.populateDetectionCalibTable(ota) 771 #self.logger.info("updated detectioncalibtable") 772 698 773 # add these to list of tables to export later 699 774 self.tablesToExport.append("ImageMeta_" + ota) … … 701 776 self.tablesToExport.append("SkinnyObject_" + ota) 702 777 self.tablesToExport.append("ObjectCalColor_" + ota) 778 self.tablesToExport.append("DetectionCalib_" + ota) 703 779 tables.append("Detection_" + ota) 704 780 705 781 otaCount = otaCount + 1 706 782 #self.logger.info("end of ota") 707 783 # print totals 708 784 self.logger.info("+-------+---------------+---------------+---------------+---------------+---------------+---------------+") … … 757 833 else : regex = ".*.psf" 758 834 759 columns = "IPP_IDET X_PSF Y_PSF X_PSF_SIG Y_PSF_SIG PSF_INST_MAG PSF_INST_MAG_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 SKY SKY_SIGMA EXT_NSIGMA"835 columns = "IPP_IDET X_PSF Y_PSF X_PSF_SIG Y_PSF_SIG PSF_INST_MAG PSF_INST_MAG_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" 760 836 761 837 return super(DetectionBatch, self).importIppTables(columns, regex) -
branches/eam_branches/ipp-20120905/ippToPsps/jython/dvodetections.py
r33686 r34735 44 44 self.importFits( 45 45 cpmPath, 46 "IMAGE_ID DET_ID OBJ_ID CAT_ID EXT_ID DB_FLAGS ",46 "IMAGE_ID DET_ID OBJ_ID CAT_ID EXT_ID DB_FLAGS PHOTCODE AIRMASS M_TIME M_CAL MAG_CAL_ERR D_RA D_DEC PLTSCALE X_CCD_ERR Y_CCD_ERR", 47 47 cpmTableName) 48 48 … … 50 50 self.scratchDb.createIndex(cpmTableName, "CAT_ID") 51 51 self.scratchDb.createIndex(cpmTableName, "OBJ_ID") 52 53 # XXX: Should we create index on PHOTCODE? 52 54 53 55 # we can now report that we have imported this table … … 60 62 self.importFits( 61 63 cptPath, 62 "OBJ_ID CAT_ID EXT_ID ",64 "OBJ_ID CAT_ID EXT_ID RA DEC", 63 65 cptTableName) 64 66 … … 67 69 self.scratchDb.createIndex(cptTableName, "OBJ_ID") 68 70 71 # SA10 72 # Columns needed for DetectionCalib and StackDetectionCalib 73 # zp = photcode.K * (AIRMASS - 1) + photcode.C_LAM * 0.001 - cpm.M_CAL 74 # zpErr = cpm.MAG_CAL_ERR 75 # airMass = cpm.AIRMASS 76 # expTime = POW(10.0, 0.4 * cpm.M_TIME) 77 # ra = cpt.RA - (cpm.D_RA / 3600.0) 78 # dec = cpt.DEC - (cpm.D_DEC / 3600.0) 79 # raErr = cpm.X_CCD_ERR * cpm.PLTSCALE 80 # decErr = cpm.Y_CCD_ERR * cpm.PLTSCALE 81 69 82 self.logger.infoPair("Adding","PSPS objIDs") 70 # first try to add a column for PSPS_OBJ_ID. catch failure and continue83 # first try to add the new columns. catch failure and continue 71 84 try: 72 sql = "ALTER TABLE " + cpmTableName + " ADD COLUMN (PSPS_OBJ_ID BIGINT) "85 sql = "ALTER TABLE " + cpmTableName + " ADD COLUMN (PSPS_OBJ_ID BIGINT), (ZP REAL), (RA FLOAT), (DEC FLOAT)" 73 86 self.scratchDb.execute(sql) 74 87 except: 75 88 self.logger.infoPair("Already added PSPS_OBJ_ID column to", cpmTableName) 76 89 77 # shove PSPS objIDs from cpt table into measurement table 78 sql = "UPDATE " + cpmTableName + " AS a, " + cptTableName + " AS b \ 79 SET a.PSPS_OBJ_ID = b.EXT_ID \ 90 # shove PSPS objIDs from cpt table and the calibrated zero point and coordinates which are formed 91 # by combining values from multiple tables into cpt table 92 sql = "UPDATE " + cpmTableName + " AS a, " + cptTableName + " AS b, " \ 93 + self.scratchDb.dvoPhotcodesTable + " AS c \ 94 SET a.PSPS_OBJ_ID = b.EXT_ID, \ 95 b.ZP = c.C_LAM * 0.001 + c.K * (b.AIRMASS - 1) - b.M_CAL, \ 96 b.RA = a.RA - (b.D_RA / 3600.0), \ 97 b.DEC = a.DEC - (b.D_DEC / 3600.0) \ 80 98 WHERE a.CAT_ID = b.CAT_ID \ 81 AND a.OBJ_ID = b.OBJ_ID" 99 AND a.OBJ_ID = b.OBJ_ID \ 100 AND b.PHOTCODE = c.CODE" 101 82 102 self.scratchDb.execute(sql) 83 103 … … 86 106 # PSPS object IDs assigned in the corresponding cpt file. This is believed to be a chip-boundary 87 107 # issue within DVO. So, for now, we take the first IMAGE_ID/DET_ID detection we find, and ignore the rest 108 # XXX: Bills 2012-10031 Does this problem still exist? 88 109 self.logger.infoPair("Merging into", self.scratchDb.dvoDetectionTable) 89 110 sql = "INSERT IGNORE INTO " + self.scratchDb.dvoDetectionTable + " (\ … … 94 115 ,objID \ 95 116 ,flags \ 117 ,zp \ 118 ,zpErr \ 119 ,airMass \ 120 ,expTime \ 121 ,ra \ 122 ,dec_ \ 123 ,raErr \ 124 ,decErr \ 96 125 ,fileID \ 97 126 ) SELECT \ … … 102 131 ,PSPS_OBJ_ID \ 103 132 ,DB_FLAGS \ 133 ,ZP \ 134 ,MAG_CAL_ERR \ 135 ,AIRMASS \ 136 ,POW(10.0, 0.4 * M_TIME) \ 137 ,RA \ 138 ,DEC \ 139 ,X_CCD_ERR*PLTSCALE \ 140 ,Y_CCD_ERR*PLTSCALE \ 104 141 , " + str(fileId) + " \ 105 142 FROM " + cpmTableName 143 106 144 try: 107 145 self.scratchDb.execute(sql) -
branches/eam_branches/ipp-20120905/ippToPsps/jython/ipptopspsdb.py
r33858 r34735 638 638 and not self.processingNow(batchType, stageID) \ 639 639 and not self.consistentlyFailed(batchType, stageID)): 640 641 self.logger.infoPair("heather:","passed logic") 640 642 641 643 sql = "INSERT INTO batch ( \ … … 652 654 '" + self.config.datastoreProduct + "' \ 653 655 )" 656 self.logger.infoPair("heather:","sql") 654 657 655 658 self.execute(sql) -
branches/eam_branches/ipp-20120905/ippToPsps/jython/loader.py
r33832 r34735 123 123 124 124 self.logger.infoPair("Boxes with unprocessed data", "%d" % len(boxIds)) 125 125 self.logger.infoPair("numAttempts", str(numAttempts)) 126 126 if len(boxIds) > 0: numAttempts = 0 127 127 128 128 for boxId in boxIds: 129 129 self.logger.infoPair("Check","client status") 130 130 if not self.checkClientStatus(): 131 131 abort = True 132 132 break 133 133 self.logger.infoPair("client status", "ok") 134 134 # get box info. if boxes have changed, break and start again 135 135 try: … … 138 138 self.logger.infoPair("Can't get details for this box", "%d" % boxId) 139 139 break 140 140 self.logger.infoPair("client status", "ok") 141 141 ids = self.ippToPspsDb.getPendingIdsForThisBox(boxId, batchType) 142 142 … … 150 150 self.logger.infoPair(batchType + " items found in this box", "%d" % len(ids)) 151 151 boxSizeWithBorder = boxDim['SIDE'] + (self.config.BORDER * 2) 152 152 self.logger.infoPair("got here", "ok") 153 153 useFullTables = 0 154 154 if batchType != "OB": … … 174 174 abort = True 175 175 break 176 176 self.logger.infoPair("processed","ok") 177 177 if abort or not self.checkClientStatus(): abort = True 178 178 elif numAttempts > 1 and not self.waitForPollTime(): break … … 188 188 # loop round IDs of all items to be processed 189 189 self.ippToPspsDb.lockBatchTable() 190 self.logger.infoPair("heather:","lockbatchtable") 190 191 unattemptedCount = 0 191 192 for id in ids: 192 193 self.logger.infoPair("heather:","in ids") 194 self.logger.infoPair("heather:id",str(id)) 193 195 batchID = self.ippToPspsDb.createNewBatch(batchType, id) 194 196 self.logger.infoPair("heather:","creatednewbatch") 197 self.logger.infoPair("heather:batchId", str(batchID)) 195 198 if batchID < 0: 196 199 unattemptedCount += 1 197 200 continue 198 201 self.logger.infoPair("heather:","passed logic") 199 202 self.ippToPspsDb.unlockTables() 203 self.logger.infoPair("heather:","unlock table") 200 204 self.ippToPspsDb.deletePendingItem(batchType, id) 205 self.logger.infoPair("heather:","deleted pending item") 201 206 202 207 # catch any raised exceptions in batch constructors … … 234 239 235 240 # if batch fails, ignore and move on to the next one 236 except: 241 except Exception, e: 242 self.logger.error("EXCEPTION: " + str(e)) 237 243 self.logger.errorPair("Problem with this %s batch (%d)" % (batchType, id), "skipping") 238 244 pass 239 245 240 246 if not self.checkClientStatus(): return False 241 247 self.logger.infoPair("checkclient status", "ok") 248 242 249 self.ippToPspsDb.lockBatchTable() 243 250 self.logger.infoPair("lockbatchtable", "ok") 244 251 self.logger.infoSeparator() 245 252 -
branches/eam_branches/ipp-20120905/ippToPsps/jython/objectbatch.py
r34466 r34735 114 114 for filter in filters: 115 115 116 sql = "UPDATE Object \ 117 JOIN " + cpsTable + " AS cps ON (cps.row = (Object.row*" + str(filterCount) + ")-(" + str(filterCount) + " - " + str(filter[0]) + ")) \ 116 filterID = self.scratchDb.getFilterID(filter[1]) 117 118 # NOTE: Manipulation of FLAGS from cpsTable is to move ID_SECF_OBJ_EXT flag (0x01000000) 119 # from bit 24 to bit 13 so that it fits into the SMALLINT Object.Flags 120 121 sql = "UPDATE Object JOIN \ 122 " + cpsTable + " AS cps ON (cps.row = (Object.row* " + str(filterCount) + ")-(" + str(filterCount) + " - " + str(filter[0]) + ")) \ 118 123 SET \ 119 124 n" + filter[1] + " = NCODE \ … … 122 127 ," + filter[1] + "MeanKronMag = MAG_KRON \ 123 128 ," + filter[1] + "MeanKronMagErr = MAG_KRON_ERR \ 124 ," + filter[1] + "StackPSF Flux = FLUX_PSF\125 ," + filter[1] + "StackPSF FluxErr = FLUX_PSF_ERR\129 ," + filter[1] + "StackPSFMag = -2.5 * log10(FLUX_PSF) + 8.9 \ 130 ," + filter[1] + "StackPSFMagErr = FLUX_PSF_ERR / FLUX_PSF \ 126 131 ," + filter[1] + "StackKronMag = -2.5 * log10(FLUX_KRON) + 8.9 \ 127 132 ," + filter[1] + "StackKronMagErr = FLUX_KRON_ERR / FLUX_KRON \ 128 133 ," + filter[1] + "20pct = MAG_20/1000 \ 129 134 ," + filter[1] + "80pct = MAG_80/1000 \ 130 ," + filter[1] + "Flags = FLAGS " 131 135 ," + filter[1] + "Flags = (0x7fff & FLAGS) | ((FLAGS >> 11) & 0x2000) \ 136 ," + filter[1] + "StackDetectID = STACK_DETECT_ID + " + str(filterID) 137 138 #self.logger.info(sql) 139 self.scratchDb.execute(sql) 140 141 self.logger.infoPair("Calculating nDetections from", "n[filters]") 142 for filter in filters: 143 # now do a sum of n[filters], but do not include the ones with -999 144 sql = "UPDATE Object \ 145 SET nDetections = nDetections + n" + filter[1] + " \ 146 WHERE n" + filter[1] + " != -999" 147 self.scratchDb.execute(sql) 132 148 133 self.scratchDb.execute(sql) 149 150 134 151 135 152 # now set to null all MeanMagErr values > 0.5 (cut set by Gene, 2012-04-12) … … 189 206 cpsTableName = self.scratchDb.getDbFriendlyTableName(self.region + ".cps") 190 207 191 self.logger.infoPair("Populating", "Object") 208 self.logger.infoPair("setting to null > 1e-38 and < 1e-38 in", "cps FLUX_KRON_ERR") 209 sql = "UPDATE " + cpsTableName + " set FLUX_KRON_ERR = NULL where FLUX_KRON_ERR < 1e-37 AND FLUX_KRON_ERR > -1e-37 " 210 211 try: 212 self.scratchDb.execute(sql) 213 except: 214 self.logger.errorPair("Couldn't squash out of range stuff", sql) 215 return False 216 217 self.logger.infoPair("setting to null > 1e-38 and < 1e-38 in", "cps FLUX_KRON") 218 sql = "UPDATE " + cpsTableName + " set FLUX_KRON = NULL where FLUX_KRON < 1e-37 AND FLUX_KRON > -1e-37 " 219 220 try: 221 self.scratchDb.execute(sql) 222 except: 223 self.logger.errorPair("Couldn't squash out of range stuff", sql) 224 return False 225 226 227 228 229 230 self.logger.infoPair("Populating", "Object s") 192 231 self.logger.infoPair("Inserting objects from", "cpt file") 193 232 … … 204 243 ,decErr \ 205 244 ,nDetections \ 206 , extra\245 ,qfPerfect \ 207 246 ,sgSep \ 208 247 ,dataRelease \ -
branches/eam_branches/ipp-20120905/ippToPsps/jython/scratchdb.py
r34466 r34735 68 68 DECLARE t REAL; \ 69 69 DECLARE z REAL; \ 70 DECLARE s INT; \ 71 SET s= SIGN(x); \ 70 72 SET x = ABS(x) / 1.4142135623731; \ 71 73 SET z=ABS(x); \ … … 75 77 SET ans = 2.0 - ans; \ 76 78 END IF; \ 79 SET ans = ans * s; \ 77 80 RETURN ans; \ 78 81 END" … … 385 388 objID BIGINT, \ 386 389 flags INT, \ 390 zp REAL, \ 391 zpErr REAL, \ 392 airMass REAL, \ 393 expTime REAL, \ 394 ra FLOAT, \ 395 dec_ FLOAT, \ 396 raErr REAL, \ 397 decErr REAL, \ 387 398 PRIMARY KEY (imageID, ippDetectID) \ 388 399 )" -
branches/eam_branches/ipp-20120905/ippToPsps/jython/stackbatch.py
r34466 r34735 76 76 self.projectioncell = self.skycell 77 77 78 # proposed new values. Need to coordinate with the SkyCell table 79 # this fits in 32 bits for 0 < tessID < 214 80 # self.skycell = str( (tessID * (10000 * 1000)) + (int(self.projectioncell) * 1000) + cellID ) 81 78 82 self.analysisVer = meta[2]; 79 83 … … 89 93 self.scratchDb.dropTable("SkinnyObject") 90 94 self.scratchDb.dropTable("ObjectCalColor") 95 self.scratchDb.dropTable("StackDetectionCalib") 91 96 92 97 # delete IPP tables … … 140 145 141 146 sql = "UPDATE StackApFlx AS a, SkyChip_xrad AS b SET \ 142 "+prefix+"flxR1=b.APER_FLUX_1 , \143 "+prefix+"flxR1Err=b.APER_FLUX_ERR_1 , \144 "+prefix+"flxR1Std=b.APER_FLUX_STDEV_1 , \147 "+prefix+"flxR1=b.APER_FLUX_1 / " + str(self.expTime) + ", \ 148 "+prefix+"flxR1Err=b.APER_FLUX_ERR_1 / " + str(self.expTime) + ", \ 149 "+prefix+"flxR1Std=b.APER_FLUX_STDEV_1 / " + str(self.expTime) + ", \ 145 150 "+prefix+"flxR1Fill=b.APER_FILL_1, \ 146 "+prefix+"flxR2=b.APER_FLUX_2 , \147 "+prefix+"flxR2Err=b.APER_FLUX_ERR_2 , \148 "+prefix+"flxR2Std=b.APER_FLUX_STDEV_2 , \151 "+prefix+"flxR2=b.APER_FLUX_2 / " + str(self.expTime) + ", \ 152 "+prefix+"flxR2Err=b.APER_FLUX_ERR_2 / " + str(self.expTime) + ", \ 153 "+prefix+"flxR2Std=b.APER_FLUX_STDEV_2 / " + str(self.expTime) + ", \ 149 154 "+prefix+"flxR2Fill=b.APER_FILL_2, \ 150 "+prefix+"flxR3=b.APER_FLUX_3 , \151 "+prefix+"flxR3Err=b.APER_FLUX_ERR_3 , \152 "+prefix+"flxR3Std=b.APER_FLUX_STDEV_3 , \155 "+prefix+"flxR3=b.APER_FLUX_3 / " + str(self.expTime) + ", \ 156 "+prefix+"flxR3Err=b.APER_FLUX_ERR_3 / " + str(self.expTime) + ", \ 157 "+prefix+"flxR3Std=b.APER_FLUX_STDEV_3 / " + str(self.expTime) + ", \ 153 158 "+prefix+"flxR3Fill=b.APER_FILL_3, \ 154 "+prefix+"flxR4=b.APER_FLUX_4 , \155 "+prefix+"flxR4Err=b.APER_FLUX_ERR_4 , \156 "+prefix+"flxR4Std=b.APER_FLUX_STDEV_4 , \159 "+prefix+"flxR4=b.APER_FLUX_4 / " + str(self.expTime) + ", \ 160 "+prefix+"flxR4Err=b.APER_FLUX_ERR_4 / " + str(self.expTime) + ", \ 161 "+prefix+"flxR4Std=b.APER_FLUX_STDEV_4 / " + str(self.expTime) + ", \ 157 162 "+prefix+"flxR4Fill=b.APER_FILL_4, \ 158 "+prefix+"flxR5=b.APER_FLUX_5 , \159 "+prefix+"flxR5Err=b.APER_FLUX_ERR_5 , \160 "+prefix+"flxR5Std=b.APER_FLUX_STDEV_5 , \163 "+prefix+"flxR5=b.APER_FLUX_5 / " + str(self.expTime) + ", \ 164 "+prefix+"flxR5Err=b.APER_FLUX_ERR_5 / " + str(self.expTime) + ", \ 165 "+prefix+"flxR5Std=b.APER_FLUX_STDEV_5 / " + str(self.expTime) + ", \ 161 166 "+prefix+"flxR5Fill=b.APER_FILL_5, \ 162 "+prefix+"flxR6=b.APER_FLUX_6 , \163 "+prefix+"flxR6Err=b.APER_FLUX_ERR_6 , \164 "+prefix+"flxR6Std=b.APER_FLUX_STDEV_6 , \167 "+prefix+"flxR6=b.APER_FLUX_6 / " + str(self.expTime) + ", \ 168 "+prefix+"flxR6Err=b.APER_FLUX_ERR_6 / " + str(self.expTime) + ", \ 169 "+prefix+"flxR6Std=b.APER_FLUX_STDEV_6 / " + str(self.expTime) + ", \ 165 170 "+prefix+"flxR6Fill=b.APER_FILL_6, \ 166 "+prefix+"flxR7=b.APER_FLUX_7 , \167 "+prefix+"flxR7Err=b.APER_FLUX_ERR_7 , \168 "+prefix+"flxR7Std=b.APER_FLUX_STDEV_7 , \171 "+prefix+"flxR7=b.APER_FLUX_7 / " + str(self.expTime) + ", \ 172 "+prefix+"flxR7Err=b.APER_FLUX_ERR_7 / " + str(self.expTime) + ", \ 173 "+prefix+"flxR7Std=b.APER_FLUX_STDEV_7 / " + str(self.expTime) + ", \ 169 174 "+prefix+"flxR7Fill=b.APER_FILL_7, \ 170 "+prefix+"flxR8=b.APER_FLUX_8 , \171 "+prefix+"flxR8Err=b.APER_FLUX_ERR_8 , \172 "+prefix+"flxR8Std=b.APER_FLUX_STDEV_8 , \175 "+prefix+"flxR8=b.APER_FLUX_8 / " + str(self.expTime) + ", \ 176 "+prefix+"flxR8Err=b.APER_FLUX_ERR_8 / " + str(self.expTime) + ", \ 177 "+prefix+"flxR8Std=b.APER_FLUX_STDEV_8 / " + str(self.expTime) + ", \ 173 178 "+prefix+"flxR8Fill=b.APER_FILL_8, \ 174 "+prefix+"flxR9=b.APER_FLUX_9 , \175 "+prefix+"flxR9Err=b.APER_FLUX_ERR_9 , \176 "+prefix+"flxR9Std=b.APER_FLUX_STDEV_9 , \179 "+prefix+"flxR9=b.APER_FLUX_9 / " + str(self.expTime) + ", \ 180 "+prefix+"flxR9Err=b.APER_FLUX_ERR_9 / " + str(self.expTime) + ", \ 181 "+prefix+"flxR9Std=b.APER_FLUX_STDEV_9 / " + str(self.expTime) + ", \ 177 182 "+prefix+"flxR9Fill=b.APER_FILL_9, \ 178 "+prefix+"flxR10=b.APER_FLUX_10 , \179 "+prefix+"flxR10Err=b.APER_FLUX_ERR_10 , \180 "+prefix+"flxR10Std=b.APER_FLUX_STDEV_10 , \183 "+prefix+"flxR10=b.APER_FLUX_10 / " + str(self.expTime) + ", \ 184 "+prefix+"flxR10Err=b.APER_FLUX_ERR_10 / " + str(self.expTime) + ", \ 185 "+prefix+"flxR10Std=b.APER_FLUX_STDEV_10 / " + str(self.expTime) + ", \ 181 186 "+prefix+"flxR10Fill=b.APER_FILL_10 \ 182 187 WHERE a.ippDetectID=b.IPP_IDET AND b.PSF_FWHM "+psfCondition … … 196 201 sql = "UPDATE StackModelFit AS a, SkyChip_xfit AS b SET \ 197 202 "+model+"Radius=b.EXT_WIDTH_MAJ, \ 198 "+model+" Mag=b.EXT_INST_MAG, \199 "+model+" MagErr=b.EXT_INST_MAG_SIG,\203 "+model+"Flux=POW(10, -0.4 * b.EXT_INST_MAG) / " + str(self.expTime) + " , \ 204 "+model+"FluxErr=ABS(b.EXT_INST_MAG_SIG) * POW(10, -0.4 * b.EXT_INST_MAG) / " + str(self.expTime) + " / 1.085736, \ 200 205 "+model+"Ab=b.EXT_WIDTH_MAJ/b.EXT_WIDTH_MIN, \ 201 206 "+model+"Phi=b.EXT_THETA, \ … … 319 324 ,skyCellID \ 320 325 ,projectionCellID \ 321 ,obsTime \322 326 ,xPos \ 323 327 ,yPos \ 324 328 ,xPosErr \ 325 329 ,yPosErr \ 326 , instFlux \327 , instFluxErr \330 ,psfFlux \ 331 ,psfFluxErr \ 328 332 ,peakFlux \ 329 333 ,sky \ … … 335 339 ,psfLikelihood \ 336 340 ,infoFlag \ 337 ,psfCf \ 341 ,psfQf \ 342 ,psfQfPerfect \ 338 343 ,momentXX \ 339 344 ,momentXY \ … … 345 350 ,momentR1 \ 346 351 ,momentRH \ 347 ,ap Mag\348 ,ap MagErr \352 ,apFlux \ 353 ,apFluxErr \ 349 354 ,kronFlux \ 350 355 ,kronFluxErr \ 351 356 ,kronRad \ 352 , kronRadErr\357 ,psfChiSq \ 353 358 ,nFrames \ 354 359 ,assocDate \ … … 359 364 ," + self.skycell + " \ 360 365 ," + self.projectioncell + " \ 361 ," + self.header['MJD-OBS'] + " \362 366 ,X_PSF \ 363 367 ,Y_PSF \ … … 367 371 ,ABS((PSF_INST_MAG_SIG*(POW(10.0, (-0.4*PSF_INST_MAG)) / " + str(self.expTime) + ")) / 1.085736) \ 368 372 ,POW(10.0, (-0.4*PEAK_FLUX_AS_MAG)) / " + str(self.expTime) + " \ 369 ,SKY \370 ,SKY_SIGMA \373 ,SKY / " + str(self.expTime) + " \ 374 ,SKY_SIGMA / " + str(self.expTime) + " \ 371 375 ,EXT_NSIGMA \ 372 376 ,PSF_MAJOR \ … … 374 378 ,PSF_THETA \ 375 379 ,psfLikelihood(EXT_NSIGMA) \ 376 , FLAGS2 << 32 | FLAGS \380 , FLAGS2 << 32 | FLAGS \ 377 381 ,PSF_QF \ 382 ,PSF_QF_PERFECT \ 378 383 ,MOMENTS_XX \ 379 384 ,MOMENTS_XY \ … … 385 390 ,MOMENTS_R1 \ 386 391 ,MOMENTS_RH \ 387 , AP_MAG\388 , NULL \392 ,POW(10.0, -0.4*AP_MAG) / " + str(self.expTime) + " \ 393 ,NULL \ 389 394 ,KRON_FLUX / " + str(self.expTime) + " \ 390 395 ,KRON_FLUX_ERR / " + str(self.expTime) + " \ 391 , MOMENTS_R1 * 2.5 \392 , NULL\396 ,MOMENTS_R1 * 2.5 \ 397 ,PSF_CHISQ \ 393 398 ,N_FRAMES \ 394 399 , '" + self.dateStr + "' \ … … 417 422 self.updateStackTypeID("StackDetection") 418 423 419 self.updateDvoIDs ("StackDetection")424 self.updateDvoIDsAndFlags("StackDetection") 420 425 421 426 sql = "ALTER IGNORE TABLE StackDetection ADD PRIMARY KEY (objID)" … … 427 432 #if deep stack and instFlux = null and err not null 428 433 sql = "UPDATE StackDetection AS a, SkyChip_psf AS b \ 429 SET instFlux = 2*b.PSF_INST_FLUX_SIG / " + str(self.expTime) + " \430 WHERE instFlux IS NULL \434 SET psfFlux = 2*b.PSF_INST_FLUX_SIG / " + str(self.expTime) + " \ 435 WHERE psfFlux IS NULL \ 431 436 AND a.ippDetectID = b.IPP_IDET \ 432 437 AND b.PSF_INST_FLUX_SIG IS NOT NULL" … … 434 439 self.scratchDb.execute(sql) 435 440 436 437 self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "instFlux")441 #leave null instflux in 442 #self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "instFlux") 438 443 439 444 self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "objID") … … 474 479 petRadius=b.PETRO_RADIUS \ 475 480 ,petRadiusErr=b.PETRO_RADIUS_ERR \ 476 ,pet Mag=b.PETRO_MAG\477 ,pet MagErr=b.PETRO_MAG_ERR\481 ,petFlux=POW(10.0, -0.4 * b.PETRO_MAG) /" + str(self.expTime) + " \ 482 ,petFluxErr=ABS(b.PETRO_MAG_ERR) * POW(10.0, (-0.4*b.PETRO_MAG)) / " + str(self.expTime) + " / 1.085736 \ 478 483 ,petR50=b.PETRO_RADIUS_50 \ 479 484 ,petR50Err=b.PETRO_RADIUS_50_ERR \ … … 587 592 self.scratchDb.updateAllRows("SkinnyObject", "dataRelease", str(self.config.dataRelease)) 588 593 594 ''' 595 Populates the StackDetectionCalib table 596 ''' 597 def populateStackDetectionCalib(self): 598 self.logger.infoPair("Processing table", "StackDetectionCalib") 599 tableName = "StackDetectionCalib" 600 # insert all detections into table 601 sql = "INSERT INTO " + tableName + " ( \ 602 objID \ 603 ,stackDetectID \ 604 ,ippObjID \ 605 ,ippDetectID \ 606 ,filterID \ 607 ,surveyID \ 608 ) \ 609 SELECT \ 610 objID \ 611 ,stackDetectID \ 612 ,ippObjID \ 613 ,ippDetectID \ 614 ,filterID \ 615 ,surveyID \ 616 FROM StackDetection" 617 self.scratchDb.execute(sql) 618 # insert calibration information from dvoDetections into the Table 619 sql = "UPDATE " + tableName + " AS a, " + self.scratchDb.dvoDetectionTable + " AS b \ 620 SET a.ra = b.ra, \ 621 a.dec = b.dec_, \ 622 a.raErr = b.raErr, \ 623 a.decErr = b.decErr, \ 624 a.zp = b.zp, \ 625 a.zpErr = b.zpErr, \ 626 a.expTime = b.expTime, \ 627 a.airMass = b.airMass \ 628 WHERE a.stackDetectID = b.detectID" 629 self.scratchDb.execute(sql) 630 self.scratchDb.updateAllRows(tableName, "dataRelease", str(self.config.dataRelease)) 631 632 633 634 589 635 ''' 590 636 Populates the ObjectCalColor table … … 620 666 self.scratchDb.createIndex("StackModelFit", "ippDetectID") 621 667 668 # dec is reserved in MySQL, so STILTS replaces if with dec_, which is not the name of 669 # the column in PSPS 670 self.scratchDb.execute("ALTER TABLE StackDetectionCalib CHANGE dec_ `dec` double") 671 622 672 return True 623 673 … … 645 695 sql = "UPDATE " + table + " AS a, " + self.scratchDb.dvoDetectionTable + " AS b SET \ 646 696 a.ippObjID = b.ippObjID, \ 647 a.stackDetectID = 10 * b.detectID + " + str(self.filterID) + ", \697 a.stackDetectID = b.detectID, \ 648 698 a.objID = b.objID \ 649 699 WHERE a.ippDetectID = b.ippDetectID \ 650 700 AND b.imageID = " + str(imageID) 651 652 self.scratchDb.execute(sql) 653 701 self.scratchDb.execute(sql) 702 703 ''' 704 Updates Flags 705 ''' 706 def updateDvoIDsAndFlags(self, table): 707 self.logger.infoPair("getting","imageID") 708 imageID = self.scratchDb.getImageIDFromExternID(self.header['IMAGEID']) 709 self.logger.infoPair("obtained","imageID") 710 self.logger.debug("Updating table '" + table + "' with DVO IDs...") 711 sql = "UPDATE " + table + " AS a, " + self.scratchDb.dvoDetectionTable + " AS b SET \ 712 a.ippObjID = b.ippObjID, \ 713 a.stackDetectID = b.detectID, \ 714 a.objID = b.objID, \ 715 a.infoFlag = b.flags << 45 | a.infoFlag \ 716 WHERE a.ippDetectID = b.ippDetectID \ 717 AND b.imageID = " + str(imageID) 718 self.scratchDb.execute(sql) 719 720 654 721 ''' 655 722 Does the processing, i.e. pulling stuff from IPP tables into PSPS tables … … 660 727 if not self.getIDsFromDVO(): 661 728 return False 662 729 #self.logger.infoPair("populating","StackMeta") 663 730 self.populateStackMeta() 731 #self.logger.infoPair("populating","StackDetection") 664 732 self.populateStackDetection() 665 733 666 734 if self.stackType != "NIGHTLY_STACK": 735 #self.logger.infoPair("populating","StackModelFit") 667 736 self.populateStackModelFit() 737 #self.logger.infoPair("populating","StackApFlx") 668 738 self.populateStackApFlx() 669 739 #self.logger.infoPair("populating","StackToImage") 670 740 self.populateStackToImage() 741 #self.logger.infoPair("populating","SkinnyObject") 671 742 self.populateSkinnyObject() 743 #self.logger.infoPair("populating","ObjectCalColor") 672 744 self.populateObjectCalColor() 745 #self.logger.infoPair("populating","StackDetectionCalib") 746 self.populateStackDetectionCalib() 673 747 674 748 self.setMinMaxObjID(["StackDetection"]) -
branches/eam_branches/ipp-20120905/ippToPsps/src/Dvo.c
r33765 r34735 90 90 } 91 91 else { 92 Average *ave = &dvoDetections[i].ave; 93 Measure *meas = &dvoDetections[i].meas; 94 PhotCode *code = GetPhotcodebyCode(meas->photcode); 92 95 sprintf(sql, 93 "INSERT INTO dvoDetection (imageID, ippDetectID, detectID, ippObjID, objID, flags ) VALUES (%d, %u, %lu, %lu, %lu, %u)",96 "INSERT INTO dvoDetection (imageID, ippDetectID, detectID, ippObjID, objID, flags, zp, zpErr, airMass, expTime, ra, dec_, raErr, decErr) VALUES (%d, %u, %lu, %lu, %lu, %u, %f, %f, %f, %f, %lf, %lf, %f %f)", 94 97 image->imageID, // imageID 95 dvoDetections[i].meas.detID, // ippDetectID 96 dvoDetections[i].meas.extID, // detectID 97 (uint64_t)dvoDetections[i].ave.catID*1000000000 + (uint64_t)dvoDetections[i].ave.objID, // ippObjID 98 dvoDetections[i].ave.extID, // objID 99 dvoDetections[i].meas.dbFlags); // flags 98 meas->detID, // ippDetectID 99 meas->extID, // detectID 100 (uint64_t)ave->catID*1000000000 + (uint64_t)ave->objID, // ippObjID 101 dvoDetections[i].ave.extID, // objID 102 meas->dbFlags, // flags 103 code->C * 0.001 + code->K * (meas->airmass - 1) - meas->Mcal, // zp 104 meas->dMcal, // zpErr 105 meas->airmass, 106 pow(10.0, 0.4 * meas->dt), // expTime 107 ave->R - meas->dR / 3600., // ra 108 ave->D - meas->dR / 3600., // dec 109 meas->dXccd * meas->pltscale, // estimate of raErr 110 meas->dYccd * meas->pltscale // estimate of decErr 111 ); 100 112 101 113 mysql_query(this->mysql, sql);
Note:
See TracChangeset
for help on using the changeset viewer.
