IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 6, 2012, 6:32:19 PM (14 years ago)
Author:
watersc1
Message:

merge from trunk. Preliminary versions of stacktool/warptool updates and regenerate_background.pl script. The warp code is finished and tested, and I still need to get the stack version resolved.

Location:
branches/czw_branch/20120906/ippToPsps
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • branches/czw_branch/20120906/ippToPsps

  • branches/czw_branch/20120906/ippToPsps/config/OB/tables.vot

    r34275 r34772  
    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/czw_branch/20120906/ippToPsps/config/P2/tables.vot

    r32031 r34772  
    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/czw_branch/20120906/ippToPsps/config/ST/tables.vot

    r32031 r34772  
    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/czw_branch/20120906/ippToPsps/jython/detectionbatch.py

    r33830 r34772  
    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/czw_branch/20120906/ippToPsps/jython/dvodetections.py

    r33686 r34772  
    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/czw_branch/20120906/ippToPsps/jython/ipptopspsdb.py

    r33858 r34772  
    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/czw_branch/20120906/ippToPsps/jython/loader.py

    r33832 r34772  
    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/czw_branch/20120906/ippToPsps/jython/objectbatch.py

    r34290 r34772  
    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 \
    126                    ," + filter[1] + "StackKronMag = -2.5 * log10(FLUX_KRON) -8.9 \
     129                   ," + filter[1] + "StackPSFMag = -2.5 * log10(FLUX_PSF) + 8.9 \
     130                   ," + filter[1] + "StackPSFMagErr = FLUX_PSF_ERR / FLUX_PSF \
     131                   ," + 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                    "
     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)
    131148           
    132             self.scratchDb.execute(sql)
     149
     150
    133151
    134152        # now set to null all MeanMagErr values > 0.5 (cut set by Gene, 2012-04-12)
     
    141159                   WHERE " + filter[1] + "MeanPSFMagErr > " + str(cut)
    142160            self.scratchDb.execute(sql)
     161
     162        self.logger.infoPair("Setting to NULL all x20pct =", "32.767" )
     163        for filter in filters:
     164            sql  = "UPDATE Object \
     165                   SET " + filter[1] + "20pct = null \
     166                   WHERE " + filter[1] + "20pct > 32.766"
     167            self.scratchDb.execute(sql)
     168        self.logger.infoPair("Setting to NULL all x80pct =", "32.767" )
     169        for filter in filters:
     170            sql  = "UPDATE Object \
     171                    SET " + filter[1] + "80pct = null \
     172                    WHERE " + filter[1] + "80pct > 32.766"
     173            self.scratchDb.execute(sql)
     174
     175
     176
    143177
    144178    '''
     
    172206        cpsTableName = self.scratchDb.getDbFriendlyTableName(self.region + ".cps")
    173207
    174         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")
    175231        self.logger.infoPair("Inserting objects from", "cpt file")
    176232
     
    187243               ,decErr \
    188244               ,nDetections \
     245               ,qfPerfect \
     246               ,sgSep \
    189247               ,dataRelease \
    190248               ) \
     
    200258               ,DEC_ERR \
    201259               ,NMEASURE \
     260               ,PSF_QF_PERF \
     261               ,STARGAL_SEP \
    202262               , " + str(self.config.dataRelease) + "\
    203263               FROM " + cptTableName
  • branches/czw_branch/20120906/ippToPsps/jython/scratchdb.py

    r34173 r34772  
    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               )"
     
    391402        except:
    392403            self.logger.error("Unable to create DVO detection database table")
    393 
     404        self.makeColumnUnique("dvoDetection", "objID")
    394405
    395406    '''
  • branches/czw_branch/20120906/ippToPsps/jython/stackbatch.py

    r34165 r34772  
    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                ,FLAGS << 32 | FLAGS2 \
     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                , NULL \
    392                , NULL \
     396               ,MOMENTS_R1 * 2.5 \
     397               ,PSF_CHISQ \
    393398               ,N_FRAMES \
    394399               , '" + self.dateStr + "' \
    395400               ," + self.historyModNum + " \
    396401               FROM SkyChip_psf"
    397 
    398         self.scratchDb.execute(sql)
     402        self.scratchDb.execute(sql)
     403       
    399404        #it is possible to drop some detections from dvo (that are present in the cmf). when that happens we get a 0 for objid
    400405        #we drop those...
     
    402407        self.scratchDb.execute(sql)
    403408        self.logger.infoPair("Deleting", "entries with StackDetection.objID = 0")
    404 
     409       
    405410        self.scratchDb.updateAllRows("StackDetection", "surveyID", str(self.surveyID))
     411       
    406412        self.scratchDb.updateFilterID("StackDetection", self.filter)
     413       
    407414        self.scratchDb.updateAllRows("StackDetection", "dataRelease", str(self.config.dataRelease))
     415       
    408416        self.scratchDb.updateAllRows("StackDetection", "primaryF", "0")
     417       
    409418        self.scratchDb.updateAllRows("StackDetection", "activeFlag", "0")
     419       
    410420        self.updateStackMetaID("StackDetection")
     421       
    411422        self.updateStackTypeID("StackDetection")
    412         self.updateDvoIDs("StackDetection")
     423       
     424        self.updateDvoIDsAndFlags("StackDetection")
     425       
    413426        sql = "ALTER IGNORE TABLE StackDetection ADD PRIMARY KEY (objID)"
     427       
    414428        self.scratchDb.execute(sql)
    415429 
     
    418432            #if deep stack and instFlux = null and err not null
    419433            sql = "UPDATE StackDetection AS a, SkyChip_psf AS b \
    420                    SET instFlux = 2*b.PSF_INST_FLUX_SIG / " + str(self.expTime) + " \
    421                    WHERE instFlux IS NULL \
     434                   SET psfFlux = 2*b.PSF_INST_FLUX_SIG / " + str(self.expTime) + " \
     435                   WHERE psfFlux IS NULL \
    422436                   AND a.ippDetectID = b.IPP_IDET  \
    423437                   AND b.PSF_INST_FLUX_SIG IS NOT NULL"
     438           
    424439            self.scratchDb.execute(sql)
    425440           
    426         self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "instFlux")
     441        #leave null instflux in
     442        #self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "instFlux")
     443       
    427444        self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "objID")
     445       
    428446        sql="DELETE FROM StackDetection where objID = 0"
    429         self.scratchDb.execute(sql)
    430         self.logger.infoPair("Deleting", "entries with StackDetection.objID = 0")
    431 
     447       
     448        self.scratchDb.execute(sql)
     449        self.logger.infoPair("Delleting", "entries with StackDetection.objID = 0")
     450       
    432451
    433452    '''
     
    460479        petRadius=b.PETRO_RADIUS \
    461480        ,petRadiusErr=b.PETRO_RADIUS_ERR \
    462         ,petMag=b.PETRO_MAG \
    463         ,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 \
    464483        ,petR50=b.PETRO_RADIUS_50 \
    465484        ,petR50Err=b.PETRO_RADIUS_50_ERR \
     
    573592        self.scratchDb.updateAllRows("SkinnyObject", "dataRelease", str(self.config.dataRelease))
    574593
     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
    575635    '''
    576636    Populates the ObjectCalColor table
     
    600660
    601661        self.logger.debug("Altering PSPS tables")
     662        # heather uncommented the unique line -- well that no worky
    602663        #self.scratchDb.makeColumnUnique("StackDetection", "objID")
    603664        self.scratchDb.createIndex("StackDetection", "ippDetectID")
    604665        self.scratchDb.createIndex("StackApFlx", "ippDetectID")
    605666        self.scratchDb.createIndex("StackModelFit", "ippDetectID")
     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")
    606671
    607672        return True
     
    624689    '''
    625690    def updateDvoIDs(self, table):
    626 
     691        self.logger.infoPair("getting","imageID")
    627692        imageID = self.scratchDb.getImageIDFromExternID(self.header['IMAGEID'])
     693        self.logger.infoPair("obtained","imageID")
    628694        self.logger.debug("Updating table '" + table + "' with DVO IDs...")
    629695        sql = "UPDATE " + table + " AS a, " + self.scratchDb.dvoDetectionTable + " AS b SET \
    630696               a.ippObjID = b.ippObjID, \
    631                a.stackDetectID = 10 * b.detectID + " + str(self.filterID) + ", \
     697               a.stackDetectID = b.detectID, \
    632698               a.objID = b.objID \
    633699               WHERE a.ippDetectID = b.ippDetectID \
    634700               AND b.imageID = " + str(imageID)
    635701        self.scratchDb.execute(sql)
    636 
     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   
    637721    '''
    638722    Does the processing, i.e. pulling stuff from IPP tables into PSPS tables
     
    643727            if not self.getIDsFromDVO():
    644728                return False
    645 
     729        #self.logger.infoPair("populating","StackMeta")   
    646730        self.populateStackMeta()
     731        #self.logger.infoPair("populating","StackDetection")
    647732        self.populateStackDetection()
    648 
     733       
    649734        if self.stackType != "NIGHTLY_STACK":
     735            #self.logger.infoPair("populating","StackModelFit")
    650736            self.populateStackModelFit()
     737            #self.logger.infoPair("populating","StackApFlx")
    651738            self.populateStackApFlx()
    652    
     739        #self.logger.infoPair("populating","StackToImage")
    653740        self.populateStackToImage()
     741        #self.logger.infoPair("populating","SkinnyObject")
    654742        self.populateSkinnyObject()
     743        #self.logger.infoPair("populating","ObjectCalColor")
    655744        self.populateObjectCalColor()
     745        #self.logger.infoPair("populating","StackDetectionCalib")
     746        self.populateStackDetectionCalib()
    656747
    657748        self.setMinMaxObjID(["StackDetection"])
  • branches/czw_branch/20120906/ippToPsps/src/Dvo.c

    r33765 r34772  
    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.