IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 34194


Ignore:
Timestamp:
Jul 21, 2012, 2:34:28 PM (14 years ago)
Author:
eugene
Message:

coded in FluxPSF, FluxKron for stack photometry in DVO

Location:
branches/eam_branches/ipp-20120627/Ohana/src
Files:
24 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/FilterStars.c

    r29001 r34194  
    8484      stars[N].measure.Map += MTIME - dMs;
    8585    }
     86    if (!isnan(stars[N].measure.Mkron)) {
     87      stars[N].measure.Mkron += MTIME - dMs;
     88    }
     89    if (!isnan(stars[N].measure.FluxPSF)) {
     90      stars[N].measure.FluxPSF /= image[0].exptime;
     91    }
     92    if (!isnan(stars[N].measure.dFluxPSF)) {
     93      stars[N].measure.dFluxPSF /= image[0].exptime;
     94    }
     95    if (!isnan(stars[N].measure.FluxKron)) {
     96      stars[N].measure.FluxKron /= image[0].exptime;
     97    }
     98    if (!isnan(stars[N].measure.dFluxKron)) {
     99      stars[N].measure.dFluxKron /= image[0].exptime;
     100    }
    86101   
    87102    // the external ID is supplied, but do we trust it?
  • branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/ReadStarsFITS.c

    r34140 r34194  
    100100      stars[i].measure.M        = NAN;
    101101      stars[i].measure.Map      = NAN;
     102      stars[i].measure.FluxPSF  = NAN;
     103      stars[i].measure.dFluxPSF = NAN;
    102104    } else {
    103105      stars[i].measure.M        = smpdata[i].M;
    104106      stars[i].measure.Map      = smpdata[i].M;
     107      stars[i].measure.FluxPSF  = pow(10.0, -0.4*smpdata[i].M);
     108      stars[i].measure.dFluxPSF = stars[i].measure.FluxPSF * smpdata[i].dM;
    105109    }
    106110    stars[i].measure.dM         = smpdata[i].dM*0.001;
     
    109113    stars[i].measure.Mkron      = NAN; // not provided by SMPDATA:
    110114    stars[i].measure.dMkron     = NAN; // not provided by SMPDATA:
     115    stars[i].measure.FluxKron   = NAN; // not provided by SMPDATA:
     116    stars[i].measure.dFluxKron  = NAN; // not provided by SMPDATA:
    111117
    112118    stars[i].measure.Sky        = NAN; // not provided by SMPDATA:
     
    163169    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    164170      stars[i].measure.M        = NAN;
     171      stars[i].measure.FluxPSF  = NAN;
     172      stars[i].measure.dFluxPSF = NAN;
    165173    } else {
    166174      stars[i].measure.M        = ps1data[i].M + ZeroPt;
     175      stars[i].measure.FluxPSF  = pow(10.0, -0.4*ps1data[i].M);
     176      stars[i].measure.dFluxPSF = stars[i].measure.FluxPSF * ps1data[i].dM;
    167177    }
    168178    stars[i].measure.dM         = ps1data[i].dM;
     
    172182    stars[i].measure.Mkron      = NAN; // not provided by PS1_DEV_0:
    173183    stars[i].measure.dMkron     = NAN; // not provided by PS1_DEV_0:
     184    stars[i].measure.FluxKron   = NAN; // not provided by PS1_DEV_0:
     185    stars[i].measure.dFluxKron  = NAN; // not provided by PS1_DEV_0:
    174186
    175187    stars[i].measure.Sky        = ps1data[i].sky;
     
    228240
    229241    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    230         stars[i].measure.M      = NAN;
    231     } else {
    232         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     242      stars[i].measure.M      = NAN;
     243      stars[i].measure.FluxPSF  = NAN;
     244      stars[i].measure.dFluxPSF = NAN;
     245    } else {
     246      stars[i].measure.M      = ps1data[i].M + ZeroPt;
     247      stars[i].measure.FluxPSF  = pow(10.0, -0.4*ps1data[i].M);
     248      stars[i].measure.dFluxPSF = stars[i].measure.FluxPSF * ps1data[i].dM;
    233249    }
    234250    stars[i].measure.dM         = ps1data[i].dM;
     
    238254    stars[i].measure.Mkron      = NAN; // not provided by PS1_DEV_1:
    239255    stars[i].measure.dMkron     = NAN; // not provided by PS1_DEV_1:
     256    stars[i].measure.FluxKron   = NAN; // not provided by PS1_DEV_1:
     257    stars[i].measure.dFluxKron  = NAN; // not provided by PS1_DEV_1:
    240258
    241259    stars[i].measure.Sky        = ps1data[i].sky;
     
    283301
    284302  if (table[0].header[0].Naxis[0] == 136) {
    285       stars = Convert_PS1_V1_Alt (table, nstars);
    286       return (stars);
     303    stars = Convert_PS1_V1_Alt (table, nstars);
     304    return (stars);
    287305  }
    288306
     
    306324
    307325    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    308         stars[i].measure.M      = NAN;
    309     } else {
    310         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     326      stars[i].measure.M      = NAN;
     327      stars[i].measure.FluxPSF  = NAN;
     328      stars[i].measure.dFluxPSF = NAN;
     329    } else {
     330      stars[i].measure.M      = ps1data[i].M + ZeroPt;
     331      stars[i].measure.FluxPSF  = pow(10.0, -0.4*ps1data[i].M);
     332      stars[i].measure.dFluxPSF = stars[i].measure.FluxPSF * ps1data[i].dM;
    311333    }
    312334    stars[i].measure.dM         = ps1data[i].dM;
     
    316338    stars[i].measure.Mkron      = NAN; // not provided by PS1_V1:
    317339    stars[i].measure.dMkron     = NAN; // not provided by PS1_V1:
     340    stars[i].measure.FluxKron   = NAN; // not provided by PS1_V1:
     341    stars[i].measure.dFluxKron  = NAN; // not provided by PS1_V1:
    318342
    319343    stars[i].measure.Sky        = ps1data[i].sky;
     
    385409
    386410    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    387         stars[i].measure.M      = NAN;
    388     } else {
    389         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     411      stars[i].measure.M      = NAN;
     412      stars[i].measure.FluxPSF  = NAN;
     413      stars[i].measure.dFluxPSF = NAN;
     414    } else {
     415      stars[i].measure.M        = ps1data[i].M + ZeroPt;
     416      stars[i].measure.FluxPSF  = pow(10.0, -0.4*ps1data[i].M);
     417      stars[i].measure.dFluxPSF = stars[i].measure.FluxPSF * ps1data[i].dM;
    390418    }
    391419    stars[i].measure.dM         = ps1data[i].dM;
     
    395423    stars[i].measure.Mkron      = NAN; // not provided by PS1_V1_Alt:
    396424    stars[i].measure.dMkron     = NAN; // not provided by PS1_V1_Alt:
     425    stars[i].measure.FluxKron   = NAN; // not provided by PS1_V1_Alt:
     426    stars[i].measure.dFluxKron  = NAN; // not provided by PS1_V1_Alt:
    397427
    398428    stars[i].measure.Sky        = ps1data[i].sky;
     
    456486
    457487    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    458         stars[i].measure.M      = NAN;
    459     } else {
    460         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     488      stars[i].measure.M        = NAN;
     489      stars[i].measure.FluxPSF  = NAN;
     490      stars[i].measure.dFluxPSF = NAN;
     491    } else {
     492      stars[i].measure.M      = ps1data[i].M + ZeroPt;
     493      stars[i].measure.FluxPSF  = pow(10.0, -0.4*ps1data[i].M);
     494      stars[i].measure.dFluxPSF = stars[i].measure.FluxPSF * ps1data[i].dM;
    461495    }
    462496    stars[i].measure.dM         = ps1data[i].dM;
     
    466500    stars[i].measure.Mkron      = NAN; // not provided by PS1_V2:
    467501    stars[i].measure.dMkron     = NAN; // not provided by PS1_V2:
     502    stars[i].measure.FluxKron   = NAN; // not provided by PS1_V2:
     503    stars[i].measure.dFluxKron  = NAN; // not provided by PS1_V2:
    468504
    469505    stars[i].measure.Sky        = ps1data[i].sky;
     
    527563
    528564    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    529         stars[i].measure.M      = NAN;
    530     } else {
    531         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     565      stars[i].measure.M      = NAN;
     566    } else {
     567      stars[i].measure.M      = ps1data[i].M + ZeroPt;
    532568    }
    533569    stars[i].measure.dM         = ps1data[i].dM;
     
    538574    stars[i].measure.dMkron     = (ps1data[i].kronFlux > 0.0) ? ps1data[i].kronFluxErr / ps1data[i].kronFlux : NAN;
    539575                       
     576    // these fluxes are converted from counts to counts/sec in FilterStars.c
     577    stars[i].measure.FluxPSF    = ps1data[i].Flux;
     578    stars[i].measure.dFluxPSF   = ps1data[i].dFlux;
     579    stars[i].measure.FluxKron   = ps1data[i].kronFlux;
     580    stars[i].measure.dFluxKron  = ps1data[i].kronFluxErr;
     581
    540582    stars[i].measure.Sky        = ps1data[i].sky;
    541583    stars[i].measure.dSky       = ps1data[i].dSky;
     
    583625
    584626  if (table[0].header[0].Naxis[0] == 196) {
    585       stars = Convert_PS1_SV1_Alt (table, nstars);
    586       return (stars);
     627    stars = Convert_PS1_SV1_Alt (table, nstars);
     628    return (stars);
    587629  }
    588630
     
    606648
    607649    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    608         stars[i].measure.M      = NAN;
    609     } else {
    610         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     650      stars[i].measure.M      = NAN;
     651    } else {
     652      stars[i].measure.M      = ps1data[i].M + ZeroPt;
    611653    }
    612654    stars[i].measure.dM         = ps1data[i].dM;
     
    616658    stars[i].measure.Mkron      = (ps1data[i].kronFlux > 0.0) ? -2.5*log10(ps1data[i].kronFlux) + ZeroPt : NAN;
    617659    stars[i].measure.dMkron     = (ps1data[i].kronFlux > 0.0) ? ps1data[i].kronFluxErr / ps1data[i].kronFlux : NAN;
     660
     661    // these fluxes are converted from counts to counts/sec in FilterStars.c
     662    stars[i].measure.FluxPSF    = ps1data[i].Flux;
     663    stars[i].measure.dFluxPSF   = ps1data[i].dFlux;
     664    stars[i].measure.FluxKron   = ps1data[i].kronFlux;
     665    stars[i].measure.dFluxKron  = ps1data[i].kronFluxErr;
    618666
    619667    stars[i].measure.Sky        = ps1data[i].sky;
     
    679727
    680728    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
    681         stars[i].measure.M      = NAN;
    682     } else {
    683         stars[i].measure.M      = ps1data[i].M + ZeroPt;
     729      stars[i].measure.M      = NAN;
     730    } else {
     731      stars[i].measure.M      = ps1data[i].M + ZeroPt;
    684732    }
    685733    stars[i].measure.dM         = ps1data[i].dM;
     
    689737    stars[i].measure.Mkron      = (ps1data[i].kronFlux > 0.0) ? -2.5*log10(ps1data[i].kronFlux) + ZeroPt : NAN;
    690738    stars[i].measure.dMkron     = (ps1data[i].kronFlux > 0.0) ? ps1data[i].kronFluxErr / ps1data[i].kronFlux : NAN;
     739
     740    // these fluxes are converted from counts to counts/sec in FilterStars.c
     741    stars[i].measure.FluxPSF    = ps1data[i].Flux;
     742    stars[i].measure.dFluxPSF   = ps1data[i].dFlux;
     743    stars[i].measure.FluxKron   = ps1data[i].kronFlux;
     744    stars[i].measure.dFluxKron  = ps1data[i].kronFluxErr;
    691745
    692746    stars[i].measure.Sky        = ps1data[i].sky;
  • branches/eam_branches/ipp-20120627/Ohana/src/libautocode/def/measure-ps1-v4.d

    r34131 r34194  
    22EXTNAME      DVO_MEASURE_PS1_V4
    33TYPE         BINTABLE
    4 SIZE         160
     4SIZE         176
    55DESCRIPTION  DVO Detection Measurement Table
    66
     
    1515FIELD dMcal,          MAG_CAL_ERR,  float,          systematic calibration error, mag
    1616FIELD dt,             M_TIME,       float,          exposure time,                2.5*log(exptime)
     17
     18# for stacks only?
     19FIELD FluxPSF,        FLUX_PSF,     float,          flux from psf fit,              counts/sec?
     20FIELD dFluxPSF,       FLUX_PSF_ERR, float,          error on psf flux,              counts/sec?
     21FIELD FluxKron,       FLUX_KRON,     float,         flux from kron ap,              counts/sec?
     22FIELD dFluxKron,      FLUX_KRON_ERR, float,         error on kron flux,             counts/sec?
    1723
    1824# note that with airmass = 1.0 / cos(90 - alt), we have full alt/az representation
  • branches/eam_branches/ipp-20120627/Ohana/src/libautocode/def/measure.d

    r34138 r34194  
    22EXTNAME      DVO_MEASURE
    33TYPE         BINTABLE
    4 SIZE         156
     4SIZE         172
    55DESCRIPTION  DVO Detection Measurement Table
    66
     
    1515FIELD dMcal,          MAG_CAL_ERR,  float,          systematic calibration error,   mag
    1616FIELD dt,             M_TIME,       float,          exposure time,                  2.5*log(exptime)
     17
     18# for stacks only?
     19FIELD FluxPSF,        FLUX_PSF,     float,          flux from psf fit,              counts/sec?
     20FIELD dFluxPSF,       FLUX_PSF_ERR, float,          error on psf flux,              counts/sec?
     21FIELD FluxKron,       FLUX_KRON,     float,         flux from kron ap,              counts/sec?
     22FIELD dFluxKron,      FLUX_KRON_ERR, float,         error on kron flux,             counts/sec?
    1723
    1824# note that with airmass = 1.0 / cos(90 - alt), we have full alt/az representation
  • branches/eam_branches/ipp-20120627/Ohana/src/libautocode/def/secfilt-ps1-v4.d

    r34131 r34194  
    22EXTNAME      DVO_SECFILT_PS1_V4
    33TYPE         BINTABLE
    4 SIZE         48
     4SIZE         56
    55DESCRIPTION  DVO SecFilt : Secondary Filter Data
    66
    77# elements of data structure / FITS table
    8 FIELD  M,           MAG,          float,      average mag in this band,              mags
    9 FIELD  Map,         MAG_AP,       float,      ave aperture mag in this band,         mags
    10 FIELD  Mkron,       MAG_KRON,     float,      ave kron mag in this band,             mags
    11 FIELD  dMkron,      MAG_KRON_ERR, float,      formal error on average kron mag,      mags
    12 FIELD  dM,          MAG_ERR,      float,      formal error on average mag,           mags
    13 FIELD  Xm,          MAG_CHI,      float,      chisq on average mag,                  [100*log(value)]
    14 FIELD  extNsigma,   EXT_NSIGMA,   float,      mean extendedness in band
    15 FIELD  flags,       FLAGS,        uint32_t,   photometry flags
    16 FIELD  Ncode,       NCODE,        short,      number of detections in band
    17 FIELD  Nused,       NUSED,        short,      number of detections used in average
    18 FIELD  M_20,        MAG_20,       short,      lower 20percent mag,                   millimags
    19 FIELD  M_80,        MAG_80,       short,      upper 20percent mag,                   millimags
    20 FIELD  ubercalDist, UBERCAL_DIST, short,      number of images from an ubercal-image
    21 FIELD  Mstdev,      MAG_STDEV,    short,      standard deviation of measurements,    millimags
    22 FIELD  dummy,       DUMMY,        char[4],    padding to fill 8-byte boundary
     8FIELD  M,           MAG,           float,      average mag in this band,              mags
     9FIELD  Map,         MAG_AP,        float,      ave aperture mag in this band,         mags
     10FIELD  Mkron,       MAG_KRON,      float,      ave kron mag in this band,             mags
     11FIELD  dMkron,      MAG_KRON_ERR,  float,      formal error on average kron mag,      mags
     12FIELD  dM,          MAG_ERR,       float,      formal error on average mag,           mags
     13FIELD  Xm,          MAG_CHI,       float,      chisq on average mag,                  [100*log(value)]
     14FIELD  FluxPSF,     FLUX_PSF,      float,      mean flux psf fit (PS1: stack)
     15FIELD  dFluxPSF,    FLUX_PSF_ERR,  float,      mean flux psf error
     16FIELD  FluxKron,    FLUX_KRON,     float,      mean flux kron ap (PS1: stack)
     17FIELD  dFluxKron,   FLUX_KRON_ERR, float,      mean flux kron err
     18FIELD  flags,       FLAGS,         uint32_t,   photometry flags
     19FIELD  Ncode,       NCODE,         short,      number of detections in band
     20FIELD  Nused,       NUSED,         short,      number of detections used in average
     21FIELD  M_20,        MAG_20,        short,      lower 20percent mag,                   millimags
     22FIELD  M_80,        MAG_80,        short,      upper 20percent mag,                   millimags
     23FIELD  ubercalDist, UBERCAL_DIST,  short,      number of images from an ubercal-image
     24FIELD  Mstdev,      MAG_STDEV,     short,      standard deviation of measurements,    millimags
  • branches/eam_branches/ipp-20120627/Ohana/src/libautocode/def/secfilt.d

    r34131 r34194  
    22EXTNAME      DVO_SECFILT
    33TYPE         BINTABLE
    4 SIZE         48
     4SIZE         56
    55DESCRIPTION  DVO SecFilt : Secondary Filter Data
    66
     
    1212FIELD  dM,          MAG_ERR,      float,      formal error on average mag,           mags
    1313FIELD  Xm,          MAG_CHI,      float,      chisq on average mag,                  [100*log(value)]
    14 FIELD  extNsigma,   EXT_NSIGMA,   float,      mean extendedness in band
     14FIELD  FluxPSF,     FLUX_PSF,      float,      mean flux psf fit (PS1: stack)
     15FIELD  dFluxPSF,    FLUX_PSF_ERR,  float,      mean flux psf error
     16FIELD  FluxKron,    FLUX_KRON,     float,      mean flux kron ap (PS1: stack)
     17FIELD  dFluxKron,   FLUX_KRON_ERR, float,      mean flux kron err
    1518FIELD  flags,       FLAGS,        uint32_t,   photometry flags
    1619FIELD  Ncode,       NCODE,        short,      number of detections in band
     
    2023FIELD  ubercalDist, UBERCAL_DIST, short,      number of images from an ubercal-image
    2124FIELD  Mstdev,      MAG_STDEV,    short,      standard deviation of measurements,    millimags
    22 FIELD  dummy,       DUMMY,        char[4],    padding to fill 8-byte boundary
    2325
    2426# *** 20090206 : new fields : M_20, M_80; dropped dummy
    2527# *** 20120302 : new fields : ubercalDist, Map, Mstdev
    26 # *** 20120710 : new fields : Mkron, dMkron, extNsigma, dummy[4byte]
     28# *** 20120710 : new fields : Mkron, dMkron, FluxPSF, dFluxPSF, FluxKron, dFluxKron
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/include/dvo.h

    r34140 r34194  
    462462float PhotKronAve (PhotCode *code, Average *average, SecFilt *secfilt);
    463463
     464float PhotZeroPoint (Measure *measure, Average *average, SecFilt *secfilt);
     465float PhotAveFluxPSF (PhotCode *code, Average *average, SecFilt *secfilt);
     466float PhotAvedFluxPSF (PhotCode *code, Average *average, SecFilt *secfilt);
     467float PhotAveFluxKron (PhotCode *code, Average *average, SecFilt *secfilt);
     468float PhotAvedFluxKron (PhotCode *code, Average *average, SecFilt *secfilt);
     469
    464470float PhotMstdev (PhotCode *code, Average *average, SecFilt *secfilt);
    465471float PhotM20 (PhotCode *code, Average *average, SecFilt *secfilt);
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/include/dvodb.h

    r34140 r34194  
    4545      MAG_80,
    4646      MAG_UC_DIST,
     47      MAG_FLUX_PSF,
     48      MAG_FLUX_PSF_ERR,
     49      MAG_FLUX_KRON,
     50      MAG_FLUX_KRON_ERR,
    4751};
    4852
     
    136140      MEAS_MCAL_OFFSET,
    137141      MEAS_FLAT,
     142      MEAS_FLUX_PSF,
     143      MEAS_FLUX_PSF_ERR,
     144      MEAS_FLUX_KRON,
     145      MEAS_FLUX_KRON_ERR,
    138146};
    139147
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dbExtractAverages.c

    r34140 r34194  
    246246          value.Flt = PhotUCdist (field->photcode, average, secfilt);
    247247          break;
     248
     249        case MAG_FLUX_PSF:
     250          value.Flt = PhotAveFluxPSF (field->photcode, average, secfilt);
     251          break;
     252        case MAG_FLUX_PSF_ERR:
     253          value.Flt = PhotAvedFluxPSF (field->photcode, average, secfilt);
     254          break;
     255        case MAG_FLUX_KRON:
     256          value.Flt = PhotAveFluxKron (field->photcode, average, secfilt);
     257          break;
     258        case MAG_FLUX_KRON_ERR:
     259          value.Flt = PhotAvedFluxKron (field->photcode, average, secfilt);
     260          break;
    248261      }
    249262      break;
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dbExtractMeasures.c

    r34140 r34194  
    164164          if (Nsec == -1) break;
    165165          value.Int = secfilt[Nsec].Nused;
     166          break;
     167        case MAG_FLUX_PSF:
     168          value.Flt = PhotAveFluxPSF (field->photcode, average, secfilt);
     169          break;
     170        case MAG_FLUX_PSF_ERR:
     171          value.Flt = PhotAvedFluxPSF (field->photcode, average, secfilt);
     172          break;
     173        case MAG_FLUX_KRON:
     174          value.Flt = PhotAveFluxKron (field->photcode, average, secfilt);
     175          break;
     176        case MAG_FLUX_KRON_ERR:
     177          value.Flt = PhotAvedFluxKron (field->photcode, average, secfilt);
    166178          break;
    167179      }
     
    510522      break;
    511523
    512       // add the star/galaxy sep --
     524    case MEAS_FLUX_PSF: /* OK */
     525      value.Flt = measure[0].FluxPSF;
     526      break;
     527    case MEAS_FLUX_PSF_ERR: /* OK */
     528      value.Flt = measure[0].dFluxPSF;
     529      break;
     530    case MEAS_FLUX_KRON: /* OK */
     531      value.Flt = measure[0].FluxKron;
     532      break;
     533    case MEAS_FLUX_KRON_ERR: /* OK */
     534      value.Flt = measure[0].dFluxKron;
     535      break;
    513536  }
    514537  return (value);
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dbFields.c

    r34140 r34194  
    3030int GetMagMode (char *string) {
    3131
    32   if (!strcasecmp (string, "inst"))      return (MAG_INST);
    33   if (!strcasecmp (string, "cat"))       return (MAG_CAT);
    34   if (!strcasecmp (string, "sys"))       return (MAG_SYS);
    35   if (!strcasecmp (string, "rel"))       return (MAG_REL);
    36   if (!strcasecmp (string, "cal"))       return (MAG_CAL);
    37   if (!strcasecmp (string, "ave"))       return (MAG_AVE);
    38   if (!strcasecmp (string, "ref"))       return (MAG_REF);
    39   if (!strcasecmp (string, "ap"))        return (MAG_APER);
    40   if (!strcasecmp (string, "aper"))      return (MAG_APER);
    41   if (!strcasecmp (string, "aperinst"))  return (MAG_APER_INST);
    42   if (!strcasecmp (string, "aper_inst")) return (MAG_APER_INST);
    43   if (!strcasecmp (string, "kron"))      return (MAG_KRON);
    44   if (!strcasecmp (string, "kroninst"))  return (MAG_KRON_INST);
    45   if (!strcasecmp (string, "kron_inst")) return (MAG_KRON_INST);
    46   if (!strcasecmp (string, "kronerr"))   return (MAG_KRON_ERR);
    47   if (!strcasecmp (string, "err"))       return (MAG_ERR);
    48   if (!strcasecmp (string, "aveerr"))    return (MAG_AVE_ERR);
    49   if (!strcasecmp (string, "photflags")) return (MAG_PHOT_FLAGS);
    50   if (!strcasecmp (string, "flags"))     return (MAG_PHOT_FLAGS);
    51   if (!strcasecmp (string, "chisq"))     return (MAG_CHISQ);
    52   if (!strcasecmp (string, "ncode"))     return (MAG_NCODE);
    53   if (!strcasecmp (string, "nphot"))     return (MAG_NPHOT);
    54   if (!strcasecmp (string, "stdev"))     return (MAG_STDEV);
    55   if (!strcasecmp (string, "20"))        return (MAG_20);
    56   if (!strcasecmp (string, "80"))        return (MAG_80);
    57   if (!strcasecmp (string, "ucdist"))    return (MAG_UC_DIST);
     32  if (!strcasecmp (string, "inst"))        return (MAG_INST);
     33  if (!strcasecmp (string, "cat"))         return (MAG_CAT);
     34  if (!strcasecmp (string, "sys"))         return (MAG_SYS);
     35  if (!strcasecmp (string, "rel"))         return (MAG_REL);
     36  if (!strcasecmp (string, "cal"))         return (MAG_CAL);
     37  if (!strcasecmp (string, "ave"))         return (MAG_AVE);
     38  if (!strcasecmp (string, "ref"))         return (MAG_REF);
     39  if (!strcasecmp (string, "ap"))          return (MAG_APER);
     40  if (!strcasecmp (string, "aper"))        return (MAG_APER);
     41  if (!strcasecmp (string, "aperinst"))    return (MAG_APER_INST);
     42  if (!strcasecmp (string, "aper_inst"))   return (MAG_APER_INST);
     43  if (!strcasecmp (string, "kron"))        return (MAG_KRON);
     44  if (!strcasecmp (string, "kroninst"))    return (MAG_KRON_INST);
     45  if (!strcasecmp (string, "kron_inst"))   return (MAG_KRON_INST);
     46  if (!strcasecmp (string, "kronerr"))     return (MAG_KRON_ERR);
     47  if (!strcasecmp (string, "err"))         return (MAG_ERR);
     48  if (!strcasecmp (string, "aveerr"))      return (MAG_AVE_ERR);
     49  if (!strcasecmp (string, "photflags"))   return (MAG_PHOT_FLAGS);
     50  if (!strcasecmp (string, "flags"))       return (MAG_PHOT_FLAGS);
     51  if (!strcasecmp (string, "chisq"))       return (MAG_CHISQ);
     52  if (!strcasecmp (string, "ncode"))       return (MAG_NCODE);
     53  if (!strcasecmp (string, "nphot"))       return (MAG_NPHOT);
     54  if (!strcasecmp (string, "stdev"))       return (MAG_STDEV);
     55  if (!strcasecmp (string, "20"))          return (MAG_20);
     56  if (!strcasecmp (string, "80"))          return (MAG_80);
     57  if (!strcasecmp (string, "ucdist"))      return (MAG_UC_DIST);
     58  if (!strcasecmp (string, "fluxpsf"))     return (MAG_FLUX_PSF);
     59  if (!strcasecmp (string, "fluxpsferr"))  return (MAG_FLUX_PSF_ERR);
     60  if (!strcasecmp (string, "fluxkron"))    return (MAG_FLUX_KRON);
     61  if (!strcasecmp (string, "fluxkronerr")) return (MAG_FLUX_KRON_ERR);
    5862  return (MAG_NONE);
    5963}
     
    235239  if (!strcasecmp (fieldName, "MCAL_OFFSET"))    ESCAPE (MEAS_MCAL_OFFSET,    MAG_NONE, OPIHI_FLT);
    236240  if (!strcasecmp (fieldName, "FLAT"))           ESCAPE (MEAS_FLAT,           MAG_NONE, OPIHI_FLT);
     241  if (!strcasecmp (fieldName, "FLUX"))           ESCAPE (MEAS_FLUX_PSF,       MAG_NONE, OPIHI_FLT);
     242  if (!strcasecmp (fieldName, "FLUX_ERR"))       ESCAPE (MEAS_FLUX_PSF_ERR,   MAG_NONE, OPIHI_FLT);
     243  if (!strcasecmp (fieldName, "FLUX_PSF"))       ESCAPE (MEAS_FLUX_PSF,       MAG_NONE, OPIHI_FLT);
     244  if (!strcasecmp (fieldName, "FLUX_PSF_ERR"))   ESCAPE (MEAS_FLUX_PSF_ERR,   MAG_NONE, OPIHI_FLT);
     245  if (!strcasecmp (fieldName, "FLUX_KRON"))      ESCAPE (MEAS_FLUX_KRON,      MAG_NONE, OPIHI_FLT);
     246  if (!strcasecmp (fieldName, "FLUX_KRON_ERR"))  ESCAPE (MEAS_FLUX_KRON_ERR,  MAG_NONE, OPIHI_FLT);
    237247
    238248  // for words that don't parse, try a photcode
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_1.c

    r34130 r34194  
    6161    out[i].Mkron      = NAN;
    6262    out[i].dMkron     = NAN;
     63    out[i].FluxPSF    = NAN;
     64    out[i].dFluxPSF   = NAN;
     65    out[i].FluxKron   = NAN;
     66    out[i].dFluxKron  = NAN;
    6367  }
    6468  return (out);
     
    223227    out[i].Mkron       = NAN;
    224228    out[i].dMkron      = NAN;
    225     out[i].extNsigma   = NAN;
     229    out[i].FluxPSF     = NAN;
     230    out[i].dFluxPSF    = NAN;
     231    out[i].FluxKron    = NAN;
     232    out[i].dFluxKron   = NAN;
    226233 }
    227234  return (out);
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_2.c

    r34130 r34194  
    5858    out[i].Mkron      = NAN;
    5959    out[i].dMkron     = NAN;
     60    out[i].FluxPSF    = NAN;
     61    out[i].dFluxPSF   = NAN;
     62    out[i].FluxKron   = NAN;
     63    out[i].dFluxKron  = NAN;
    6064  }
    6165  return (out);
     
    217221    out[i].Mkron       = NAN;
    218222    out[i].dMkron      = NAN;
    219     out[i].extNsigma   = NAN;
     223    out[i].FluxPSF     = NAN;
     224    out[i].dFluxPSF    = NAN;
     225    out[i].FluxKron    = NAN;
     226    out[i].dFluxKron   = NAN;
    220227 }
    221228  return (out);
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_REF.c

    r34130 r34194  
    5656    out[i].Mkron      = NAN;
    5757    out[i].dMkron     = NAN;
     58    out[i].FluxPSF    = NAN;
     59    out[i].dFluxPSF   = NAN;
     60    out[i].FluxKron   = NAN;
     61    out[i].dFluxKron  = NAN;
    5862  }
    5963  return (out);
     
    177181    out[i].Mkron       = NAN;
    178182    out[i].dMkron      = NAN;
    179     out[i].extNsigma   = NAN;
     183    out[i].FluxPSF     = NAN;
     184    out[i].dFluxPSF    = NAN;
     185    out[i].FluxKron    = NAN;
     186    out[i].dFluxKron   = NAN;
    180187 }
    181188  return (out);
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_V1.c

    r34130 r34194  
    5656    out[i].Mkron      = NAN;
    5757    out[i].dMkron     = NAN;
     58    out[i].FluxPSF    = NAN;
     59    out[i].dFluxPSF   = NAN;
     60    out[i].FluxKron   = NAN;
     61    out[i].dFluxKron  = NAN;
    5862  }
    5963  return (out);
     
    221225    out[i].Mkron       = NAN;
    222226    out[i].dMkron      = NAN;
    223     out[i].extNsigma   = NAN;
     227    out[i].FluxPSF     = NAN;
     228    out[i].dFluxPSF    = NAN;
     229    out[i].FluxKron    = NAN;
     230    out[i].dFluxKron   = NAN;
    224231 }
    225232  return (out);
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_V2.c

    r34130 r34194  
    5757    out[i].Mkron      = NAN;
    5858    out[i].dMkron     = NAN;
     59    out[i].FluxPSF    = NAN;
     60    out[i].dFluxPSF   = NAN;
     61    out[i].FluxKron   = NAN;
     62    out[i].dFluxKron  = NAN;
    5963  }
    6064  return (out);
     
    224228    out[i].Mkron       = NAN;
    225229    out[i].dMkron      = NAN;
    226     out[i].extNsigma   = NAN;
     230    out[i].FluxPSF    = NAN;
     231    out[i].dFluxPSF   = NAN;
     232    out[i].FluxKron   = NAN;
     233    out[i].dFluxKron  = NAN;
    227234 }
    228235  return (out);
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_V3.c

    r34130 r34194  
    5757    out[i].Mkron      = NAN;
    5858    out[i].dMkron     = NAN;
     59    out[i].FluxPSF    = NAN;
     60    out[i].dFluxPSF   = NAN;
     61    out[i].FluxKron   = NAN;
     62    out[i].dFluxKron  = NAN;
    5963  }
    6064  return (out);
     
    222226    out[i].Mkron       = NAN;
    223227    out[i].dMkron      = NAN;
    224     out[i].extNsigma   = NAN;
     228    out[i].FluxPSF    = NAN;
     229    out[i].dFluxPSF   = NAN;
     230    out[i].FluxKron   = NAN;
     231    out[i].dFluxKron  = NAN;
    225232 }
    226233  return (out);
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_V4.c

    r34131 r34194  
    2121    out[i].dMcal      = in[i].dMcal;
    2222    out[i].dt         = in[i].dt;
     23    out[i].FluxPSF    = in[i].FluxPSF;
     24    out[i].dFluxPSF   = in[i].dFluxPSF;
     25    out[i].FluxKron   = in[i].FluxKron;
     26    out[i].dFluxKron  = in[i].dFluxKron;
    2327    out[i].airmass    = in[i].airmass;
    2428    out[i].az         = in[i].az;
     
    7781    out[i].dMcal      = in[i].dMcal;
    7882    out[i].dt         = in[i].dt;
     83    out[i].FluxPSF    = in[i].FluxPSF;
     84    out[i].dFluxPSF   = in[i].dFluxPSF;
     85    out[i].FluxKron   = in[i].FluxKron;
     86    out[i].dFluxKron  = in[i].dFluxKron;
    7987    out[i].airmass    = in[i].airmass;
    8088    out[i].az         = in[i].az;
     
    213221    out[i].dM          = in[i].dM;     
    214222    out[i].Xm          = in[i].Xm;     
    215     out[i].extNsigma   = in[i].extNsigma;     
     223    out[i].FluxPSF     = in[i].FluxPSF;
     224    out[i].dFluxPSF    = in[i].dFluxPSF;
     225    out[i].FluxKron    = in[i].FluxKron;
     226    out[i].dFluxKron   = in[i].dFluxKron;
    216227    out[i].flags       = in[i].flags;     
    217228    out[i].Ncode       = in[i].Ncode;
     
    239250    out[i].dM          = in[i].dM;     
    240251    out[i].Xm          = in[i].Xm;     
    241     out[i].extNsigma   = in[i].extNsigma;     
     252    out[i].FluxPSF     = in[i].FluxPSF;
     253    out[i].dFluxPSF    = in[i].dFluxPSF;
     254    out[i].FluxKron    = in[i].FluxKron;
     255    out[i].dFluxKron   = in[i].dFluxKron;
    242256    out[i].flags       = in[i].flags;     
    243257    out[i].Ncode       = in[i].Ncode;
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_elixir.c

    r34130 r34194  
    6868    out[i].Mkron      = NAN;
    6969    out[i].dMkron     = NAN;
     70    out[i].FluxPSF    = NAN;
     71    out[i].dFluxPSF   = NAN;
     72    out[i].FluxKron   = NAN;
     73    out[i].dFluxKron  = NAN;
    7074  }
    7175  return (out);
     
    232236    out[i].Mkron       = NAN;
    233237    out[i].dMkron      = NAN;
    234     out[i].extNsigma   = NAN;
     238    out[i].FluxPSF    = NAN;
     239    out[i].dFluxPSF   = NAN;
     240    out[i].FluxKron   = NAN;
     241    out[i].dFluxKron  = NAN;
    235242  }
    236243  return (out);
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_loneos.c

    r34130 r34194  
    7070    out[i].Mkron      = NAN;
    7171    out[i].dMkron     = NAN;
     72    out[i].FluxPSF    = NAN;
     73    out[i].dFluxPSF   = NAN;
     74    out[i].FluxKron   = NAN;
     75    out[i].dFluxKron  = NAN;
    7276  }
    7377  return (out);
     
    225229    out[i].Mkron       = NAN;
    226230    out[i].dMkron      = NAN;
    227     out[i].extNsigma   = NAN;
     231    out[i].FluxPSF    = NAN;
     232    out[i].dFluxPSF   = NAN;
     233    out[i].FluxKron   = NAN;
     234    out[i].dFluxKron  = NAN;
    228235  }
    229236  return (out);
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_0.c

    r34130 r34194  
    6565    out[i].Mkron      = NAN;
    6666    out[i].dMkron     = NAN;
     67    out[i].FluxPSF     = NAN;
     68    out[i].dFluxPSF    = NAN;
     69    out[i].FluxKron    = NAN;
     70    out[i].dFluxKron   = NAN;
    6771  }
    6872  return (out);
     
    232236    out[i].Mkron       = NAN;
    233237    out[i].dMkron      = NAN;
    234     out[i].extNsigma   = NAN;
     238    out[i].FluxPSF     = NAN;
     239    out[i].dFluxPSF    = NAN;
     240    out[i].FluxKron    = NAN;
     241    out[i].dFluxKron   = NAN;
    235242 }
    236243  return (out);
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_1.c

    r34130 r34194  
    6565    out[i].Mkron      = NAN;
    6666    out[i].dMkron     = NAN;
     67    out[i].FluxPSF     = NAN;
     68    out[i].dFluxPSF    = NAN;
     69    out[i].FluxKron    = NAN;
     70    out[i].dFluxKron   = NAN;
    6771  }
    6872  return (out);
     
    232236    out[i].Mkron       = NAN;
    233237    out[i].dMkron      = NAN;
    234     out[i].extNsigma   = NAN;
     238    out[i].FluxPSF     = NAN;
     239    out[i].dFluxPSF    = NAN;
     240    out[i].FluxKron    = NAN;
     241    out[i].dFluxKron   = NAN;
    235242 }
    236243  return (out);
  • branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_photcode_ops.c

    r34140 r34194  
    360360  Msys = Mcat + Mcol;
    361361  return (Msys);
     362}
     363
     364float PhotZeroPoint (Measure *measure, Average *average, SecFilt *secfilt) {
     365
     366  int Np;
     367  float ZP;
     368  PhotCode *code;
     369
     370  Np = photcodes[0].hashcode[measure[0].photcode];
     371  if (Np == -1) return (NAN);
     372
     373  if (photcodes[0].code[Np].type == PHOT_REF) {
     374    ZP = 0.0;
     375    return (ZP);
     376  }
     377  code = &photcodes[0].code[Np];
     378  ZP = code[0].K*(measure[0].airmass - 1.000) + SCALE*code[0].C;
     379
     380  return (ZP);
    362381}
    363382
     
    553572}
    554573
     574float PhotAveFluxPSF (PhotCode *code, Average *average, SecFilt *secfilt) {
     575
     576  int Ns;
     577  float Fpsf;
     578
     579  if (code == NULL) return NAN;
     580
     581  Ns = photcodes[0].hashNsec[code[0].code];
     582  Fpsf = (Ns == -1) ? NAN : secfilt[Ns].FluxPSF;
     583  return (Fpsf);
     584}
     585
     586float PhotAvedFluxPSF (PhotCode *code, Average *average, SecFilt *secfilt) {
     587
     588  int Ns;
     589  float dFpsf;
     590
     591  if (code == NULL) return NAN;
     592
     593  Ns = photcodes[0].hashNsec[code[0].code];
     594  dFpsf = (Ns == -1) ? NAN : secfilt[Ns].dFluxPSF;
     595  return (dFpsf);
     596}
     597
     598float PhotAveFluxKron (PhotCode *code, Average *average, SecFilt *secfilt) {
     599
     600  int Ns;
     601  float Fkron;
     602
     603  if (code == NULL) return NAN;
     604
     605  Ns = photcodes[0].hashNsec[code[0].code];
     606  Fkron = (Ns == -1) ? NAN : secfilt[Ns].FluxKron;
     607  return (Fkron);
     608}
     609
     610float PhotAvedFluxKron (PhotCode *code, Average *average, SecFilt *secfilt) {
     611
     612  int Ns;
     613  float dFkron;
     614
     615  if (code == NULL) return NAN;
     616
     617  Ns = photcodes[0].hashNsec[code[0].code];
     618  dFkron = (Ns == -1) ? NAN : secfilt[Ns].dFluxKron;
     619  return (dFkron);
     620}
     621
    555622float PhotM20 (PhotCode *code, Average *average, SecFilt *secfilt) {
    556623
  • branches/eam_branches/ipp-20120627/Ohana/src/relphot/src/StarOps.c

    r34140 r34194  
    360360      int haveSynth = FALSE;
    361361      int haveStack = FALSE;
     362
     363      float stackFluxPSF = NAN;
     364      float stackdFluxPSF = NAN;
     365      float stackFluxKron = NAN;
     366      float stackdFluxKron = NAN;
    362367
    363368      int forceSynth = FALSE;
     
    427432            if (pass < 2) continue;
    428433            haveStack = TRUE;
     434            float zp = Mcal + Mmos + Mgrid + PhotZeroPoint (&catalog[Nc].measure[m], &catalog[Nc].average[j], &catalog[Nc].secfilt[j*Nsecfilt]);
     435            float zpFactor = pow(10.0, -0.4*zp);
     436            // need to put in AB mag factor to get to Janskies (or uJy?)
     437            stackFluxPSF   = zpFactor * catalog[Nc].measure[m].FluxPSF;
     438            stackdFluxPSF  = zpFactor * catalog[Nc].measure[m].dFluxPSF;
     439            stackFluxKron  = zpFactor * catalog[Nc].measure[m].FluxKron;
     440            stackdFluxKron = zpFactor * catalog[Nc].measure[m].dFluxKron;
    429441          }
    430442
     
    565577        catalog[Nc].secfilt[Nsecfilt*j+Nsec].dMkron = kronstats.error;
    566578
     579        if (haveStack) {
     580          catalog[Nc].secfilt[Nsecfilt*j+Nsec].FluxPSF = stackFluxPSF;
     581          catalog[Nc].secfilt[Nsecfilt*j+Nsec].dFluxPSF = stackdFluxPSF;
     582          catalog[Nc].secfilt[Nsecfilt*j+Nsec].FluxKron = stackFluxKron;
     583          catalog[Nc].secfilt[Nsecfilt*j+Nsec].dFluxKron = stackdFluxKron;
     584        }
     585
    567586        // NOTE: for 2MASS measurements, Next should be 1, as should N
    568587        if ((Next > 0) && (Next > 0.5*N)) {
Note: See TracChangeset for help on using the changeset viewer.