IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 16, 2019, 5:43:14 PM (7 years ago)
Author:
eugene
Message:

adding LAS format

Location:
branches/eam_branches/ohana.20190329/src/addstar
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ohana.20190329/src/addstar/Makefile

    r40886 r40888  
    318318$(SRC)/loadukirt_uhs_readstars_uhs.$(ARCH).o \
    319319$(SRC)/loadukirt_uhs_readstars_ugcs.$(ARCH).o \
     320$(SRC)/loadukirt_uhs_readstars_ulas.$(ARCH).o \
    320321$(SRC)/loadukirt_uhs_table.$(ARCH).o \
    321322$(SRC)/parse_csv.$(ARCH).o \
  • branches/eam_branches/ohana.20190329/src/addstar/include/ukirt_uhs.h

    r40886 r40888  
    11
    2 typedef enum {UKIRT_MODE_NONE, UKIRT_MODE_UHS, UKIRT_MODE_UGCS} UkirtMode;
     2typedef enum {UKIRT_MODE_NONE, UKIRT_MODE_UHS, UKIRT_MODE_UGCS, UKIRT_MODE_ULAS} UkirtMode;
    33
    44# define NSTARS_MAX 10000000
     
    5151
    5252UKIRT_Stars *loadukirt_uhs_readstars_ugcs (FILE *f, char *buffer, int *nstart, AddstarClientOptions *options, int *nstars);
     53UKIRT_Stars *loadukirt_uhs_readstars_ulas (FILE *f, char *buffer, int *nstart, AddstarClientOptions *options, int *nstars);
    5354UKIRT_Stars *loadukirt_uhs_readstars_uhs (FILE *f, char *buffer, int *nstart, AddstarClientOptions *options, int *nstars);
    5455
  • branches/eam_branches/ohana.20190329/src/addstar/src/args_loadukirt_uhs.c

    r40886 r40888  
    2424    UKIRT_MODE = UKIRT_MODE_UGCS;
    2525    UKIRT_NFILTER = 6;
     26    remove_argument (N, argc, argv);
     27  }
     28  if ((N = get_argument (*argc, argv, "-ulas"))) {
     29    UKIRT_MODE = UKIRT_MODE_ULAS;
     30    UKIRT_NFILTER = 5;
    2631    remove_argument (N, argc, argv);
    2732  }
  • branches/eam_branches/ohana.20190329/src/addstar/src/loadukirt_uhs_readstars.c

    r40886 r40888  
    1212    case UKIRT_MODE_UGCS: {
    1313      UKIRT_Stars *stars = loadukirt_uhs_readstars_ugcs (f, buffer, nstart, options, nstars);
     14      return stars;
     15    }
     16     
     17    case UKIRT_MODE_ULAS: {
     18      UKIRT_Stars *stars = loadukirt_uhs_readstars_ulas (f, buffer, nstart, options, nstars);
    1419      return stars;
    1520    }
  • branches/eam_branches/ohana.20190329/src/addstar/src/loadukirt_uhs_readstars_ulas.c

    r40887 r40888  
    1010
    1111  1 sourceID                  : extID
    12   2 cuEventID                 :
    13   3 frameSetID                : imageID (assumes we do not try to go backwards for these photcodes)
    14   4 ra                        : R
    15   5 dec                       : D
    16   6 sigRa                     :
    17   7 sigDec                    :
    18   8 epoch                     : t ???? -- how is there a single epoch?
    19   9 muRa                      :
    20  10 muDec                     :
    21  11 sigMuRa                   :
    22  12 sigMuDec                  :
    23  13 chi2                      :
    24  14 nFrames                   :
    25  15 cx                        :
    26  16 cy                        :
    27  17 cz                        :
    28  18 htmID                     :
    29  19 l                         :
    30  20 b                         :
    31  21 lambda                    :
    32  22 eta                       :
    33  23 priOrSec                  : primary bit in dbFlags
    34  24 ymj_1Pnt                  :
    35  25 ymj_1PntErr               :
    36  26 j_1mhPnt                  :
    37  27 j_1mhPntErr               :
    38  28 hmkPnt                    :
    39  29 hmkPntErr                 :
    40  30 ymj_1Ext                  :
    41  31 ymj_1ExtErr               :
    42  32 j_1mhExt                  :
    43  33 j_1mhExtErr               :
    44  34 hmkExt                    :
    45  35 hmkExtErr                 :
    46  36 mergedClassStat           :
    47  37 mergedClass               : psfQFperf or photFlags2
    48  38 pStar                     : psfChisq
    49  39 pGalaxy                   : extNsigma
    50  40 pNoise                    :
    51  41 pSaturated                :
    52  42 eBV                       :
    53  43 aY                        :
    54  44 yHallMag                  : M
    55  45 yHallMagErr               : dM
    56  46 yPetroMag                 :
    57  47 yPetroMagErr              :
    58  48 yAperMag3                 : Map
    59  49 yAperMag3Err              : dMap
    60  50 yAperMag4                 : Mkron
    61  51 yAperMag4Err              : dMron
    62  52 yAperMag6                 :
    63  53 yAperMag6Err              :
    64  54 yGausig                   :
    65  55 yEll                      :
    66  56 yPA                       : posangle
    67  57 yErrBits                  :
    68  58 yDeblend                  :
    69  59 yClass                    : psfQF
    70  60 yClassStat                :
    71  61 yppErrBits                : photFlags
    72  62 ySeqNum                   : detID
    73  63 yObjID                    :
    74  64 yXi                       :
    75  65 yEta                      :
    76  66 aJ_1
    77  67 j_1HallMag                : M
    78  68 j_1HallMagErr             : dM
    79  69 j_1PetroMag               :
    80  70 j_1PetroMagErr            :
    81  71 j_1AperMag3               : Map
    82  72 j_1AperMag3Err            : dMap
    83  73 j_1AperMag4               : Mkron
    84  74 j_1AperMag4Err            : dMron
    85  75 j_1AperMag6               :
    86  76 j_1AperMag6Err            :
    87  77 j_1Gausig                 :
    88  78 j_1Ell                    :
    89  79 j_1PA                     : posangle
    90  80 j_1ErrBits                :
    91  81 j_1Deblend                :
    92  82 j_1Class                  : psfQF
    93  83 j_1ClassStat              :
    94  84 j_1ppErrBits              : photFlags
    95  85 j_1SeqNum                 : detID
    96  86 j_1ObjID                  :
    97  87 j_1Xi                     :
    98  88 j_1Eta                    :
    99  89 aJ_2
    100  90 j_2HallMag                : M
    101  91 j_2HallMagErr             : dM
    102  92 j_2PetroMag               :
    103  93 j_2PetroMagErr            :
    104  94 j_2AperMag3               : Map
    105  95 j_2AperMag3Err            : dMap
    106  96 j_2AperMag4               : Mkron
    107  97 j_2AperMag4Err            : dMron
    108  98 j_2AperMag6               :
    109  99 j_2AperMag6Err            :
    110  00 j_2Gausig                 :
    111  01 j_2Ell                    :
    112  02 j_2PA                     : posangle
    113  03 j_2ErrBits                :
    114  04 j_2Deblend                :
    115  05 j_2Class                  : psfQF
    116  06 j_2ClassStat              :
    117  07 j_2ppErrBits              : photFlags
    118  08 j_2SeqNum                 : detID
    119  09 j_2ObjID                  :
    120  10 j_2Xi                     :
    121  11 j_2Eta                    :
    122  12 aH
    123  13 hHallMag                  : M
    124  14 hHallMagErr               : dM
    125  15 hPetroMag                 :
    126  16 hPetroMagErr              :
    127  17 hAperMag3                 : Map
    128  18 hAperMag3Err              : dMap
    129  19 hAperMag4                 : Mkron
    130  20 hAperMag4Err              : dMron
    131  21 hAperMag6                 :
    132  22 hAperMag6Err              :
    133  23 hGausig                   :
    134  24 hEll                      :
    135  25 hPA                       : posangle
    136  26 hErrBits                  :
    137  27 hDeblend                  :
    138  28 hClass                    : psfQF
    139  29 hClassStat                :
    140  30 hppErrBits                : photFlags
    141  31 hSeqNum                   : detID
    142  32 hObjID                    :
    143  33 hXi                       :
    144  34 hEta                      :
    145  35 aK
    146  36 kHallMag                  : M
    147  37 kHallMagErr       : dM
    148  38 kPetroMag                 :
    149  39 kPetroMagErr              :
    150  40 kAperMag3                 : Map
    151  41 kAperMag3Err              : dMap
    152  42 kAperMag4                 : Mkron
    153  43 kAperMag4Err              : dMron
    154  44 kAperMag6                 :
    155  45 kAperMag6Err              :
    156  46 kGausig                   :
    157  47 kEll                      :
    158  48 kPA               : posangle
    159  59 kErrBits                  :
    160  50 kDeblend                  :
    161  51 kClass                    : psfQF
    162  52 kClassStat        :
    163  53 kppErrBits        : photFlags
    164  54 kSeqNum                 : detID
    165  55 kObjID                    :
    166  56 kXi                       :
    167  57 kEta                      :
     12  2 frameSetID                : imageID (assumes we do not try to go backwards for these photcodes)
     13  3 ra                        : R
     14  4 dec                       : D
     15  5 sigRa                     :
     16  6 sigDec                    :
     17  7 epoch                     : t ???? -- how is there a single epoch?
     18  8 muRa                      :
     19  9 muDec                     :
     20 10 sigMuRa                   :
     21 11 sigMuDec                  :
     22 12 chi2                      :
     23 13 nFrames                   :
     24 14 cx                        :
     25 15 cy                        :
     26 16 cz                        :
     27 17 htmID                     :
     28 18 l                         :
     29 19 b                         :
     30 20 lambda                    :
     31 21 eta                       :
     32 22 priOrSec                  : primary bit in dbFlags
     33 23 ymj_1Pnt                  :
     34 24 ymj_1PntErr               :
     35 25 j_1mhPnt                  :
     36 26 j_1mhPntErr               :
     37 27 hmkPnt                    :
     38 28 hmkPntErr                 :
     39 29 ymj_1Ext                  :
     40 30 ymj_1ExtErr               :
     41 31 j_1mhExt                  :
     42 32 j_1mhExtErr               :
     43 33 hmkExt                    :
     44 34 hmkExtErr                 :
     45 35 mergedClassStat           :
     46 36 mergedClass               : psfQFperf or photFlags2
     47 37 pStar                     : psfChisq
     48 38 pGalaxy                   : extNsigma
     49 39 pNoise                    :
     50 40 pSaturated                :
     51 41 eBV                       :
     52 42 aY                        :
     53 43 yHallMag                  : M
     54 44 yHallMagErr               : dM
     55 45 yPetroMag                 :
     56 46 yPetroMagErr              :
     57 47 yAperMag3                 : Map
     58 48 yAperMag3Err              : dMap
     59 49 yAperMag4                 : Mkron
     60 50 yAperMag4Err              : dMron
     61 51 yAperMag6                 :
     62 52 yAperMag6Err              :
     63 53 yGausig                   :
     64 54 yEll                      :
     65 55 yPA                       : posangle
     66 56 yErrBits                  :
     67 57 yDeblend                  :
     68 58 yClass                    : psfQF
     69 59 yClassStat                :
     70 60 yppErrBits                : photFlags
     71 61 ySeqNum                   : detID
     72 62 yObjID                    :
     73 63 yXi                       :
     74 64 yEta                      :
     75 65 aJ
     76 66 j_1HallMag                : M
     77 67 j_1HallMagErr             : dM
     78 68 j_1PetroMag               :
     79 69 j_1PetroMagErr            :
     80 70 j_1AperMag3               : Map
     81 71 j_1AperMag3Err            : dMap
     82 72 j_1AperMag4               : Mkron
     83 73 j_1AperMag4Err            : dMron
     84 74 j_1AperMag6               :
     85 75 j_1AperMag6Err            :
     86 76 j_1Gausig                 :
     87 77 j_1Ell                    :
     88 78 j_1PA                     : posangle
     89 79 j_1ErrBits                :
     90 80 j_1Deblend                :
     91 81 j_1Class                  : psfQF
     92 82 j_1ClassStat              :
     93 83 j_1ppErrBits              : photFlags
     94 84 j_1SeqNum                 : detID
     95 85 j_1ObjID                  :
     96 86 j_1Xi                     :
     97 87 j_1Eta                    :
     98 88 j_2HallMag                : M
     99 89 j_2HallMagErr             : dM
     100 90 j_2PetroMag               :
     101 91 j_2PetroMagErr            :
     102 92 j_2AperMag3               : Map
     103 93 j_2AperMag3Err            : dMap
     104 94 j_2AperMag4               : Mkron
     105 95 j_2AperMag4Err            : dMron
     106 96 j_2AperMag6               :
     107 97 j_2AperMag6Err            :
     108 98 j_2Gausig                 :
     109 99 j_2Ell                    :
     110100 j_2PA                     : posangle
     111101 j_2ErrBits                :
     112102 j_2Deblend                :
     113103 j_2Class                  : psfQF
     114104 j_2ClassStat              :
     115105 j_2ppErrBits              : photFlags
     116106 j_2SeqNum                 : detID
     117107 j_2ObjID                  :
     118108 j_2Xi                     :
     119109 j_2Eta                    :
     120110 aH
     121111 hHallMag                  : M
     122112 hHallMagErr               : dM
     123113 hPetroMag                 :
     124114 hPetroMagErr              :
     125115 hAperMag3                 : Map
     126116 hAperMag3Err              : dMap
     127117 hAperMag4                 : Mkron
     128118 hAperMag4Err              : dMron
     129119 hAperMag6                 :
     130120 hAperMag6Err              :
     131121 hGausig                   :
     132122 hEll                      :
     133123 hPA                       : posangle
     134124 hErrBits                  :
     135125 hDeblend                  :
     136126 hClass                    : psfQF
     137127 hClassStat                :
     138128 hppErrBits                : photFlags
     139129 hSeqNum                   : detID
     140130 hObjID                    :
     141131 hXi                       :
     142132 hEta                      :
     143133 aK
     144134 kHallMag                  : M
     145135 kHallMagErr       : dM
     146136 kPetroMag                 :
     147137 kPetroMagErr              :
     148138 kAperMag3                 : Map
     149139 kAperMag3Err              : dMap
     150140 kAperMag4                 : Mkron
     151141 kAperMag4Err              : dMron
     152142 kAperMag6                 :
     153143 kAperMag6Err              :
     154144 kGausig                   :
     155145 kEll                      :
     156146 kPA               : posangle
     157147 kErrBits                  :
     158148 kDeblend                  :
     159159 kClass                    : psfQF
     160150 kClassStat        :
     161151 kppErrBits        : photFlags
     162152 kSeqNum                 : detID
     163153 kObjID                    :
     164154 kXi                       :
     165155 kEta                      :
    168166 
    169167*/
     
    193191static int Nskip = 0; // UKIRT UHS CSV files have a single header row (and no special character to mark)
    194192
    195 UKIRT_Stars *loadukirt_uhs_readstars_ugcs (FILE *f, char *buffer, int *nstart, AddstarClientOptions *options, int *nstars) {
    196 
    197   int codeZ  = GetPhotcodeCodebyName ("UKIRT_Z");  if (!codeZ ) Shutdown ("missing photcode UKIRT_Z ");
    198   int codeY  = GetPhotcodeCodebyName ("UKIRT_Y");  if (!codeY ) Shutdown ("missing photcode UKIRT_Y ");
    199   int codeJ  = GetPhotcodeCodebyName ("UKIRT_J");  if (!codeJ ) Shutdown ("missing photcode UKIRT_J ");
    200   int codeH  = GetPhotcodeCodebyName ("UKIRT_H");  if (!codeH ) Shutdown ("missing photcode UKIRT_H ");
    201   int codeK1 = GetPhotcodeCodebyName ("UKIRT_K1"); if (!codeK1) Shutdown ("missing photcode UKIRT_K1");
    202   int codeK2 = GetPhotcodeCodebyName ("UKIRT_K2"); if (!codeK2) Shutdown ("missing photcode UKIRT_K2");
     193UKIRT_Stars *loadukirt_uhs_readstars_ulas (FILE *f, char *buffer, int *nstart, AddstarClientOptions *options, int *nstars) {
     194
     195  int codeY  = GetPhotcodeCodebyName ("UKIRT_Y");  if (!codeY )  Shutdown ("missing photcode UKIRT_Y");
     196  int codeJ1 = GetPhotcodeCodebyName ("UKIRT_J1"); if (!codeJ1 ) Shutdown ("missing photcode UKIRT_J1");
     197  int codeJ2 = GetPhotcodeCodebyName ("UKIRT_J2"); if (!codeJ2 ) Shutdown ("missing photcode UKIRT_J2");
     198  int codeH  = GetPhotcodeCodebyName ("UKIRT_H");  if (!codeH )  Shutdown ("missing photcode UKIRT_H");
     199  int codeK  = GetPhotcodeCodebyName ("UKIRT_K");  if (!codeK)   Shutdown ("missing photcode UKIRT_K");
    203200
    204201  // XXX I need a UKIRT UHS Mean Epoch
     
    220217  ALLOCATE_PTR (pGalaxy,      double,   NELEM);
    221218
    222   ALLOCATE_PTR (zHallMag,     double,   NELEM);
    223   ALLOCATE_PTR (zHallMagErr,  double,   NELEM);
    224   ALLOCATE_PTR (zAperMag3,    double,   NELEM);
    225   ALLOCATE_PTR (zAperMag3Err, double,   NELEM);
    226   ALLOCATE_PTR (zAperMag4,    double,   NELEM);
    227   ALLOCATE_PTR (zAperMag4Err, double,   NELEM);
    228   ALLOCATE_PTR (zPA,          double,   NELEM);
    229   ALLOCATE_PTR (zClass,       int,      NELEM);
    230   ALLOCATE_PTR (zppErrBits,   int,      NELEM);
    231   ALLOCATE_PTR (zSeqNum,      int,      NELEM);
    232 
    233219  ALLOCATE_PTR (yHallMag,     double,   NELEM);
    234220  ALLOCATE_PTR (yHallMagErr,  double,   NELEM);
     
    242228  ALLOCATE_PTR (ySeqNum,      int,      NELEM);
    243229
    244   ALLOCATE_PTR (jHallMag,     double,   NELEM);
    245   ALLOCATE_PTR (jHallMagErr,  double,   NELEM);
    246   ALLOCATE_PTR (jAperMag3,    double,   NELEM);
    247   ALLOCATE_PTR (jAperMag3Err, double,   NELEM);
    248   ALLOCATE_PTR (jAperMag4,    double,   NELEM);
    249   ALLOCATE_PTR (jAperMag4Err, double,   NELEM);
    250   ALLOCATE_PTR (jPA,          double,   NELEM);
    251   ALLOCATE_PTR (jClass,       int,      NELEM);
    252   ALLOCATE_PTR (jppErrBits,   int,      NELEM);
    253   ALLOCATE_PTR (jSeqNum,      int,      NELEM);
     230  ALLOCATE_PTR (j1HallMag,     double,   NELEM);
     231  ALLOCATE_PTR (j1HallMagErr,  double,   NELEM);
     232  ALLOCATE_PTR (j1AperMag3,    double,   NELEM);
     233  ALLOCATE_PTR (j1AperMag3Err, double,   NELEM);
     234  ALLOCATE_PTR (j1AperMag4,    double,   NELEM);
     235  ALLOCATE_PTR (j1AperMag4Err, double,   NELEM);
     236  ALLOCATE_PTR (j1PA,          double,   NELEM);
     237  ALLOCATE_PTR (j1Class,       int,      NELEM);
     238  ALLOCATE_PTR (j1ppErrBits,   int,      NELEM);
     239  ALLOCATE_PTR (j1SeqNum,      int,      NELEM);
     240
     241  ALLOCATE_PTR (j2HallMag,     double,   NELEM);
     242  ALLOCATE_PTR (j2HallMagErr,  double,   NELEM);
     243  ALLOCATE_PTR (j2AperMag3,    double,   NELEM);
     244  ALLOCATE_PTR (j2AperMag3Err, double,   NELEM);
     245  ALLOCATE_PTR (j2AperMag4,    double,   NELEM);
     246  ALLOCATE_PTR (j2AperMag4Err, double,   NELEM);
     247  ALLOCATE_PTR (j2PA,          double,   NELEM);
     248  ALLOCATE_PTR (j2Class,       int,      NELEM);
     249  ALLOCATE_PTR (j2ppErrBits,   int,      NELEM);
     250  ALLOCATE_PTR (j2SeqNum,      int,      NELEM);
    254251
    255252  ALLOCATE_PTR (hHallMag,     double,   NELEM);
     
    264261  ALLOCATE_PTR (hSeqNum,      int,      NELEM);
    265262
    266   ALLOCATE_PTR (k1HallMag,     double,   NELEM);
    267   ALLOCATE_PTR (k1HallMagErr,  double,   NELEM);
    268   ALLOCATE_PTR (k1AperMag3,    double,   NELEM);
    269   ALLOCATE_PTR (k1AperMag3Err, double,   NELEM);
    270   ALLOCATE_PTR (k1AperMag4,    double,   NELEM);
    271   ALLOCATE_PTR (k1AperMag4Err, double,   NELEM);
    272   ALLOCATE_PTR (k1PA,          double,   NELEM);
    273   ALLOCATE_PTR (k1Class,       int,      NELEM);
    274   ALLOCATE_PTR (k1ppErrBits,   int,      NELEM);
    275   ALLOCATE_PTR (k1SeqNum,      int,      NELEM);
    276 
    277   ALLOCATE_PTR (k2HallMag,     double,   NELEM);
    278   ALLOCATE_PTR (k2HallMagErr,  double,   NELEM);
    279   ALLOCATE_PTR (k2AperMag3,    double,   NELEM);
    280   ALLOCATE_PTR (k2AperMag3Err, double,   NELEM);
    281   ALLOCATE_PTR (k2AperMag4,    double,   NELEM);
    282   ALLOCATE_PTR (k2AperMag4Err, double,   NELEM);
    283   ALLOCATE_PTR (k2PA,          double,   NELEM);
    284   ALLOCATE_PTR (k2Class,       int,      NELEM);
    285   ALLOCATE_PTR (k2ppErrBits,   int,      NELEM);
    286   ALLOCATE_PTR (k2SeqNum,      int,      NELEM);
     263  ALLOCATE_PTR (kHallMag,     double,   NELEM);
     264  ALLOCATE_PTR (kHallMagErr,  double,   NELEM);
     265  ALLOCATE_PTR (kAperMag3,    double,   NELEM);
     266  ALLOCATE_PTR (kAperMag3Err, double,   NELEM);
     267  ALLOCATE_PTR (kAperMag4,    double,   NELEM);
     268  ALLOCATE_PTR (kAperMag4Err, double,   NELEM);
     269  ALLOCATE_PTR (kPA,          double,   NELEM);
     270  ALLOCATE_PTR (kClass,       int,      NELEM);
     271  ALLOCATE_PTR (kppErrBits,   int,      NELEM);
     272  ALLOCATE_PTR (kSeqNum,      int,      NELEM);
    287273
    288274  // we have a working buffer read from the file. we parse the lines in the working buffer
     
    359345      // the start of the line is the 1st element (fields are 1-counting)
    360346      jPARSE (  1,   1, sourceID,      "sourceID");
    361       iPARSE (  3,   1, frameSetID,    "frameSetID");
    362       dPARSE (  4,   3, ra,            "ra");
    363       dPARSE (  5,   4, dec,           "dec");
    364       dPARSE (  8,   5, epoch,         "epoch");
    365       jPARSE ( 23,   8, priOrSec,      "priOrSec"); // watch for epoch
    366       iPARSE ( 41,  23, mergedClass,   "mergedClass");
    367       dPARSE ( 42,  41, pStar,         "pStar");
    368       dPARSE ( 43,  42, pGalaxy,       "pGalaxy");
    369       dPARSE ( 46,  43, zHallMag,      "zHallMag");
    370       dPARSE ( 47,  46, zHallMagErr,   "zHallMagErr");
    371       dPARSE ( 50,  47, zAperMag3,     "zAperMag3");
    372       dPARSE ( 51,  50, zAperMag3Err,  "zAperMag3Err");
    373       dPARSE ( 52,  51, zAperMag4,     "zAperMag4");
    374       dPARSE ( 53,  52, zAperMag4Err,  "zAperMag4Err");
    375       dPARSE ( 58,  53, zPA,           "zPA");
    376       iPARSE ( 61,  58, zClass,        "zClass");
    377       iPARSE ( 63,  61, zppErrBits,    "zppErrBits");
    378       iPARSE ( 64,  63, zSeqNum,       "zSeqNum");
    379       dPARSE ( 68,  64, yHallMag,      "yHallMag");
    380       dPARSE ( 69,  68, yHallMagErr,   "yHallMagErr");
    381       dPARSE ( 72,  69, yAperMag3,     "yAperMag3");
    382       dPARSE ( 73,  72, yAperMag3Err,  "yAperMag3Err");
    383       dPARSE ( 74,  73, yAperMag4,     "yAperMag4");
    384       dPARSE ( 75,  74, yAperMag4Err,  "yAperMag4Err");
    385       dPARSE ( 80,  75, yPA,           "yPA");
    386       iPARSE ( 83,  80, yClass,        "yClass");
    387       iPARSE ( 85,  83, yppErrBits,    "yppErrBits");
    388       iPARSE ( 86,  85, ySeqNum,       "ySeqNum");
    389       dPARSE ( 90,  86, jHallMag,      "jHallMag");
    390       dPARSE ( 91,  90, jHallMagErr,   "jHallMagErr");
    391       dPARSE ( 94,  91, jAperMag3,     "jAperMag3");
    392       dPARSE ( 95,  94, jAperMag3Err,  "jAperMag3Err");
    393       dPARSE ( 96,  95, jAperMag4,     "jAperMag4");
    394       dPARSE ( 97,  96, jAperMag4Err,  "jAperMag4Err");
    395       dPARSE (102,  97, jPA,           "jPA");
    396       iPARSE (105, 102, jClass,        "jClass");
    397       iPARSE (107, 105, jppErrBits,    "jppErrBits");
    398       iPARSE (108, 107, jSeqNum,       "jSeqNum");
    399       dPARSE (112, 108, hHallMag,      "hHallMag");
    400       dPARSE (113, 112, hHallMagErr,   "hHallMagErr");
    401       dPARSE (116, 113, hAperMag3,     "hAperMag3");
    402       dPARSE (117, 116, hAperMag3Err,  "hAperMag3Err");
    403       dPARSE (118, 117, hAperMag4,     "hAperMag4");
    404       dPARSE (119, 118, hAperMag4Err,  "hAperMag4Err");
    405       dPARSE (124, 119, hPA,           "hPA");
    406       iPARSE (127, 124, hClass,        "hClass");
    407       iPARSE (129, 127, hppErrBits,    "hppErrBits");
    408       iPARSE (130, 129, hSeqNum,       "hSeqNum");
    409       dPARSE (134, 130, k1HallMag,     "k1HallMag");
    410       dPARSE (135, 134, k1HallMagErr,  "k1HallMagErr");
    411       dPARSE (138, 135, k1AperMag3,    "k1AperMag3");
    412       dPARSE (139, 138, k1AperMag3Err, "k1AperMag3Err");
    413       dPARSE (140, 139, k1AperMag4,    "k1AperMag4");
    414       dPARSE (141, 140, k1AperMag4Err, "k1AperMag4Err");
    415       dPARSE (146, 141, k1PA,          "k1PA");
    416       iPARSE (149, 146, k1Class,       "k1Class");
    417       iPARSE (151, 149, k1ppErrBits,   "k1ppErrBits");
    418       iPARSE (152, 151, k1SeqNum,      "k1SeqNum");
    419       dPARSE (156, 152, k2HallMag,     "k2HallMag");
    420       dPARSE (157, 156, k2HallMagErr,  "k2HallMagErr");
    421       dPARSE (160, 157, k2AperMag3,    "k2AperMag3");
    422       dPARSE (161, 160, k2AperMag3Err, "k2AperMag3Err");
    423       dPARSE (162, 161, k2AperMag4,    "k2AperMag4");
    424       dPARSE (163, 162, k2AperMag4Err, "k2AperMag4Err");
    425       dPARSE (168, 163, k2PA,          "k2PA");
    426       iPARSE (171, 168, k2Class,       "k2Class");
    427       iPARSE (173, 171, k2ppErrBits,   "k2ppErrBits");
    428       iPARSE (174, 173, k2SeqNum,      "k2SeqNum");
     347      iPARSE (  2,   1, frameSetID,    "frameSetID");
     348      dPARSE (  3,   2, ra,            "ra");
     349      dPARSE (  4,   3, dec,           "dec");
     350      dPARSE (  7,   4, epoch,         "epoch");
     351      jPARSE ( 22,   7, priOrSec,      "priOrSec"); // watch for epoch
     352      iPARSE ( 36,  22, mergedClass,   "mergedClass");
     353      dPARSE ( 37,  36, pStar,         "pStar");
     354      dPARSE ( 38,  37, pGalaxy,       "pGalaxy");
     355      dPARSE ( 43,  38, yHallMag,      "yHallMag");
     356      dPARSE ( 44,  43, yHallMagErr,   "yHallMagErr");
     357      dPARSE ( 47,  44, yAperMag3,     "yAperMag3");
     358      dPARSE ( 48,  47, yAperMag3Err,  "yAperMag3Err");
     359      dPARSE ( 49,  48, yAperMag4,     "yAperMag4");
     360      dPARSE ( 50,  49, yAperMag4Err,  "yAperMag4Err");
     361      dPARSE ( 55,  50, yPA,           "yPA");
     362      iPARSE ( 58,  55, yClass,        "yClass");
     363      iPARSE ( 60,  58, yppErrBits,    "yppErrBits");
     364      iPARSE ( 61,  60, ySeqNum,       "ySeqNum");
     365      dPARSE ( 66,  61, j1HallMag,     "j1HallMag");
     366      dPARSE ( 67,  66, j1HallMagErr,  "j1HallMagErr");
     367      dPARSE ( 70,  67, j1AperMag3,    "j1AperMag3");
     368      dPARSE ( 71,  70, j1AperMag3Err, "j1AperMag3Err");
     369      dPARSE ( 72,  71, j1AperMag4,    "j1AperMag4");
     370      dPARSE ( 73,  72, j1AperMag4Err, "j1AperMag4Err");
     371      dPARSE ( 78,  73, j1PA,          "j1PA");
     372      iPARSE ( 81,  78, j1Class,       "j1Class");
     373      iPARSE ( 83,  81, j1ppErrBits,   "j1ppErrBits");
     374      iPARSE ( 84,  83, j1SeqNum,      "j1SeqNum");
     375      dPARSE ( 88,  84, j2HallMag,     "j2HallMag");
     376      dPARSE ( 89,  88, j2HallMagErr,  "j2HallMagErr");
     377      dPARSE ( 92,  89, j2AperMag3,    "j2AperMag3");
     378      dPARSE ( 93,  92, j2AperMag3Err, "j2AperMag3Err");
     379      dPARSE ( 94,  93, j2AperMag4,    "j2AperMag4");
     380      dPARSE ( 95,  94, j2AperMag4Err, "j2AperMag4Err");
     381      dPARSE (100,  95, j2PA,          "j2PA");
     382      iPARSE (103, 100, j2Class,       "j2Class");
     383      iPARSE (105, 103, j2ppErrBits,   "j2ppErrBits");
     384      iPARSE (106, 105, j2SeqNum,      "j2SeqNum");
     385      dPARSE (111, 106, hHallMag,      "hHallMag");
     386      dPARSE (112, 111, hHallMagErr,   "hHallMagErr");
     387      dPARSE (115, 112, hAperMag3,     "hAperMag3");
     388      dPARSE (116, 115, hAperMag3Err,  "hAperMag3Err");
     389      dPARSE (117, 116, hAperMag4,     "hAperMag4");
     390      dPARSE (118, 117, hAperMag4Err,  "hAperMag4Err");
     391      dPARSE (123, 118, hPA,           "hPA");
     392      iPARSE (126, 123, hClass,        "hClass");
     393      iPARSE (128, 126, hppErrBits,    "hppErrBits");
     394      iPARSE (129, 128, hSeqNum,       "hSeqNum");
     395      dPARSE (134, 129, kHallMag,      "kHallMag");
     396      dPARSE (135, 134, kHallMagErr,   "kHallMagErr");
     397      dPARSE (138, 135, kAperMag3,     "kAperMag3");
     398      dPARSE (139, 138, kAperMag3Err,  "kAperMag3Err");
     399      dPARSE (140, 139, kAperMag4,     "kAperMag4");
     400      dPARSE (141, 140, kAperMag4Err,  "kAperMag4Err");
     401      dPARSE (146, 141, kPA,           "kPA");
     402      iPARSE (159, 146, kClass,        "kClass");
     403      iPARSE (151, 159, kppErrBits,    "kppErrBits");
     404      iPARSE (152, 151, kSeqNum,       "kSeqNum");
    429405
    430406      if (!lineStatus && VERBOSE) {
     
    448424        REALLOCATE (pStar,        double,   NELEM);
    449425        REALLOCATE (pGalaxy,      double,   NELEM);
    450         REALLOCATE (zHallMag,     double,   NELEM);
    451         REALLOCATE (zHallMagErr,  double,   NELEM);
    452         REALLOCATE (zAperMag3,    double,   NELEM);
    453         REALLOCATE (zAperMag3Err, double,   NELEM);
    454         REALLOCATE (zAperMag4,    double,   NELEM);
    455         REALLOCATE (zAperMag4Err, double,   NELEM);
    456         REALLOCATE (zPA,          double,   NELEM);
    457         REALLOCATE (zClass,       int,      NELEM);
    458         REALLOCATE (zppErrBits,   int,      NELEM);
    459         REALLOCATE (zSeqNum,      int,      NELEM);
    460426        REALLOCATE (yHallMag,     double,   NELEM);
    461427        REALLOCATE (yHallMagErr,  double,   NELEM);
     
    468434        REALLOCATE (yppErrBits,   int,      NELEM);
    469435        REALLOCATE (ySeqNum,      int,      NELEM);
    470         REALLOCATE (jHallMag,     double,   NELEM);
    471         REALLOCATE (jHallMagErr,  double,   NELEM);
    472         REALLOCATE (jAperMag3,    double,   NELEM);
    473         REALLOCATE (jAperMag3Err, double,   NELEM);
    474         REALLOCATE (jAperMag4,    double,   NELEM);
    475         REALLOCATE (jAperMag4Err, double,   NELEM);
    476         REALLOCATE (jPA,          double,   NELEM);
    477         REALLOCATE (jClass,       int,      NELEM);
    478         REALLOCATE (jppErrBits,   int,      NELEM);
    479         REALLOCATE (jSeqNum,      int,      NELEM);
     436        REALLOCATE (j1HallMag,     double,   NELEM);
     437        REALLOCATE (j1HallMagErr,  double,   NELEM);
     438        REALLOCATE (j1AperMag3,    double,   NELEM);
     439        REALLOCATE (j1AperMag3Err, double,   NELEM);
     440        REALLOCATE (j1AperMag4,    double,   NELEM);
     441        REALLOCATE (j1AperMag4Err, double,   NELEM);
     442        REALLOCATE (j1PA,          double,   NELEM);
     443        REALLOCATE (j1Class,       int,      NELEM);
     444        REALLOCATE (j1ppErrBits,   int,      NELEM);
     445        REALLOCATE (j1SeqNum,      int,      NELEM);
     446        REALLOCATE (j2HallMag,     double,   NELEM);
     447        REALLOCATE (j2HallMagErr,  double,   NELEM);
     448        REALLOCATE (j2AperMag3,    double,   NELEM);
     449        REALLOCATE (j2AperMag3Err, double,   NELEM);
     450        REALLOCATE (j2AperMag4,    double,   NELEM);
     451        REALLOCATE (j2AperMag4Err, double,   NELEM);
     452        REALLOCATE (j2PA,          double,   NELEM);
     453        REALLOCATE (j2Class,       int,      NELEM);
     454        REALLOCATE (j2ppErrBits,   int,      NELEM);
     455        REALLOCATE (j2SeqNum,      int,      NELEM);
    480456        REALLOCATE (hHallMag,     double,   NELEM);
    481457        REALLOCATE (hHallMagErr,  double,   NELEM);
     
    488464        REALLOCATE (hppErrBits,   int,      NELEM);
    489465        REALLOCATE (hSeqNum,      int,      NELEM);
    490         REALLOCATE (k1HallMag,     double,   NELEM);
    491         REALLOCATE (k1HallMagErr,  double,   NELEM);
    492         REALLOCATE (k1AperMag3,    double,   NELEM);
    493         REALLOCATE (k1AperMag3Err, double,   NELEM);
    494         REALLOCATE (k1AperMag4,    double,   NELEM);
    495         REALLOCATE (k1AperMag4Err, double,   NELEM);
    496         REALLOCATE (k1PA,          double,   NELEM);
    497         REALLOCATE (k1Class,       int,      NELEM);
    498         REALLOCATE (k1ppErrBits,   int,      NELEM);
    499         REALLOCATE (k1SeqNum,      int,      NELEM);
    500         REALLOCATE (k2HallMag,     double,   NELEM);
    501         REALLOCATE (k2HallMagErr,  double,   NELEM);
    502         REALLOCATE (k2AperMag3,    double,   NELEM);
    503         REALLOCATE (k2AperMag3Err, double,   NELEM);
    504         REALLOCATE (k2AperMag4,    double,   NELEM);
    505         REALLOCATE (k2AperMag4Err, double,   NELEM);
    506         REALLOCATE (k2PA,          double,   NELEM);
    507         REALLOCATE (k2Class,       int,      NELEM);
    508         REALLOCATE (k2ppErrBits,   int,      NELEM);
    509         REALLOCATE (k2SeqNum,      int,      NELEM);
     466        REALLOCATE (kHallMag,     double,   NELEM);
     467        REALLOCATE (kHallMagErr,  double,   NELEM);
     468        REALLOCATE (kAperMag3,    double,   NELEM);
     469        REALLOCATE (kAperMag3Err, double,   NELEM);
     470        REALLOCATE (kAperMag4,    double,   NELEM);
     471        REALLOCATE (kAperMag4Err, double,   NELEM);
     472        REALLOCATE (kPA,          double,   NELEM);
     473        REALLOCATE (kClass,       int,      NELEM);
     474        REALLOCATE (kppErrBits,   int,      NELEM);
     475        REALLOCATE (kSeqNum,      int,      NELEM);
    510476      }
    511477      if (!EndOfFile) {
     
    585551    stars[Nstars].measure[0].photcode   = codeY;
    586552
    587     // z measure
     553    // J_1 measure
    588554    stars[Nstars].measure[1].extID      = sourceID[i];
    589555    stars[Nstars].measure[1].imageID    = frameSetID[i]; // XXX check for frameSetID > 31-bit int
     
    592558    stars[Nstars].measure[1].psfChisq   = pStar[i];
    593559    stars[Nstars].measure[1].extNsigma  = pGalaxy[i];
    594     stars[Nstars].measure[1].M          = zHallMag[i];
    595     stars[Nstars].measure[1].dM         = zHallMagErr[i];
    596     stars[Nstars].measure[1].Map        = zAperMag3[i];
    597     stars[Nstars].measure[1].dMap       = zAperMag3Err[i];
    598     stars[Nstars].measure[1].Mkron      = zAperMag4[i];
    599     stars[Nstars].measure[1].dMkron     = zAperMag4Err[i];
    600     stars[Nstars].measure[1].posangle   = zPA[i]; // XXX units
    601     stars[Nstars].measure[1].psfQF      = zClass[i];
    602     stars[Nstars].measure[1].photFlags  = zppErrBits[i];
     560    stars[Nstars].measure[1].M          = j1HallMag[i];
     561    stars[Nstars].measure[1].dM         = j1HallMagErr[i];
     562    stars[Nstars].measure[1].Map        = j1AperMag3[i];
     563    stars[Nstars].measure[1].dMap       = j1AperMag3Err[i];
     564    stars[Nstars].measure[1].Mkron      = j1AperMag4[i];
     565    stars[Nstars].measure[1].dMkron     = j1AperMag4Err[i];
     566    stars[Nstars].measure[1].posangle   = j1PA[i]; // XXX units
     567    stars[Nstars].measure[1].psfQF      = j1Class[i];
     568    stars[Nstars].measure[1].photFlags  = j1ppErrBits[i];
    603569    stars[Nstars].measure[1].photFlags2 = photFlags2;
    604     stars[Nstars].measure[1].detID      = zSeqNum[i];
    605     stars[Nstars].measure[1].photcode   = codeZ;
     570    stars[Nstars].measure[1].detID      = j1SeqNum[i];
     571    stars[Nstars].measure[1].photcode   = codeJ1;
    606572
    607573    // J measure
     
    612578    stars[Nstars].measure[2].psfChisq   = pStar[i];
    613579    stars[Nstars].measure[2].extNsigma  = pGalaxy[i];
    614     stars[Nstars].measure[2].M          = jHallMag[i];
    615     stars[Nstars].measure[2].dM         = jHallMagErr[i];
    616     stars[Nstars].measure[2].Map        = jAperMag3[i];
    617     stars[Nstars].measure[2].dMap       = jAperMag3Err[i];
    618     stars[Nstars].measure[2].Mkron      = jAperMag4[i];
    619     stars[Nstars].measure[2].dMkron     = jAperMag4Err[i];
    620     stars[Nstars].measure[2].posangle   = jPA[i]; // XXX units
    621     stars[Nstars].measure[2].psfQF      = jClass[i];
    622     stars[Nstars].measure[2].photFlags  = jppErrBits[i];
     580    stars[Nstars].measure[2].M          = j2HallMag[i];
     581    stars[Nstars].measure[2].dM         = j2HallMagErr[i];
     582    stars[Nstars].measure[2].Map        = j2AperMag3[i];
     583    stars[Nstars].measure[2].dMap       = j2AperMag3Err[i];
     584    stars[Nstars].measure[2].Mkron      = j2AperMag4[i];
     585    stars[Nstars].measure[2].dMkron     = j2AperMag4Err[i];
     586    stars[Nstars].measure[2].posangle   = j2PA[i]; // XXX units
     587    stars[Nstars].measure[2].psfQF      = j2Class[i];
     588    stars[Nstars].measure[2].photFlags  = j2ppErrBits[i];
    623589    stars[Nstars].measure[2].photFlags2 = photFlags2;
    624     stars[Nstars].measure[2].detID      = jSeqNum[i];
    625     stars[Nstars].measure[2].photcode   = codeJ;
     590    stars[Nstars].measure[2].detID      = j2SeqNum[i];
     591    stars[Nstars].measure[2].photcode   = codeJ2;
    626592
    627593    // H measure
     
    645611    stars[Nstars].measure[3].photcode   = codeH;
    646612
    647     // K1 measure
     613    // K measure
    648614    stars[Nstars].measure[4].extID      = sourceID[i];
    649615    stars[Nstars].measure[4].imageID    = frameSetID[i]; // XXX check for frameSetID > 31-bit int
     
    652618    stars[Nstars].measure[4].psfChisq   = pStar[i];
    653619    stars[Nstars].measure[4].extNsigma  = pGalaxy[i];
    654     stars[Nstars].measure[4].M          = k1HallMag[i];
    655     stars[Nstars].measure[4].dM         = k1HallMagErr[i];
    656     stars[Nstars].measure[4].Map        = k1AperMag3[i];
    657     stars[Nstars].measure[4].dMap       = k1AperMag3Err[i];
    658     stars[Nstars].measure[4].Mkron      = k1AperMag4[i];
    659     stars[Nstars].measure[4].dMkron     = k1AperMag4Err[i];
    660     stars[Nstars].measure[4].posangle   = k1PA[i]; // XXX units
    661     stars[Nstars].measure[4].psfQF      = k1Class[i];
    662     stars[Nstars].measure[4].photFlags  = k1ppErrBits[i];
     620    stars[Nstars].measure[4].M          = kHallMag[i];
     621    stars[Nstars].measure[4].dM         = kHallMagErr[i];
     622    stars[Nstars].measure[4].Map        = kAperMag3[i];
     623    stars[Nstars].measure[4].dMap       = kAperMag3Err[i];
     624    stars[Nstars].measure[4].Mkron      = kAperMag4[i];
     625    stars[Nstars].measure[4].dMkron     = kAperMag4Err[i];
     626    stars[Nstars].measure[4].posangle   = kPA[i]; // XXX units
     627    stars[Nstars].measure[4].psfQF      = kClass[i];
     628    stars[Nstars].measure[4].photFlags  = kppErrBits[i];
    663629    stars[Nstars].measure[4].photFlags2 = photFlags2;
    664     stars[Nstars].measure[4].detID      = k1SeqNum[i];
    665     stars[Nstars].measure[4].photcode   = codeK1;
    666 
    667     // K1 measure
    668     stars[Nstars].measure[5].extID      = sourceID[i];
    669     stars[Nstars].measure[5].imageID    = frameSetID[i]; // XXX check for frameSetID > 31-bit int
    670     stars[Nstars].measure[5].R          = ra[i];
    671     stars[Nstars].measure[5].D          = dec[i];
    672     stars[Nstars].measure[5].psfChisq   = pStar[i];
    673     stars[Nstars].measure[5].extNsigma  = pGalaxy[i];
    674     stars[Nstars].measure[5].M          = k2HallMag[i];
    675     stars[Nstars].measure[5].dM         = k2HallMagErr[i];
    676     stars[Nstars].measure[5].Map        = k2AperMag3[i];
    677     stars[Nstars].measure[5].dMap       = k2AperMag3Err[i];
    678     stars[Nstars].measure[5].Mkron      = k2AperMag4[i];
    679     stars[Nstars].measure[5].dMkron     = k2AperMag4Err[i];
    680     stars[Nstars].measure[5].posangle   = k2PA[i]; // XXX units
    681     stars[Nstars].measure[5].psfQF      = k2Class[i];
    682     stars[Nstars].measure[5].photFlags  = k2ppErrBits[i];
    683     stars[Nstars].measure[5].photFlags2 = photFlags2;
    684     stars[Nstars].measure[5].detID      = k2SeqNum[i];
    685     stars[Nstars].measure[5].photcode   = codeK2;
     630    stars[Nstars].measure[4].detID      = kSeqNum[i];
     631    stars[Nstars].measure[4].photcode   = codeK;
    686632
    687633    stars[Nstars].average.Nmeasure = UKIRT_NFILTER;
     
    705651  FREE (pStar);
    706652  FREE (pGalaxy);
    707 
    708   FREE (zHallMag);
    709   FREE (zHallMagErr);
    710   FREE (zAperMag3);
    711   FREE (zAperMag3Err);
    712   FREE (zAperMag4);
    713   FREE (zAperMag4Err);
    714   FREE (zPA);
    715   FREE (zClass);
    716   FREE (zppErrBits);
    717   FREE (zSeqNum);
    718653
    719654  FREE (yHallMag);
     
    728663  FREE (ySeqNum);
    729664
    730   FREE (jHallMag);
    731   FREE (jHallMagErr);
    732   FREE (jAperMag3);
    733   FREE (jAperMag3Err);
    734   FREE (jAperMag4);
    735   FREE (jAperMag4Err);
    736   FREE (jPA);
    737   FREE (jClass);
    738   FREE (jppErrBits);
    739   FREE (jSeqNum);
     665  FREE (j1HallMag);
     666  FREE (j1HallMagErr);
     667  FREE (j1AperMag3);
     668  FREE (j1AperMag3Err);
     669  FREE (j1AperMag4);
     670  FREE (j1AperMag4Err);
     671  FREE (j1PA);
     672  FREE (j1Class);
     673  FREE (j1ppErrBits);
     674  FREE (j1SeqNum);
     675
     676  FREE (j2HallMag);
     677  FREE (j2HallMagErr);
     678  FREE (j2AperMag3);
     679  FREE (j2AperMag3Err);
     680  FREE (j2AperMag4);
     681  FREE (j2AperMag4Err);
     682  FREE (j2PA);
     683  FREE (j2Class);
     684  FREE (j2ppErrBits);
     685  FREE (j2SeqNum);
    740686
    741687  FREE (hHallMag);
     
    750696  FREE (hSeqNum);
    751697
    752   FREE (k1HallMag);
    753   FREE (k1HallMagErr);
    754   FREE (k1AperMag3);
    755   FREE (k1AperMag3Err);
    756   FREE (k1AperMag4);
    757   FREE (k1AperMag4Err);
    758   FREE (k1PA);
    759   FREE (k1Class);
    760   FREE (k1ppErrBits);
    761   FREE (k1SeqNum);
    762 
    763   FREE (k2HallMag);
    764   FREE (k2HallMagErr);
    765   FREE (k2AperMag3);
    766   FREE (k2AperMag3Err);
    767   FREE (k2AperMag4);
    768   FREE (k2AperMag4Err);
    769   FREE (k2PA);
    770   FREE (k2Class);
    771   FREE (k2ppErrBits);
    772   FREE (k2SeqNum);
     698  FREE (kHallMag);
     699  FREE (kHallMagErr);
     700  FREE (kAperMag3);
     701  FREE (kAperMag3Err);
     702  FREE (kAperMag4);
     703  FREE (kAperMag4Err);
     704  FREE (kPA);
     705  FREE (kClass);
     706  FREE (kppErrBits);
     707  FREE (kSeqNum);
    773708
    774709  *nstars = Nstars;
Note: See TracChangeset for help on using the changeset viewer.