IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 38955


Ignore:
Timestamp:
Oct 23, 2015, 3:40:18 PM (11 years ago)
Author:
eugene
Message:

fix test cmfs: radial fluxes have 1 set for FW & 3 for ST; set RA_EXT, DEC_EXT; fix range of values for EXT_THETA, THETA_ERR, etc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/addstar/src/mkcmf.c

    r38938 r38955  
    2727int WriteXSRCtable (FILE *fits, char *extroot, double *X, double *Y, double *M, unsigned int *Flag, int Nstars, float zeroPt, float exptime);
    2828int WriteXFITtable (FILE *fits, char *extroot, double *X, double *Y, double *M, unsigned int *Flag, int Nstars);
    29 int WriteXRADtable (FILE *fits, char *extroot, double *X, double *Y, double *M, unsigned int *Flag, int Nstars);
     29int WriteXRADtable (FILE *fits, char *extroot, double *X, double *Y, double *M, unsigned int *Flag, int Nstars, int Nrad);
    3030int WriteDETFtable (FILE *fits, char *extroot, double *X, double *Y, double *M, unsigned int *Flag, int Nstars);
    3131
     
    477477  if (WriteXSRC) WriteXSRCtable (fits, extroot, X, Y, M, Flag, Nstars, zeroPt, exptime);
    478478  if (WriteXFIT) WriteXFITtable (fits, extroot, X, Y, M, Flag, Nstars);
    479   if (WriteXRAD) WriteXRADtable (fits, extroot, X, Y, M, Flag, Nstars);
     479
     480  if (WriteXRAD && isStack) WriteXRADtable (fits, extroot, X, Y, M, Flag, Nstars, 3);
     481  if (WriteXRAD && isForcedWarp) WriteXRADtable (fits, extroot, X, Y, M, Flag, Nstars, 1);
     482
    480483  if (WriteDETF) WriteDETFtable (fits, extroot, X, Y, M, Flag, Nstars);
    481484
     
    923926
    924927    stars[i].posangle = 10.0;
    925     stars[i].pltscale = 0.25;
     928    stars[i].pltscale = coords.cdelt1;
    926929
    927930    stars[i].M = M[i];
     
    13281331      Y_EXT_SIG           [i] = FY * fSN;
    13291332      F25_ARATIO          [i] = 0.9;
    1330       F25_THETA           [i] = 10.0;
     1333      F25_THETA           [i] = 10.0; // seems to be in degrees in the cmfs
    13311334      PETRO_MAG           [i] = M[i] + zeroPt + magtime;
    1332       PETRO_MAG_ERR       [i] = 1.0 / fSN;
     1335      PETRO_MAG_ERR       [i] = 1.0 / fSN; // note that the real cmfs have PETRO_MAG_ERR inverted
    13331336      PETRO_RADIUS        [i] = 8.0;
    13341337      if (i == 2) {
     
    14701473      float fSN = 1.0 / sqrt(flux);
    14711474
     1475      double ra, dec;
     1476      XY_to_RD (&ra, &dec, X[i], Y[i], &coords);
     1477
    14721478      IPP_IDET         [i] = i;
    14731479      X_EXT            [i] = X[i];
     
    14761482      Y_EXT_SIG        [i] = FY * fSN;
    14771483      SKY_EXT          [i] = 0.1;
    1478       RA_EXT           [i] = NAN;
    1479       DEC_EXT          [i] = NAN;
     1484      RA_EXT           [i] = ra;
     1485      DEC_EXT          [i] = dec;
    14801486      EXT_INST_MAG     [i] = M[i];
    14811487      EXT_INST_MAG_SIG [i] = fSN;
     
    14901496      EXT_WIDTH_MAJ    [i] = FX*2.8;
    14911497      EXT_WIDTH_MIN    [i] = FY*2.8;
    1492       EXT_THETA        [i] = 10.0;
    1493       EXT_WIDTH_MAJ_ERR[i] = FX*3.0;
    1494       EXT_WIDTH_MIN_ERR[i] = FY*3.0;
    1495       EXT_THETA_ERR    [i] = 0.5;
     1498      EXT_THETA        [i] = 0.57;
     1499      EXT_WIDTH_MAJ_ERR[i] = FX*0.28;
     1500      EXT_WIDTH_MIN_ERR[i] = FY*0.28;
     1501      EXT_THETA_ERR    [i] = 0.0057;
    14961502      EXT_PAR_07       [i] = NAN;
    14971503
     
    15371543}
    15381544
    1539 int WriteXRADtable (FILE *fits, char *extroot, double *X, double *Y, double *M, unsigned int *Flag, int Nstars) {
     1545static float psfFWHM[3] = {4.8, 6.0, 8.0};
     1546
     1547int WriteXRADtable (FILE *fits, char *extroot, double *X, double *Y, double *M, unsigned int *Flag, int Nstars, int Nrad) {
    15401548
    15411549  int i, j, k;
     
    15641572
    15651573    // create intermediate storage arrays
    1566     int    *IPP_IDET           ; ALLOCATE (IPP_IDET         ,  int   , 3*Nstars);
    1567     float  *X_APER             ; ALLOCATE (X_APER           ,  float , 3*Nstars);
    1568     float  *Y_APER             ; ALLOCATE (Y_APER           ,  float , 3*Nstars);
    1569     float  *PSF_FWHM           ; ALLOCATE (PSF_FWHM         ,  float , 3*Nstars);
    1570     float  *APER_FLUX          ; ALLOCATE (APER_FLUX        ,  float , 3*Nstars*9);
    1571     float  *APER_FLUX_ERR      ; ALLOCATE (APER_FLUX_ERR    ,  float , 3*Nstars*9);
    1572     float  *APER_FLUX_STDEV    ; ALLOCATE (APER_FLUX_STDEV  ,  float , 3*Nstars*9);
    1573     float  *APER_FILL          ; ALLOCATE (APER_FILL        ,  float , 3*Nstars*9);
    1574 
    1575     float psfFWHM[3] = {4.8, 6.0, 8.0};
     1574    int    *IPP_IDET           ; ALLOCATE (IPP_IDET         ,  int   , Nrad*Nstars);
     1575    float  *X_APER             ; ALLOCATE (X_APER           ,  float , Nrad*Nstars);
     1576    float  *Y_APER             ; ALLOCATE (Y_APER           ,  float , Nrad*Nstars);
     1577    float  *PSF_FWHM           ; ALLOCATE (PSF_FWHM         ,  float , Nrad*Nstars);
     1578    float  *APER_FLUX          ; ALLOCATE (APER_FLUX        ,  float , Nrad*Nstars*9);
     1579    float  *APER_FLUX_ERR      ; ALLOCATE (APER_FLUX_ERR    ,  float , Nrad*Nstars*9);
     1580    float  *APER_FLUX_STDEV    ; ALLOCATE (APER_FLUX_STDEV  ,  float , Nrad*Nstars*9);
     1581    float  *APER_FILL          ; ALLOCATE (APER_FILL        ,  float , Nrad*Nstars*9);
    15761582
    15771583    // assign the storage arrays
     
    15801586      // float fSN = 1.0 / sqrt(flux);
    15811587
    1582       for (k = 0; k < 3; k++) {
    1583         int N = 3*i + k;
     1588      for (k = 0; k < Nrad; k++) {
     1589        int N = Nrad*i + k;
    15841590        IPP_IDET         [N] = i;
    15851591        X_APER           [N] = X[i];
     
    15971603
    15981604    // set the table data
    1599     gfits_set_bintable_column (&header, &ftable, "IPP_IDET"         , IPP_IDET         , 3*Nstars);
    1600     gfits_set_bintable_column (&header, &ftable, "X_APER"           , X_APER           , 3*Nstars);
    1601     gfits_set_bintable_column (&header, &ftable, "Y_APER"           , Y_APER           , 3*Nstars);
    1602     gfits_set_bintable_column (&header, &ftable, "PSF_FWHM"         , PSF_FWHM         , 3*Nstars);
    1603     gfits_set_bintable_column (&header, &ftable, "APER_FLUX"        , APER_FLUX        , 3*Nstars);
    1604     gfits_set_bintable_column (&header, &ftable, "APER_FLUX_ERR"    , APER_FLUX_ERR    , 3*Nstars);
    1605     gfits_set_bintable_column (&header, &ftable, "APER_FLUX_STDEV"  , APER_FLUX_STDEV  , 3*Nstars);
    1606     gfits_set_bintable_column (&header, &ftable, "APER_FILL"        , APER_FILL        , 3*Nstars);
     1605    gfits_set_bintable_column (&header, &ftable, "IPP_IDET"         , IPP_IDET         , Nrad*Nstars);
     1606    gfits_set_bintable_column (&header, &ftable, "X_APER"           , X_APER           , Nrad*Nstars);
     1607    gfits_set_bintable_column (&header, &ftable, "Y_APER"           , Y_APER           , Nrad*Nstars);
     1608    gfits_set_bintable_column (&header, &ftable, "PSF_FWHM"         , PSF_FWHM         , Nrad*Nstars);
     1609    gfits_set_bintable_column (&header, &ftable, "APER_FLUX"        , APER_FLUX        , Nrad*Nstars);
     1610    gfits_set_bintable_column (&header, &ftable, "APER_FLUX_ERR"    , APER_FLUX_ERR    , Nrad*Nstars);
     1611    gfits_set_bintable_column (&header, &ftable, "APER_FLUX_STDEV"  , APER_FLUX_STDEV  , Nrad*Nstars);
     1612    gfits_set_bintable_column (&header, &ftable, "APER_FILL"        , APER_FILL        , Nrad*Nstars);
    16071613  }
    16081614  /**/
Note: See TracChangeset for help on using the changeset viewer.