IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 38052


Ignore:
Timestamp:
Mar 28, 2015, 8:28:32 PM (11 years ago)
Author:
eugene
Message:

merge changes from trunk

Location:
branches/eam_branches/ipp-20150112
Files:
51 edited
4 copied

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20150112/DataStoreServer/scripts/dsreg

  • branches/eam_branches/ipp-20150112/extlibs

    • Property svn:ignore
      •  

        old new  
        66cfitsio3100-p4
        77cfitsio3100-pap
         8cfitsio3100-p5
        89fftw-3.0.1
        910gsl-1.11
         
        2526readline-5.2-p14
        2627zlib-1.2.3
         28
  • branches/eam_branches/ipp-20150112/extsrc/gpcsw/gpcsrc/fits/burntool

  • branches/eam_branches/ipp-20150112/hardware/dotConsolerc

    r37774 r38052  
    457457  ipp095:
    458458    console: cab17con.ipp.ifa.hawaii.edu
     459  ipp097:
     460    console: cab17con.ipp.ifa.hawaii.edu
    459461  ippx001:
    460462    console: cab23con.ipp.ifa.hawaii.edu
     
    665667  ippx104:
    666668    console: cab17con.ipp.ifa.hawaii.edu
     669  ipps00:
     670    console: cab15con.ipp.ifa.hawaii.edu
     671  ipps01:
     672      console: cab15con.ipp.ifa.hawaii.edu
     673  ipps02:
     674      console: cab15con.ipp.ifa.hawaii.edu
     675  ipps03:
     676      console: cab15con.ipp.ifa.hawaii.edu
     677  ipps04:
     678      console: cab15con.ipp.ifa.hawaii.edu
     679  ipps05:
     680      console: cab15con.ipp.ifa.hawaii.edu
     681  ipps06:
     682      console: cab15con.ipp.ifa.hawaii.edu
     683  ipps07:
     684      console: cab15con.ipp.ifa.hawaii.edu
     685  ipps08:
     686      console: cab15con.ipp.ifa.hawaii.edu
     687  ipps09:
     688      console: cab15con.ipp.ifa.hawaii.edu
     689  ipps10:
     690      console: cab15con.ipp.ifa.hawaii.edu
     691  ipps11:
     692      console: cab15con.ipp.ifa.hawaii.edu
     693  ipps12:
     694      console: cab15con.ipp.ifa.hawaii.edu
     695  ipps13:
     696      console: cab15con.ipp.ifa.hawaii.edu
     697  ipps14:
     698      console: cab15con.ipp.ifa.hawaii.edu
    667699
  • branches/eam_branches/ipp-20150112/ippToPsps/config/ippToPspsDbSchema.sql

    r37739 r38052  
    199199  `region` varchar(50) default NULL,
    200200  KEY `batch_id` (`batch_id`),
     201  CONSTRAINT `forcedobject_fk_1` FOREIGN KEY (`batch_id`) REFERENCES `batch` (`batch_id`)
     202) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     203SET character_set_client = @saved_cs_client;
     204
     205--
     206-- Table structure for table `diffobject`
     207--
     208
     209DROP TABLE IF EXISTS `diffobject`;
     210SET @saved_cs_client     = @@character_set_client;
     211SET character_set_client = utf8;
     212CREATE TABLE `diffobject` (
     213  `batch_id` bigint(20) unsigned NOT NULL,
     214  `region` varchar(50) default NULL,
     215  KEY `batch_id` (`batch_id`),
    201216  CONSTRAINT `diffobject_fk_1` FOREIGN KEY (`batch_id`) REFERENCES `batch` (`batch_id`)
    202217) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    204219
    205220--
    206 -- Table structure for table `diffobject`
    207 --
    208 
    209 DROP TABLE IF EXISTS `diffobject`;
    210 SET @saved_cs_client     = @@character_set_client;
    211 SET character_set_client = utf8;
    212 CREATE TABLE `diffobject` (
    213   `batch_id` bigint(20) unsigned NOT NULL,
    214   `region` varchar(50) default NULL,
    215   KEY `batch_id` (`batch_id`),
    216   CONSTRAINT `diffobject_fk_1` FOREIGN KEY (`batch_id`) REFERENCES `batch` (`batch_id`)
    217 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    218 SET character_set_client = @saved_cs_client;
    219 
    220 --
    221221-- Table structure for table `pending`
    222222--
     223-- i had to do this to get uniqueness prob sorted out:
     224
     225--show index from pending;
     226--alter table pending drop index `name`;
     227--where name was broken becaue it only indedxed stage idg
    223228
    224229DROP TABLE IF EXISTS `pending`;
  • branches/eam_branches/ipp-20150112/ippToPsps/config/settings.xml

    r37739 r38052  
    5151      <memory>64</memory>
    5252    </loader>
    53 
     53    <loader mach="stsci00">
     54      <name>ipptopsps2_scratch</name>
     55      <host>stsci00</host>
     56      <user>dvo</user>
     57      <password>dvo</password>
     58      <memory>32</memory>
     59    </loader>
     60    <loader mach="stsci01">
     61      <name>ipptopsps2_scratch</name>
     62      <host>stsci01</host>
     63      <user>dvo</user>
     64      <password>dvo</password>
     65      <memory>32</memory>
     66    </loader>
     67    <loader mach="stcsi02">
     68      <name>ipptopsps2_scratch</name>
     69      <host>stsci02</host>
     70      <user>dvo</user>
     71      <password>dvo</password>
     72      <memory>32</memory>
     73    </loader>
     74    <loader mach="stsci03">
     75      <name>ipptopsps2_scratch</name>
     76      <host>stsci03</host>
     77      <user>dvo</user>
     78      <password>dvo</password>
     79      <memory>32</memory>
     80    </loader>
     81    <loader mach="stsci04">
     82      <name>ipptopsps2_scratch</name>
     83      <host>stsci04</host>
     84      <user>dvo</user>
     85      <password>dvo</password>
     86      <memory>32</memory>
     87    </loader>
     88    <loader mach="stsci05">
     89      <name>ipptopsps2_scratch</name>
     90      <host>stsci05</host>
     91      <user>dvo</user>
     92      <password>dvo</password>
     93      <memory>32</memory>
     94    </loader>
     95    <loader mach="stsci06">
     96      <name>ipptopsps2_scratch</name>
     97      <host>stsci06</host>
     98      <user>dvo</user>
     99      <password>dvo</password>
     100      <memory>32</memory>
     101    </loader>
     102    <loader mach="stsci07">
     103      <name>ipptopsps2_scratch</name>
     104      <host>stsci07</host>
     105      <user>dvo</user>
     106      <password>dvo</password>
     107      <memory>32</memory>
     108    </loader>
     109    <loader mach="stsci08">
     110      <name>ipptopsps2_scratch</name>
     111      <host>stsci08</host>
     112      <user>dvo</user>
     113      <password>dvo</password>
     114      <memory>32</memory>
     115    </loader>
     116    <loader mach="stsci09">
     117      <name>ipptopsps2_scratch</name>
     118      <host>stsci09</host>
     119      <user>dvo</user>
     120      <password>dvo</password>
     121      <memory>32</memory>
     122    </loader>
     123    <loader mach="stsci10">
     124      <name>ipptopsps2_scratch</name>
     125      <host>stsci10</host>
     126      <user>dvo</user>
     127      <password>dvo</password>
     128      <memory>32</memory>
     129    </loader>
     130    <loader mach="stsci11">
     131      <name>ipptopsps2_scratch</name>
     132      <host>stsci11</host>
     133      <user>dvo</user>
     134      <password>dvo</password>
     135      <memory>32</memory>
     136    </loader>
     137    <loader mach="stcsi12">
     138      <name>ipptopsps2_scratch</name>
     139      <host>stsci12</host>
     140      <user>dvo</user>
     141      <password>dvo</password>
     142      <memory>32</memory>
     143    </loader>
     144    <loader mach="stsci13">
     145      <name>ipptopsps2_scratch</name>
     146      <host>stsci13</host>
     147      <user>dvo</user>
     148      <password>dvo</password>
     149      <memory>32</memory>
     150    </loader>
     151    <loader mach="stsci14">
     152      <name>ipptopsps2_scratch</name>
     153      <host>stsci14</host>
     154      <user>dvo</user>
     155      <password>dvo</password>
     156      <memory>32</memory>
     157    </loader>
     158    <loader mach="stsci15">
     159      <name>ipptopsps2_scratch</name>
     160      <host>stsci15</host>
     161      <user>dvo</user>
     162      <password>dvo</password>
     163      <memory>32</memory>
     164    </loader>
     165    <loader mach="stsci16">
     166      <name>ipptopsps2_scratch</name>
     167      <host>stsci16</host>
     168      <user>dvo</user>
     169      <password>dvo</password>
     170      <memory>32</memory>
     171    </loader>
     172    <loader mach="stsci17">
     173      <name>ipptopsps2_scratch</name>
     174      <host>stsci17</host>
     175      <user>dvo</user>
     176      <password>dvo</password>
     177      <memory>32</memory>
     178    </loader>
     179    <loader mach="stsci18">
     180      <name>ipptopsps2_scratch</name>
     181      <host>stsci18</host>
     182      <user>dvo</user>
     183      <password>dvo</password>
     184      <memory>32</memory>
     185    </loader>
     186    <loader mach="stsci19">
     187      <name>ipptopsps2_scratch</name>
     188      <host>stsci19</host>
     189      <user>dvo</user>
     190      <password>dvo</password>
     191      <memory>32</memory>
     192    </loader>
    54193
    55194
  • branches/eam_branches/ipp-20150112/ippToPsps/config/tables.FO.vot

    r37722 r38052  
    9696        <DESCRIPTION>flags for g forced</DESCRIPTION>
    9797      </FIELD>
     98      <FIELD name="gGamma" arraysize="1" datatype="float" unit="arcsec^2" default="-999">
     99        <DESCRIPTION>second moment (Mxx+Myy)</DESCRIPTION>
     100      </FIELD>
     101      <FIELD name="gE1" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     102        <DESCRIPTION>polarization, KSB-corrected (Mxx - Myy) / (Mxx + Myy)</DESCRIPTION>
     103      </FIELD>
     104      <FIELD name="gE2" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     105        <DESCRIPTION>polarization, KSB-corrected 2Mxy / (Mxx + Myy)</DESCRIPTION>
     106      </FIELD>
     107      <FIELD name="rStackID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     108        <DESCRIPTION>stack image id (how to carry through IPP+DVO</DESCRIPTION>
     109      </FIELD>
     110      <FIELD name="rnTotal" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     111        <DESCRIPTION>number of detections in r filter</DESCRIPTION>
     112      </FIELD>
     113      <FIELD name="rnIncPSFFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     114        <DESCRIPTION>number of detections included in robust psf mean in r filter</DESCRIPTION>
     115      </FIELD>
     116      <FIELD name="rnIncKronFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     117        <DESCRIPTION>number of detections included in robust mean of Kron mag in r filter</DESCRIPTION>
     118      </FIELD>
     119      <FIELD name="rnIncApFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     120        <DESCRIPTION>number of detections included in robust mean of Ap Flux in r filter</DESCRIPTION>
     121      </FIELD>
     122      <FIELD name="rnIncR5" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     123        <DESCRIPTION>number of detections included in robust mean of ApFlx 5 in r filter</DESCRIPTION>
     124      </FIELD>
     125      <FIELD name="rnIncR6" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     126        <DESCRIPTION>number of detections included in robust mean of ApFlx 6 in r filter</DESCRIPTION>
     127      </FIELD>
     128      <FIELD name="rPSFFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     129        <DESCRIPTION> robust mean r psf AB magnitude (sigma clipping or MAP or go to 5 or 7 number summary? 1/12 is ~9th percentile</DESCRIPTION>
     130      </FIELD>
     131      <FIELD name="rPSFFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     132        <DESCRIPTION> estimated error of g psf AB magnitude mean(individual errors added in quadrature)</DESCRIPTION>
     133      </FIELD>
     134      <FIELD name="rPSFFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     135        <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
     136      </FIELD>
     137      <FIELD name="rKronFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     138        <DESCRIPTION>mean r kron AB magnitude</DESCRIPTION>
     139      </FIELD>
     140      <FIELD name="rKronFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     141        <DESCRIPTION> estimated error of r kron AB magnitude mean</DESCRIPTION>
     142      </FIELD>
     143      <FIELD name="rKronFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     144        <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
     145      </FIELD>
     146      <FIELD name="rApFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     147        <DESCRIPTION>mean r aperture AB magnitude</DESCRIPTION>
     148      </FIELD>
     149      <FIELD name="rApFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     150        <DESCRIPTION> estimated error of r aperture AB magnitude mean</DESCRIPTION>
     151      </FIELD>
     152      <FIELD name="rApFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     153        <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
     154      </FIELD>
     155      <FIELD name="rFmeanflxR5" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     156        <DESCRIPTION>Flux inside r = 5 in r unconvolved stack</DESCRIPTION>
     157      </FIELD>
     158      <FIELD name="rFmeanflxR5Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     159        <DESCRIPTION>estimated error in flxR5</DESCRIPTION>
     160      </FIELD>
     161      <FIELD name="rFmeanflxR5Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     162        <DESCRIPTION>estimated standard deviation in flxR5</DESCRIPTION>
     163      </FIELD>
     164      <FIELD name="rFmeanflxR5Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     165        <DESCRIPTION>estimated filling factor at R5</DESCRIPTION>
     166      </FIELD>
     167      <FIELD name="rFmeanflxR6" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     168        <DESCRIPTION>Flux inside r = 6 in r unconvolved stack</DESCRIPTION>
     169      </FIELD>
     170      <FIELD name="rFmeanflxR6Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     171        <DESCRIPTION>estimated error in flxR6</DESCRIPTION>
     172      </FIELD>
     173      <FIELD name="rFmeanflxR6Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     174        <DESCRIPTION>estimated standard deviation in flxR6</DESCRIPTION>
     175      </FIELD>
     176      <FIELD name="rFmeanflxR6Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     177        <DESCRIPTION>estimated filling factor at R6</DESCRIPTION>
     178      </FIELD>
     179      <FIELD name="rFlags" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     180        <DESCRIPTION>flags for r forced</DESCRIPTION>
     181      </FIELD>
     182      <FIELD name="rGamma" arraysize="1" datatype="float" unit="arcsec^2" default="-999">
     183        <DESCRIPTION>second moment (Mxx+Myy)</DESCRIPTION>
     184      </FIELD>
     185      <FIELD name="rE1" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     186        <DESCRIPTION>polarization, KSB-corrected (Mxx - Myy) / (Mxx + Myy)</DESCRIPTION>
     187      </FIELD>
     188      <FIELD name="rE2" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     189        <DESCRIPTION>polarization, KSB-corrected 2Mxy / (Mxx + Myy)</DESCRIPTION>
     190      </FIELD>
     191      <FIELD name="iStackID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     192        <DESCRIPTION>stack image id (how to carry through IPP+DVO</DESCRIPTION>
     193      </FIELD>
     194      <FIELD name="inTotal" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     195        <DESCRIPTION>number of detections in i filter</DESCRIPTION>
     196      </FIELD>
     197      <FIELD name="inIncPSFFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     198        <DESCRIPTION>number of detections included in robust psf mean in i filter</DESCRIPTION>
     199      </FIELD>
     200      <FIELD name="inIncKronFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     201        <DESCRIPTION>number of detections included in robust mean of Kron mag in i filter</DESCRIPTION>
     202      </FIELD>
     203      <FIELD name="inIncApFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     204        <DESCRIPTION>number of detections included in robust mean of Ap Flux in i filter</DESCRIPTION>
     205      </FIELD>
     206      <FIELD name="inIncR5" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     207        <DESCRIPTION>number of detections included in robust mean of ApFlx 5 in i filter</DESCRIPTION>
     208      </FIELD>
     209      <FIELD name="inIncR6" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     210        <DESCRIPTION>number of detections included in robust mean of ApFlx 6 in i filter</DESCRIPTION>
     211      </FIELD>
     212      <FIELD name="iPSFFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     213        <DESCRIPTION> robust mean i psf AB magnitude (sigma clipping or MAP or go to 5 or 7 number summary? 1/12 is ~9th percentile</DESCRIPTION>
     214      </FIELD>
     215      <FIELD name="iPSFFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     216        <DESCRIPTION> estimated error of i psf AB magnitude mean(individual errors added in quadrature)</DESCRIPTION>
     217      </FIELD>
     218      <FIELD name="iPSFFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     219        <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
     220      </FIELD>
     221      <FIELD name="iKronFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     222        <DESCRIPTION>mean i kron AB magnitude</DESCRIPTION>
     223      </FIELD>
     224      <FIELD name="iKronFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     225        <DESCRIPTION> estimated error of i kron AB magnitude mean</DESCRIPTION>
     226      </FIELD>
     227      <FIELD name="iKronFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     228        <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
     229      </FIELD>
     230      <FIELD name="iApFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     231        <DESCRIPTION>mean i aperture AB magnitude</DESCRIPTION>
     232      </FIELD>
     233      <FIELD name="iApFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     234        <DESCRIPTION> estimated error of i aperture AB magnitude mean</DESCRIPTION>
     235      </FIELD>
     236      <FIELD name="iApFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     237        <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
     238      </FIELD>
     239      <FIELD name="iFmeanflxR5" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     240        <DESCRIPTION>Flux inside r = 5 in i unconvolved stack</DESCRIPTION>
     241      </FIELD>
     242      <FIELD name="iFmeanflxR5Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     243        <DESCRIPTION>estimated error in flxR5</DESCRIPTION>
     244      </FIELD>
     245      <FIELD name="iFmeanflxR5Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     246        <DESCRIPTION>estimated standard deviation in flxR5</DESCRIPTION>
     247      </FIELD>
     248      <FIELD name="iFmeanflxR5Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     249        <DESCRIPTION>estimated filling factor at R5</DESCRIPTION>
     250      </FIELD>
     251      <FIELD name="iFmeanflxR6" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     252        <DESCRIPTION>Flux inside r = 6 in i unconvolved stack</DESCRIPTION>
     253      </FIELD>
     254      <FIELD name="iFmeanflxR6Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     255        <DESCRIPTION>estimated error in flxR6</DESCRIPTION>
     256      </FIELD>
     257      <FIELD name="iFmeanflxR6Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     258        <DESCRIPTION>estimated standard deviation in flxR6</DESCRIPTION>
     259      </FIELD>
     260      <FIELD name="iFmeanflxR6Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     261        <DESCRIPTION>estimated filling factor at R6</DESCRIPTION>
     262      </FIELD>
     263      <FIELD name="iFlags" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     264        <DESCRIPTION>flags for i forced</DESCRIPTION>
     265      </FIELD>
     266      <FIELD name="iGamma" arraysize="1" datatype="float" unit="arcsec^2" default="-999">
     267        <DESCRIPTION>second moment (Mxx+Myy)</DESCRIPTION>
     268      </FIELD>
     269      <FIELD name="iE1" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     270        <DESCRIPTION>polarization, KSB-corrected (Mxx - Myy) / (Mxx + Myy)</DESCRIPTION>
     271      </FIELD>
     272      <FIELD name="iE2" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     273        <DESCRIPTION>polarization, KSB-corrected 2Mxy / (Mxx + Myy)</DESCRIPTION>
     274      </FIELD>
     275      <FIELD name="zStackID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     276        <DESCRIPTION>stack image id (how to carry through IPP+DVO</DESCRIPTION>
     277      </FIELD>
     278      <FIELD name="znTotal" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     279        <DESCRIPTION>number of detections in z filter</DESCRIPTION>
     280      </FIELD>
     281      <FIELD name="znIncPSFFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     282        <DESCRIPTION>number of detections included in robust psf mean in z filter</DESCRIPTION>
     283      </FIELD>
     284      <FIELD name="znIncKronFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     285        <DESCRIPTION>number of detections included in robust mean of Kron mag in z filter</DESCRIPTION>
     286      </FIELD>
     287      <FIELD name="znIncApFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     288        <DESCRIPTION>number of detections included in robust mean of Ap Flux in z filter</DESCRIPTION>
     289      </FIELD>
     290      <FIELD name="znIncR5" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     291        <DESCRIPTION>number of detections included in robust mean of ApFlx 5 in z filter</DESCRIPTION>
     292      </FIELD>
     293      <FIELD name="znIncR6" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     294        <DESCRIPTION>number of detections included in robust mean of ApFlx 6 in z filter</DESCRIPTION>
     295      </FIELD>
     296      <FIELD name="zPSFFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     297        <DESCRIPTION> robust mean z psf AB magnitude (sigma clipping or MAP or go to 5 or 7 number summary? 1/12 is ~9th percentile</DESCRIPTION>
     298      </FIELD>
     299      <FIELD name="zPSFFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     300        <DESCRIPTION> estimated error of z psf AB magnitude mean(individual errors added in quadrature)</DESCRIPTION>
     301      </FIELD>
     302      <FIELD name="zPSFFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     303        <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
     304      </FIELD>
     305      <FIELD name="zKronFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     306        <DESCRIPTION>mean z kron AB magnitude</DESCRIPTION>
     307      </FIELD>
     308      <FIELD name="zKronFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     309        <DESCRIPTION> estimated error of z kron AB magnitude mean</DESCRIPTION>
     310      </FIELD>
     311      <FIELD name="zKronFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     312        <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
     313      </FIELD>
     314      <FIELD name="zApFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     315        <DESCRIPTION>mean z aperture AB magnitude</DESCRIPTION>
     316      </FIELD>
     317      <FIELD name="zApFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     318        <DESCRIPTION> estimated error of z aperture AB magnitude mean</DESCRIPTION>
     319      </FIELD>
     320      <FIELD name="zApFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     321        <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
     322      </FIELD>
     323      <FIELD name="zFmeanflxR5" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     324        <DESCRIPTION>Flux inside r = 5 in z unconvolved stack</DESCRIPTION>
     325      </FIELD>
     326      <FIELD name="zFmeanflxR5Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     327        <DESCRIPTION>estimated error in flxR5</DESCRIPTION>
     328      </FIELD>
     329      <FIELD name="zFmeanflxR5Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     330        <DESCRIPTION>estimated standard deviation in flxR5</DESCRIPTION>
     331      </FIELD>
     332      <FIELD name="zFmeanflxR5Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     333        <DESCRIPTION>estimated filling factor at R5</DESCRIPTION>
     334      </FIELD>
     335      <FIELD name="zFmeanflxR6" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     336        <DESCRIPTION>Flux inside r = 6 in z unconvolved stack</DESCRIPTION>
     337      </FIELD>
     338      <FIELD name="zFmeanflxR6Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     339        <DESCRIPTION>estimated error in flxR6</DESCRIPTION>
     340      </FIELD>
     341      <FIELD name="zFmeanflxR6Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     342        <DESCRIPTION>estimated standard deviation in flxR6</DESCRIPTION>
     343      </FIELD>
     344      <FIELD name="zFmeanflxR6Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     345        <DESCRIPTION>estimated filling factor at R6</DESCRIPTION>
     346      </FIELD>
     347      <FIELD name="zFlags" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     348        <DESCRIPTION>flags for z forced</DESCRIPTION>
     349      </FIELD>
     350      <FIELD name="zGamma" arraysize="1" datatype="float" unit="arcsec^2" default="-999">
     351        <DESCRIPTION>second moment (Mxx+Myy)</DESCRIPTION>
     352      </FIELD>
     353      <FIELD name="zE1" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     354        <DESCRIPTION>polarization, KSB-corrected (Mxx - Myy) / (Mxx + Myy)</DESCRIPTION>
     355      </FIELD>
     356      <FIELD name="zE2" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     357        <DESCRIPTION>polarization, KSB-corrected 2Mxy / (Mxx + Myy)</DESCRIPTION>
     358      </FIELD>
     359      <FIELD name="yStackID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     360        <DESCRIPTION>stack image id (how to carry through IPP+DVO</DESCRIPTION>
     361      </FIELD>
     362      <FIELD name="ynTotal" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     363        <DESCRIPTION>number of detections in y filter</DESCRIPTION>
     364      </FIELD>
     365      <FIELD name="ynIncPSFFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     366        <DESCRIPTION>number of detections included in robust psf mean in y filter</DESCRIPTION>
     367      </FIELD>
     368      <FIELD name="ynIncKronFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     369        <DESCRIPTION>number of detections included in robust mean of Kron mag in y filter</DESCRIPTION>
     370      </FIELD>
     371      <FIELD name="ynIncApFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     372        <DESCRIPTION>number of detections included in robust mean of Ap Flux in y filter</DESCRIPTION>
     373      </FIELD>
     374      <FIELD name="ynIncR5" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     375        <DESCRIPTION>number of detections included in robust mean of ApFlx 5 in y filter</DESCRIPTION>
     376      </FIELD>
     377      <FIELD name="ynIncR6" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     378        <DESCRIPTION>number of detections included in robust mean of ApFlx 6 in y filter</DESCRIPTION>
     379      </FIELD>
     380      <FIELD name="yPSFFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     381        <DESCRIPTION> robust mean y psf AB magnitude (sigma clipping or MAP or go to 5 or 7 number summary? 1/12 is ~9th percentile</DESCRIPTION>
     382      </FIELD>
     383      <FIELD name="yPSFFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     384        <DESCRIPTION> estimated error of y psf AB magnitude mean(individual errors added in quadrature)</DESCRIPTION>
     385      </FIELD>
     386      <FIELD name="yPSFFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     387        <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
     388      </FIELD>
     389      <FIELD name="yKronFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     390        <DESCRIPTION>mean y kron AB magnitude</DESCRIPTION>
     391      </FIELD>
     392      <FIELD name="yKronFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     393        <DESCRIPTION> estimated error of y kron AB magnitude mean</DESCRIPTION>
     394      </FIELD>
     395      <FIELD name="yKronFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     396        <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
     397      </FIELD>
     398      <FIELD name="yApFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     399        <DESCRIPTION>mean y aperture AB magnitude</DESCRIPTION>
     400      </FIELD>
     401      <FIELD name="yApFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
     402        <DESCRIPTION> estimated error of y aperture AB magnitude mean</DESCRIPTION>
     403      </FIELD>
     404      <FIELD name="yApFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     405        <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
     406      </FIELD>
     407      <FIELD name="yFmeanflxR5" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     408        <DESCRIPTION>Flux inside r = 5 in y unconvolved stack</DESCRIPTION>
     409      </FIELD>
     410      <FIELD name="yFmeanflxR5Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     411        <DESCRIPTION>estimated error in flxR5</DESCRIPTION>
     412      </FIELD>
     413      <FIELD name="yFmeanflxR5Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     414        <DESCRIPTION>estimated standard deviation in flxR5</DESCRIPTION>
     415      </FIELD>
     416      <FIELD name="yFmeanflxR5Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     417        <DESCRIPTION>estimated filling factor at R5</DESCRIPTION>
     418      </FIELD>
     419      <FIELD name="yFmeanflxR6" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     420        <DESCRIPTION>Flux inside r = 6 in y unconvolved stack</DESCRIPTION>
     421      </FIELD>
     422      <FIELD name="yFmeanflxR6Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     423        <DESCRIPTION>estimated error in flxR6</DESCRIPTION>
     424      </FIELD>
     425      <FIELD name="yFmeanflxR6Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     426        <DESCRIPTION>estimated standard deviation in flxR6</DESCRIPTION>
     427      </FIELD>
     428      <FIELD name="yFmeanflxR6Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     429        <DESCRIPTION>estimated filling factor at R6</DESCRIPTION>
     430      </FIELD>
     431      <FIELD name="yFlags" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     432        <DESCRIPTION>flags for y forced</DESCRIPTION>
     433      </FIELD>
     434      <FIELD name="yGamma" arraysize="1" datatype="float" unit="arcsec^2" default="-999">
     435        <DESCRIPTION>second moment (Mxx+Myy)</DESCRIPTION>
     436      </FIELD>
     437      <FIELD name="yE1" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     438        <DESCRIPTION>polarization, KSB-corrected (Mxx - Myy) / (Mxx + Myy)</DESCRIPTION>
     439      </FIELD>
     440      <FIELD name="yE2" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     441        <DESCRIPTION>polarization, KSB-corrected 2Mxy / (Mxx + Myy)</DESCRIPTION>
     442      </FIELD>
     443      <DATA>
     444        <TABLEDATA></TABLEDATA>
     445      </DATA>
     446    </TABLE>
     447    <TABLE name="ForcedMeanLensing">
     448      <DESCRIPTION>VOTable description of PSPS table ForcedMeanLensing</DESCRIPTION>
     449      <PARAM arraysize="1" datatype="char" ucd="meta.bib.author" name="Author" value="PSPS"></PARAM>
     450      <FIELD name="objID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     451        <DESCRIPTION>ODM object identifier index</DESCRIPTION>
     452      </FIELD>
     453      <FIELD name="uniquePspsFOid" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     454        <DESCRIPTION>unique psps id</DESCRIPTION>
     455      </FIELD>
     456      <FIELD name="ippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     457        <DESCRIPTION>IPP object number</DESCRIPTION>
     458      </FIELD>
     459      <FIELD name="nDetections" arraysize="1" datatype="short" unit="dimensionless" default="-999">
     460        <DESCRIPTION>total number of detection measurements in all filters</DESCRIPTION>
     461      </FIELD>
     462      <FIELD name="batchID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     463        <DESCRIPTION>batch id</DESCRIPTION>
     464      </FIELD>
     465      <FIELD name="gStackID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     466        <DESCRIPTION>stack image id (how to carry through IPP+DVO</DESCRIPTION>
     467      </FIELD>
    98468      <FIELD name="gLensObjSmearX11" arraysize="1" datatype="float" unit="arcsec^-2" default="-999">
    99469        <DESCRIPTION>per-object smear polarizability X11 term</DESCRIPTION>
     
    156526        <DESCRIPTION>psf model shear polarizability E2 term</DESCRIPTION>
    157527      </FIELD>
    158       <FIELD name="gGamma" arraysize="1" datatype="float" unit="arcsec^2" default="-999">
    159         <DESCRIPTION>second moment (Mxx+Myy)</DESCRIPTION>
    160       </FIELD>
    161       <FIELD name="gE1" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    162         <DESCRIPTION>polarization, KSB-corrected (Mxx - Myy) / (Mxx + Myy)</DESCRIPTION>
    163       </FIELD>
    164       <FIELD name="gE2" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    165         <DESCRIPTION>polarization, KSB-corrected 2Mxy / (Mxx + Myy)</DESCRIPTION>
    166       </FIELD>
    167528      <FIELD name="rStackID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    168529        <DESCRIPTION>stack image id (how to carry through IPP+DVO</DESCRIPTION>
    169       </FIELD>
    170       <FIELD name="rnTotal" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    171         <DESCRIPTION>number of detections in r filter</DESCRIPTION>
    172       </FIELD>
    173       <FIELD name="rnIncPSFFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    174         <DESCRIPTION>number of detections included in robust psf mean in r filter</DESCRIPTION>
    175       </FIELD>
    176       <FIELD name="rnIncKronFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    177         <DESCRIPTION>number of detections included in robust mean of Kron mag in r filter</DESCRIPTION>
    178       </FIELD>
    179       <FIELD name="rnIncApFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    180         <DESCRIPTION>number of detections included in robust mean of Ap Flux in r filter</DESCRIPTION>
    181       </FIELD>
    182       <FIELD name="rnIncR5" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    183         <DESCRIPTION>number of detections included in robust mean of ApFlx 5 in r filter</DESCRIPTION>
    184       </FIELD>
    185       <FIELD name="rnIncR6" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    186         <DESCRIPTION>number of detections included in robust mean of ApFlx 6 in r filter</DESCRIPTION>
    187       </FIELD>
    188       <FIELD name="rPSFFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    189         <DESCRIPTION> robust mean r psf AB magnitude (sigma clipping or MAP or go to 5 or 7 number summary? 1/12 is ~9th percentile</DESCRIPTION>
    190       </FIELD>
    191       <FIELD name="rPSFFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    192         <DESCRIPTION> estimated error of g psf AB magnitude mean(individual errors added in quadrature)</DESCRIPTION>
    193       </FIELD>
    194       <FIELD name="rPSFFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    195         <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
    196       </FIELD>
    197       <FIELD name="rKronFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    198         <DESCRIPTION>mean r kron AB magnitude</DESCRIPTION>
    199       </FIELD>
    200       <FIELD name="rKronFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    201         <DESCRIPTION> estimated error of r kron AB magnitude mean</DESCRIPTION>
    202       </FIELD>
    203       <FIELD name="rKronFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    204         <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
    205       </FIELD>
    206       <FIELD name="rApFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    207         <DESCRIPTION>mean r aperture AB magnitude</DESCRIPTION>
    208       </FIELD>
    209       <FIELD name="rApFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    210         <DESCRIPTION> estimated error of r aperture AB magnitude mean</DESCRIPTION>
    211       </FIELD>
    212       <FIELD name="rApFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    213         <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
    214       </FIELD>
    215       <FIELD name="rFmeanflxR5" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    216         <DESCRIPTION>Flux inside r = 5 in r unconvolved stack</DESCRIPTION>
    217       </FIELD>
    218       <FIELD name="rFmeanflxR5Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    219         <DESCRIPTION>estimated error in flxR5</DESCRIPTION>
    220       </FIELD>
    221       <FIELD name="rFmeanflxR5Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    222         <DESCRIPTION>estimated standard deviation in flxR5</DESCRIPTION>
    223       </FIELD>
    224       <FIELD name="rFmeanflxR5Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    225         <DESCRIPTION>estimated filling factor at R5</DESCRIPTION>
    226       </FIELD>
    227       <FIELD name="rFmeanflxR6" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    228         <DESCRIPTION>Flux inside r = 6 in r unconvolved stack</DESCRIPTION>
    229       </FIELD>
    230       <FIELD name="rFmeanflxR6Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    231         <DESCRIPTION>estimated error in flxR6</DESCRIPTION>
    232       </FIELD>
    233       <FIELD name="rFmeanflxR6Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    234         <DESCRIPTION>estimated standard deviation in flxR6</DESCRIPTION>
    235       </FIELD>
    236       <FIELD name="rFmeanflxR6Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    237         <DESCRIPTION>estimated filling factor at R6</DESCRIPTION>
    238       </FIELD>
    239       <FIELD name="rFlags" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    240         <DESCRIPTION>flags for r forced</DESCRIPTION>
    241530      </FIELD>
    242531      <FIELD name="rLensObjSmearX11" arraysize="1" datatype="float" unit="arcsec^-2" default="-999">
     
    300589        <DESCRIPTION>psf model shear polarizability E2 term</DESCRIPTION>
    301590      </FIELD>
    302       <FIELD name="rGamma" arraysize="1" datatype="float" unit="arcsec^2" default="-999">
    303         <DESCRIPTION>second moment (Mxx+Myy)</DESCRIPTION>
    304       </FIELD>
    305       <FIELD name="rE1" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    306         <DESCRIPTION>polarization, KSB-corrected (Mxx - Myy) / (Mxx + Myy)</DESCRIPTION>
    307       </FIELD>
    308       <FIELD name="rE2" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    309         <DESCRIPTION>polarization, KSB-corrected 2Mxy / (Mxx + Myy)</DESCRIPTION>
    310       </FIELD>
    311591      <FIELD name="iStackID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    312592        <DESCRIPTION>stack image id (how to carry through IPP+DVO</DESCRIPTION>
    313593      </FIELD>
    314       <FIELD name="inTotal" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    315         <DESCRIPTION>number of detections in i filter</DESCRIPTION>
    316       </FIELD>
    317       <FIELD name="inIncPSFFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    318         <DESCRIPTION>number of detections included in robust psf mean in i filter</DESCRIPTION>
    319       </FIELD>
    320       <FIELD name="inIncKronFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    321         <DESCRIPTION>number of detections included in robust mean of Kron mag in i filter</DESCRIPTION>
    322       </FIELD>
    323       <FIELD name="inIncApFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    324         <DESCRIPTION>number of detections included in robust mean of Ap Flux in i filter</DESCRIPTION>
    325       </FIELD>
    326       <FIELD name="inIncR5" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    327         <DESCRIPTION>number of detections included in robust mean of ApFlx 5 in i filter</DESCRIPTION>
    328       </FIELD>
    329       <FIELD name="inIncR6" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    330         <DESCRIPTION>number of detections included in robust mean of ApFlx 6 in i filter</DESCRIPTION>
    331       </FIELD>
    332       <FIELD name="iPSFFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    333         <DESCRIPTION> robust mean i psf AB magnitude (sigma clipping or MAP or go to 5 or 7 number summary? 1/12 is ~9th percentile</DESCRIPTION>
    334       </FIELD>
    335       <FIELD name="iPSFFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    336         <DESCRIPTION> estimated error of i psf AB magnitude mean(individual errors added in quadrature)</DESCRIPTION>
    337       </FIELD>
    338       <FIELD name="iPSFFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    339         <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
    340       </FIELD>
    341       <FIELD name="iKronFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    342         <DESCRIPTION>mean i kron AB magnitude</DESCRIPTION>
    343       </FIELD>
    344       <FIELD name="iKronFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    345         <DESCRIPTION> estimated error of i kron AB magnitude mean</DESCRIPTION>
    346       </FIELD>
    347       <FIELD name="iKronFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    348         <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
    349       </FIELD>
    350       <FIELD name="iApFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    351         <DESCRIPTION>mean i aperture AB magnitude</DESCRIPTION>
    352       </FIELD>
    353       <FIELD name="iApFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    354         <DESCRIPTION> estimated error of i aperture AB magnitude mean</DESCRIPTION>
    355       </FIELD>
    356       <FIELD name="iApFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    357         <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
    358       </FIELD>
    359       <FIELD name="iFmeanflxR5" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    360         <DESCRIPTION>Flux inside r = 5 in i unconvolved stack</DESCRIPTION>
    361       </FIELD>
    362       <FIELD name="iFmeanflxR5Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    363         <DESCRIPTION>estimated error in flxR5</DESCRIPTION>
    364       </FIELD>
    365       <FIELD name="iFmeanflxR5Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    366         <DESCRIPTION>estimated standard deviation in flxR5</DESCRIPTION>
    367       </FIELD>
    368       <FIELD name="iFmeanflxR5Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    369         <DESCRIPTION>estimated filling factor at R5</DESCRIPTION>
    370       </FIELD>
    371       <FIELD name="iFmeanflxR6" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    372         <DESCRIPTION>Flux inside r = 6 in i unconvolved stack</DESCRIPTION>
    373       </FIELD>
    374       <FIELD name="iFmeanflxR6Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    375         <DESCRIPTION>estimated error in flxR6</DESCRIPTION>
    376       </FIELD>
    377       <FIELD name="iFmeanflxR6Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    378         <DESCRIPTION>estimated standard deviation in flxR6</DESCRIPTION>
    379       </FIELD>
    380       <FIELD name="iFmeanflxR6Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    381         <DESCRIPTION>estimated filling factor at R6</DESCRIPTION>
    382       </FIELD>
    383       <FIELD name="iFlags" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    384         <DESCRIPTION>flags for i forced</DESCRIPTION>
    385       </FIELD>
    386594      <FIELD name="iLensObjSmearX11" arraysize="1" datatype="float" unit="arcsec^-2" default="-999">
    387         <DESCRIPTION>per-object smear polarizability X11 term</DESCRIPTION>
     595        <DESCRIPTION>per-object smear polarizability X11 term</DESCRIPTION>
    388596      </FIELD>
    389597      <FIELD name="iLensObjSmearX12" arraysize="1" datatype="float" unit="arcsec^-2" default="-999">
    390         <DESCRIPTION>per-object smear polarizability X12 term</DESCRIPTION>
     598        <DESCRIPTION>per-object smear polarizability X12 term</DESCRIPTION>
    391599      </FIELD>
    392600      <FIELD name="iLensObjSmearX22" arraysize="1" datatype="float" unit="arcsec^-2" default="-999">
    393         <DESCRIPTION>per-object smear polarizability X22 term</DESCRIPTION>
     601        <DESCRIPTION>per-object smear polarizability X22 term</DESCRIPTION>
    394602      </FIELD>
    395603      <FIELD name="iLensObjSmearE1" arraysize="1" datatype="float" unit="arcsec^-2" default="-999">
    396         <DESCRIPTION>per-object smear polarizability E1 term</DESCRIPTION>
     604        <DESCRIPTION>per-object smear polarizability E1 term</DESCRIPTION>
    397605      </FIELD>
    398606      <FIELD name="iLensObjSmearE2" arraysize="1" datatype="float" unit="arcsec^-2" default="-999">
    399         <DESCRIPTION>per-object smear polarizability E2 term</DESCRIPTION>
     607        <DESCRIPTION>per-object smear polarizability E2 term</DESCRIPTION>
    400608      </FIELD>
    401609      <FIELD name="iLensObjShearX11" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     
    444652        <DESCRIPTION>psf model shear polarizability E2 term</DESCRIPTION>
    445653      </FIELD>
    446       <FIELD name="iGamma" arraysize="1" datatype="float" unit="arcsec^2" default="-999">
    447         <DESCRIPTION>second moment (Mxx+Myy)</DESCRIPTION>
    448       </FIELD>
    449       <FIELD name="iE1" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    450         <DESCRIPTION>polarization, KSB-corrected (Mxx - Myy) / (Mxx + Myy)</DESCRIPTION>
    451       </FIELD>
    452       <FIELD name="iE2" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    453         <DESCRIPTION>polarization, KSB-corrected 2Mxy / (Mxx + Myy)</DESCRIPTION>
    454       </FIELD>
    455654      <FIELD name="zStackID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    456655        <DESCRIPTION>stack image id (how to carry through IPP+DVO</DESCRIPTION>
    457       </FIELD>
    458       <FIELD name="znTotal" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    459         <DESCRIPTION>number of detections in z filter</DESCRIPTION>
    460       </FIELD>
    461       <FIELD name="znIncPSFFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    462         <DESCRIPTION>number of detections included in robust psf mean in z filter</DESCRIPTION>
    463       </FIELD>
    464       <FIELD name="znIncKronFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    465         <DESCRIPTION>number of detections included in robust mean of Kron mag in z filter</DESCRIPTION>
    466       </FIELD>
    467       <FIELD name="znIncApFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    468         <DESCRIPTION>number of detections included in robust mean of Ap Flux in z filter</DESCRIPTION>
    469       </FIELD>
    470       <FIELD name="znIncR5" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    471         <DESCRIPTION>number of detections included in robust mean of ApFlx 5 in z filter</DESCRIPTION>
    472       </FIELD>
    473       <FIELD name="znIncR6" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    474         <DESCRIPTION>number of detections included in robust mean of ApFlx 6 in z filter</DESCRIPTION>
    475       </FIELD>
    476       <FIELD name="zPSFFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    477         <DESCRIPTION> robust mean z psf AB magnitude (sigma clipping or MAP or go to 5 or 7 number summary? 1/12 is ~9th percentile</DESCRIPTION>
    478       </FIELD>
    479       <FIELD name="zPSFFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    480         <DESCRIPTION> estimated error of z psf AB magnitude mean(individual errors added in quadrature)</DESCRIPTION>
    481       </FIELD>
    482       <FIELD name="zPSFFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    483         <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
    484       </FIELD>
    485       <FIELD name="zKronFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    486         <DESCRIPTION>mean z kron AB magnitude</DESCRIPTION>
    487       </FIELD>
    488       <FIELD name="zKronFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    489         <DESCRIPTION> estimated error of z kron AB magnitude mean</DESCRIPTION>
    490       </FIELD>
    491       <FIELD name="zKronFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    492         <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
    493       </FIELD>
    494       <FIELD name="zApFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    495         <DESCRIPTION>mean z aperture AB magnitude</DESCRIPTION>
    496       </FIELD>
    497       <FIELD name="zApFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    498         <DESCRIPTION> estimated error of z aperture AB magnitude mean</DESCRIPTION>
    499       </FIELD>
    500       <FIELD name="zApFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    501         <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
    502       </FIELD>
    503       <FIELD name="zFmeanflxR5" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    504         <DESCRIPTION>Flux inside r = 5 in z unconvolved stack</DESCRIPTION>
    505       </FIELD>
    506       <FIELD name="zFmeanflxR5Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    507         <DESCRIPTION>estimated error in flxR5</DESCRIPTION>
    508       </FIELD>
    509       <FIELD name="zFmeanflxR5Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    510         <DESCRIPTION>estimated standard deviation in flxR5</DESCRIPTION>
    511       </FIELD>
    512       <FIELD name="zFmeanflxR5Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    513         <DESCRIPTION>estimated filling factor at R5</DESCRIPTION>
    514       </FIELD>
    515       <FIELD name="zFmeanflxR6" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    516         <DESCRIPTION>Flux inside r = 6 in z unconvolved stack</DESCRIPTION>
    517       </FIELD>
    518       <FIELD name="zFmeanflxR6Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    519         <DESCRIPTION>estimated error in flxR6</DESCRIPTION>
    520       </FIELD>
    521       <FIELD name="zFmeanflxR6Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    522         <DESCRIPTION>estimated standard deviation in flxR6</DESCRIPTION>
    523       </FIELD>
    524       <FIELD name="zFmeanflxR6Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    525         <DESCRIPTION>estimated filling factor at R6</DESCRIPTION>
    526       </FIELD>
    527       <FIELD name="zFlags" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    528         <DESCRIPTION>flags for z forced</DESCRIPTION>
    529656      </FIELD>
    530657      <FIELD name="zLensObjSmearX11" arraysize="1" datatype="float" unit="arcsec^-2" default="-999">
     
    588715        <DESCRIPTION>psf model shear polarizability E2 term</DESCRIPTION>
    589716      </FIELD>
    590       <FIELD name="zGamma" arraysize="1" datatype="float" unit="arcsec^2" default="-999">
    591         <DESCRIPTION>second moment (Mxx+Myy)</DESCRIPTION>
    592       </FIELD>
    593       <FIELD name="zE1" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    594         <DESCRIPTION>polarization, KSB-corrected (Mxx - Myy) / (Mxx + Myy)</DESCRIPTION>
    595       </FIELD>
    596       <FIELD name="zE2" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    597         <DESCRIPTION>polarization, KSB-corrected 2Mxy / (Mxx + Myy)</DESCRIPTION>
    598       </FIELD>
    599717      <FIELD name="yStackID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    600718        <DESCRIPTION>stack image id (how to carry through IPP+DVO</DESCRIPTION>
    601       </FIELD>
    602       <FIELD name="ynTotal" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    603         <DESCRIPTION>number of detections in y filter</DESCRIPTION>
    604       </FIELD>
    605       <FIELD name="ynIncPSFFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    606         <DESCRIPTION>number of detections included in robust psf mean in y filter</DESCRIPTION>
    607       </FIELD>
    608       <FIELD name="ynIncKronFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    609         <DESCRIPTION>number of detections included in robust mean of Kron mag in y filter</DESCRIPTION>
    610       </FIELD>
    611       <FIELD name="ynIncApFlux" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    612         <DESCRIPTION>number of detections included in robust mean of Ap Flux in y filter</DESCRIPTION>
    613       </FIELD>
    614       <FIELD name="ynIncR5" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    615         <DESCRIPTION>number of detections included in robust mean of ApFlx 5 in y filter</DESCRIPTION>
    616       </FIELD>
    617       <FIELD name="ynIncR6" arraysize="1" datatype="short" unit="dimensionless" default="-999">
    618         <DESCRIPTION>number of detections included in robust mean of ApFlx 6 in y filter</DESCRIPTION>
    619       </FIELD>
    620       <FIELD name="yPSFFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    621         <DESCRIPTION> robust mean y psf AB magnitude (sigma clipping or MAP or go to 5 or 7 number summary? 1/12 is ~9th percentile</DESCRIPTION>
    622       </FIELD>
    623       <FIELD name="yPSFFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    624         <DESCRIPTION> estimated error of y psf AB magnitude mean(individual errors added in quadrature)</DESCRIPTION>
    625       </FIELD>
    626       <FIELD name="yPSFFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    627         <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
    628       </FIELD>
    629       <FIELD name="yKronFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    630         <DESCRIPTION>mean y kron AB magnitude</DESCRIPTION>
    631       </FIELD>
    632       <FIELD name="yKronFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    633         <DESCRIPTION> estimated error of y kron AB magnitude mean</DESCRIPTION>
    634       </FIELD>
    635       <FIELD name="yKronFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    636         <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
    637       </FIELD>
    638       <FIELD name="yApFlux" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    639         <DESCRIPTION>mean y aperture AB magnitude</DESCRIPTION>
    640       </FIELD>
    641       <FIELD name="yApFluxErr" arraysize="1" datatype="float" unit="AB magnitude" default="-999">
    642         <DESCRIPTION> estimated error of y aperture AB magnitude mean</DESCRIPTION>
    643       </FIELD>
    644       <FIELD name="yApFluxStd" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    645         <DESCRIPTION>standard deviation of measurements included in the robust mean</DESCRIPTION>
    646       </FIELD>
    647       <FIELD name="yFmeanflxR5" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    648         <DESCRIPTION>Flux inside r = 5 in y unconvolved stack</DESCRIPTION>
    649       </FIELD>
    650       <FIELD name="yFmeanflxR5Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    651         <DESCRIPTION>estimated error in flxR5</DESCRIPTION>
    652       </FIELD>
    653       <FIELD name="yFmeanflxR5Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    654         <DESCRIPTION>estimated standard deviation in flxR5</DESCRIPTION>
    655       </FIELD>
    656       <FIELD name="yFmeanflxR5Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    657         <DESCRIPTION>estimated filling factor at R5</DESCRIPTION>
    658       </FIELD>
    659       <FIELD name="yFmeanflxR6" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    660         <DESCRIPTION>Flux inside r = 6 in y unconvolved stack</DESCRIPTION>
    661       </FIELD>
    662       <FIELD name="yFmeanflxR6Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    663         <DESCRIPTION>estimated error in flxR6</DESCRIPTION>
    664       </FIELD>
    665       <FIELD name="yFmeanflxR6Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    666         <DESCRIPTION>estimated standard deviation in flxR6</DESCRIPTION>
    667       </FIELD>
    668       <FIELD name="yFmeanflxR6Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    669         <DESCRIPTION>estimated filling factor at R6</DESCRIPTION>
    670       </FIELD>
    671       <FIELD name="yFlags" arraysize="1" datatype="long" unit="dimensionless" default="NA">
    672         <DESCRIPTION>flags for y forced</DESCRIPTION>
    673719      </FIELD>
    674720      <FIELD name="yLensObjSmearX11" arraysize="1" datatype="float" unit="arcsec^-2" default="-999">
     
    731777      <FIELD name="yLensPSFShearE2" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    732778        <DESCRIPTION>psf model shear polarizability E2 term</DESCRIPTION>
    733       </FIELD>
    734       <FIELD name="yGamma" arraysize="1" datatype="float" unit="arcsec^2" default="-999">
    735         <DESCRIPTION>second moment (Mxx+Myy)</DESCRIPTION>
    736       </FIELD>
    737       <FIELD name="yE1" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    738         <DESCRIPTION>polarization, KSB-corrected (Mxx - Myy) / (Mxx + Myy)</DESCRIPTION>
    739       </FIELD>
    740       <FIELD name="yE2" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    741         <DESCRIPTION>polarization, KSB-corrected 2Mxy / (Mxx + Myy)</DESCRIPTION>
    742779      </FIELD>
    743780      <DATA>
  • branches/eam_branches/ipp-20150112/ippToPsps/config/tables.FW.vot

    r37722 r38052  
    236236        <DESCRIPTION> Kron radius</DESCRIPTION>
    237237      </FIELD>
    238       <FIELD name="kronRadErr" arraysize="1" datatype="float" unit="arcsec" default="-999">
    239         <DESCRIPTION> Kron radius error</DESCRIPTION>
    240       </FIELD>
    241238      <FIELD name="sky" arraysize="1" datatype="float" unit="adu/sec/pixel" default="-999">
    242239        <DESCRIPTION> PSF sky level at source</DESCRIPTION>
     
    297294        <DESCRIPTION> Time of mid observation of positive detection in Mean Julian Days</DESCRIPTION>
    298295      </FIELD>
     296      <FIELD name="flxR5" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     297        <DESCRIPTION>Flux inside r = 5</DESCRIPTION>
     298      </FIELD>
     299      <FIELD name="flxR5Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     300        <DESCRIPTION>estimated error in flxR5</DESCRIPTION>
     301      </FIELD>
     302      <FIELD name="flxR5Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     303        <DESCRIPTION>estimated standard deviation in flxR5</DESCRIPTION>
     304      </FIELD>
     305      <FIELD name="flxR5Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     306        <DESCRIPTION>estimated filling factor at R5</DESCRIPTION>
     307      </FIELD>
     308      <FIELD name="flxR6" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     309        <DESCRIPTION>Flux inside r = 6</DESCRIPTION>
     310      </FIELD>
     311      <FIELD name="flxR6Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     312        <DESCRIPTION>estimated error in flxR6</DESCRIPTION>
     313      </FIELD>
     314      <FIELD name="flxR6Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
     315        <DESCRIPTION>estimated standard deviation in flxR6</DESCRIPTION>
     316      </FIELD>
     317      <FIELD name="flxR6Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     318        <DESCRIPTION>estimated filling factor at R6</DESCRIPTION>
     319      </FIELD>
     320      <DATA>
     321        <TABLEDATA></TABLEDATA>
     322      </DATA>
     323    </TABLE>
     324    <TABLE name="ForcedWarpLensing">
     325      <DESCRIPTION>VOTable description of PSPS table ForcedWarpMeasurement</DESCRIPTION>
     326      <PARAM arraysize="1" datatype="char" ucd="meta.bib.author" name="Author" value="PSPS"></PARAM>
     327      <FIELD name="objID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     328        <DESCRIPTION>ODM object identifier</DESCRIPTION>
     329      </FIELD>
     330      <FIELD name="uniquePspsFWid" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     331        <DESCRIPTION>unique psps id</DESCRIPTION>
     332      </FIELD>
     333      <FIELD name="detectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     334        <DESCRIPTION>ODM  detection identifier</DESCRIPTION>
     335      </FIELD>
     336      <FIELD name="ippObjID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     337        <DESCRIPTION>object id generated by IPP</DESCRIPTION>
     338      </FIELD>
     339      <FIELD name="ippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     340        <DESCRIPTION>detection id generated by IPP</DESCRIPTION>
     341      </FIELD>
     342      <FIELD name="filterID" arraysize="1" datatype="unsignedByte" unit="dimensionless" default="NA">
     343        <DESCRIPTION>filter ID: g=1, r=2, i=3, z=4, y=5, w=6, ...</DESCRIPTION>
     344      </FIELD>
     345      <FIELD name="surveyID" arraysize="1" datatype="unsignedByte" unit="dimensionless" default="NA">
     346        <DESCRIPTION>survey flag identifier</DESCRIPTION>
     347      </FIELD>
     348      <FIELD name="forcedWarpID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     349        <DESCRIPTION>forced warp measurement meta identifer</DESCRIPTION>
     350      </FIELD>
     351      <FIELD name="randomWarpID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     352        <DESCRIPTION> random warp id</DESCRIPTION>
     353      </FIELD>
     354      <FIELD name="skyCellID" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     355        <DESCRIPTION>single float givijng PrimaryCell.SkyCell identifier</DESCRIPTION>
     356      </FIELD>
     357      <FIELD name="dvoRegionID" arraysize="1" datatype="float" unit="dimensionless" default="-999">
     358        <DESCRIPTION> identifier to dvo spacial region</DESCRIPTION>
     359      </FIELD>
     360      <FIELD name="obsTime" arraysize="1" datatype="double" unit="MeanJulianDays" default="-999">
     361        <DESCRIPTION> Time of mid observation of positive detection in Mean Julian Days</DESCRIPTION>
     362      </FIELD>
    299363      <FIELD name="lensObjSmearX11" arraysize="1" datatype="float" unit="arcsec^-2" default="-999">
    300364        <DESCRIPTION>per-object smear polarizability X11 term</DESCRIPTION>
     
    356420      <FIELD name="lensPSFShearE2" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    357421        <DESCRIPTION>psf model shear polarizability E2 term</DESCRIPTION>
    358       </FIELD>
    359       <FIELD name="flxR5" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    360         <DESCRIPTION>Flux inside r = 5</DESCRIPTION>
    361       </FIELD>
    362       <FIELD name="flxR5Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    363         <DESCRIPTION>estimated error in flxR5</DESCRIPTION>
    364       </FIELD>
    365       <FIELD name="flxR5Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    366         <DESCRIPTION>estimated standard deviation in flxR5</DESCRIPTION>
    367       </FIELD>
    368       <FIELD name="flxR5Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    369         <DESCRIPTION>estimated filling factor at R5</DESCRIPTION>
    370       </FIELD>
    371       <FIELD name="flxR6" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    372         <DESCRIPTION>Flux inside r = 6</DESCRIPTION>
    373       </FIELD>
    374       <FIELD name="flxR6Err" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    375         <DESCRIPTION>estimated error in flxR6</DESCRIPTION>
    376       </FIELD>
    377       <FIELD name="flxR6Std" arraysize="1" datatype="float" unit="adu/seconds" default="-999">
    378         <DESCRIPTION>estimated standard deviation in flxR6</DESCRIPTION>
    379       </FIELD>
    380       <FIELD name="flxR6Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    381         <DESCRIPTION>estimated filling factor at R6</DESCRIPTION>
    382422      </FIELD>
    383423      <DATA>
  • branches/eam_branches/ipp-20150112/ippToPsps/config/tables.ST.vot

    r37722 r38052  
    10801080        <DESCRIPTION>Flux inside r = 3</DESCRIPTION>
    10811081      </FIELD>
    1082       <FIELD name="gcflxR3Err" arraysize="1" datatype="float" unit="Jy" default="-999">
     1082      <FIELD name="gc8flxR3Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    10831083        <DESCRIPTION>estimated error in c8flxR3</DESCRIPTION>
    10841084      </FIELD>
     
    28472847        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    28482848      </FIELD>
    2849       <FIELD name="gflxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    2850         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    2851       </FIELD>
    2852       <FIELD name="gflxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    2853         <DESCRIPTION>estimated error is flxR10</DESCRIPTION>
    2854       </FIELD>
    2855       <FIELD name="gflxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    2856         <DESCRIPTION>estimated standard deviation in flxR10</DESCRIPTION>
    2857       </FIELD>
    2858       <FIELD name="gflxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    2859         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    2860       </FIELD>
    2861 
    28622849      <!-- r-band values -->
    28632850      <FIELD name="rippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    29782965        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    29792966      </FIELD>
    2980       <FIELD name="rflxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    2981         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    2982       </FIELD>
    2983       <FIELD name="rflxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    2984         <DESCRIPTION>estimated error is flxR10</DESCRIPTION>
    2985       </FIELD>
    2986       <FIELD name="rflxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    2987         <DESCRIPTION>estimated standard deviation in flxR10</DESCRIPTION>
    2988       </FIELD>
    2989       <FIELD name="rflxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    2990         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    2991       </FIELD>
    2992 
    29932967      <!-- i-band values -->
    29942968      <FIELD name="iippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    31093083        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    31103084      </FIELD>
    3111       <FIELD name="iflxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    3112         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    3113       </FIELD>
    3114       <FIELD name="iflxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    3115         <DESCRIPTION>estimated error is flxR10</DESCRIPTION>
    3116       </FIELD>
    3117       <FIELD name="iflxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    3118         <DESCRIPTION>estimated standard deviation in flxR10</DESCRIPTION>
    3119       </FIELD>
    3120       <FIELD name="iflxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    3121         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    3122       </FIELD>
    3123 
    31243085      <!-- z-band values -->
    31253086      <FIELD name="zippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    32403201        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    32413202      </FIELD>
    3242       <FIELD name="zflxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    3243         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    3244       </FIELD>
    3245       <FIELD name="zflxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    3246         <DESCRIPTION>estimated error is flxR10</DESCRIPTION>
    3247       </FIELD>
    3248       <FIELD name="zflxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    3249         <DESCRIPTION>estimated standard deviation in flxR10</DESCRIPTION>
    3250       </FIELD>
    3251       <FIELD name="zflxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    3252         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    3253       </FIELD>
    3254 
    32553203      <!-- y-band values -->
    32563204      <FIELD name="yippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    33713319        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    33723320      </FIELD>
    3373       <FIELD name="yflxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    3374         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    3375       </FIELD>
    3376       <FIELD name="yflxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    3377         <DESCRIPTION>estimated error is flxR10</DESCRIPTION>
    3378       </FIELD>
    3379       <FIELD name="yflxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    3380         <DESCRIPTION>estimated standard deviation in flxR10</DESCRIPTION>
    3381       </FIELD>
    3382       <FIELD name="yflxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    3383         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    3384       </FIELD>
    3385 
    33863321      <DATA>
    33873322        <TABLEDATA></TABLEDATA>
     
    35333468        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    35343469      </FIELD>
    3535       <FIELD name="gc6flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    3536         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    3537       </FIELD>
    3538       <FIELD name="gc6flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    3539         <DESCRIPTION>estimated error is c6flxR10</DESCRIPTION>
    3540       </FIELD>
    3541       <FIELD name="gc6flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    3542         <DESCRIPTION>estimated standard deviation in c6flxR10</DESCRIPTION>
    3543       </FIELD>
    3544       <FIELD name="gc6flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    3545         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    3546       </FIELD>
    3547 
    35483470      <!-- r-band values -->
    35493471      <FIELD name="rippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    36643586        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    36653587      </FIELD>
    3666       <FIELD name="rc6flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    3667         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    3668       </FIELD>
    3669       <FIELD name="rc6flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    3670         <DESCRIPTION>estimated error is c6flxR10</DESCRIPTION>
    3671       </FIELD>
    3672       <FIELD name="rc6flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    3673         <DESCRIPTION>estimated standard deviation in c6flxR10</DESCRIPTION>
    3674       </FIELD>
    3675       <FIELD name="rc6flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    3676         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    3677       </FIELD>
    3678 
    36793588      <!-- i-band values -->
    36803589      <FIELD name="iippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    37953704        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    37963705      </FIELD>
    3797       <FIELD name="ic6flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    3798         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    3799       </FIELD>
    3800       <FIELD name="ic6flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    3801         <DESCRIPTION>estimated error is c6flxR10</DESCRIPTION>
    3802       </FIELD>
    3803       <FIELD name="ic6flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    3804         <DESCRIPTION>estimated standard deviation in c6flxR10</DESCRIPTION>
    3805       </FIELD>
    3806       <FIELD name="ic6flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    3807         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    3808       </FIELD>
    3809 
    38103706      <!-- z-band values -->
    38113707      <FIELD name="zippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    39263822        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    39273823      </FIELD>
    3928       <FIELD name="zc6flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    3929         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    3930       </FIELD>
    3931       <FIELD name="zc6flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    3932         <DESCRIPTION>estimated error is c6flxR10</DESCRIPTION>
    3933       </FIELD>
    3934       <FIELD name="zc6flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    3935         <DESCRIPTION>estimated standard deviation in c6flxR10</DESCRIPTION>
    3936       </FIELD>
    3937       <FIELD name="zc6flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    3938         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    3939       </FIELD>
    3940 
    39413824      <!-- y-band values -->
    39423825      <FIELD name="yippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    40573940        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    40583941      </FIELD>
    4059       <FIELD name="yc6flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    4060         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    4061       </FIELD>
    4062       <FIELD name="yc6flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    4063         <DESCRIPTION>estimated error is c6flxR10</DESCRIPTION>
    4064       </FIELD>
    4065       <FIELD name="yc6flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    4066         <DESCRIPTION>estimated standard deviation in c6flxR10</DESCRIPTION>
    4067       </FIELD>
    4068       <FIELD name="yc6flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    4069         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    4070       </FIELD>
    4071 
    40723942      <DATA>
    40733943        <TABLEDATA></TABLEDATA>
     
    42194089        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    42204090      </FIELD>
    4221       <FIELD name="gc8flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    4222         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    4223       </FIELD>
    4224       <FIELD name="gc8flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    4225         <DESCRIPTION>estimated error is c8flxR10</DESCRIPTION>
    4226       </FIELD>
    4227       <FIELD name="gc8flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    4228         <DESCRIPTION>estimated standard deviation in c8flxR10</DESCRIPTION>
    4229       </FIELD>
    4230       <FIELD name="gc8flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    4231         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    4232       </FIELD>
    4233 
    42344091      <!-- r-band values -->
    42354092      <FIELD name="rippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    43504207        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    43514208      </FIELD>
    4352       <FIELD name="rc8flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    4353         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    4354       </FIELD>
    4355       <FIELD name="rc8flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    4356         <DESCRIPTION>estimated error is c8flxR10</DESCRIPTION>
    4357       </FIELD>
    4358       <FIELD name="rc8flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    4359         <DESCRIPTION>estimated standard deviation in c8flxR10</DESCRIPTION>
    4360       </FIELD>
    4361       <FIELD name="rc8flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    4362         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    4363       </FIELD>
    4364 
    43654209      <!-- i-band values -->
    43664210      <FIELD name="iippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    44814325        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    44824326      </FIELD>
    4483       <FIELD name="ic8flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    4484         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    4485       </FIELD>
    4486       <FIELD name="ic8flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    4487         <DESCRIPTION>estimated error is c8flxR10</DESCRIPTION>
    4488       </FIELD>
    4489       <FIELD name="ic8flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    4490         <DESCRIPTION>estimated standard deviation in c8flxR10</DESCRIPTION>
    4491       </FIELD>
    4492       <FIELD name="ic8flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    4493         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    4494       </FIELD>
    4495 
    44964327      <!-- z-band values -->
    44974328      <FIELD name="zippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    46124443        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    46134444      </FIELD>
    4614       <FIELD name="zc8flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    4615         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    4616       </FIELD>
    4617       <FIELD name="zc8flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    4618         <DESCRIPTION>estimated error is c8flxR10</DESCRIPTION>
    4619       </FIELD>
    4620       <FIELD name="zc8flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    4621         <DESCRIPTION>estimated standard deviation in c8flxR10</DESCRIPTION>
    4622       </FIELD>
    4623       <FIELD name="zc8flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    4624         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    4625       </FIELD>
    4626 
    46274445      <!-- y-band values -->
    46284446      <FIELD name="yippDetectID" arraysize="1" datatype="long" unit="dimensionless" default="NA">
     
    47434561        <DESCRIPTION>estimated filling factor at R9</DESCRIPTION>
    47444562      </FIELD>
    4745       <FIELD name="yc8flxR10" arraysize="1" datatype="float" unit="Jy" default="-999">
    4746         <DESCRIPTION>Flux inside r = 10</DESCRIPTION>
    4747       </FIELD>
    4748       <FIELD name="yc8flxR10Err" arraysize="1" datatype="float" unit="Jy" default="-999">
    4749         <DESCRIPTION>estimated error is c8flxR10</DESCRIPTION>
    4750       </FIELD>
    4751       <FIELD name="yc8flxR10Std" arraysize="1" datatype="float" unit="Jy" default="-999">
    4752         <DESCRIPTION>estimated standard deviation in c8flxR10</DESCRIPTION>
    4753       </FIELD>
    4754       <FIELD name="yc8flxR10Fill" arraysize="1" datatype="float" unit="dimensionless" default="-999">
    4755         <DESCRIPTION>estimated filling factor at R10</DESCRIPTION>
    4756       </FIELD>
    4757 
    47584563      <DATA>
    47594564        <TABLEDATA></TABLEDATA>
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/Makefile.am

    r37551 r38052  
    1414  diffobjectbatch.py \
    1515  dvodetections.py \
     16  dvodiffobjects.py \
    1617  dvoforceddetections.py \
    1718  dvoforcedobjects.py \
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/detectionbatch.py

    r37763 r38052  
    401401        # XXX EAM 2014072 : Is this still a problem?
    402402        sql = "UPDATE " + pspsTableName + " SET psfFlux = 1e20 WHERE psfFlux <= 0.0"
    403         self.scratchDb.execute(sql)
    404        
     403        try: self.scratchDb.execute(sql)
     404        except:
     405            self.logger.infoPair("failed sql",sql)
     406            raise
    405407        sql = "UPDATE " + pspsTableName + " SET apFlux = 1e20 WHERE apFlux <= 0.0"
    406         self.scratchDb.execute(sql)
    407 
     408        try: self.scratchDb.execute(sql)
     409        except:
     410            self.logger.infoPair("failed sql",sql)
     411            raise
    408412        sql = "UPDATE " + pspsTableName + " SET kronFlux = 1e20 WHERE kronFlux <= 0.0"
    409         self.scratchDb.execute(sql)
    410 
     413        try: self.scratchDb.execute(sql)
     414        except:
     415            self.logger.infoPair("failed sql",sql)
     416            raise
    411417        # we don't delete these anymore
    412418        results['NULLINSTFLUX'] = 0;
     
    604610               AND b.imageID = " + str(imageID)
    605611
    606         self.scratchDb.execute(sql)
    607 
     612        try: self.scratchDb.execute(sql)
     613        except:
     614            self.logger.InfoPair("failed sql",sql)
     615            raise
    608616    '''
    609617    Updates table and generates pspsuniqueids
     
    611619
    612620    def updatePspsUniqueIDs(self,table, ota):
    613         sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, objID from \
    614         (select @r:=0) r, "+table+" t) as foo using (objID) set \
    615         uniquePspsP2id = ((" +str(self.batchID)+ "*1000000000 ) \
    616         + (" +str(ota) + "*10000000  )+rownum)"
     621        #sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, objID from \
     622        #(select @r:=0) r, "+table+" t) as foo using (objID) set \
     623        #uniquePspsP2id = ((" +str(self.batchID)+ "*1000000000 ) \
     624        #+ (" +str(ota) + "*10000000  )+rownum)"
     625        sql = "UPDATE "+table+" set uniquePspsP2id = (("+str(self.batchID)+"*1000000000 ) + (" +str(ota) + "*10000000  )+ row)"
    617626        try: self.scratchDb.execute(sql)
    618627        except:
     
    647656        #self.logger.info("successful populate ");
    648657        # now add DVO IDs
     658        self.logger.infoPair("Adding 'row' column to ", "Detection_"+chipname)
     659        #detection has a primary index, so don't add, use this one
     660        self.scratchDb.addRowCountColumnNoKey("Detection_"+chipname, "row")
    649661        self.updateDvoIDs("Detection_" + chipname, self.imageIDs[chipname])
    650662        #self.logger.info("updated dvoids")
    651663        results['NULLOBJID'] = self.scratchDb.reportAndDeleteRowsWithNULLS("Detection_" + chipname, "objID")
    652664        #self.logger.info("deleted nulls")
     665
     666        ota = x*10+y
     667
     668
    653669        self.logger.info("add psps unique p2 ids")
    654         ota = x*10+y
    655670        self.updatePspsUniqueIDs("Detection_" + chipname, ota)
     671        self.logger.infoPair("Dropping 'row' column from ", "Detection_"+chipname)
     672        self.scratchDb.dropColumn("Detection_"+chipname,"row")
    656673        self.updateImageID("Detection_" + chipname, x, y)
    657674        #self.logger.info("updateImageId")
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/diffbatch.py

    r37763 r38052  
    327327        self.logger.infoPair("need to cull"," nulls objid")
    328328        results= self.scratchDb.reportAndDeleteRowsWithNULLS("DiffDetection", "diffObjID")
     329        self.logger.infoPair("Adding 'row' columns to", "DiffDetection tables")
     330        # diff has a primary key, so use this instead
     331        self.scratchDb.addRowCountColumnNoKey("DiffDetection", "row")
    329332        self.logger.infoPair("adding","uniquePSPSDFid")
    330333        self.updatePspsUniqueIDs("DiffDetection")
     334        self.logger.infoPair("Dropping row column from", "DiffDetection table")
     335        self.scratchDb.dropColumn("DiffDetection", "row")
     336 
    331337
    332338    '''
     
    417423               AND b.imageID = " + str(imageID)
    418424
    419         self.scratchDb.execute(sql)
    420 
     425        try: self.scratchDb.execute(sql)
     426        except:
     427            self.logger.infoPair("failed sql",sql)
     428            raise
    421429    '''
    422430    Updates table and generates pspsuniqueids
     
    424432
    425433    def updatePspsUniqueIDs(self,table):
    426         sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, diffobjID from \
    427         (select @r:=0) r, "+table+" t) as foo using (diffobjID) set \
    428         uniquePspsDFid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
     434        #sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, diffobjID from \
     435        #(select @r:=0) r, "+table+" t) as foo using (diffobjID) set \
     436        #uniquePspsDFid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
     437        sql = "UPDATE DiffDetection set uniquePspsDFid = (("+str(self.batchID)+"*1000000000 ) + row)"
    429438        try: self.scratchDb.execute(sql)
    430439        except:
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/diffobjectbatch.py

    r37763 r38052  
    1414from ipptopspsdb import IppToPspsDb
    1515from scratchdb import ScratchDb
    16 from dvoobjects import DvoObjects
     16#from dvoobjects import DvoObjects
     17from dvodiffobjects import DvoDiffObjects
    1718from sqlUtility import sqlUtility
    1819
     
    5354
    5455       try:
    55            self.dvoObjects = DvoObjects(self.logger, self.config, self.skychunk, self.ippToPspsDb, self.scratchDb)
     56           self.dvoDiffObjects = DvoDiffObjects(self.logger, self.config, self.skychunk, self.ippToPspsDb, self.scratchDb)
    5657       except:
    57            self.logger.errorPair("Unable to create instance of", "DvoObjects")
     58           self.logger.errorPair("Unable to create instance of", "DvoDiffObjects")
    5859           raise
    5960
     
    7273        self.region = self.scratchDb.getRegionNameFromThisDvoIndex(self.id)
    7374        self.ippToPspsDb.insertObjectMeta(self.batchID, self.region)
    74         self.dvoObjects.nativeIngestRegion(self.region)
     75        self.dvoDiffObjects.nativeIngestRegion(self.region)
    7576
    7677        cptTableName = self.scratchDb.getDbFriendlyTableName(self.region + ".cpt")
     
    177178            sql += ")) "
    178179
    179             sql += "SET DiffDetObject.n" + filter[1] + " = NCODE, "
    180             sql += "DiffDetObject.nDetections = DiffDetObject.nDetections + cps.NSTACK_DET"
     180            sql += "SET DiffDetObject.n" + filter[1] + " = NWARP, "
     181            sql += "DiffDetObject.nDetections = DiffDetObject.nDetections + cps.NWARP"
    181182            self.logger.info(sql)
    182             self.scratchDb.execute(sql)
     183            try:
     184                self.scratchDb.execute(sql)
     185            except:
     186                self.logger.errorPair("failed sql", sql)
     187                raise
     188                return False
     189
    183190
    184191        # XXX this does not seem like a good thing to leave in SQL
    185         self.logger.infoPair("Calculating nDetections from", "n[filters]")
    186         for filter in filters:
     192        #self.logger.infoPair("Calculating nDetections from", "n[filters]")
     193        #for filter in filters:
    187194            # now do a sum of n[filters], but do not include the ones with -999
    188             sql  = "UPDATE DiffDetObject "
    189             sql += "SET nDetections = nDetections + n" + filter[1]
    190             sql += " WHERE n" + filter[1] + " != -999"
    191             self.scratchDb.execute(sql)
     195         #   sql  = "UPDATE DiffDetObject "
     196         #   sql += "SET nDetections = nDetections + n" + filter[1]
     197         #   sql += " WHERE n" + filter[1] + " != -999"
     198         #   try:
     199         #       self.scratchDb.execute(sql)
     200         #   except:
     201         #       self.logger.errorPair("failed sql", sql)
     202         #       raise
     203               
     204
    192205
    193206    '''
     
    213226        except:
    214227            self.logger.errorPair("failed sql", sql)
    215             return False
     228            raise
    216229 
    217230    ## use mean ra and dec (dec < 0)
     
    231244        except:
    232245            self.logger.errorPair("failed sql", sql)
    233             return False
     246            raise
    234247
    235248    '''
     
    251264            except:
    252265                self.logger.errorPair("Couldn't squash out of range stuff", sql)
    253                 return False
     266                raise
    254267
    255268            self.logger.infoPair("setting to null  > 1e-38 and < 1e-38 in", "cps FLUX_KRON")
     
    260273            except:
    261274                self.logger.errorPair("Couldn't squash out of range stuff", sql)
    262                 return False
     275                raise
    263276
    264277       
     
    278291        sqlLine.group("batchID",         "'" + str(self.batchID) + "'")
    279292        sqlLine.group("dvoRegionID",     "CAT_ID")
    280         sqlLine.group("skycellID",       "SKYCELL_ID")
     293#        sqlLine.group("skycellID",       "SKYCELL_ID")
    281294        sqlLine.group("dataRelease",     "'" + str(self.skychunk.dataRelease) + "'")
    282295        sqlLine.group("objInfoFlag",     "FLAGS")
     
    294307        except:
    295308            self.logger.errorPair("Couldn't populate DiffDetObject table", sql)
    296             return False
     309            raise
    297310 
    298311        # add row count columns so we can perform joins to get colors
     
    307320
    308321        self.logger.infoPair("update DiffDetObject from ","cps table")
    309 
     322        #this fills ng/etc
    310323        self.updateDiffObjectFromCps(cpsTableName)
    311 
     324        #this fills qfperfect
     325        self.updateMeanObjectFromCps(cpsTableName)
    312326        # XXX EAM 20140724 : is this necessary??
    313327        #objects can have out of range ra dec in dvo - need to find and kill them at the end
     
    350364        except:
    351365            self.logger.errorPair("Couldn't cull outsiders from DiffDetObject table", sql)
    352             return False
     366            raise
    353367
    354368        self.logger.infoPair("Dropping row column from", "DiffDetObject table")
     
    368382
    369383    def updatePspsUniqueIDs(self,table):
    370         sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, diffobjID from \
    371         (select @r:=0) r, "+table+" t) as foo using (diffobjID) set \
    372         uniquePspsDOid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
     384#        sql = "UPDATE "+table+" join (select @r:=@r+1 rownum, diffobjID from \
     385#        (select @r:=0) r, "+table+" t) as foo using (diffobjID) set \
     386#        uniquePspsDOid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
     387        sql = "UPDATE DiffDetObject set uniquePspsDOid = (("+str(self.batchID)+"*1000000000 ) + row)"
    373388        try: self.scratchDb.execute(sql)
    374389        except:
    375390            self.logger.errorPair('failed sql',sql)
    376             return
     391            raise
    377392
    378393
     
    407422        self.scratchDb.execute("ALTER TABLE DiffDetObject CHANGE dec_ `dec` double")
    408423
     424        self.logger.infoPair("Adding 'row' columns to", "Diff Det Object")
     425        self.scratchDb.addRowCountColumn("DiffDetObject", "row")
     426        self.logger.infoPair("Adding unique", "Diff Det Object ")
    409427        self.updatePspsUniqueIDs("DiffDetObject")
    410 
    411         self.dvoObjects.purgeRegion(self.region)
     428        self.logger.infoPair("Dropping row column from", "DiffDetObject table")
     429        self.scratchDb.dropColumn("DiffDetObject", "row")
     430
     431        self.dvoDiffObjects.purgeRegion(self.region)
    412432
    413433        #this is abuse of something but this is how I get the object batches to crash to further investigate them
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/dvo.py

    r37246 r38052  
    654654        useP2 = 0   
    655655        useST = 0
    656        
     656        useFW = 0
     657        useDF = 0
    657658        for batchType in self.skychunk.batchTypes:
    658659            self.logger.infoPair("batchType", batchType)
     
    661662            if batchType == "P2":
    662663                useP2 = 1
    663 
     664            if batchType == "DF":
     665                useDF = 1
     666            if batchType == "FW":
     667                useFW = 1
     668               
     669               
    664670        if (useP2 == 0 and useST == 1):
    665671            # grab only stacks
     
    680686                cmd += " -photcode-start 10000 -photcode-end 10577"
    681687
     688        if (useFW == 1):
     689            if (self.config.camera == "simtest"):
     690                print "need photcodes for non gpc1 camera"
     691            else:
     692                cmd += " -photcode-start 12000 -photcode-end 12500"
     693        if (useFW == 1):
     694            if (self.config.camera == "simtest"):
     695                print "need photcodes for non gpc1 camera"
     696            else:
     697                print "need photcode for warp for gpc1 camera, default is no selection, should work, could be slow"
     698
     699
     700               
    682701        self.logger.infoPair("Running dvopsps", cmd)
    683702        p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/dvodiffobjects.py

    r37750 r38052  
    1515A class for ingesting DVO detections into MySQL
    1616'''
    17 class DvoObjects(Dvo):
     17class DvoDiffObjects(Dvo):
    1818
    1919    '''
     
    2222    def __init__(self, logger, config, skychunk, ippToPspsDb, scratchDb):
    2323
    24         super(DvoObjects, self).__init__(logger, config, skychunk, ippToPspsDb, scratchDb)
     24        super(DvoDiffObjects, self).__init__(logger, config, skychunk, ippToPspsDb, scratchDb)
    2525
    2626        # declare DVO file types of interest
     
    3939
    4040        # TODO path to DVO prog hardcoded temporarily
    41         cmd = "dvopsps objects"
     41        cmd = "dvopsps diffobj"
    4242        cmd += " -dbhost " + self.scratchDb.dbHost
    4343        cmd += " -dbname " + self.scratchDb.dbName
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/dvoforcedobjects.py

    r37551 r38052  
    4040        # TODO path to DVO prog hardcoded temporarily
    4141        # TODO this needs to be modified for forced objects
    42         cmd = "dvopsps objects"
     42        cmd = "dvopsps forced_warp_objects"
    4343        cmd += " -dbhost " + self.scratchDb.dbHost
    4444        cmd += " -dbname " + self.scratchDb.dbName
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/forcedobjectbatch.py

    r37551 r38052  
    1414from ipptopspsdb import IppToPspsDb
    1515from scratchdb import ScratchDb
    16 from dvoforcedobjects import DvoForcedObjects # need one specific for cpy ?
     16from dvoforcedobjects import DvoForcedObjects # need one specific for cpy.
    1717from sqlUtility import sqlUtility
    1818
     
    2525
    2626'''
    27 class ForcedMeanObjectBatch(Batch):
     27class ForcedObjectBatch(Batch):
    2828
    2929    '''
     
    4040                 batchID):
    4141
    42        super(ForcedMeanObjectBatch, self).__init__(
     42       super(ForcedObjectBatch, self).__init__(
    4343               logger,
    4444               config,
     
    7171
    7272        self.region = self.scratchDb.getRegionNameFromThisDvoIndex(self.id)
    73         self.ippToPspsDb.insertForcedMeanObjectMeta(self.batchID, self.region)
     73        self.ippToPspsDb.insertForcedObjectMeta(self.batchID, self.region)
    7474        self.dvoForcedObjects.nativeIngestRegion(self.region)
    7575
     
    8686            return False
    8787
     88        self.logger.infoPair("checking if we have anything in"," cpy/cpt")
     89        rowcountcpt = self.scratchDb.getRowCount(cptTableName);
     90        rowcountcpy = self.scratchDb.getRowCount(cpyTableName);
     91        if (rowcountcpt == 0):
     92            self.logger.infoPair("0 rows for ","cpt table")
     93            return False
     94        if (rowcountcpy == 0):
     95            self.logger.infoPair("o rows for ","cpy table")
     96            return False
    8897        return True
    8998
     
    104113
    105114        return True
     115
     116
     117    '''
     118    Updates table and generates pspsuniqueids
     119    '''
     120   
     121    def updatePspsUniqueIDs(self):
     122        sql = "UPDATE ForcedMeanObject set uniquePspsFOid = (("+str(self.batchID)+"*1000000000 ) + row)"
     123        try: self.scratchDb.execute(sql)
     124        except:
     125            self.logger.errorPair('failed sql',sql)
     126            raise
     127
     128
     129
    106130
    107131    '''
     
    146170                   SET \
    147171                    ForcedMeanObject." + filter[1] + "nTotal         = NWARP \
    148                    ,ForcedMeanObject." + filter[1] + "nIncPSFMag     = NUSED_WRP \
    149                    ,ForcedMeanObject." + filter[1] + "nIncKronMag    = NUSED_KRON_WRP \
    150                    ,ForcedMeanObject." + filter[1] + "nIncApMag      = NUSED_AP_WRP \
    151                    ,ForcedMeanObject." + filter[1] + "PSFMag         = MAG_PSF_WRP \
    152                    ,ForcedMeanObject." + filter[1] + "PSFMagErr      = MAG_PSF_WRP_ERR \
    153                    ,ForcedMeanObject." + filter[1] + "PSFMagStd      = MAG_PSF_WRP_STD \
    154                    ,ForcedMeanObject." + filter[1] + "KronMag        = MAG_KRON_WRP \
    155                    ,ForcedMeanObject." + filter[1] + "KronMagErr     = MAG_KRON_WRP_ERR \
    156                    ,ForcedMeanObject." + filter[1] + "KronMagStd     = MAG_KRON_WRP_STD \
    157                    ,ForcedMeanObject." + filter[1] + "ApMag          = MAG_AP_WRP \
    158                    ,ForcedMeanObject." + filter[1] + "ApMagErr       = MAG_AP_WRP_ERR \
    159                    ,ForcedMeanObject." + filter[1] + "ApMagStd       = MAG_AP_WRP_STD \
     172                   ,ForcedMeanObject." + filter[1] + "nIncPSFFlux     = NUSED_WRP \
     173                   ,ForcedMeanObject." + filter[1] + "nIncKronFlux    = NUSED_KRON_WRP \
     174                   ,ForcedMeanObject." + filter[1] + "nIncApFlux      = NUSED_AP_WRP \
     175                   ,ForcedMeanObject." + filter[1] + "PSFFlux         = FLUX_PSF_WRP \
     176                   ,ForcedMeanObject." + filter[1] + "PSFFluxErr      = FLUX_PSF_WRP_ERR \
     177                   ,ForcedMeanObject." + filter[1] + "PSFFluxStd      = FLUX_PSF_WRP_STDEV \
     178                   ,ForcedMeanObject." + filter[1] + "KronFlux        = FLUX_KRON_WRP \
     179                   ,ForcedMeanObject." + filter[1] + "KronFluxErr     = FLUX_KRON_WRP_ERR \
     180                   ,ForcedMeanObject." + filter[1] + "KronFluxStd     = FLUX_KRON_WRP_STDEV \
     181                   ,ForcedMeanObject." + filter[1] + "ApFlux          = FLUX_AP_WRP \
     182                   ,ForcedMeanObject." + filter[1] + "ApFluxErr       = FLUX_AP_WRP_ERR \
     183                   ,ForcedMeanObject." + filter[1] + "ApFluxStd       = FLUX_AP_WRP_STDEV \
    160184                   ,ForcedMeanObject." + filter[1] + "Flags          = FLAGS "
    161185
     
    163187            try: self.scratchDb.execute(sql)
    164188            except:
    165                 self.logger.errorPair("failed update MeanObject", sql)
     189                self.logger.errorPair("failed update ForcedMeanObject", sql)
    166190                raise
    167191
     
    175199                   SET " + filter[1] + "PSFMagErr = null \
    176200                   WHERE " + filter[1] + "PSFMagErr > " + str(cut)
    177             self.scratchDb.execute(sql)
    178 
     201# taking out the cut since this is for mag, not flux
     202
     203    #       try: self.scratchDb.execute(sql)
     204     #       except:
     205     #           self.logger.errorPair("failed setting null meanmagerr","ForcedMeanObject")
     206     #           raise
    179207        self.logger.infoPair("Calculating nDetections from", "n[filters]")
    180208        for filter in filters:
    181209            # now do a sum of n[filters], but do not include the ones with -999
    182             sql  = "UPDATE ObjectThin "
    183             sql += "SET nDetections = nDetections + n" + filter[1]
    184             sql += " WHERE n" + filter[1] + " != -999"
    185             self.scratchDb.execute(sql)
     210            sql  = "UPDATE ForcedMeanObject "
     211            sql += "SET nDetections = nDetections + " + filter[1] +"nTotal "
     212            sql += " WHERE " + filter[1] + "nTotal  != -999"
     213            #self.scratchDb.execute(sql)
     214            try: self.scratchDb.execute(sql)
     215            except:
     216                self.logger.errorPair("failed update MeanObject nDetections", sql)
     217                raise
    186218
    187219    '''
    188220    Inserts stuff for all mags from the cpy files
    189221    '''
    190     def updateForcedMeanObjectFromCpy(self, cpyTable):
     222    def updateForcedMeanTablesFromCpy(self, cpyTable):
    191223
    192224        # list of all filters PSPS is interested in
     
    225257                   " + cpyTable + " AS cpy ON (cpy.row = (ForcedMeanObject.row* " + str(filterCount) + ")-(" + str(filterCount) + " - " + str(filter[0]) + ")) \
    226258                   SET \
    227                     ForcedMeanObject." + filter[1] + "nIncR5          =  NMEAS \
     259                   ForcedMeanObject." + filter[1] + "nIncR5          =  NMEAS \
    228260                   ,ForcedMeanObject." + filter[1] + "nIncR6          =  NMEAS \
    229261                   ,ForcedMeanObject." + filter[1] + "FmeanflxR5      =  FLUX_AP_R5 \
     
    235267                   ,ForcedMeanObject." + filter[1] + "FmeanflxR6Std   =  FLUX_STD_AP_R6 \
    236268                   ,ForcedMeanObject." + filter[1] + "FmeanflxR6Fill  =  FLUX_FIL_AP_R6 \
    237                    ,ForcedMeanObject." + filter[1] + "LensObjSmearX11 =  X11_SM_OBJ \
    238                    ,ForcedMeanObject." + filter[1] + "LensObjSmearX12 =  X12_SM_OBJ \
    239                    ,ForcedMeanObject." + filter[1] + "LensObjSmearX22 =  X22_SM_OBJ \
    240                    ,ForcedMeanObject." + filter[1] + "LensObjSmearE1  =  E1_SM_OBJ \
    241                    ,ForcedMeanObject." + filter[1] + "LensObjSmearE2  =  E2_SM_OBJ \
    242                    ,ForcedMeanObject." + filter[1] + "LensObjShearX11 =  X11_SH_OBJ \
    243                    ,ForcedMeanObject." + filter[1] + "LensObjShearX12 =  X12_SH_OBJ \
    244                    ,ForcedMeanObject." + filter[1] + "LensObjShearX22 =  X22_SH_OBJ \
    245                    ,ForcedMeanObject." + filter[1] + "LensObjShearE1  =  E1_SH_OBJ \
    246                    ,ForcedMeanObject." + filter[1] + "LensObjShearE2  =  E2_SH_OBJ \
    247                    ,ForcedMeanObject." + filter[1] + "LensPSFSmearX11 =  X11_SM_PSF \
    248                    ,ForcedMeanObject." + filter[1] + "LensPSFSmearX12 =  X12_SM_PSF \
    249                    ,ForcedMeanObject." + filter[1] + "LensPSFSmearX22 =  X22_SM_PSF \
    250                    ,ForcedMeanObject." + filter[1] + "LensPSFSmearE1  =  E1_SM_PSF \
    251                    ,ForcedMeanObject." + filter[1] + "LensPSFSmearE2  =  E2_SM_PSF \
    252                    ,ForcedMeanObject." + filter[1] + "LensPSFShearX11 =  X11_SH_PSF \
    253                    ,ForcedMeanObject." + filter[1] + "LensPSFShearX12 =  X12_SH_PSF \
    254                    ,ForcedMeanObject." + filter[1] + "LensPSFShearX22 =  X22_SH_PSF \
    255                    ,ForcedMeanObject." + filter[1] + "LensPSFShearE1  =  E1_SH_PSF \
    256                    ,ForcedMeanObject." + filter[1] + "LensPSFShearE2  =  E2_SH_PSF \
    257269                   ,ForcedMeanObject." + filter[1] + "Gamma           =  GAMMA \
    258270                   ,ForcedMeanObject." + filter[1] + "E1              =  E1 \
    259271                   ,ForcedMeanObject." + filter[1] + "E2              =  E2 "
    260272
    261 
    262273            try: self.scratchDb.execute(sql)
    263274            except:
    264                 self.logger.errorPair("failed update on ForcedMeanObject using cpy table", sql)
     275                self.logger.errorPair("failed update on ForcedMeanObject using cpy table",sql)
     276                raise
     277
     278            sql = "UPDATE ForcedMeanLensing JOIN \
     279                   " + cpyTable + " AS cpy ON (cpy.row = (ForcedMeanLensing.row* " + str(filterCount) + ")-(" + str(filterCount) + " - " + str(filter[0]) + ")) \
     280                   SET \
     281                   ForcedMeanLensing." + filter[1] + "LensObjSmearX11 =  X11_SM_OBJ \
     282                   ,ForcedMeanLensing." + filter[1] + "LensObjSmearX12 =  X12_SM_OBJ \
     283                   ,ForcedMeanLensing." + filter[1] + "LensObjSmearX22 =  X22_SM_OBJ \
     284                   ,ForcedMeanLensing." + filter[1] + "LensObjSmearE1  =  E1_SM_OBJ \
     285                   ,ForcedMeanLensing." + filter[1] + "LensObjSmearE2  =  E2_SM_OBJ \
     286                   ,ForcedMeanLensing." + filter[1] + "LensObjShearX11 =  X11_SH_OBJ \
     287                   ,ForcedMeanLensing." + filter[1] + "LensObjShearX12 =  X12_SH_OBJ \
     288                   ,ForcedMeanLensing." + filter[1] + "LensObjShearX22 =  X22_SH_OBJ \
     289                   ,ForcedMeanLensing." + filter[1] + "LensObjShearE1  =  E1_SH_OBJ \
     290                   ,ForcedMeanLensing." + filter[1] + "LensObjShearE2  =  E2_SH_OBJ \
     291                   ,ForcedMeanLensing." + filter[1] + "LensPSFSmearX11 =  X11_SM_PSF \
     292                   ,ForcedMeanLensing." + filter[1] + "LensPSFSmearX12 =  X12_SM_PSF \
     293                   ,ForcedMeanLensing." + filter[1] + "LensPSFSmearX22 =  X22_SM_PSF \
     294                   ,ForcedMeanLensing." + filter[1] + "LensPSFSmearE1  =  E1_SM_PSF \
     295                   ,ForcedMeanLensing." + filter[1] + "LensPSFSmearE2  =  E2_SM_PSF \
     296                   ,ForcedMeanLensing." + filter[1] + "LensPSFShearX11 =  X11_SH_PSF \
     297                   ,ForcedMeanLensing." + filter[1] + "LensPSFShearX12 =  X12_SH_PSF \
     298                   ,ForcedMeanLensing." + filter[1] + "LensPSFShearX22 =  X22_SH_PSF \
     299                   ,ForcedMeanLensing." + filter[1] + "LensPSFShearE1  =  E1_SH_PSF \
     300                   ,ForcedMeanLensing." + filter[1] + "LensPSFShearE2  =  E2_SH_PSF "
     301
     302            try: self.scratchDb.execute(sql)
     303            except:
     304                self.logger.errorPair("failed update on ForcedMeanLensing using cpy table", sql)
    265305                raise
    266306
     
    295335        except:
    296336            self.logger.errorPair("Couldn't populate Object table from cpt", sql)
    297             return False
     337            raise
    298338 
    299339        # add row count columns so we can perform joins to get colors
    300         self.logger.infoPair("Adding 'row' columns to", "Object and cps tables")
     340        self.logger.infoPair("Adding 'row' columns to", "Object ,cps, cpy tables")
    301341        self.scratchDb.addRowCountColumn("ForcedMeanObject", "row")
    302342        self.scratchDb.addRowCountColumn(cpsTableName, "row")
     343        self.scratchDb.addRowCountColumn(cpyTableName, "row")
     344
     345        self.logger.infoPair("generating unique ids for ","ForcedMeanObject")
     346        self.updatePspsUniqueIDs()
    303347
    304348
    305349        self.logger.infoPair("update ForcedMeanObject from ","cps table")
    306 
    307350        self.updateForcedMeanObjectFromCps(cpsTableName)
    308351
    309         self.logger.infoPair("update ForcedMeanObject from ","cpy table")
    310 
    311         self.updateForcedMeanObjectFromCpy(cpyTableName)
     352        sqlLine = sqlUtility("INSERT INTO ForcedMeanLensing (")
     353
     354        sqlLine.group("objID",           "objID")
     355        sqlLine.group("uniquePspsFOid","uniquePspsFOid")
     356        sqlLine.group("ippObjID",        "ippObjID")
     357        sqlLine.group("batchID",         "batchID")
     358        sqlLine.group("nDetections",      "nDetections")
     359        sqlLine.group("gStackID",      "gStackID")
     360        sqlLine.group("rStackID",      "rStackID")
     361        sqlLine.group("iStackID",      "iStackID")
     362        sqlLine.group("zStackID",      "zStackID")
     363        sqlLine.group("yStackID",      "yStackID")
     364
     365        sql = sqlLine.makeRaw(") SELECT ", " FROM ForcedMeanObject")
     366
     367        try:
     368            self.scratchDb.execute(sql)
     369        except:
     370            self.logger.errorPair("Couldn't populate ForcedMeanLensing table from ForcedMeanObject", sql)
     371            raise
     372
     373        self.logger.infoPair("adding row to ","ForcedMeanLensing")
     374        self.scratchDb.addRowCountColumn("ForcedMeanLensing", "row")
     375
     376        self.logger.infoPair("updating ForcedMeanObject and ForcedMeanLensing from ","cpy tables")
     377        self.updateForcedMeanTablesFromCpy(cpyTableName)
    312378
    313379
    314380        self.logger.infoPair("Dropping row column from", "ForcedMeanObject table")
    315381        self.scratchDb.dropColumn("ForcedMeanObject", "row")
    316 
     382        self.logger.infoPair("Dropping row column from", "ForcedMeanLensing table")
     383        self.scratchDb.dropColumn("ForcedMeanLensing", "row")
    317384        ##self.logger.infoPair("Purging from scratch Db", self.region + " region")
    318385
    319386        ##Don't do this till after MeanObject
    320387        ##self.dvoForcedObjects.purgeRegion(self.region)
    321 
     388        self.logger.infoPair("setting minmaxobjid for ", "ForcedMeanObject table")
    322389        self.setMinMaxObjID(["ForcedMeanObject"])
    323 
    324         return True
     390        self.logger.infoPair("checking if we have detctions", "FOrcedMeanObject table")
     391        rowcount = self.scratchDb.getRowCount("ForcedMeanObject")
     392        if rowcount == 0:
     393            self.logger.infoPair("skipping this one","ForcedMeanObject ")
     394            self.skipBatch  = False
     395            return True
     396        else:
     397            return True
    325398
    326399 
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/forcedwarpbatch.py

    r37592 r38052  
    66import time
    77import stilts
     8import re
    89
    910from java.lang import *
     
    5455               forcedWarpID,
    5556               batchID,
    56                "P2",
    57                gpc1Db.getForcedWarpStageSmf(forcedWarpID)
    58 
     57               "FW",
     58               None)
     59     #          gpc1Db.getForcedWarpStageSmf(forcedWarpID)
     60       # there is a funny problem with order here: we need to open the file first to read the header to get
     61       # to skycell ID
     62       #forcedWarpID = self.forcedWarpID       
     63       self.logger.infoPair("getting the fits file for add_id",forcedWarpID)
     64       self.fits = gpc1Db.getForcedWarpStageCmf(skychunk.dvoLabel, forcedWarpID)
     65       self.forcedWarpID = forcedWarpID
     66       self.header = self.fits.getPrimaryHeader()
     67       self.warpSkyFileID = self.getKeyValue(self.header,"IMAGEID")
     68       self.filterName = self.getKeyValue(self.header,"FPA.FILTERID")
     69       self.logger.infoPair("found filterName",self.filterName)
     70       self.logger.infoPair("found warp_skyfile_id",self.warpSkyFileID)
    5971       # get camera meta data
    60        meta = self.gpc1Db.getForcedWarpStageMeta(self.id)
     72
     73       meta = self.gpc1Db.getForcedWarpStageMeta(forcedWarpID, self.warpSkyFileID)
     74
    6175       if not meta:
    6276           self.logger.errorPair("Could not get", "forced warp metadata")
    6377           raise
    6478
    65        self.expID = meta[0];
    66        self.expName = meta[1];
    67        self.distGroup = meta[2];
    68        self.analysisVer = meta[3];
    69        self.bias = meta[4];
    70        self.biasScat = meta[5];
     79       self.expID = meta[0]
     80       self.expTime = meta[1]
     81       self.analysisVer = meta[2]
     82       self.skycellName = meta[3]
     83       self.tessName = meta[4]
     84       
     85       self.logger.infoPair("found exp_id",str(self.expID))
     86       self.logger.infoPair("found exp_time",str(self.expTime))
     87       self.logger.infoPair("found skycell_id",self.skycellName)
     88       self.logger.infoPair("found tess_id",self.tessName)
     89
     90
     91       #tessName = self.getKeyValue(self.header, 'TESS_ID')
     92       #self.tessID = self.scratchDb.getTessID(tessName)
    7193
    7294       if not self.analysisVer: self.analysisVer = -999
     95       if self.analysisVer is None: self.analysisVer = "-999"
     96       self.logger.infoPair("found analysisVer",self.analysisVer)
     97
     98       if self.tessName == 'RINGS.V3':
     99
     100           # skycell is, eg "skycell.1133.081"
     101           #                 0123456789012345
     102           self.projectionID = self.skycellName[8:12]
     103           #self.skycellID = self.skycellName[13:]
     104           self.skycellID = self.skycellName[8:]
     105       else:
     106           # skycell is, eg "skycell.081"
     107           #                 01234567890
     108           self.projectionID = 0
     109           self.skycellID = self.skycellName[8:11]
     110           self.skycellID=self.skycellName[8:]
     111       if self.skycellID == "":
     112           self.skycellID = -1
     113
     114       self.logger.infoPair("projection cell found ",self.projectionID)
     115       self.logger.infoPair("skycell found", self.skycellID)
     116
     117
    73118
    74119       # create an output filename, which is {expID}.FITS
    75        self.outputFitsFile = "%08d.FITS" % self.expID
     120       self.outputFitsFile = "%08d.FITS" % forcedWarpID
    76121       self.outputFitsPath = "%s/%s" % (self.localOutPath, self.outputFitsFile)
    77122       self.dropTableVerbose("ForcedWarpMeasurement")
     
    79124       self.dropTableVerbose("ForcedWarpMeta")
    80125       self.dropTableVerbose("ForcedWarpToImage")
     126       self.dropTableVerbose("ForcedWarpLensing")
    81127       if not self.config.retry:
    82        self.scratchDb.dropTable("ForcedWarpMeasurement")
    83        self.scratchDb.dropTable("ForcedWarpExtended")
    84        self.scratchDb.dropTable("ForcedWarpMeta")
    85        self.scratchDb.dropTable("ForcedWarpToImage")
     128           self.scratchDb.dropTable("ForcedWarpMeasurement")
     129           self.scratchDb.dropTable("ForcedWarpExtended")
     130           self.scratchDb.dropTable("ForcedWarpMeta")
     131           self.scratchDb.dropTable("ForcedWarpToImage")
     132           self.scratchDb.dropTable("ForcedWarpLensing")
    86133       self.historyModNum = "0"
    87134
    88135       # get a few primary header values. if in test mode, then use defaults
    89        if self.safeDictionaryAccessWithDefault(self.header, 'MJD-OBS', "1") == "NULL":
    90            self.logger.errorPair("Could not get", "MJD-OBS")
    91            raise
    92 
    93 
    94        if self.safeDictionaryAccessWithDefault(self.header, 'EXPTIME', "1") == "NULL":
    95            self.logger.errorPair("Could not get", "EXPTIME")
    96            raise
    97 
    98        if self.safeDictionaryAccessWithDefault(self.header, 'FILTERID', "g.0000") == "NULL":
    99            self.logger.errorPair("Could not get", "FILTERID")
    100            raise
    101        
     136       self.logger.infoPair("calculating ObsTime","ok")
    102137       # MJD-OBS is the exposure start, EXTIME / 172800 = (EXPTIME sec / 84600 sec/day) / 2
    103        self.obsTime = float(self.header['MJD-OBS']) + (float(self.header['EXPTIME']) / 172800.0)
    104      
     138       self.obsTime = float(self.header['MJD-OBS']) + (float(self.expTime) / 172800.0)
     139       self.logger.infoPair("obstime",self.obsTime)
    105140       # set up some defauts
    106141       self.calibModNum = 0
    107142       self.totalNumPhotoRef = 0
    108143
    109 
    110        self.filter = self.header['FILTERID'][0:1]
    111        self.filterID = self.scratchDb.getFilterID(self.filter)
     144       self.filterID = self.scratchDb.getFilterID(self.filterName[0])
     145       self.logger.infoPair("filterID is ",self.filterID)
    112146
    113147       # insert what we know about this stack batch into the stack table
    114        self.ippToPspsDb.insertDetectionMeta(self.batchID, self.expID, self.filter)
     148       self.logger.infoPair("inserting basics into ","ForcedWarpMeta")
     149
     150       self.ippToPspsDb.insertForcedWarpMeta(int(self.batchID), int(self.expID), self.filterName[0])
    115151
    116152       # dump stuff to log
    117        self.logger.infoPair("Cam ID", "%d" % self.id)
    118        self.logger.infoPair("Exp ID", "%d" % self.expID)
    119        self.logger.infoPair("Exp name", "%s" % self.expName)
    120        self.logger.infoPair("Distribution group", "%s" % self.distGroup)
     153       self.logger.infoPair("add ID", "%d" % self.id)
     154       self.logger.infoPair("Exp ID", self.expID)
     155
     156
    121157
    122158
     
    129165        self.logger.infoPair("Processing table", "ForcedWarpMeta")
    130166
    131         photoCalID = str(self.scratchDb.getPhotoCalID(forcedWarpID))       
    132 
     167        header   = self.header
     168#        photoCalID = str(self.scratchDb.getPhotoCalID(forcedWarpID))       
    133169
    134170        sqlLine = sqlUtility("INSERT INTO ForcedWarpMeta (")
     
    136172        #surveyID (below)
    137173        #filterdID (below)
     174        sqlLine.group("forcedWarpID", str(self.forcedWarpID))
    138175        sqlLine.group("skyCellID",     str(self.skycellID))
    139         sqlLine.group("photoCalID",    photoCalID)
     176#        sqlLine.group("photoCalID",    photoCalID)
    140177        sqlLine.group("magSat",           self.getKeyFloat(header, "%.8f", 'FSATUR'))
    141         sqlLine.group("analVer",           self.analysisVer);
    142         sqlLine.group("expTime",               self.getKeyFloat(self.header, "%.8f", 'EXPREQ'));
     178        sqlLine.group("analVer",           str(self.analysisVer))
     179        sqlLine.group("expTime",self.expTime)
    143180        sqlLine.group("completMag",       self.getKeyFloat(header, "%.8f", 'FLIMIT'))
    144         sqlLine.group("astroScat",        self.getKeyFloat(header, "%.8f", 'CERROR'))
    145         sqlLine.group("photoScat",             self.getKeyFloat(self.header, "%.8f", 'ZPT_ERR'));
    146         sqlLine.group("nAstroRef",      self.getKeyValue(header, 'NASTRO'))
    147         sqlLine.group("nPhotoRef",      self.getKeyValue(header, 'NASTRO'))
     181#        sqlLine.group("astroScat",        self.getKeyFloat(header, "%.8f", 'CERROR'))
     182#        sqlLine.group("photoScat",             self.getKeyFloat(self.header, "%.8f", 'ZPT_ERR'));
     183#no nastro
     184#        sqlLine.group("nAstroRef",      self.getKeyValue(header, 'NASTRO'))
     185#        sqlLine.group("nPhotoRef",      self.getKeyValue(header, 'NASTRO'))
    148186        sqlLine.group("psfModelID",     self.getKeyValue(header, 'PSFMODEL'))
    149187        sqlLine.group("psfFwhm_mean",   self.getKeyFloat(header, "%.8f", 'FWHM_MAJ'))
    150188        sqlLine.group("psfFwhm_max",    self.getKeyFloat(header, "%.8f", 'FW_MJ_UQ'))
    151         sqlLine.group("photoZero",        self.getKeyFloat(self.header, "%.8f", 'ZPT_OBS'))
     189#        sqlLine.group("photoZero",        self.getKeyFloat(self.header, "%.8f", 'ZPT_OBS'))
    152190        #photoColor -- how do I set this? it's also not set in stack meta
    153191        sqlLine.group("ctype1",                self.getKeyValue(self.header, 'CTYPE1'));
     
    174212        self.scratchDb.updateAllRows("ForcedWarpMeta", "batchID", str(self.batchID))
    175213        self.scratchDb.updateAllRows("ForcedWarpMeta", "surveyID", str(self.surveyID))
    176         self.scratchDb.updateFilterID("ForcedWarpMeta", self.filter)
     214#        self.scratchDb.updateFilterID("ForcedWarpMeta", self.filterID)
     215        self.scratchDb.updateFilterID("ForcedWarpMeta",self.filterName[0])
    177216        self.scratchDb.updateAllRows("ForcedWarpMeta", "calibModNum", str(self.calibModNum))
    178217        self.scratchDb.updateAllRows("ForcedWarpMeta", "dataRelease", str(self.skychunk.dataRelease))
    179         self.tablesToExport.append("ForcedWarpMeta")
     218        #self.tablesToExport.append("ForcedWarpMeta")
    180219       
    181220    '''
     
    186225        self.logger.infoPair("Procesing table", "ForcedWarpToImage")
    187226
    188         for filter in self.filters:
    189            
    190             forcedwarpID = self.forcedwarpID
    191             if forcedwarpID > 0:
     227        forcedwarpID = self.forcedWarpID
     228        if forcedwarpID > 0:
    192229   
    193230                imageIDs = self.gpc1Db.getImageIDsForThisForcedWarpID(forcedwarpID)
     
    198235                   VALUES (\
    199236                   " + str(forcedwarpID) + ", " + imageID + ")"
    200                     self.scratchDb.execute(sql)
    201 
     237                    try: self.scratchDb.execute(sql)
     238                    except:
     239                       self.logger.infoPair("can't execute sql",sql)
     240                       raise
    202241                    # now update StackMeta with correct number of inputs
    203242
    204         self.tablesToExport.append("ForcedWarpToImage")
     243        #self.tablesToExport.append("ForcedWarpToImage")
    205244
    206245
     
    211250    Populates the ForcedWarpMeasurement table
    212251    '''
    213     def populateForcedWarpMeasurementTable(self, results):
     252    def populateForcedWarpMeasurement(self):
    214253
    215254        pspsTableName = "ForcedWarpMeasurement"
    216         ippTableName = "ForcedWarpMeasurement_psf"
     255        ippTableName = "SkyChip_psf"
    217256
    218257
    219258        self.logger.infoPair("Procesing table", "ForcedWarpMeasurement")
    220259
     260        BEFORE = self.scratchDb.getRowCount(ippTableName)
     261        extTimeString = str(self.expTime)
     262
     263#missing are zp, telluricExt, airmass (not easy to get ?)
     264
     265        sqlLine = sqlUtility("INSERT INTO " + pspsTableName + " (")
     266        sqlLine.group("ippDetectID",     "IPP_IDET")
     267        sqlLine.group("forcedWarpID",            str(self.forcedWarpID));
     268        sqlLine.group("randomWarpID",     "FLOOR(RAND("+str(self.batchID)+")*9223372036854775807)")   
     269        sqlLine.group("filterID",        str(self.filterID))
     270        sqlLine.group("surveyID",        str(self.surveyID))
     271        sqlLine.group("skycellID",       str(self.skycellID))
     272        sqlLine.group("expTime",         str(self.expTime))
     273        sqlLine.group("obsTime", str(self.obsTime))
     274        sqlLine.group("psfFlux", "PSF_INST_FLUX / "+extTimeString)
     275        sqlLine.group("psfFluxErr", "PSF_INST_FLUX_SIG / "+extTimeString)
     276        sqlLine.group("psfMajorFWHM",    "PSF_FWHM_MAJ")
     277        sqlLine.group("psfMinorFWHM",    "PSF_FWHM_MIN")
     278        sqlLine.group("psfTheta",        "PSF_THETA")
     279        sqlLine.group("psfCore",         "PSF_CORE")
     280        sqlLine.group("psfQf",           "PSF_QF")
     281        sqlLine.group("psfQfPerfect",    "PSF_QF_PERFECT")
     282        sqlLine.group("psfChiSq",        "PSF_CHISQ")
     283        sqlLine.group("psfLikelihood",   "psfLikelihood(EXT_NSIGMA)")
     284        sqlLine.group("momentXX",        "MOMENTS_XX")
     285        sqlLine.group("momentXY",        "MOMENTS_XY")
     286        sqlLine.group("momentYY",        "MOMENTS_YY")
     287        sqlLine.group("momentR1",        "MOMENTS_R1")
     288        sqlLine.group("momentRH",        "MOMENTS_RH")
     289        sqlLine.group("momentM3C",       "MOMENTS_M3C")
     290        sqlLine.group("momentM3S",       "MOMENTS_M3S")
     291        sqlLine.group("momentM4C",       "MOMENTS_M4C")
     292        sqlLine.group("momentM4S",       "MOMENTS_M4S")
     293        sqlLine.group("apFlux","AP_FLUX / " + extTimeString)
     294        sqlLine.group("apFluxErr","AP_FLUX_SIG / " + extTimeString)
     295        sqlLine.group("apFillF","AP_NPIX / (3.14159265359 * POW(AP_MAG_RADIUS - 0.5, 2))")
     296        sqlLine.group("kronFlux","KRON_FLUX / " + extTimeString)
     297        sqlLine.group("kronFluxErr","KRON_FLUX_ERR / " + extTimeString )
     298        sqlLine.group("kronRad","MOMENTS_R1 * 2.5")
     299        sqlLine.group("sky","SKY /" +extTimeString)
     300        sqlLine.group("skyErr","SKY_SIGMA / "+extTimeString)
     301        sqlLine.group("infoFlag","FLAGS")
     302        sqlLine.group("infoFlag2","FLAGS2")
     303        sqlLine.group("dataRelease",str(self.skychunk.dataRelease))
     304
     305        sql = sqlLine.makeRaw(") SELECT ", " FROM " + ippTableName)
     306
     307        try: self.scratchDb.execute(sql)
     308        except:
     309            self.logger.errorPair("failed sql: ", sql)
     310            raise
     311
     312
     313
     314
    221315        # insert the per-object data (IDs, random stack ID, dataRelease, etc)
    222         self.selectDvoObjIDs()
    223 
    224         self.generateRandomIDs()
    225 
     316        #self.selectDvoObjIDs()
     317        self.logger.infoPair("inserting dvo info: find imageID","from externID")
     318        imageID = self.scratchDb.getImageIDFromExternID(self.warpSkyFileID)
     319        self.logger.infoPair("updating","forcedWarpMeasurement")
     320        sqlLine = sqlUtility("UPDATE ForcedWarpMeasurement as a, " + self.scratchDb.dvoDetectionTable + " as b SET ")
     321        sqlLine.group("a.objID","b.objID")
     322        sqlLine.group("a.detectID","b.detectID")
     323        sqlLine.group("a.ippObjID","b.ippObjID")
     324        sqlLine.group("a.dvoRegionID","b.catID")
     325        sqlLine.group("a.zp","b.zp")
     326        sqlLine.group("a.telluricExt","b.telluricExt")
     327        sqlLine.group("a.airmass","b.airmass")
     328        sql = sqlLine.makeEquals("WHERE a.ippDetectID = b.ippDetectID AND b.imageID = " +str( imageID))
     329        try: self.scratchDb.execute(sql)
     330        except:
     331            self.logger.errorPair("failed sql:",sql)
     332            raise
     333        self.logger.infoPair("need to cull"," nulls objid")
     334        results= self.scratchDb.reportAndDeleteRowsWithNULLS("ForcedWarpMeasurement", "objID")
     335
     336
     337
     338#        self.generateRandomIDs()
     339
     340        self.logger.infoPair("Adding 'row' columns to", "ForcedWarpMeasurement")
     341        self.scratchDb.addRowCountColumn("ForcedWarpMeasurement", "row")
     342        self.logger.infoPair("Adding unique ids to", "ForcedWarpMeasurement")
    226343        self.generateUniquePspsIDs()
     344        self.logger.infoPair("Dropping row column from", "ForcedWarpMeasurement table")
     345        self.scratchDb.dropColumn("ForcedWarpMeasurement", "row")
    227346           
    228347        # add indexes ForcedWarpMeasurement
    229348        self.scratchDb.createIndex("ForcedWarpMeasurement", "objID")
    230 
     349        self.scratchDb.createIndex("ForcedWarpMeasurement", "ippDetectID")
     350    '''
     351    Populates the ForcedWarpExtended table
     352    '''
     353    def populateForcedWarpExtended(self):
     354
     355        pspsTableName = "ForcedWarpExtended"
     356        ippTableName = "SkyChip_xrad"
     357
     358        #self.tablesToExport.append("ForcedWarpExtended")
     359
     360        #isert stuff from SkyChip_psf
     361        sqlLine = sqlUtility("INSERT INTO " + pspsTableName + " (")
     362        sqlLine.group("ippDetectID",     "IPP_IDET")
     363        sqlLine.group("flxR5", "APER_FLUX_5")
     364        sqlLine.group("flxR5Err", "APER_FLUX_ERR_5" )
     365        sqlLine.group("flxR5Std", "APER_FLUX_STDEV_5")
     366        sqlLine.group("flxR5Fill", "APER_FILL_5")
     367        sqlLine.group("flxR6", "APER_FLUX_6")
     368        sqlLine.group("flxR6Err", "APER_FLUX_ERR_6" )
     369        sqlLine.group("flxR6Std", "APER_FLUX_STDEV_6")
     370        sqlLine.group("flxR6Fill", "APER_FILL_6")
     371
     372        sql = sqlLine.makeRaw(") SELECT ", " FROM " + ippTableName)
     373
     374        try: self.scratchDb.execute(sql)
     375        except:
     376            self.logger.errorPair("failed sql: ", sql)
     377            raise
     378
     379        #insert the things from FOrcedWarpMeasurement
     380        self.logger.infoPair("inserting objID,etc from","ForcedWarpMeasurement")
     381        sqlLine = sqlUtility("UPDATE " + pspsTableName + " as a, ForcedWarpMeasurement as b SET ")
     382        sqlLine.group("a.objID","b.objID")
     383        sqlLine.group("a.uniquePspsFWid","b.uniquePspsFWid")
     384        sqlLine.group("a.detectID","b.detectID")
     385        sqlLine.group("a.ippObjID","b.ippObjID")
     386        sqlLine.group("a.filterID","b.filterID")
     387        sqlLine.group("a.surveyID","b.surveyID")
     388        sqlLine.group("a.forcedWarpID","b.forcedWarpID")
     389        sqlLine.group("a.randomWarpID","b.randomWarpID")
     390        sqlLine.group("a.skycellID","b.skycellID")
     391        sqlLine.group("a.dvoRegionID","b.dvoRegionID")
     392        sqlLine.group("a.obsTime","b.obsTime")
     393        sql = sqlLine.makeEquals("Where a.ippDetectID = b.ippDetectID")
     394        try: self.scratchDb.execute(sql)
     395        except:
     396            self.logger.errorPair("failed sql: ", sql)
     397            raise
     398       
     399       # add in the psps unique ids from stuff
     400        self.logger.infoPair("adding information from Skychip_xrad into","ForcedWarpExtended")
     401       
     402        # cull bad d
     403        self.logger.infoPair("need to cull"," nulls objid")
     404        results= self.scratchDb.reportAndDeleteRowsWithNULLS("ForcedWarpExtended", "objID")
     405       
     406        self.scratchDb.createIndex("ForcedWarpExtended", "objID")
    231407               
    232408
    233409
    234 
    235 
    236 
    237 
    238 
    239         self.tablesToExport.append("ForcedWarpMeasurement")
    240 
    241 
    242     '''
    243     Populates the ForcedWarpExtended table
    244     '''
    245     def populateForcedWarpExtendedTable(self, results):
    246 
    247         pspsTableName = "ForcedWarpExtended"
    248         ippTableName = "ForcedWarpExtended_psf"
    249 
    250    
    251         self.tablesToExport.append("ForcedWarpExtended")
    252 
    253            # get dvo ids,
    254         # add in the psps unique ids from stuff
     410    '''                                                                                                                                                                 
     411    Populates the ForcedWarpExtended table                                                                                                                               
     412    '''
     413    def populateForcedWarpLensing(self):
     414
     415        pspsTableName = "ForcedWarpLensing"
     416        ippTableName = "SkyChip_psf"
     417
     418        #self.tablesToExport.append("ForcedWarpExtended")                                                                                                               
     419
     420        #isert stuff from SkyChip_psf                                                                                                                                   
     421        sqlLine = sqlUtility("INSERT INTO " + pspsTableName + " (")
     422        sqlLine.group("ippDetectID",     "IPP_IDET")
     423        sqlLine.group("lensObjSmearX11", "LENS_X11_SM_OBJ")
     424        sqlLine.group("lensObjSmearX12", "LENS_X12_SM_OBJ")
     425        sqlLine.group("lensObjSmearX22", "LENS_X22_SM_OBJ")
     426        sqlLine.group("lensObjSmearE1", "LENS_E1_SM_OBJ")
     427        sqlLine.group("lensObjSmearE2", "LENS_E2_SM_OBJ")
     428        sqlLine.group("lensObjShearX11", "LENS_X11_SH_OBJ")
     429        sqlLine.group("lensObjShearX12", "LENS_X12_SH_OBJ")
     430        sqlLine.group("lensObjShearX22", "LENS_X22_SH_OBJ")
     431        sqlLine.group("lensObjShearE1", "LENS_E1_SH_OBJ")
     432        sqlLine.group("lensObjShearE2", "LENS_E2_SH_OBJ")
     433        sqlLine.group("lensPSFSmearX11", "LENS_X11_SM_PSF")
     434        sqlLine.group("lensPSFSmearX12", "LENS_X12_SM_PSF")
     435        sqlLine.group("lensPSFSmearX22", "LENS_X22_SM_PSF")
     436        sqlLine.group("lensPSFSmearE1", "LENS_E1_SM_PSF")
     437        sqlLine.group("lensPSFSmearE2", "LENS_E2_SM_PSF")
     438        sqlLine.group("lensPSFShearX11", "LENS_X11_SH_PSF")
     439        sqlLine.group("lensPSFShearX12", "LENS_X12_SH_PSF")
     440        sqlLine.group("lensPSFShearX22", "LENS_X22_SH_PSF")
     441        sqlLine.group("lensPSFShearE1", "LENS_E1_SH_PSF")
     442        sqlLine.group("lensPSFShearE2", "LENS_E2_SH_PSF")
     443        sql = sqlLine.makeRaw(") SELECT ", " FROM " + ippTableName)
     444
     445        try: self.scratchDb.execute(sql)
     446        except:
     447            self.logger.errorPair("failed sql: ", sql)
     448            raise
     449
     450        #insert the things from FOrcedWarpMeasurement                                                                                                                   
     451        self.logger.infoPair("inserting objID,etc from","ForcedWarpMeasurement")
     452        sqlLine = sqlUtility("UPDATE " + pspsTableName + " as a, ForcedWarpMeasurement as b SET ")
     453        sqlLine.group("a.objID","b.objID")
     454        sqlLine.group("a.uniquePspsFWid","b.uniquePspsFWid")
     455        sqlLine.group("a.detectID","b.detectID")
     456        sqlLine.group("a.ippObjID","b.ippObjID")
     457        sqlLine.group("a.filterID","b.filterID")
     458        sqlLine.group("a.surveyID","b.surveyID")
     459        sqlLine.group("a.forcedWarpID","b.forcedWarpID")
     460        sqlLine.group("a.randomWarpID","b.randomWarpID")
     461        sqlLine.group("a.skycellID","b.skycellID")
     462        sqlLine.group("a.dvoRegionID","b.dvoRegionID")
     463        sqlLine.group("a.obsTime","b.obsTime")
     464        sql = sqlLine.makeEquals("Where a.ippDetectID = b.ippDetectID")
     465        try: self.scratchDb.execute(sql)
     466        except:
     467            self.logger.errorPair("failed sql: ", sql)
     468            raise
     469
     470       # add in the psps unique ids from stuff                                                                                                                           
     471        self.logger.infoPair("adding information from Skychip_psf into","ForcedWarpLensing")
     472
     473        # cull bad d                                                                                                                                                     
     474        self.logger.infoPair("need to cull"," nulls objid")
     475        results= self.scratchDb.reportAndDeleteRowsWithNULLS("ForcedWarpLensing", "objID")
     476
     477        self.scratchDb.createIndex("ForcedWarpLensing", "objID")
     478
     479
    255480
    256481    '''
     
    264489   
    265490        #this should be done
     491        self.logger.infoPair("Populating","ForcedWarpMeta")
    266492        self.populateForcedWarpMeta()         
    267 
    268         self.populateForcedWarpMeasurement()           
     493        self.tablesToExport.append("ForcedWarpMeta")
     494
     495        self.logger.infoPair("Populating","ForcedWarpMeasurement")
     496        self.populateForcedWarpMeasurement()         
     497        self.tablesToExport.append("ForcedWarpMeasurement")
     498
     499        self.logger.infoPair("Populating","ForcedWarpExtended")
    269500        self.populateForcedWarpExtended()
     501        self.tablesToExport.append("ForcedWarpExtended")
     502
     503        self.logger.infoPair("Populating","ForcedWarpLensing")
     504        self.populateForcedWarpLensing()
     505        self.tablesToExport.append("ForcedWarpLensing")
     506
     507
     508        self.logger.infoPair("Populating","ForcedWarpToImage")
    270509        self.populateForcedWarpToImage()
    271              
     510        self.tablesToExport.append("ForcedWarpToImage")             
     511
     512
     513        self.logger.infoPair("setting min/max objid from","ForcedWarpMeasurement")
    272514        self.setMinMaxObjID(["ForcedWarpMeasurement"])
    273515
     
    281523    '''
    282524    def importIppTables(self, columns="*", tableRE=""):
    283        
     525        count = 0
    284526        if self.config.retry: return True
    285527        self.logger.infoPair("Importing FW tables with table match expression: ", tableRE)
     
    302544           
    303545           # drop any previous tables before import
     546           
    304547           self.scratchDb.dropTable(table.name)
    305548                 
     
    318561        self.logger.infoPair("Done. Imported", "%d tables" % count)
    319562        self.indexIppTables()
    320                      
    321563        return True
    322564
    323565
    324                
    325 
    326 
    327 
    328 
    329 
    330 
    331566    def generateRandomIDs(self):
    332            sql = "UPDATE ForcedWarpMeasurement set randomWarpID = FLOOR(RAND("+str(self.batchID)+")*9223372036854775807)"
    333         try: self.scratchDb.execute(sql)
     567        sql = "UPDATE ForcedWarpMeasurement set randomWarpID = FLOOR(RAND("+str(self.batchID)+")*9223372036854775807)"
     568        try:
     569            self.scratchDb.execute(sql)
    334570        except:
    335571            self.logger.errorPair('failed sql',sql)
    336             return
     572            raise
    337573
    338574
     
    341577    '''
    342578
    343     def generatePspsUniqueIDs(self):
    344         sql = "UPDATE ForcedWarpMeasurement join (select @r:=@r+1 rownum, objID from \
    345         (select @r:=0) r, ForcedWarpMeasurement t) as foo using (objID) set \
    346         uniquePspsFWid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)"
     579    def generateUniquePspsIDs(self):
     580        sql = "UPDATE ForcedWarpMeasurement set uniquePspsFWid = (("+str(self.batchID)+"*1000000000 ) + row)"
    347581        try: self.scratchDb.execute(sql)
    348582        except:
    349583           self.logger.errorPair('failed sql',sql)
    350            return
    351            
    352 
    353 
    354 
    355 
    356 
     584           raise
     585
     586    '''
     587    Defines the tables to be exported to psps           
     588    '''
    357589
    358590    def exportPspsTablesToFits(self, regex="(.*)"):
    359        return super(DetectionBatch, self).exportPspsTablesToFits("(ForcedWarp.*)")
     591       return super(ForcedWarpBatch, self).exportPspsTablesToFits("(ForcedWarp.*)")
     592
     593
     594    '''
     595    Drop a table and report the drop
     596    '''
     597    def dropTableVerbose(self, table):
     598        self.logger.infoPair("dropping table:",table)
     599        self.scratchDb.dropTable(table)
     600
     601
     602    '''
     603    Applies indexes to the PSPS tables
     604    '''
     605    def alterPspsTables(self):
     606
     607        self.logger.debug("Altering PSPS tables (currently does nothing in stackbatch)")
     608
     609        return True
     610
     611    '''
     612    Applies indexes to the IPP tables
     613    '''
     614    def indexIppTables(self):
     615
     616        self.logger.infoPair("Creating indexes on", "IPP tables")
     617        self.scratchDb.createIndex("SkyChip_psf",  "IPP_IDET")
     618        self.scratchDb.createIndex("SkyChip_xfit", "IPP_IDET")
     619        self.scratchDb.createIndex("SkyChip_xrad", "IPP_IDET")
     620        self.scratchDb.createIndex("SkyChip_xsrc", "IPP_IDET")
     621        self.scratchDb.createIndex("SkyChip_xgal", "IPP_IDET")
     622
     623        return True
     624
     625    '''
     626    Updates table and generates pspsuniqueids
     627    '''
     628
     629    def updatePspsUniqueIDs(self,table):
     630        sql = "UPDATE ForcedWarpMeasurement set uniquePspsFWid = (("+str(self.batchID)+"*1000000000 ) + row)"
     631        try: self.scratchDb.execute(sql)
     632        except:
     633            self.logger.errorPair('failed sql',sql)
     634            raise
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/gpc1db.py

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

    r37748 r38052  
    13421342               (" + str(box_id) + ", '" + batchType + "', " + str(id) + ")"
    13431343
     1344            print sql
    13441345            try: self.execute(sql)
    13451346            except:
     
    15511552
    15521553        # XXX EAM : need to do something special at the poles...
    1553         if (boxDim['DEC'] > 85): raise
    1554 
     1554        #if (boxDim['DEC'] > 85): raise
     1555        #heather commented out for oB   
     1556   
    15551557        # a given box centered at RA,DEC with (linear) size of SIDE has the following bounds
    15561558        dR = 0.5*boxDim['SIDE'] / math.cos(math.radians(boxDim['DEC']))
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/loader.py

    r37763 r38052  
    2727from diffobjectbatch import DiffObjectBatch
    2828
    29 #from forcedwarpbatch import ForcedWarpBatch
    30 #from forcedobjectbatch import ForcedObjectBatch
     29from forcedwarpbatch import ForcedWarpBatch
     30from forcedobjectbatch import ForcedObjectBatch
    3131#
    3232#
     
    168168                    self.logger.infoPair("Box dimensions: ", "ra / dec / size : %.1f / %.1f / %.1f   --   sky bounds : (%.2f - %2.f, %2.f - %2.f)" % (boxDim['RA'], boxDim['DEC'], boxDim['SIDE'], boxDim['minRA'], boxDim['maxRA'], boxDim['minDEC'], boxDim['maxDEC']))
    169169                    self.logger.infoPair(batchType + " items found in this box", "%d" % len(ids))
    170 
    171                     if batchType != "OB":
     170                    #previously said if not OB, but we don't need these for Do or FO
     171                    if (batchType == "P2" or batchType == "ST" or batchType =="DF" or batchType == "FW"):
    172172                        if self.config.resetDvo or not self.ippToPspsDb.isBoxIngested(boxId, self.scratchDb.dbHost):
    173173                            if not self.dvoDetections.nativeIngestDetections(boxId, boxDim):
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/mysql.py

    r37246 r38052  
    258258            self.execute(sql)
    259259        except: pass
    260             #self.logger.warn("Index already in place on '" + column + "' for table '" + table + "'")
     260           
     261           # self.logger.warn("Index already in place on '" + column + "' for table '" + table + "'")
    261262    '''
    262263    Changes the database engine for this table to InnoDb
     
    477478        self.execute("SET @i = 0")
    478479        self.execute("UPDATE " + table + " SET " + colName + "=(@i:=@i+1)")
    479         self.execute("ALTER TABLE " + table + " ADD PRIMARY KEY (" + colName + ")")
    480 
     480        self.execute("ALTER IGNORE TABLE " + table + " ADD PRIMARY KEY (" + colName + ")")
     481
     482    '''                                                                                                                                             
     483    Adds a column to this table which contains a row count                                                                                         
     484    '''
     485    def addRowCountColumnNoKey(self, table, colName):
     486
     487        self.execute("ALTER TABLE " + table + " ADD COLUMN " + colName + " INTEGER FIRST")
     488        self.execute("SET @i = 0")
     489        self.execute("UPDATE " + table + " SET " + colName + "=(@i:=@i+1)")
     490
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/objectbatch.py

    r37763 r38052  
    9292   
    9393    def updatePspsUniqueIDs(self):
    94         sql = "UPDATE ObjectThin join (select @r:=@r+1 rownum, objID from \
    95         (select @r:=0) r, ObjectThin t) as foo using (objID) set \
    96         uniquePspsOBid = ((" +str(self.batchID) +"*1000000000 ) + rownum)";
     94 #       sql = "UPDATE ObjectThin join (select @r:=@r+1 rownum, objID from \
     95 #       (select @r:=0) r, ObjectThin t) as foo using (objID) set \
     96 #       uniquePspsOBid = ((" +str(self.batchID) +"*1000000000 ) + rownum)";
     97
     98        sql = "UPDATE ObjectThin set uniquePspsOBid = (("+str(self.batchID)+"*1000000000 ) + row)"
    9799        try: self.scratchDb.execute(sql)
    98100        except:
     
    184186                   SET " + filter[1] + "MeanPSFMagErr = null \
    185187                   WHERE " + filter[1] + "MeanPSFMagErr > " + str(cut)
    186             self.scratchDb.execute(sql)
    187 
     188            try: self.scratchDb.execute(sql)
     189            except:
     190                self.logger.infoPair("failed sql",sql)
     191                raise
    188192    '''
    189193    Inserts stuff for all mags
     
    222226            sql += "ObjectThin.nStackDetections = ObjectThin.nStackDetections + cps.NSTACK_DET"
    223227            self.logger.info(sql)
    224             self.scratchDb.execute(sql)
    225 
     228            try: self.scratchDb.execute(sql)
     229            except:
     230                self.logger.InfoPair("failed sql",sql)
     231                raise
    226232        # XXX this does not seem like a good thing to leave in SQL
    227233        self.logger.infoPair("Calculating nDetections from", "n[filters]")
     
    231237            sql += "SET nDetections = nDetections + n" + filter[1]
    232238            sql += " WHERE n" + filter[1] + " != -999"
    233             self.scratchDb.execute(sql)
    234 
     239            try: self.scratchDb.execute(sql)
     240            except:
     241                self.logger.infoPair("failed sql",sql)
     242                raise
    235243    '''
    236244    give objectName to objectThin
     
    255263        except:
    256264            self.logger.errorPair("failed sql", sql)
     265            raise
    257266            return False
    258267
     
    273282        except:
    274283            self.logger.errorPair("failed sql", sql)
     284            raise
    275285            return False
    276286        self.logger.infoPair("updating objName", "using means")
     
    289299        except:
    290300            self.logger.errorPair("failed sql", sql)
     301            raise
    291302            return False
    292303 
     
    307318        except:
    308319            self.logger.errorPair("failed sql", sql)
     320            raise
    309321            return False
    310322
     
    327339            except:
    328340                self.logger.errorPair("Couldn't squash out of range stuff", sql)
    329                 return False
     341                raise
     342       
    330343
    331344            self.logger.infoPair("setting to null  > 1e-38 and < 1e-38 in", "cps FLUX_KRON")
     
    336349            except:
    337350                self.logger.errorPair("Couldn't squash out of range stuff", sql)
    338                 return False
     351                raise
    339352
    340353       
     
    418431   
    419432        rs = self.scratchDb.executeQuery(sql)
     433       
    420434        rs.first()
    421435        nToDelete = rs.getInt(1)
     
    435449        except:
    436450            self.logger.errorPair("Couldn't cull outsiders from ObjectThin table", sql)
    437             return False
    438 
     451            raise
     452
     453        ##Don't do this till after MeanObject
     454        ##self.dvoObjects.purgeRegion(self.region)
     455        self.logger.infoPair("updatePspsUniqueIDs","start")
     456        self.updatePspsUniqueIDs()
     457        self.logger.infoPair("updatePspsUniqueIDs","end")
    439458        self.logger.infoPair("Dropping row column from", "ObjectThin table")
    440459        self.scratchDb.dropColumn("ObjectThin", "row")
    441460        ##self.logger.infoPair("Purging from scratch Db", self.region + " region")
    442 
     461        self.logger.infoPair("Dropped row column", "objectThin")
    443462        ##Don't do this till after MeanObject
    444         ##self.dvoObjects.purgeRegion(self.region)
    445 
    446         self.updatePspsUniqueIDs()
    447        
     463
    448464        self.setMinMaxObjID(["ObjectThin"])
    449465
     
    463479        except:
    464480            self.logger.errorPair("Couldn't populate MeanObject table", sql)
    465             return False
     481            raise
    466482
    467483        self.logger.infoPair("Adding 'row' columns to", "MeanObject table")
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/queue.py

    r37246 r38052  
    2929        super(Queue, self).__init__(argv)
    3030
    31         # create various objects
     31       # create various objects
    3232        self.gpc1Db = Gpc1Db(self.logger, self.config)
    3333
     
    132132                    #dec = self.skychunk.minDec
    133133
    134                     if (dec > 85): raise
    135 
     134                    #if (dec > 85): raise
     135                    # this may be a problem for poles # HAF XXX
     136                    if (dec > 90): raise
    136137                    # print "dec, dD: ", dec, dD ,self.skychunk.maxDec
    137138
     
    170171
    171172                        dec = dec + 2*dD
    172                         if (dec > 85): raise
    173 
    174                         #dR = 0.5*self.skychunk.boxSize / math.cos(math.radians(dec))
     173                        #if (dec > 85): raise
     174                        if (dec > 90): raise
     175                       #dR = 0.5*self.skychunk.boxSize / math.cos(math.radians(dec))
    175176                        dR = 0.5*self.skychunk.boxSize
    176177                        ra = self.skychunk.minRa + dR
  • branches/eam_branches/ipp-20150112/ippToPsps/jython/stackbatch.py

    r37763 r38052  
    293293        self.generateRandomIDs()
    294294
     295        self.logger.infoPair("Adding 'row' columns to", "StackObjectThin")
     296        self.scratchDb.addRowCountColumn("StackObjectThin", "row")
     297        self.logger.infoPair("Adding unique psps ids to", "StackObjectThin")
    295298        self.generateStackDetectRowIDsAndPspsUniqueIDs()
     299        self.logger.infoPair("Dropping row column from", "StackObjectThin table")
     300        self.scratchDb.dropColumn("StackObjectThin", "row")
     301
    296302
    297303        # add indexes StackObjectThin
     
    372378                self.logger.errorPair('failed sql: ', sql)
    373379                raise
     380
     381
     382            # we do not yet set bestdetection, this is a placeholder until we do
     383            sql = "UPDATE StackObjectThin set bestDetection = 0"
     384            try:
     385                self.scratchDb.execute(sql)
     386            except:
     387                self.logger.errorPair('failed sql: ', sql)
     388                raise
     389
    374390
    375391        self.tablesToExport.append("StackObjectThin")
     
    756772
    757773        minRadius = 1
    758         maxRadius = 10
     774        maxRadius = 9
    759775        if tablename == 'StackApFlx':
    760776            minRadius = 3
     
    765781
    766782        sqlLine = sqlUtility("UPDATE " + tablename + " SET")
    767         for radius in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
     783        for radius in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
    768784            if radius < minRadius: continue
    769785            if radius > maxRadius: continue
     
    821837        sql = sqlLine.makeEquals("WHERE a." + filter + "ippDetectID = b.IPP_IDET AND  " + psfCondition)
    822838
    823         self.scratchDb.execute(sql)
    824 
     839        try: self.scratchDb.execute(sql)
     840        except:
     841            self.logger.infoPair("failed sql", sql)
     842            raise
    825843        # instrumental flux, AB mags, Jy:
    826844        # flux_inst = cts / sec
     
    843861            sqlLine.group(field + "Std",       field + "Std" + " * POW(10, 3.56 - 0.4* b.zp)")
    844862        sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND a." + filter + "ippDetectID = b.ippDetectID AND b.imageID = " + str(self.imageIDs[filter]) )
    845         self.scratchDb.execute(sql)
    846 
     863        try: self.scratchDb.execute(sql)
     864        except:
     865            self.logger.infoPair("failed sql",sql)
     866            raise
    847867    '''
    848868    Populates the StackToImage table
     
    950970
    951971    def generateStackDetectRowIDsAndPspsUniqueIDs(self):
    952         sql = "UPDATE StackObjectThin join (select @r:=@r+1 rownum, objID from \
    953         (select @r:=0) r, StackObjectThin t) as foo using (objID) set \
    954         stackDetectRowID = ((" + str(self.batchID) + " << 32 ) + rownum), \
    955         uniquePspsSTid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)";
     972#        sql = "UPDATE StackObjectThin join (select @r:=@r+1 rownum, objID from \
     973#        (select @r:=0) r, StackObjectThin t) as foo using (objID) set \
     974#        stackDetectRowID = ((" + str(self.batchID) + " << 32 ) + rownum), \
     975#        uniquePspsSTid = ((" +str(self.batchID)+ "*1000000000 ) + rownum)";
     976        sql = "UPDATE StackObjectThin set uniquePspsSTid = (("+str(self.batchID)+"*1000000000 ) + row)"
     977
    956978        try: self.scratchDb.execute(sql)
    957979        except:
     
    10101032            self.scratchDb.addColumn(table, filter + "haveData", "tinyint")
    10111033
    1012         fields = "objID, ippObjID, randomStackObjID, primaryDetection, bestDetection, uniquePspsSTID, "
     1034        fields = "objID, ippObjID, randomStackObjID, primaryDetection, bestDetection, uniquePspsSTID, StackDetectRowID, "
    10131035
    10141036        for i in range(len(self.filters)):
     
    10161038            fields += filter + "ippDetectID, "
    10171039            fields += filter + "stackDetectID, "
     1040#            fields += filter + "StackDetectRowID, "
    10181041            fields += filter + "stackMetaID " # careful here: do not add comma to last entry
    10191042            if (i < len(self.filters) - 1):
    10201043                fields += ", "
    10211044
    1022         if (table == "StackObjectAttributes"):
    1023             fields += ", stackDetectRowID "
     1045        #if (table == "StackObjectAttributes"):
     1046        #    fields += ", stackDetectRowID "
    10241047        sql  = "INSERT INTO " + table + " (" + fields + ") "
    10251048        sql += "SELECT " + fields + " FROM " + mainTable
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/DiffDetObject.txt

    r37763 r38052  
    11               
    22diffObjName      = ipptopsps
    3 diffObjID        = dvo / addstar
     3diffObjID        = dvo:cpt.extID
    44uniquePspsDOid = ipptopsps
    5 ippObjID         = dvo / addstar
     5ippObjID         = dvo:cpt.objID | cpt.catID <<32
    66surveyID         = ipptopsps
    7 skyCellID        = smf header
     7skyCellID        = smf header ?? how does this work for objects
    88htmID            = PSPS
    99zoneID           = PSPS
    1010randomID         = ipptopsps
    1111batchID          = ipptopsps
    12 dvoRegionID      = dvo catID
    13 objInfoFlag      = average.flags
    14 qualityFlag      = average.flags >> 24 & 0xff (needed??)
     12dvoRegionID      = dvo:cpt:catID
     13objInfoFlag      = dvo:cpt.flags
     14qualityFlag      = dvo:cpt.flags >> 24 & 0xff (needed??)
    1515consistencyFlag  = ?
    16 ra               = dvo / relastro
    17 dec              = dvo / relastro
    18 raErr            = dvo / relastro
    19 decErr           = dvo / relastro
     16ra               = dvo:cpt.RA_MEAN
     17dec              = dvo:cpt.DEC_MEAN
     18raErr            = dvo:cpt.RA_ERR
     19decErr           = dvo:cpt.DEC_ERR
    2020cx               = PSPS
    2121cy               = PSPS
     
    2525l                = PSPS
    2626b                = PSPS
    27 gQfPerfect       = dvo / relphot / secfilt. [XXX Not calculated]
    28 rQfPerfect       = dvo / relphot / secfilt. [XXX Not calculated]
    29 iQfPerfect       = dvo / relphot / secfilt. [XXX Not calculated]
    30 zQfPerfect       = dvo / relphot / secfilt. [XXX Not calculated]
    31 yQfPerfect       = dvo / relphot / secfilt. [XXX Not calculated]
     27gQfPerfect       = dvo:secfilt.PSF_QF_PERF_MAX
     28rQfPerfect       = dvo:secfilt.PSF_QF_PERF_MAX
     29iQfPerfect       = dvo:secfilt.PSF_QF_PERF_MAX
     30zQfPerfect       = dvo:secfilt.PSF_QF_PERF_MAX
     31yQfPerfect       = dvo:secfilt.PSF_QF_PERF_MAX
    3232dataRelease      = ipptopsps
    33 nDetections      = dvo / relphot
    34 ng               = dvo / relphot
    35 nr               = dvo / relphot
    36 ni               = dvo / relphot
    37 nz               = dvo / relphot
    38 ny               = dvo / relphot
     33nDetections      = ipptopsps:sum of ng+nr+ni+nz+ny
     34ng               = dvo:secfilt.nwarp
     35nr               = dvo:secfilt.nwarp
     36ni               = dvo:secfilt.nwarp
     37nz               = dvo:secfilt.nwarp
     38ny               = dvo:secfilt.nwarp
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedMeanObject

    r37722 r38052  
    3434gFlags          dimensionless   BIGINT   8        NA    flags for g forced
    3535------------------------------------------------------
    36 gLensObjSmearX11 arcsec^-2      REAL     4      -999    per-object smear polarizability X11 term
    37 gLensObjSmearX12 arcsec^-2      REAL     4      -999    per-object smear polarizability X12 term
    38 gLensObjSmearX22 arcsec^-2      REAL     4      -999    per-object smear polarizability X22 term
    39 gLensObjSmearE1  arcsec^-2      REAL     4      -999    per-object smear polarizability E1 term
    40 gLensObjSmearE2  arcsec^-2      REAL     4      -999    per-object smear polarizability E2 term
    41 gLensObjShearX11 dimensionless  REAL     4      -999    per-object shear polarizability X11 term
    42 gLensObjShearX12 dimensionless  REAL     4      -999    per-object shear polarizability X12 term
    43 gLensObjShearX22 dimensionless  REAL     4      -999    per-object shear polarizability X22 term
    44 gLensObjShearE1  dimensionless  REAL     4      -999    per-object shear polarizability E1 term
    45 gLensObjShearE2  dimensionless  REAL     4      -999    per-object shear polarizability E2 term
    46 gLensPSFSmearX11 arcsec^-2      REAL     4      -999    psf model smear polarizability X11 term
    47 gLensPSFSmearX12 arcsec^-2      REAL     4      -999    psf model smear polarizability X12 term
    48 gLensPSFSmearX22 arcsec^-2      REAL     4      -999    psf model smear polarizability X22 term
    49 gLensPSFSmearE1  arcsec^-2      REAL     4      -999    psf model smear polarizability E1 term
    50 gLensPSFSmearE2  arcsec^-2      REAL     4      -999    psf model smear polarizability E2 term
    51 gLensPSFShearX11 dimensionless  REAL     4      -999    psf model shear polarizability X11 term
    52 gLensPSFShearX12 dimensionless  REAL     4      -999    psf model shear polarizability X12 term
    53 gLensPSFShearX22 dimensionless  REAL     4      -999    psf model shear polarizability X22 term
    54 gLensPSFShearE1  dimensionless  REAL     4      -999    psf model shear polarizability E1 term
    55 gLensPSFShearE2  dimensionless  REAL     4      -999    psf model shear polarizability E2 term
    56 ------------------------------------------------------
    5736gGamma           arcsec^2       REAL     4      -999    second moment (Mxx + Myy)
    5837gE1              dimensionless  REAL     4      -999    polarization, KSB-corrected (Mxx - Myy) / (Mxx + Myy)
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedMeanObject.txt

    r37673 r38052  
    3434gFlags           = cps.FLAGS
    3535---------------- =
    36 gLensObjSmearX11 = cpy.X11_SM_OBJ
    37 gLensObjSmearX12 = cpy.X12_SM_OBJ
    38 gLensObjSmearX22 = cpy.X22_SM_OBJ
    39 gLensObjSmearE1  = cpy.E1_SM_OBJ
    40 gLensObjSmearE2  = cpy.E2_SM_OBJ
    41 gLensObjShearX11 = cpy.X11_SH_OBJ
    42 gLensObjShearX12 = cpy.X12_SH_OBJ
    43 gLensObjShearX22 = cpy.X22_SH_OBJ
    44 gLensObjShearE1  = cpy.E1_SH_OBJ
    45 gLensObjShearE2  = cpy.E2_SH_OBJ
    46 gLensPSFSmearX11 = cpy.X11_SM_PSF
    47 gLensPSFSmearX12 = cpy.X12_SM_PSF
    48 gLensPSFSmearX22 = cpy.X22_SM_PSF
    49 gLensPSFSmearE1  = cpy.E1_SM_PSF
    50 gLensPSFSmearE2  = cpy.E2_SM_PSF
    51 gLensPSFShearX11 = cpy.X11_SH_PSF
    52 gLensPSFShearX12 = cpy.X12_SH_PSF
    53 gLensPSFShearX22 = cpy.X22_SH_PSF
    54 gLensPSFShearE1  = cpy.E1_SH_PSF
    55 gLensPSFShearE2  = cpy.E2_SH_PSF
    56 ---------------- =
    5736gGamma           = cpy.GAMMA
    5837gE1              = cpy.E1
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedWarpExtended

    r37592 r38052  
    1313obsTime         MeanJulianDays  FLOAT   8       -999    Time of mid observation in Mean Julian Days
    1414------------------------------------------------------
    15 lensObjSmearX11 arcsec^-2       REAL    4       -999    per-object smear polarizability X11 term
    16 lensObjSmearX12 arcsec^-2       REAL    4       -999    per-object smear polarizability X12 term
    17 lensObjSmearX22 arcsec^-2       REAL    4       -999    per-object smear polarizability X22 term
    18 lensObjSmearE1  arcsec^-2       REAL    4       -999    per-object smear polarizability E1 term
    19 lensObjSmearE2  arcsec^-2       REAL    4       -999    per-object smear polarizability E2 term
    20 lensObjShearX11 dimensionless   REAL    4       -999    per-object shear polarizability X11 term
    21 lensObjShearX12 dimensionless   REAL    4       -999    per-object shear polarizability X12 term
    22 lensObjShearX22 dimensionless   REAL    4       -999    per-object shear polarizability X22 term
    23 lensObjShearE1  dimensionless   REAL    4       -999    per-object shear polarizability E1 term
    24 lensObjShearE2  dimensionless   REAL    4       -999    per-object shear polarizability E2 term
    25 lensPSFSmearX11 arcsec^-2       REAL    4       -999    psf model smear polarizability X11 term
    26 lensPSFSmearX12 arcsec^-2       REAL    4       -999    psf model smear polarizability X12 term
    27 lensPSFSmearX22 arcsec^-2       REAL    4       -999    psf model smear polarizability X22 term
    28 lensPSFSmearE1  arcsec^-2       REAL    4       -999    psf model smear polarizability E1 term
    29 lensPSFSmearE2  arcsec^-2       REAL    4       -999    psf model smear polarizability E2 term
    30 lensPSFShearX11 dimensionless   REAL    4       -999    psf model shear polarizability X11 term
    31 lensPSFShearX12 dimensionless   REAL    4       -999    psf model shear polarizability X12 term
    32 lensPSFShearX22 dimensionless   REAL    4       -999    psf model shear polarizability X22 term
    33 lensPSFShearE1  dimensionless   REAL    4       -999    psf model shear polarizability E1 term
    34 lensPSFShearE2  dimensionless   REAL    4       -999    psf model shear polarizability E2 term
    35 ------------------------------------------------------
    3615flxR5           adu/seconds     REAL    4       -999    Flux inside r = 5
    3716flxR5Err        adu/seconds     REAL    4       -999    estimated error is flxR5
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedWarpExtended.txt

    r37673 r38052  
    1313obsTime          = cmf
    1414---------------- =
    15 lensObjSmearX11  = cmf.X11_SM_OBJ
    16 lensObjSmearX12  = cmf.X12_SM_OBJ
    17 lensObjSmearX22  = cmf.X22_SM_OBJ
    18 lensObjSmearE1   = cmf.E1_SM_OBJ
    19 lensObjSmearE2   = cmf.E2_SM_OBJ
    20 lensObjShearX11  = cmf.X11_SH_OBJ
    21 lensObjShearX12  = cmf.X12_SH_OBJ
    22 lensObjShearX22  = cmf.X22_SH_OBJ
    23 lensObjShearE1   = cmf.E1_SH_OBJ
    24 lensObjShearE2   = cmf.E2_SH_OBJ
    25 lensPSFSmearX11  = cmf.X11_SM_PSF
    26 lensPSFSmearX12  = cmf.X12_SM_PSF
    27 lensPSFSmearX22  = cmf.X22_SM_PSF
    28 lensPSFSmearE1   = cmf.E1_SM_PSF
    29 lensPSFSmearE2   = cmf.E2_SM_PSF
    30 lensPSFShearX11  = cmf.X11_SH_PSF
    31 lensPSFShearX12  = cmf.X12_SH_PSF
    32 lensPSFShearX22  = cmf.X22_SH_PSF
    33 lensPSFShearE1   = cmf.E1_SH_PSF
    34 lensPSFShearE2   = cmf.E2_SH_PSF
    35 ---------------- =
    3615flxR5            = cmf.FLX_AP_R5
    3716flxR5Err         = cmf.FLX_ERR_AP_R5
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/ForcedWarpMeasurement

    r37722 r38052  
    4444kronFluxErr     adu/seconds     REAL    4       -999    Kron flux error
    4545kronRad         arcsec          REAL    4       -999    Kron radius
    46 kronRadErr      arcsed          REAL    4       -999    Kron radius error
    4746------------------------------------------------------
    4847sky             adu/sec/pixel   REAL    4       -999    PSF sky level at source
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon6

    r37592 r38052  
    4949gc6flxR9Std     Jy              REAL    4       -999    estimated standard deviation in c1flxR9
    5050gc6flxR9Fill    dimensionless   REAL    4       -999    estimated filling factor at R9
    51 gc6flxR10       Jy              REAL    4       -999    Flux inside r = 10
    52 gc6flxR10Err    Jy              REAL    4       -999    estimated error is c1flxR10
    53 gc6flxR10Std    Jy              REAL    4       -999    estimated standard deviation in c1flxR10
    54 gc6flxR10Fill   dimensionless   REAL    4       -999    estimated filling factor at R10
    5551
    5652
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon6.txt

    r37592 r38052  
    4949gc6flxR9Std      - cmf : APER_FLUX_STDEV_9 : ** badly defined in cmf
    5050gc6flxR9Fill     + cmf : APER_FILL_9     
    51 gc6flxR10        - cmf : APER_FLUX_10        ** does not exist in cmf
    52 gc6flxR10Err     - cmf : APER_FLUX_ERR_10    ** does not exist in cmf
    53 gc6flxR10Std     - cmf : APER_FLUX_STDEV_10  ** does not exist in cmf
    54 gc6flxR10Fill    - cmf : APER_FILL_10        ** does not exist in cmf
     51
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon8

    r37592 r38052  
    4949gc8flxR9Std     Jy              REAL    4       -999    estimated standard deviation in c2flxR9
    5050gc8flxR9Fill    dimensionless   REAL    4       -999    estimated filling factor at R9
    51 gc8flxR10       Jy              REAL    4       -999    Flux inside r = 10
    52 gc8flxR10Err    Jy              REAL    4       -999    estimated error is c2flxR10
    53 gc8flxR10Std    Jy              REAL    4       -999    estimated standard deviation in c2flxR10
    54 gc8flxR10Fill   dimensionless   REAL    4       -999    estimated filling factor at R10
    5551
    5652-- repeat for other filters with appropriate leading prefex.
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGCon8.txt

    r37592 r38052  
    4949gc8flxR9Std      - cmf : APER_FLUX_STDEV_9 : ** badly defined in cmf
    5050gc8flxR9Fill     + cmf : APER_FILL_9     
    51 gc8flxR10        - cmf : APER_FLUX_10        ** does not exist in cmf
    52 gc8flxR10Err     - cmf : APER_FLUX_ERR_10    ** does not exist in cmf
    53 gc8flxR10Std     - cmf : APER_FLUX_STDEV_10  ** does not exist in cmf
    54 gc8flxR10Fill    - cmf : APER_FILL_10        ** does not exist in cmf
     51
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGUnc

    r37592 r38052  
    4949gflxR9Std       Jy              REAL    4       -999    estimated standard deviation in flxR9
    5050gflxR9Fill      dimensionless   REAL    4       -999    estimated filling factor at R9
    51 gflxR10         Jy              REAL    4       -999    Flux inside r = 10
    52 gflxR10Err      Jy              REAL    4       -999    estimated error is flxR10
    53 gflxR10Std      Jy              REAL    4       -999    estimated standard deviation in flxR10
    54 gflxR10Fill     dimensionless   REAL    4       -999    estimated filling factor at R10
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackApFlxEGUnc.txt

    r37592 r38052  
    4949gflxR9Std        - cmf : APER_FLUX_STDEV_9 : ** badly defined in cmf
    5050gflxR9Fill       + cmf : APER_FILL_9     
    51 gflxR10          - cmf : APER_FLUX_10        ** does not exist in cmf
    52 gflxR10Err       - cmf : APER_FLUX_ERR_10    ** does not exist in cmf
    53 gflxR10Std       - cmf : APER_FLUX_STDEV_10  ** does not exist in cmf
    54 gflxR10Fill      - cmf : APER_FILL_10        ** does not exist in cmf
     51
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackModelFitDeV

    r37722 r38052  
    2626gdecDeVOffErr   arcsec          REAL    4       -999    estimated error in dec offset
    2727gDeVCf          dimensionless   REAL    4       -999    DeVaucouleurs fit coverage factor
    28 
     28gDevChisq
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_TABLES/Fundamental_IPP_Data_Product_Tables/StackModelFitSer

    r37722 r38052  
    2828gSerDecErr   dimensionless   REAL    4       -999    estimated error in decSerOff
    2929gserCf          dimensionless   REAL    4       -999    Sersic fit coverage factor
     30gserChisq
    3031
    31 
  • branches/eam_branches/ipp-20150112/ippToPsps/pspsschema/SchemaNew19.0/PSPS_VIEWS/Views

    r37734 r38052  
    11PSPS VIEWS - examples (not complete, please suggest others)
    22
    3 MeanObjectView     = ObjectThin join MeanObject
    4 StackObjectView    = ObjectThin join StackObjectThin join StackObjectAttributes
    5 StackApFlxObjectView      = ObjectThin join StackApFlx 
    6 StackApFlxEGObjectView     = ObjectThin join StackApFlxEGUnc join StackApFlxEGCon6 join StackApFlxEGCon8
    7 StackModelObjectView    = ObjectThin join StackModelFitExp join StackModelFitDeV join StackModelFitSer join StackPetrosian   
    8 ForcedMeanObjectView  = ObjectThin join ForcedMeanObject
    9 StackObjectPrimaryView     = ObjectThin join StackObjectThin join StackObjectAttributes join StackApFlx where primaryDection is true
    10 StackObjectBestView        = ObjectThin join StackObject join StackObjectAttributes join StackApFlx where bestDetection is true
    11 DiffDetObjectView          = DiffDetObject join DiffDetection
     3*note: drop batchID it is not needed
     4
     5MeanObjectView                 = ObjectThin join MeanObject
     6StackObjectView                = ObjectThin join StackObjectThin join StackObjectAttributes
     7StackApFlxObjectView           = ObjectThin join StackApFlx 
     8StackApFlxExGalUncObjectView   = ObjectThin join StackApFlxEGUnc
     9StackApFlxExGalCon6ObjectView  = ObjectThin join StackApFlxEGCon6
     10StackApFlxExGalCon8ObjectView  = ObjectThin join StackApFlxEGCon8
     11StackModelObjectView           = ObjectThin join StackModelFitExp join StackModelFitDeV join StackModelFitSer join StackPetrosian   
     12StackModelFitExpObjectView     = ObjectThin join StackModelFitExp
     13StackModelFitDeVObjectView     = ObjectThin join StackModelFitDeV
     14StackModelFitSerObjectView     = ObjectThin join StackModelFitSer
     15StackModelFitPetObjectView     = ObjectThin join StackPetrosian
     16StackObjectPrimaryView         = ObjectThin join StackObjectThin join StackObjectAttributes join StackApFlx where primaryDection is true
     17* StackObjectBestView          = ObjectThin join StackObject join StackObjectAttributes join StackApFlx where bestDetection is true
     18ForcedMeanObjectView           = ObjectThin join ForcedMeanObject
     19DetectionObjectView            = ObjectThin join MeanObject join Detection
     20DiffDetObjectView              = DiffDetObject join DiffDetection
     21ForcedDetObjectView            = ObjectThin join ForcedWarpDetection
     22
     23
     24*note1: StackObjectBestView - skip - we don't currently set bestDetection
     25*note2: drop batchID it is not needed
    1226
    1327
    1428
    15 
    16 
  • branches/eam_branches/ipp-20150112/ippToPsps/src/Makefile.am

    r35097 r38052  
    1 if HAVE_SVNVERSION
    2 IPPTOPSPS_VERSION=`$(SVNVERSION) ..`
    3 else
    4 IPPTOPSPS_VERSION="UNKNOWN"
    5 endif
    6 
    7 if HAVE_SVN
    8 IPPTOPSPS_BRANCH=`$(SVN) info .. | $(SED) -n -e '/URL:/ h' -e '/Repository Root:/ { x; H; x; s|Repository Root: \(.*\)\nURL: \1\(.*\)|\2| ; s|^/|| ; s|/[a-zA-Z]*/src.*|| ; p }'`
    9 IPPTOPSPS_SOURCE=`$(SVN) info | $(SED) -n -e 's/Repository UUID: // p'`
    10 else
    11 IPPTOPSPS_BRANCH="UNKNOWN"
    12 IPPTOPSPS_SOURCE="UNKNOWN"
    13 endif
    141
    152# Force recompilation of ippToPspsVersion.c, since it gets the version information
    163Version.c: VersionDefinitions.h
    174VersionDefinitions.h: VersionDefinitions.h.in FORCE
    18         -$(RM) VersionDefinitions.h
    19         $(SED) -e "s|@IPPTOPSPS_VERSION@|\"$(IPPTOPSPS_VERSION)\"|" -e "s|@IPPTOPSPS_BRANCH@|\"$(IPPTOPSPS_BRANCH)\"|" -e "s|@IPPTOPSPS_SOURCE@|\"$(IPPTOPSPS_SOURCE)\"|" VersionDefinitions.h.in > VersionDefinitions.h
     5        pslib-setsvnversion.pl IPPTOPSPS VersionDefinitions.h.in VersionDefinitions.h
    206FORCE: ;
    217
  • branches/eam_branches/ipp-20150112/ppViz/src/ppCoord

    • Property svn:ignore
      •  

        old new  
        44.deps
        55Makefile
         6ppCoordVersionDefinitions.h.tmp
  • branches/eam_branches/ipp-20150112/ppViz/src/ppCoord/Makefile.am

    r26377 r38052  
    11bin_PROGRAMS = ppCoord
    2 
    3 if HAVE_SVNVERSION
    4 PPCOORD_VERSION=`$(SVNVERSION) ..`
    5 else
    6 PPCOORD_VERSION="UNKNOWN"
    7 endif
    8 
    9 if HAVE_SVN
    10 PPCOORD_BRANCH=`$(SVN) info .. | $(SED) -n -e '/URL:/ h' -e '/Repository Root:/ { x; H; x; s|Repository Root: \(.*\)\nURL: \1\(.*\)|\2| ; s|^/|| ; s|/[a-zA-Z]*/src.*|| ; p }'`
    11 PPCOORD_SOURCE=`$(SVN) info | $(SED) -n -e 's/Repository UUID: // p'`
    12 else
    13 PPCOORD_BRANCH="UNKNOWN"
    14 PPCOORD_SOURCE="UNKNOWN"
    15 endif
    162
    173# Force recompilation of ppCoordVersion.c, since it gets the version information
    184ppCoordVersion.c: ppCoordVersionDefinitions.h
    195ppCoordVersionDefinitions.h: ppCoordVersionDefinitions.h.in FORCE
    20         -$(RM) ppCoordVersionDefinitions.h
    21         $(SED) -e "s|@PPCOORD_VERSION@|\"$(PPCOORD_VERSION)\"|" -e "s|@PPCOORD_BRANCH@|\"$(PPCOORD_BRANCH)\"|" -e "s|@PPCOORD_SOURCE@|\"$(PPCOORD_SOURCE)\"|" ppCoordVersionDefinitions.h.in > ppCoordVersionDefinitions.h
     6        pslib-setsvnversion.pl PPCOORD ppCoordVersionDefinitions.h.in ppCoordVersionDefinitions.h
    227FORCE: ;
    238
  • branches/eam_branches/ipp-20150112/ppViz/src/ppVizPSF

    • Property svn:ignore
      •  

        old new  
        44.deps
        55Makefile
         6ppVizPSFVersionDefinitions.h.tmp
  • branches/eam_branches/ipp-20150112/ppViz/src/ppVizPSF/Makefile.am

    r26352 r38052  
    11bin_PROGRAMS = ppVizPSF
    2 
    3 if HAVE_SVNVERSION
    4 PPVIZPSF_VERSION=`$(SVNVERSION) ..`
    5 else
    6 PPVIZPSF_VERSION="UNKNOWN"
    7 endif
    8 
    9 if HAVE_SVN
    10 PPVIZPSF_BRANCH=`$(SVN) info .. | $(SED) -n -e '/URL:/ h' -e '/Repository Root:/ { x; H; x; s|Repository Root: \(.*\)\nURL: \1\(.*\)|\2| ; s|^/|| ; s|/[a-zA-Z]*/src.*|| ; p }'`
    11 PPVIZPSF_SOURCE=`$(SVN) info | $(SED) -n -e 's/Repository UUID: // p'`
    12 else
    13 PPVIZPSF_BRANCH="UNKNOWN"
    14 PPVIZPSF_SOURCE="UNKNOWN"
    15 endif
    162
    173# Force recompilation of ppVizPSFVersion.c, since it gets the version information
    184ppVizPSFVersion.c: ppVizPSFVersionDefinitions.h
    195ppVizPSFVersionDefinitions.h: ppVizPSFVersionDefinitions.h.in FORCE
    20         -$(RM) ppVizPSFVersionDefinitions.h
    21         $(SED) -e "s|@PPVIZPSF_VERSION@|\"$(PPVIZPSF_VERSION)\"|" -e "s|@PPVIZPSF_BRANCH@|\"$(PPVIZPSF_BRANCH)\"|" -e "s|@PPVIZPSF_SOURCE@|\"$(PPVIZPSF_SOURCE)\"|" ppVizPSFVersionDefinitions.h.in > ppVizPSFVersionDefinitions.h
     6        pslib-setsvnversion.pl PPVIZPSF ppVizPSFVersionDefinitions.h.in ppVizPSFVersionDefinitions.h
    227FORCE: ;
    238
  • branches/eam_branches/ipp-20150112/ppViz/src/ppVizPattern

    • Property svn:ignore
      •  

        old new  
        44ppVizPatternVersionDefinitions.h
        55ppVizPattern
         6ppVizPatternVersionDefinitions.h.tmp
  • branches/eam_branches/ipp-20150112/ppViz/src/ppVizPattern/Makefile.am

    r26837 r38052  
    11bin_PROGRAMS = ppVizPattern
    2 
    3 if HAVE_SVNVERSION
    4 PPVIZPATTERN_VERSION=`$(SVNVERSION) ..`
    5 else
    6 PPVIZPATTERN_VERSION="UNKNOWN"
    7 endif
    8 
    9 if HAVE_SVN
    10 PPVIZPATTERN_BRANCH=`$(SVN) info .. | $(SED) -n -e '/URL:/ h' -e '/Repository Root:/ { x; H; x; s|Repository Root: \(.*\)\nURL: \1\(.*\)|\2| ; s|^/|| ; s|/[a-zA-Z]*/src.*|| ; p }'`
    11 PPVIZPATTERN_SOURCE=`$(SVN) info | $(SED) -n -e 's/Repository UUID: // p'`
    12 else
    13 PPVIZPATTERN_BRANCH="UNKNOWN"
    14 PPVIZPATTERN_SOURCE="UNKNOWN"
    15 endif
    162
    173# Force recompilation of ppVizPatternVersion.c, since it gets the version information
    184ppVizPatternVersion.c: ppVizPatternVersionDefinitions.h
    195ppVizPatternVersionDefinitions.h: ppVizPatternVersionDefinitions.h.in FORCE
    20         -$(RM) ppVizPatternVersionDefinitions.h
    21         $(SED) -e "s|@PPVIZPATTERN_VERSION@|\"$(PPVIZPATTERN_VERSION)\"|" -e "s|@PPVIZPATTERN_BRANCH@|\"$(PPVIZPATTERN_BRANCH)\"|" -e "s|@PPVIZPATTERN_SOURCE@|\"$(PPVIZPATTERN_SOURCE)\"|" ppVizPatternVersionDefinitions.h.in > ppVizPatternVersionDefinitions.h
     6        pslib-setsvnversion.pl PPVIZPATTERN ppVizPatternVersionDefinitions.h.in ppVizPatternVersionDefinitions.h
    227FORCE: ;
    238
  • branches/eam_branches/ipp-20150112/psconfig/psconfig.csh.in

    r35113 r38052  
    323323 case linux:
    324324 case linrh:
    325    gcc --version | grep -e 4.6 -e 4.5 | grep Ubuntu >& /dev/null
     325   gcc --version | grep -e 4.8 -e 4.6 -e 4.5| grep Ubuntu >& /dev/null
    326326   if ($status == 0) then
    327327    set xtraflags = "-Wl,--no-as-needed"
     
    335335 case lin64:
    336336 case linrh64:
    337    gcc --version | grep -e 4.6 -e 4.5 | grep Ubuntu >& /dev/null
     337   gcc --version | grep -e 4.8 -e 4.6 -e 4.5 | grep Ubuntu >& /dev/null
    338338   if ($status == 0) then
    339339    set xtraflags = "-Wl,--no-as-needed"
  • branches/eam_branches/ipp-20150112/psconfig/tagsets/ipp-3.0.dist

    r36005 r38052  
    3131  NNYYN  pclient                ipp-2-9          -0     
    3232         
     33# psLib-based code needs the nebclient library to interact with nebulous
    3334  YNNYY  Nebulous/nebclient     ipp-2-9          -0
    34   YNNYY  Nebulous               ipp-2-9          -0
    35   YNNYY  Nebulous-Server        ipp-2-9          -0
    36   YYYYY  PS-IPP-Metadata-Config ipp-2-9          -0
    37   YYYYY  PS-IPP-Config          ipp-2-9          -0     
    38          
     35
    3936  YYYYY  psLib                  ipp-2-9          -0
    4037  YYYYY  psModules              ipp-2-9          -0
     
    5451  YYYYY  ppSub                  ipp-2-9          -0
    5552  YYYYY  ppSim                  ipp-2-9          -0
     53         
     54  YNNYY  Nebulous               ipp-2-9          -0
     55  YNNYY  Nebulous-Server        ipp-2-9          -0
     56  YYYYY  PS-IPP-Metadata-Config ipp-2-9          -0
     57  YYYYY  PS-IPP-Config          ipp-2-9          -0     
    5658         
    5759  YNNYY  glueforge              ipp-2-9          -0
     
    7880
    7981  YYYYY  extsrc/gpcsw           ipp-2-9          -0
    80   YYYYY  magic                  ipp-2-9          -0
     82# YYYYY  magic                  ipp-2-9          -0
    8183  YYYYY  magic/censorObjects    ipp-2-9          -0
    8284  YYYYY  magic/remove           ipp-2-9          -0
  • branches/eam_branches/ipp-20150112/pstamp/scripts/psmkreq

    r37838 r38052  
    1 #!/bin/env perl
     1#!/usr/bin/env perl
    22###
    33### psmkreq
  • branches/eam_branches/ipp-20150112/pstamp/scripts/pstampparse.pl

    r37838 r38052  
    1818use POSIX;
    1919use Time::HiRes qw(gettimeofday);
     20use Time::Local;
    2021
    2122my $verbose;
     
    117118my_die("REQ_NAME not found in $request_file_name\n", $PS_EXIT_PROG_ERROR)  if (!$req_name);
    118119my_die("wrong EXTVER $extver found in $request_file_name\n", $PS_EXIT_PROG_ERROR) if ($extver ne "1" and $extver ne "2");
     120
     121if ($extver eq "1") {
     122    print STDERR "WARNING WARNING WARNING\n";
     123    print STDERR "Very soon version 1 postage stamp requests will be rejected. Please update your request tables to version 2 format.\n";
     124    print STDERR "Note that EMAIL will not be optional\n";
     125
     126} elsif (!$email) {
     127    my_die("ERROR: Required parameter EMAIL not found in request file header.\n", $PSTAMP_INVALID_REQUEST)
     128}
     129   
    119130
    120131if ($extver >= 2) {
     
    260271my $num_jobs = 0;
    261272
     273my $accessLevel = getUsersAccessLevel($email, $label);
     274if ($accessLevel < 0) {
     275    print STDERR "Data access forbidden.\n";
     276    insertFakeJobForRow(undef, 0, $PSTAMP_NOT_AUTHORIZED);
     277    exit 0;
     278}
     279
    262280foreach my $row (@$rows) {
    263281
     
    271289    $row->{job_num} = 0;
    272290    $row->{error_code} = 0;
     291    $row->{accessLevel} = $accessLevel;
    273292
    274293    $num_jobs += processRow($action, $row);
     
    537556}
    538557
    539 sub processRows {
    540     my $action = shift;
    541     my $rowList = shift;
    542     my $num_jobs = 0;
    543 
    544     if ($action eq 'LIST') {
    545         # LIST is not allowed by caller. Can't get here.
    546         return list_targets($rowList);
    547     }
    548 
    549     # all rows in the list are compatible
    550     my $row = $rowList->[0];
    551 
    552     my $project  = $row->{PROJECT};
    553 
    554     # note: resolve_project avoids running pstamptool every time by remembering the
    555     # last project resolved
    556     my $proj_hash = resolve_project($ipprc, $project, $dbname, $dbserver);
    557     if (!$proj_hash) {
    558         foreach my $r (@$rowList) {
    559             insertFakeJobForRow($r, 1, $PSTAMP_UNKNOWN_PRODUCT);
    560             $num_jobs++;
    561         }
    562         return $num_jobs;
    563     }
    564     my $req_type  = $row->{REQ_TYPE};
    565     my $stage     = $row->{IMG_TYPE};
    566     my $id        = $row->{ID};
    567     my $component = $row->{COMPONENT};
    568     my $tess_id   = $row->{TESS_ID};
    569 
    570     my $filter    = $row->{REQFILT};
    571     my $mjd_min   = $row->{MJD_MIN};
    572     my $mjd_max   = $row->{MJD_MAX};
    573     my $data_group = $row->{DATA_GROUP};
    574 
    575     my $rownum     = $row->{ROWNUM};
    576     my $job_type   = $row->{JOB_TYPE};
    577     my $option_mask= $row->{OPTION_MASK};
    578    
    579     my $image_db   = $proj_hash->{dbname};
    580     my $camera     = $proj_hash->{camera};
    581     my $need_magic = $proj_hash->{need_magic};
    582     # Since user can get unmagicked data "by coordinate" requests can go back in time
    583     # to dredge unusable data from the "dark days"...
    584     if ($req_type eq 'bycoord' and $mjd_min eq 0) {
    585             # ... so unless the user sets mjd_min clamp it to 2009-04-01
    586             # XXX: This value should live in the pstampProject table not be hardcoded here
    587             $mjd_min = 54922;
    588     }
    589 
    590     $need_magic = 0 if $stage eq 'stack';
    591 
    592     # XXX: magic is dead
    593     $need_magic = 0;
    594 
    595     my $numRows = scalar @$rowList;
    596 
    597     if (($req_type eq 'byskycell') or ($req_type eq 'bycoord')) {
    598         # avoid error from print below if $id isn't needed
    599         $id = "" if !$id;
    600     }
    601     print "Collected $numRows rows beginning with row $rownum. $req_type $stage $id $tess_id $component\n";
    602    
    603     # Call PS::IPP::PStamp::Job locate_images subroutine to get the images for this
    604     # request specification. An array reference is returned.
    605     my $start_locate = gettimeofday();
    606 
    607     # XXX: perhaps we should get rid of most of this argument list.
    608     # Now that we are passing down compatible rows all of the
    609     # information required is contained there
    610 
    611     my $imageList = locate_images($ipprc, $image_db, $rowList, $req_type, $stage, $id, $tess_id, $component,
    612                 $option_mask, $need_magic, $mjd_min, $mjd_max, $filter, $data_group, $verbose);
    613 
    614     my $dtime_locate = gettimeofday() - $start_locate;
    615     print "Time to locate_images for row $rownum $dtime_locate\n";
    616 
    617     # handle this
    618     # XXX: what did I mean by that comment?
    619     $row->{need_magic} = $need_magic;
    620 
    621     $num_jobs += queueJobs($action, $rowList, $imageList);
    622 
    623     # if a row slipped through with no jobs add a faulted one
    624     foreach my $row (@$rowList) {
    625         if ($row->{job_num} == 0) {
    626             print "row $row->{ROWNUM} produced no jobs\n";
    627             print STDERR "row $row->{ROWNUM} produced no jobs\n";
    628             my $error_code = $row->{error_code};
    629             $error_code =  $PSTAMP_NO_IMAGE_MATCH if !$error_code;
    630             insertFakeJobForRow($row, ++$row->{job_num}, $error_code);
    631         }
    632     }
    633 
    634     return $num_jobs;
    635 }
    636 
    637558sub queueJobForImage
    638559{
     
    648569
    649570    $option_mask |= $PSTAMP_NO_WAIT_FOR_UPDATE if $no_updates_allowed;
     571
     572    # determine if there is a cut off date for data access for this user
     573    my $mjd_max;
     574    my $adjustedDateCuts = adjustDateCuts($row, \$mjd_max);
    650575
    651576    my $roi_string;
     
    692617
    693618    my $imagefile = $image->{image};
    694     if (($stage ne "stack") and ($need_magic and !$image->{magicked})) {
    695         # XXX: should we add a faulted job so the client can know what happened if no images come back?
    696         # The test for destreaked is made in locate_images now so this code never runs. This leads to no feedback
    697         # to users, but speeds up processing significantly
    698         print STDERR "skipping non-magicked image $imagefile\n" if $verbose;
    699 
    700         # for now assume yes.
    701 
    702         insertFakeJobForRow($row, $job_num, $PSTAMP_NOT_DESTREAKED);
    703         return 1;
    704     } elsif ($stage eq "stack") {
     619
     620    if ($stage eq "stack") {
    705621        # unconvolved stack images weren't available prior to some point in time.
    706622        # XXX: handle this more correctly by examining the stack run's config dump file.
     
    713629            insertFakeJobForRow($row, $job_num, $PSTAMP_NOT_AVAILABLE);
    714630            return 1;
     631        }
     632    } else {
     633        if ($need_magic and !$image->{magicked}) {
     634            # XXX: should we add a faulted job so the client can know what happened if no images come back?
     635            # The test for destreaked is made in locate_images now so this code never runs. This leads to no feedback
     636            # to users, but speeds up processing significantly
     637            print STDERR "skipping non-magicked image $imagefile\n" if $verbose;
     638
     639            # for now assume yes.
     640
     641            insertFakeJobForRow($row, $job_num, $PSTAMP_NOT_DESTREAKED);
     642            return 1;
     643        }
     644
     645        if ($adjustedDateCuts) {
     646            my $mjd = 0;
     647            my $exp_id;
     648            if ($stage eq 'diff') {
     649                # diff stage doesn't have a dateobs so we need to hack it.
     650                # Extract dateobs from the exp_name_1
     651                if ($row->{PROJECT} eq 'gpc1') {
     652                    my $exp_name = $image->{exp_name_1};
     653                    if ($exp_name ne 'NULL') {
     654                        $mjd = 50000 + (substr($exp_name, 1, 4));
     655                        $exp_id = $image->{exp_id_1};
     656                    } else {
     657                        # it's stack-stack diff just let it go with mjd = 0
     658                        # XXX: deal with this
     659                    }
     660                }
     661            } else {
     662                $exp_id = $image->{exp_id};
     663                $mjd = dateobsToMJD($image->{dateobs});
     664            }
     665
     666            if ($mjd > $mjd_max) {
     667                print STDERR "User is not authorized for stamps from this exposure.\n";
     668                insertFakeJobForRow($row, $job_num, $PSTAMP_NOT_AUTHORIZED, $exp_id);
     669                return 1;
     670            }
    715671        }
    716672    }
     
    943899    my $job_num = shift;
    944900    my $fault = shift;
     901    my $exp_id = shift;
    945902
    946903    my ($job_type, $rownum);
     
    965922    my $command = "$pstamptool -addjob  -req_id $req_id -job_type $job_type"
    966923                        . " -rownum $rownum -state stop -fault $fault";
     924    $command .= " -exp_id $exp_id" if $exp_id and $exp_id ne 'NULL';
    967925
    968926    if (!$no_update) {
     
    12201178}
    12211179
     1180# Prototype function for setting access level.
     1181# XXX: Implement something more flexible using the database.
     1182sub getUsersAccessLevel {
     1183    my $email = shift;
     1184    my $label = shift;
     1185
     1186    my $level = -1;
     1187
     1188    if (!$email) {
     1189        # No email provided. Eventually this will be forbidden.
     1190        # For now in order to temporarily continue to support the version 1 request format
     1191        # set the access rights based on the assigned label.
     1192        if ($label eq 'IFA' or $label eq 'QUB' or $label =~ 'MOPS') {
     1193            $level = 0;
     1194        } else {
     1195            # access rights PS1 data only
     1196            $level = 1;
     1197        }
     1198    } else {
     1199        # we've got an email check the domain
     1200        my ($user, $domain) = split '@', $email;
     1201        if ($domain) {
     1202            $domain = lc($domain);
     1203            if ($domain eq 'ifa.hawaii.edu' or $domain eq 'qub.ac.uk') {
     1204                $level = 0;
     1205            } else {
     1206                # XXX check for special users
     1207                # access rights PS1 data only
     1208                $level = 1;
     1209            }
     1210        } else {
     1211            print STDERR "Error: $email is not a valid email address\n";
     1212        }
     1213    }
     1214
     1215    return $level;
     1216}
     1217
     1218
     1219# determine the latest exposure date that a user may have access to
     1220# based on the user's accessLevel.
     1221sub adjustDateCuts {
     1222    my $row = shift;
     1223    my $r_mjd_max = shift;
     1224    my $adjusted = 0;
     1225
     1226    my $MJD_PS1_BEGIN = 54922;    # 2009-04-01
     1227    my $MJD_PS1_END   = 56838;    # 2014-06-30      XXX get the actual date
     1228
     1229    if ($row->{accessLevel} == 1) {
     1230        # User has access to PS1 data only
     1231        my $mjd_max_user = $row->{MJD_MAX};
     1232        if (!$mjd_max_user or $mjd_max_user > $MJD_PS1_END) {
     1233            $$r_mjd_max = $MJD_PS1_END;
     1234            $adjusted = 1;
     1235        }
     1236    }
     1237    return $adjusted;
     1238}
     1239
     1240sub dateobsToMJD {
     1241    my $dateobs = shift;
     1242
     1243    my ($date, $time) = split "T", $dateobs;
     1244
     1245    my ($year, $mon, $day) = split "-", $date;
     1246
     1247    my ($hr, $min, $sec) = split ":",   $time;
     1248    my $fraction = $sec - int($sec);
     1249    $sec = int($sec);
     1250
     1251    my $ticks = timegm($sec, $min, $hr, $day, $mon-1, $year-1900);
     1252    $ticks += $fraction;
     1253
     1254    # I'm not allowing for leap seconds here but for our purposes here that is ok
     1255    my $mjd = 40587.0 + ($ticks / 86400.);
     1256    return $mjd;
     1257}
     1258
    12221259sub my_die
    12231260{
Note: See TracChangeset for help on using the changeset viewer.