IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 29, 2012, 2:15:01 PM (14 years ago)
Author:
eugene
Message:

merge changes from trunk

Location:
branches/eam_branches/ipp-20120905
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20120905

  • branches/eam_branches/ipp-20120905/ippToPsps

  • branches/eam_branches/ipp-20120905/ippToPsps/config/OB/tables.vot

    r34275 r34735  
    4545        <DESCRIPTION> Declination error</DESCRIPTION>
    4646      </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>
    5647      <FIELD name="lambda" arraysize="1" datatype="double" unit="degree">
    5748        <DESCRIPTION> ecliptic longitude</DESCRIPTION>
     
    6657        <DESCRIPTION> galactic latitude</DESCRIPTION>
    6758      </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>
    7459      <FIELD name="nDetections" arraysize="1" datatype="short" unit="unknown">
    7560        <DESCRIPTION>total number of detection measurements in all filters</DESCRIPTION>
     
    201186        <DESCRIPTION> 80 pct w magnitude</DESCRIPTION>
    202187      </FIELD>
    203       <FIELD name="gStackPSFFlux" arraysize="1" datatype="float" unit="mag">
     188      <FIELD name="gStackPSFMag" arraysize="1" datatype="float" unit="mag">
    204189        <DESCRIPTION> g stack psf flux </DESCRIPTION>
    205190      </FIELD>
    206       <FIELD name="gStackPSFFluxErr" arraysize="1" datatype="double" unit="mag">
     191      <FIELD name="gStackPSFMagErr" arraysize="1" datatype="double" unit="mag">
    207192        <DESCRIPTION> estimated error in g stack psf flux</DESCRIPTION>
    208193      </FIELD>
     
    216201        <DESCRIPTION>flags for g stack</DESCRIPTION>
    217202      </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">
    219207        <DESCRIPTION> r stack psf flux </DESCRIPTION>
    220208      </FIELD>
    221       <FIELD name="rStackPSFFluxErr" arraysize="1" datatype="double" unit="mag">
     209      <FIELD name="rStackPSFMagErr" arraysize="1" datatype="double" unit="mag">
    222210        <DESCRIPTION> estimated error in r stack psf flux</DESCRIPTION>
    223211      </FIELD>
     
    231219        <DESCRIPTION>flags for r stack</DESCRIPTION>
    232220      </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">
    234225        <DESCRIPTION> i stack psf flux </DESCRIPTION>
    235226      </FIELD>
    236       <FIELD name="iStackPSFFluxErr" arraysize="1" datatype="float" unit="mag">
     227      <FIELD name="iStackPSFMagErr" arraysize="1" datatype="float" unit="mag">
    237228        <DESCRIPTION> estimated error in i stack psf flux</DESCRIPTION>
    238229      </FIELD>
     
    246237        <DESCRIPTION>flags for i stack</DESCRIPTION>
    247238      </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">
    249243        <DESCRIPTION> z stack psf flux </DESCRIPTION>
    250244      </FIELD>
    251       <FIELD name="zStackPSFFluxErr" arraysize="1" datatype="float" unit="mag">
     245      <FIELD name="zStackPSFMagErr" arraysize="1" datatype="float" unit="mag">
    252246        <DESCRIPTION> estimated error in z stack psf flux</DESCRIPTION>
    253247      </FIELD>
     
    261255        <DESCRIPTION>flags for z stack</DESCRIPTION>
    262256      </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">
    264261        <DESCRIPTION>y band stack PSF flux</DESCRIPTION>
    265262      </FIELD>
    266       <FIELD name="yStackPSFFluxErr" arraysize="1" datatype="float" unit="unknown">
     263      <FIELD name="yStackPSFMagErr" arraysize="1" datatype="float" unit="unknown">
    267264        <DESCRIPTION>y band stack psf flux err</DESCRIPTION>
    268265      </FIELD>
     
    276273        <DESCRIPTION>flags for y stack</DESCRIPTION>
    277274      </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>
    280280      </FIELD>
    281281      <FIELD name="sgSep" arraysize="1" datatype="float" unit="unknown">
  • branches/eam_branches/ipp-20120905/ippToPsps/config/P2/tables.vot

    r32031 r34735  
    404404        <DESCRIPTION> estimated error in y</DESCRIPTION>
    405405      </FIELD>
    406       <FIELD name="instFlux" arraysize="1" datatype="float" unit="adu/s">
     406      <FIELD name="psfFlux" arraysize="1" datatype="float" unit="adu/s">
    407407        <DESCRIPTION> PSF instrumental flux</DESCRIPTION>
    408408      </FIELD>
    409       <FIELD name="instFluxErr" arraysize="1" datatype="float" unit="adu/s">
     409      <FIELD name="psfFluxErr" arraysize="1" datatype="float" unit="adu/s">
    410410        <DESCRIPTION> estimated error in flux</DESCRIPTION>
    411411      </FIELD>
     
    425425        <DESCRIPTION>PSF likelihood</DESCRIPTION>
    426426      </FIELD>
    427       <FIELD name="psfCf" 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>
    429429      </FIELD>
    430430      <FIELD name="momentXX" arraysize="1" datatype="float" unit="arcsec">
     
    437437        <DESCRIPTION> momeny YY</DESCRIPTION>
    438438      </FIELD>
    439       <FIELD name="apMag" arraysize="1" datatype="float" unit="magnitude">
    440         <DESCRIPTION> Aperture magnitude</DESCRIPTION>
    441       </FIELD>
    442       <FIELD name="apMagErr" arraysize="1" datatype="float" unit="magnitude">
    443         <DESCRIPTION> Aperture magnitude error</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">
    446446        <DESCRIPTION> Kron flux</DESCRIPTION>
    447447      </FIELD>
    448       <FIELD name="kronFluxErr" arraysize="1" datatype="float" unit="magnitude">
     448      <FIELD name="kronFluxErr" arraysize="1" datatype="float" unit="adu/s">
    449449        <DESCRIPTION> Kron flux error</DESCRIPTION>
    450450      </FIELD>
     
    455455        <DESCRIPTION> Kron radius error</DESCRIPTION>
    456456      </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>
    462462      </FIELD>
    463463      <FIELD name="infoFlag" arraysize="1" datatype="long" unit="unknown">
    464464        <DESCRIPTION>flag indicating provenance information</DESCRIPTION>
    465465      </FIELD>
    466       <FIELD name="sky" arraysize="1" datatype="float" unit="adu">
     466      <FIELD name="sky" arraysize="1" datatype="float" unit="adu/s/pixel">
    467467        <DESCRIPTION> PSF sky level at source</DESCRIPTION>
    468468      </FIELD>
    469       <FIELD name="skyErr" arraysize="1" datatype="float" unit="adu">
     469      <FIELD name="skyErr" arraysize="1" datatype="float" unit="adu/s/pixel">
    470470        <DESCRIPTION> estimated error in sky</DESCRIPTION>
    471471      </FIELD>
     
    539539      </DATA>
    540540    </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>
    541593  </RESOURCE>
    542594</VOTABLE>
  • branches/eam_branches/ipp-20120905/ippToPsps/config/ST/tables.vot

    r32031 r34735  
    148148        <DESCRIPTION>projection cell identifier</DESCRIPTION>
    149149      </FIELD>
    150       <FIELD name="obsTime" arraysize="1" datatype="double">
    151         <DESCRIPTION> Time of mid observation (unit = day)</DESCRIPTION>
    152       </FIELD>
    153150      <FIELD name="xPos" arraysize="1" datatype="float">
    154151        <DESCRIPTION>measured x on CCD from PSF fit</DESCRIPTION>
     
    163160        <DESCRIPTION>estimated error in y</DESCRIPTION>
    164161      </FIELD>
    165       <FIELD name="instFlux" arraysize="1" datatype="float">
     162      <FIELD name="psfFlux" arraysize="1" datatype="float">
    166163        <DESCRIPTION>PSF instrumental flux</DESCRIPTION>
    167164      </FIELD>
    168       <FIELD name="instFluxErr" arraysize="1" datatype="float">
     165      <FIELD name="psfFluxErr" arraysize="1" datatype="float">
    169166        <DESCRIPTION>estimated error in instrumental flux</DESCRIPTION>
    170167      </FIELD>
     
    193190        <DESCRIPTION>PSF likelihood</DESCRIPTION>
    194191      </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>
    198198      <FIELD name="momentXX" arraysize="1" datatype="float">
    199199        <DESCRIPTION> moment XX (unit = arcsec)</DESCRIPTION>
     
    223223        <DESCRIPTION> moment RH (unit = arcsec)</DESCRIPTION>
    224224      </FIELD>
    225       <FIELD name="apMag" arraysize="1" datatype="float">
    226         <DESCRIPTION> Aperture magnitude (unit = magnitude)</DESCRIPTION>
    227       </FIELD>
    228       <FIELD name="apMagErr" 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>
    230230      </FIELD>
    231231      <FIELD name="kronFlux" arraysize="1" datatype="float">
    232         <DESCRIPTION> Kron flux (unit = magnitude)</DESCRIPTION>
     232        <DESCRIPTION> Kron flux (unit = adu/s)</DESCRIPTION>
    233233      </FIELD>
    234234      <FIELD name="kronFluxErr" arraysize="1" datatype="float">
    235         <DESCRIPTION> Kron flux error (unit = magnitude)</DESCRIPTION>
     235        <DESCRIPTION> Kron flux error (unit = adu/s)</DESCRIPTION>
    236236      </FIELD>
    237237      <FIELD name="kronRad" arraysize="1" datatype="float">
    238238        <DESCRIPTION> Kron radius (unit = arcsecs)</DESCRIPTION>
    239239      </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>
    242242      </FIELD>
    243243      <FIELD name="infoFlag" arraysize="1" datatype="long">
     
    293293        <DESCRIPTION>stack identifier</DESCRIPTION>
    294294      </FIELD>
    295       <FIELD name="isophotMag" arraysize="1" datatype="float">
    296         <DESCRIPTION>isophotal magnitude</DESCRIPTION>
    297       </FIELD>
    298       <FIELD name="isophotMagErr" 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>
    300300      </FIELD>
    301301      <FIELD name="isophotMajAxis" arraysize="1" datatype="float">
     
    332332        <DESCRIPTION>estimated error inPetrosian radius</DESCRIPTION>
    333333      </FIELD>
    334       <FIELD name="petMag" arraysize="1" datatype="float">
    335         <DESCRIPTION>Petrosian magntiude</DESCRIPTION>
    336       </FIELD>
    337       <FIELD name="petMagErr" arraysize="1" datatype="float">
    338         <DESCRIPTION>estimated error in petMag</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>
    339339      </FIELD>
    340340      <FIELD name="petR50" arraysize="1" datatype="float">
     
    765765        <DESCRIPTION>estimated error in deVaucouleurs radius</DESCRIPTION>
    766766      </FIELD>
    767       <FIELD name="deVMag" arraysize="1" datatype="float">
     767      <FIELD name="deVFlux" arraysize="1" datatype="float">
    768768        <DESCRIPTION>deVaucouleurs magntiude</DESCRIPTION>
    769769      </FIELD>
    770       <FIELD name="deVMagErr" arraysize="1" datatype="float">
     770      <FIELD name="deVFluxErr" arraysize="1" datatype="float">
    771771        <DESCRIPTION>estimated error in deV_mag</DESCRIPTION>
    772772      </FIELD>
     
    891891        <DESCRIPTION>estimated error in Exponential fit radius</DESCRIPTION>
    892892      </FIELD>
    893       <FIELD name="expMag" arraysize="1" datatype="float">
    894         <DESCRIPTION>Exponential fit magntiude</DESCRIPTION>
    895       </FIELD>
    896       <FIELD name="expMagErr" arraysize="1" datatype="float">
    897         <DESCRIPTION>estimated error in expMag</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>
    898898      </FIELD>
    899899      <FIELD name="expAb" arraysize="1" datatype="float">
     
    10171017        <DESCRIPTION>estimated error in Sersic radius</DESCRIPTION>
    10181018      </FIELD>
    1019       <FIELD name="serMag" arraysize="1" datatype="float">
    1020         <DESCRIPTION>Sersic magntiude</DESCRIPTION>
    1021       </FIELD>
    1022       <FIELD name="serMagErr" arraysize="1" datatype="float">
    1023         <DESCRIPTION>estimated error in serMag</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>
    10241024      </FIELD>
    10251025      <FIELD name="serAb" arraysize="1" datatype="float">
     
    12401240      </DATA>
    12411241    </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>
    12421294  </RESOURCE>
    12431295</VOTABLE>
  • branches/eam_branches/ipp-20120905/ippToPsps/jython/detectionbatch.py

    r33830 r34735  
    388388        # delete all detections with PSF_INST_MAG < 17.5, as decreed by Gene
    389389        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)
    392393        #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
    394397        #self.logger.infoPair("Saturated detections", "%d deleted" % DELETED)
    395398
     
    404407               ,xPosErr \
    405408               ,yPosErr \
    406                ,instFlux \
    407                ,instFluxErr \
     409               ,psfFlux \
     410               ,psfFluxErr \
    408411               ,peakADU \
    409412               ,psfWidMajor \
     
    411414               ,psfTheta \
    412415               ,psfLikelihood \
    413                ,psfCf \
     416               ,psfQf \
    414417               ,momentXX \
    415418               ,momentXY \
    416419               ,momentYY \
    417                ,apMag \
     420               ,apFlux \
    418421               ,kronFlux \
    419422               ,kronFluxErr \
     423               ,psfQfPerfect \
     424               ,psfChiSq \
    420425               ,infoFlag \
    421426               ,sky \
     
    447452               ,MOMENTS_XY \
    448453               ,MOMENTS_YY \
    449                ,AP_MAG \
     454               ,POW(10.0, -0.4 *AP_MAG) / " + self.header['EXPTIME'] + " \
    450455               ,KRON_FLUX / " + self.header['EXPTIME'] + " \
    451456               ,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'] + " \
    455462               ,EXT_NSIGMA \
    456463               , 0 \
     
    459466               , " + str(self.config.dataRelease) + "\
    460467               FROM " + ippTableName
     468        # self.logger.info(sql)
    461469        self.scratchDb.execute(sql)
    462470
    463471        # 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     
    467479        # 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)
    472484
    473485        # 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;
    476492
    477493    '''
     
    504520
    505521    '''
     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    '''
    506567    Populates the Detection table for this OTA
    507568    '''
     
    587648            if not self.getIDsFromDVO(): return False
    588649
     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
    589656        return True
    590657
     
    608675                extension = "XY%d%d_psf" % (x, y)
    609676                self.scratchDb.createIndex(extension, "IPP_IDET")
    610 
     677        self.logger.infoPair("created indexes on", "IPP tables")     
    611678    '''
    612679    Updates provided table with DVO IDs from DVO table
     
    620687               a.detectID = b.detectID, \
    621688               a.objID = b.objID, \
    622                a.infoFlag = b.flags << 32 | a.infoFlag \
     689               a.infoFlag = b.flags << 45 | a.infoFlag \
    623690               WHERE a.ippDetectID = b.ippDetectID \
    624691               AND b.imageID = " + str(imageID)
     
    658725                    self.logger.info("| %5s |            ------------- Bad astrometric solution : rejecting ------------                    |" % ota)
    659726                    continue
    660 
     727               # self.logger.info("populate stuff ");
    661728                # populate remainder of tables
    662729                self.populateDetectionTable(ota, results)
    663 
     730               # self.logger.info("successful populate ");
    664731                # now add DVO IDs
    665732                self.updateDvoIDs("Detection_" + ota, self.imageIDs[ota])
     733               # self.logger.info("updated dvoids")
    666734                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")
    668738                rowCount = self.scratchDb.getRowCount("Detection_" + ota)
     739              #  self.logger.info("got row count")
    669740                self.logger.info("| %5s | %13d | %13d | %13d | %13d | %13d | %13d |",
    670741                        ota,
     
    675746                        results['NULLOBJID'],
    676747                        rowCount)
    677 
    678748                totalOriginal = totalOriginal + results['ORIGINALTOTAL']
    679749                totalSatDet = totalSatDet + results['SATDET']
     
    682752                totalNullObjID = totalNullObjID + results['NULLOBJID']
    683753                totalDetections = totalDetections + rowCount
    684 
     754                #self.logger.info("updated totals")
    685755                # check we have something in this Detection table TODO add this to table above
    686756                if rowCount < 1:
     
    692762                       SET nDetect = %d, photoCalID = %d" % (self.scratchDb.getRowCount("Detection_" + ota), self.scratchDb.getPhotoCalID(self.imageIDs[ota]))
    693763                self.scratchDb.execute(sql)
    694 
     764               
     765                #self.logger.info("updated imagedata")
    695766                self.populateSkinnyObjectTable(ota)
     767                #self.logger.info("updated skinnyobject")
    696768                self.populateObjectCalColorTable(ota)
    697 
     769                #self.logger.info("updated objectcalcolor")
     770                self.populateDetectionCalibTable(ota)
     771                #self.logger.info("updated detectioncalibtable")
     772               
    698773                # add these to list of tables to export later
    699774                self.tablesToExport.append("ImageMeta_" + ota)
     
    701776                self.tablesToExport.append("SkinnyObject_" + ota)
    702777                self.tablesToExport.append("ObjectCalColor_" + ota)
     778                self.tablesToExport.append("DetectionCalib_" + ota)
    703779                tables.append("Detection_" + ota)
    704780           
    705781                otaCount = otaCount + 1
    706 
     782                #self.logger.info("end of ota")
    707783        # print totals
    708784        self.logger.info("+-------+---------------+---------------+---------------+---------------+---------------+---------------+")
     
    757833       else : regex = ".*.psf"
    758834 
    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"
    760836
    761837       return super(DetectionBatch, self).importIppTables(columns, regex)
  • branches/eam_branches/ipp-20120905/ippToPsps/jython/dvodetections.py

    r33686 r34735  
    4444           self.importFits(
    4545                   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",
    4747                   cpmTableName)
    4848
     
    5050           self.scratchDb.createIndex(cpmTableName, "CAT_ID")
    5151           self.scratchDb.createIndex(cpmTableName, "OBJ_ID")
     52
     53           # XXX: Should we create index on PHOTCODE?
    5254
    5355           # we can now report that we have imported this table
     
    6062       self.importFits(
    6163               cptPath,
    62                "OBJ_ID CAT_ID EXT_ID",
     64               "OBJ_ID CAT_ID EXT_ID RA DEC",
    6365               cptTableName)
    6466
     
    6769       self.scratchDb.createIndex(cptTableName, "OBJ_ID")
    6870
     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
    6982       self.logger.infoPair("Adding","PSPS objIDs")
    70        # first try to add a column for PSPS_OBJ_ID. catch failure and continue
     83       # first try to add the new columns. catch failure and continue
    7184       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)"
    7386           self.scratchDb.execute(sql)
    7487       except:
    7588           self.logger.infoPair("Already added PSPS_OBJ_ID column to", cpmTableName)
    7689               
    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) \
    8098              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
    82102       self.scratchDb.execute(sql)
    83103
     
    86106       # PSPS object IDs assigned in the corresponding cpt file. This is believed to be a chip-boundary
    87107       # 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?
    88109       self.logger.infoPair("Merging into", self.scratchDb.dvoDetectionTable)
    89110       sql = "INSERT IGNORE INTO " + self.scratchDb.dvoDetectionTable + " (\
     
    94115              ,objID \
    95116              ,flags \
     117              ,zp   \
     118              ,zpErr    \
     119              ,airMass  \
     120              ,expTime  \
     121              ,ra   \
     122              ,dec_  \
     123              ,raErr    \
     124              ,decErr   \
    96125              ,fileID \
    97126              ) SELECT \
     
    102131              ,PSPS_OBJ_ID \
    103132              ,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   \
    104141              , " + str(fileId) + " \
    105142              FROM " + cpmTableName
     143
    106144       try:
    107145           self.scratchDb.execute(sql)
  • branches/eam_branches/ipp-20120905/ippToPsps/jython/ipptopspsdb.py

    r33858 r34735  
    638638            and not self.processingNow(batchType, stageID) \
    639639            and not self.consistentlyFailed(batchType, stageID)):
     640           
     641            self.logger.infoPair("heather:","passed logic")
    640642
    641643            sql = "INSERT INTO batch ( \
     
    652654                       '" + self.config.datastoreProduct + "' \
    653655                       )"
     656            self.logger.infoPair("heather:","sql")
    654657
    655658            self.execute(sql)
  • branches/eam_branches/ipp-20120905/ippToPsps/jython/loader.py

    r33832 r34735  
    123123
    124124                self.logger.infoPair("Boxes with unprocessed data", "%d" % len(boxIds))
    125    
     125                self.logger.infoPair("numAttempts", str(numAttempts))
    126126                if len(boxIds) > 0: numAttempts = 0
    127127
    128128                for boxId in boxIds:
    129          
     129                    self.logger.infoPair("Check","client status")
    130130                    if not self.checkClientStatus():
    131131                        abort = True
    132132                        break
    133    
     133                    self.logger.infoPair("client status", "ok")
    134134                    # get box info. if boxes have changed, break and start again
    135135                    try:
     
    138138                        self.logger.infoPair("Can't get details for this box", "%d" % boxId)
    139139                        break
    140      
     140                    self.logger.infoPair("client status", "ok")
    141141                    ids = self.ippToPspsDb.getPendingIdsForThisBox(boxId, batchType)
    142142               
     
    150150                    self.logger.infoPair(batchType + " items found in this box", "%d" % len(ids))
    151151                    boxSizeWithBorder = boxDim['SIDE'] + (self.config.BORDER * 2)
    152      
     152                    self.logger.infoPair("got here", "ok")
    153153                    useFullTables = 0
    154154                    if batchType != "OB":
     
    174174                        abort = True
    175175                        break
    176 
     176                    self.logger.infoPair("processed","ok")
    177177            if abort or not self.checkClientStatus(): abort = True
    178178            elif numAttempts > 1 and not self.waitForPollTime():  break
     
    188188        # loop round IDs of all items to be processed
    189189        self.ippToPspsDb.lockBatchTable()
     190        self.logger.infoPair("heather:","lockbatchtable")
    190191        unattemptedCount = 0
    191192        for id in ids:
    192    
     193            self.logger.infoPair("heather:","in ids")
     194            self.logger.infoPair("heather:id",str(id))
    193195            batchID = self.ippToPspsDb.createNewBatch(batchType, id)
    194            
     196            self.logger.infoPair("heather:","creatednewbatch")
     197            self.logger.infoPair("heather:batchId", str(batchID))
    195198            if batchID < 0:
    196199                unattemptedCount += 1
    197200                continue
    198    
     201            self.logger.infoPair("heather:","passed logic")
    199202            self.ippToPspsDb.unlockTables()
     203            self.logger.infoPair("heather:","unlock table")
    200204            self.ippToPspsDb.deletePendingItem(batchType, id)
     205            self.logger.infoPair("heather:","deleted pending item")
    201206
    202207            # catch any raised exceptions in batch constructors
     
    234239   
    235240            # if batch fails, ignore and move on to the next one
    236             except:
     241            except Exception, e:
     242                self.logger.error("EXCEPTION: " + str(e))
    237243                self.logger.errorPair("Problem with this %s batch (%d)" % (batchType, id), "skipping")
    238244                pass
    239245
    240246            if not self.checkClientStatus(): return False
    241    
     247            self.logger.infoPair("checkclient status", "ok")
     248
    242249            self.ippToPspsDb.lockBatchTable()
    243    
     250            self.logger.infoPair("lockbatchtable", "ok")
    244251            self.logger.infoSeparator()
    245252   
  • branches/eam_branches/ipp-20120905/ippToPsps/jython/objectbatch.py

    r34466 r34735  
    114114        for filter in filters:
    115115
    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]) + ")) \
    118123                   SET \
    119124                   n" + filter[1] + " = NCODE \
     
    122127                   ," + filter[1] + "MeanKronMag = MAG_KRON \
    123128                   ," + filter[1] + "MeanKronMagErr = MAG_KRON_ERR \
    124                    ," + filter[1] + "StackPSFFlux = FLUX_PSF \
    125                    ," + filter[1] + "StackPSFFluxErr = FLUX_PSF_ERR \
     129                   ," + filter[1] + "StackPSFMag = -2.5 * log10(FLUX_PSF) + 8.9 \
     130                   ," + filter[1] + "StackPSFMagErr = FLUX_PSF_ERR / FLUX_PSF \
    126131                   ," + filter[1] + "StackKronMag = -2.5 * log10(FLUX_KRON) + 8.9 \
    127132                   ," + filter[1] + "StackKronMagErr = FLUX_KRON_ERR / FLUX_KRON \
    128133                   ," + filter[1] + "20pct = MAG_20/1000 \
    129134                   ," + 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)
    132148           
    133             self.scratchDb.execute(sql)
     149
     150
    134151
    135152        # now set to null all MeanMagErr values > 0.5 (cut set by Gene, 2012-04-12)
     
    189206        cpsTableName = self.scratchDb.getDbFriendlyTableName(self.region + ".cps")
    190207
    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")
    192231        self.logger.infoPair("Inserting objects from", "cpt file")
    193232
     
    204243               ,decErr \
    205244               ,nDetections \
    206                ,extra \
     245               ,qfPerfect \
    207246               ,sgSep \
    208247               ,dataRelease \
  • branches/eam_branches/ipp-20120905/ippToPsps/jython/scratchdb.py

    r34466 r34735  
    6868               DECLARE t REAL; \
    6969               DECLARE z REAL; \
     70               DECLARE s INT; \
     71               SET s= SIGN(x); \
    7072               SET x = ABS(x) / 1.4142135623731; \
    7173               SET z=ABS(x); \
     
    7577               SET ans = 2.0 - ans; \
    7678               END IF; \
     79               SET ans = ans * s; \
    7780               RETURN ans; \
    7881               END"
     
    385388               objID BIGINT, \
    386389               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, \
    387398               PRIMARY KEY (imageID, ippDetectID) \
    388399               )"
  • branches/eam_branches/ipp-20120905/ippToPsps/jython/stackbatch.py

    r34466 r34735  
    7676       self.projectioncell = self.skycell
    7777
     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
    7882       self.analysisVer = meta[2];
    7983
     
    8993       self.scratchDb.dropTable("SkinnyObject")
    9094       self.scratchDb.dropTable("ObjectCalColor")
     95       self.scratchDb.dropTable("StackDetectionCalib")
    9196
    9297       # delete IPP tables
     
    140145
    141146        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) + ", \
    145150        "+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) + ", \
    149154        "+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) + ", \
    153158        "+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) + ", \
    157162        "+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) + ", \
    161166        "+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) + ", \
    165170        "+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) + ", \
    169174        "+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) + ", \
    173178        "+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) + ", \
    177182        "+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) + ", \
    181186        "+prefix+"flxR10Fill=b.APER_FILL_10 \
    182187        WHERE a.ippDetectID=b.IPP_IDET AND b.PSF_FWHM "+psfCondition
     
    196201        sql = "UPDATE StackModelFit AS a, SkyChip_xfit AS b SET \
    197202        "+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, \
    200205        "+model+"Ab=b.EXT_WIDTH_MAJ/b.EXT_WIDTH_MIN, \
    201206        "+model+"Phi=b.EXT_THETA,  \
     
    319324               ,skyCellID \
    320325               ,projectionCellID \
    321                ,obsTime \
    322326               ,xPos \
    323327               ,yPos \
    324328               ,xPosErr \
    325329               ,yPosErr \
    326                ,instFlux \
    327                ,instFluxErr \
     330               ,psfFlux \
     331               ,psfFluxErr \
    328332               ,peakFlux \
    329333               ,sky \
     
    335339               ,psfLikelihood \
    336340               ,infoFlag \
    337                ,psfCf \
     341               ,psfQf \
     342               ,psfQfPerfect \
    338343               ,momentXX \
    339344               ,momentXY \
     
    345350               ,momentR1 \
    346351               ,momentRH \
    347                ,apMag \
    348                ,apMagErr \
     352               ,apFlux \
     353               ,apFluxErr \
    349354               ,kronFlux \
    350355               ,kronFluxErr \
    351356               ,kronRad \
    352                ,kronRadErr \
     357               ,psfChiSq \
    353358               ,nFrames \
    354359               ,assocDate \
     
    359364               ," + self.skycell + " \
    360365               ," + self.projectioncell + " \
    361                ," + self.header['MJD-OBS'] + " \
    362366               ,X_PSF \
    363367               ,Y_PSF \
     
    367371               ,ABS((PSF_INST_MAG_SIG*(POW(10.0, (-0.4*PSF_INST_MAG)) / " + str(self.expTime) + ")) / 1.085736) \
    368372               ,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) + " \
    371375               ,EXT_NSIGMA \
    372376               ,PSF_MAJOR \
     
    374378               ,PSF_THETA \
    375379               ,psfLikelihood(EXT_NSIGMA) \
    376                ,FLAGS2 << 32 | FLAGS \
     380               , FLAGS2 << 32 | FLAGS \
    377381               ,PSF_QF \
     382               ,PSF_QF_PERFECT \
    378383               ,MOMENTS_XX \
    379384               ,MOMENTS_XY \
     
    385390               ,MOMENTS_R1 \
    386391               ,MOMENTS_RH \
    387                ,AP_MAG \
    388                , NULL \
     392               ,POW(10.0, -0.4*AP_MAG) / " + str(self.expTime) + " \
     393               ,NULL \
    389394               ,KRON_FLUX / " + str(self.expTime) + " \
    390395               ,KRON_FLUX_ERR / " + str(self.expTime) + " \
    391                , MOMENTS_R1 * 2.5 \
    392                , NULL \
     396               ,MOMENTS_R1 * 2.5 \
     397               ,PSF_CHISQ \
    393398               ,N_FRAMES \
    394399               , '" + self.dateStr + "' \
     
    417422        self.updateStackTypeID("StackDetection")
    418423       
    419         self.updateDvoIDs("StackDetection")
     424        self.updateDvoIDsAndFlags("StackDetection")
    420425       
    421426        sql = "ALTER IGNORE TABLE StackDetection ADD PRIMARY KEY (objID)"
     
    427432            #if deep stack and instFlux = null and err not null
    428433            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 \
    431436                   AND a.ippDetectID = b.IPP_IDET  \
    432437                   AND b.PSF_INST_FLUX_SIG IS NOT NULL"
     
    434439            self.scratchDb.execute(sql)
    435440           
    436        
    437         self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "instFlux")
     441        #leave null instflux in
     442        #self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "instFlux")
    438443       
    439444        self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "objID")
     
    474479        petRadius=b.PETRO_RADIUS \
    475480        ,petRadiusErr=b.PETRO_RADIUS_ERR \
    476         ,petMag=b.PETRO_MAG \
    477         ,petMagErr=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 \
    478483        ,petR50=b.PETRO_RADIUS_50 \
    479484        ,petR50Err=b.PETRO_RADIUS_50_ERR \
     
    587592        self.scratchDb.updateAllRows("SkinnyObject", "dataRelease", str(self.config.dataRelease))
    588593
     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
    589635    '''
    590636    Populates the ObjectCalColor table
     
    620666        self.scratchDb.createIndex("StackModelFit", "ippDetectID")
    621667
     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
    622672        return True
    623673
     
    645695        sql = "UPDATE " + table + " AS a, " + self.scratchDb.dvoDetectionTable + " AS b SET \
    646696               a.ippObjID = b.ippObjID, \
    647                a.stackDetectID = 10 * b.detectID + " + str(self.filterID) + ", \
     697               a.stackDetectID = b.detectID, \
    648698               a.objID = b.objID \
    649699               WHERE a.ippDetectID = b.ippDetectID \
    650700               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   
    654721    '''
    655722    Does the processing, i.e. pulling stuff from IPP tables into PSPS tables
     
    660727            if not self.getIDsFromDVO():
    661728                return False
    662 
     729        #self.logger.infoPair("populating","StackMeta")   
    663730        self.populateStackMeta()
     731        #self.logger.infoPair("populating","StackDetection")
    664732        self.populateStackDetection()
    665 
     733       
    666734        if self.stackType != "NIGHTLY_STACK":
     735            #self.logger.infoPair("populating","StackModelFit")
    667736            self.populateStackModelFit()
     737            #self.logger.infoPair("populating","StackApFlx")
    668738            self.populateStackApFlx()
    669    
     739        #self.logger.infoPair("populating","StackToImage")
    670740        self.populateStackToImage()
     741        #self.logger.infoPair("populating","SkinnyObject")
    671742        self.populateSkinnyObject()
     743        #self.logger.infoPair("populating","ObjectCalColor")
    672744        self.populateObjectCalColor()
     745        #self.logger.infoPair("populating","StackDetectionCalib")
     746        self.populateStackDetectionCalib()
    673747
    674748        self.setMinMaxObjID(["StackDetection"])
  • branches/eam_branches/ipp-20120905/ippToPsps/src/Dvo.c

    r33765 r34735  
    9090            }
    9191            else {
     92                Average *ave  = &dvoDetections[i].ave;
     93                Measure *meas = &dvoDetections[i].meas;
     94                PhotCode *code = GetPhotcodebyCode(meas->photcode);
    9295                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)",
    9497                        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                        );
    100112
    101113                mysql_query(this->mysql, sql);
Note: See TracChangeset for help on using the changeset viewer.