vidf v3_CSWA16E {            /* Autogenerated on Mon Feb 18 20:18:03 2008 */
    float version = 3.0;                                  /* version      */
    string mission = "ClusterII mission";                 /* mission      */
    string spacecraft = "CLUSTER-4";                      /* spacecraft   */
    string experiment = "CIS";                            /* exp_desc     */
    string instrument = "CODIF_LO_G (3D He++)";           /* inst_desc    */
    string contact = "Dr. Henri Reme";
    string contact = "CESR BP 4346";
    string contact = "9 Ave Colonel Roche";
    string contact = "Cedex, Toulouse, 31029, France";
    string contact = "email henri.reme@cesr.cnes.fr";
/*
 *             CLUSTERII:CLUSTER-4:CIS:CODIF_LO_G:CSWA16E
 * 
 *  This virtual contains 3D He++ data from the CIS CODIF
 *  dectector. CIS Level 1 data source is either product 15
 *  or product 42, each of which is accumulated over several spins
 *  and pole summed (polar sectors have lower spin-resolution).
 *  For this virtual the sums over polar sectors have been
 *  replicated in order to regularize the data array. Multi-spin
 *  accumulated data has been cloned over accumulated spins. The
 *  reference to this being "solar wind" data indicates that this
 *  virtual always contains the "Low g" side CODIF data, and does NOT
 *  necessarily mean that the instrument is in one of its
 *  solar wind modes.
 * 
 *  The source calibration files for this VIDF are:
 * C4_L1_CISCOD_20001201_V03_3DCOxxxxxx.tab
 * C4_L1_CISCOD_20010315_V08_ABSEFFxxxx.tab
 * 
 *  The following is a list of tables which are in this vidf
 *    TABLE  0:  center energies (eV)
 *    TABLE  1:  telemetry decom table
 *    TABLE  2:  energy and sensor dependent efficiencies
 *    TABLE  3:  geometry factors (cm**2-str-KeV/KeV)
 *    TABLE  4:  absolute efficiencies
 *    TABLE  5:  dead-time correction
 *    TABLE  6:  Spin accumulation correction
 *    TABLE  7:  Factor by which sectors are summed
 *    TABLE  8:  Energy bin width
 *    TABLE  9:  conversion from eV to ergs
 *    TABLE 10:  Conversion factors to distribution func (s**3/km**6)
 *    TABLE 11:  Conversion of dis fn from (s**3/km**6) to (s**3/cm**6)
 *    TABLE 12:  Conversion of dis fn from (s**3/km**6) to (s**3/m**6)
 *    TABLE 13:  Table of value 2/m (gm-1) used in E->V conversion
 *    TABLE 14:  Conversion of cm to m
 *    TABLE 15:  Conversion of cm to km
 *    TABLE 16:  Electron charge in Coulombs
 *    TABLE 17: Polynomial to place spacecraft potential into math buffer
 * 
 *  The following is a list of constants defined in this vidf
 *    CONST 0:  Polar elevation angles
 *    CONST 1:  Azimuthal offset angles (from 0 degree marker)
 *    CONST 2:  Detector azimuthal FWHM values
 *    CONST 3:  Beginning elevation (polar) angles
 *    CONST 4:  Ending elevation (polar) angles
 *    CONST 5:  Dectector elevation FWHM values
 *    CONST 6:  Aperature Normal Y coordinates
 *    CONST 7:  Aperature Normal Z coordinates
 *    CONST 8:  Aperature Normal X coordinates
 *    CONST 9:  Dectector offset angle at start of spin
 * 
 *  The following are some of the units which can be derived from the
 *  included tables. The format is to give the tables applied followed
 *  by the operations and unit definition.  Note that for brevity we
 *  represent the table sequence 1,2,4,6,7 by T_S1 and the operation
 *  sequence 0,154,4,4,4,4 by O_S1.0
 * 
 *    DATA    TABLES            OPERS             UNIT
 *    Scan    0                 0                 eV
 *    Sweep   1                 0                 cnts/accum
 *    Sweep   1,2,4,6,7       0,4,4,4,4           cnts/accum (eff. cor)
 *    Sweep   T_S1              O_S1              cnts/sec
 *    Sweep   T_S1,3            O_S1,4            cnts/(cm**2-str-s)
 *    Sweep   T_S1,3,0          O_S1,4,4          cnts/(cm**2-str-s-eV)
 *    Sweep   T_S1,3,9         O_S1,4,3           ergs/(cm**2-str-s-eV)
 *    Sweep   T_S1,3,11,9,0,9,0  O_S1,4,3,4,4,4,4 sec**3/km**6
 *    Sweep   T_S1,3,11,9,0,9,0,11 O_S1,4,3,4,4,4,4,3 sec**3/cm**6
 *    Sweep   T_S1,3,11,9,0,9,0,12 O_S1,4,3,4,4,4,4,3 sec**3/m**6
 */
    int s_year = 2001;                                    /* ds_year      */
    int s_day =  74;                                      /* ds_day       */
    int s_msec =        0;                                /* ds_msec      */
    int s_usec = 0;                                       /* ds_usec      */
    int e_year = 2001;                                    /* de_year      */
    int e_day =  74;                                      /* de_day       */
    int e_msec = 86399999;                                /* de_msec      */
    int e_usec = 0;                                       /* de_usec      */
    int smp_id = 1;                                       /* smp_id       */
    int sen_mode = 2;                                     /* sen_mode     */
    int n_qual = 3;                                       /* n_qual       */
    int n_cal_sets = 0;                                   /* cal_sets     */
    int n_tbls = 18;                                      /* num_tbls     */
    int n_consts = 10;                                    /* num_consts   */
    int n_status = 3;                                     /* status       */
    int n_sensors = 8;                                    /* sen          */
    int swp_len = 16;                                     /* swp_len      */
    int max_nss = 16;                                     /* max_nss      */
    int data_len = 2128;                                  /* data_len     */
    int fill_flag = 1;                                    /* fill_flg     */
    int fill = 255;                                       /* fill value   */
    int da_method = 0;                                    /* da_method    */
    struct Status0 {
        string name = "CIS Operational Mode";             /* name      */
        int state = 16;                                   /* state     */
    };
    struct Status1 {
        string name = "CIS CODIF product number";         /* name      */
        int state = 49;                                   /* state     */
    };
    struct Status2 {
        string name = "CIS CODIF accumulation spins";     /* name      */
        int state = 16;                                   /* state     */
    };
    string qual_names = "Good data";                      /* name */
    string qual_names = "Error uncompressing data";       /* name */
    string qual_names = "Bad Data";                       /* name */
    struct PotentialSource {
        int format = 1;                                   /* pot format   */
        string project = "CLUSTERII";                     /* pot project  */
        string mission = "CLUSTER-4";                     /* pot mission  */
        string experiment = "EFW";                        /* pot exper    */
        string instrument = "POTENTIAL";                  /* pot inst     */
        string vinstrument = "SCPOT_SP";                  /* pot vinst    */
        int potential_sensor = 0;                         /* pot sensor   */
        int num_tbls = 0;                                 /* num pot tbls */
        float constant_value = -2.0;                      /* replace with */
    };
    struct StartOfSpin {
        string project = "CLUSTERII";                     /* spin_project */
        string mission = "CLUSTER-4";                     /* spin_mission */
        string experiment = "AUXILIARY";                  /* spin_exper   */
        string instrument = "OA";                         /* spin_inst    */
        string vinstrument = "CSPSPIN";                   /* spin_vinst   */
        int sensor = 0;                                   /* spin_sensor  */
        int msec_adj = 0;                                 /* msec_adj     */
        int nsec_adj = 0;                                 /* nsec_adj     */
    };
    struct PitchAngle {
        int format = 1;                                   /* pa_format    */
        string project = "CLUSTERII";                     /* pa_project   */
        string mission = "CLUSTER-4";                     /* pa_mission   */
        string experiment = "FGM";                        /* pa_exper     */
        string instrument = "VEC";                        /* pa_inst      */
        string vinstrument = "CFUNIT";                    /* pa_vinst     */
        int bx = 1;                                       /* bx           */
        int by = 2;                                       /* by           */
        int bz = 0;                                       /* bz           */
        int num_tbls = 1;                                 /* num_tbls     */
        int tbls = 0;                                     /* tbl 0        */
        int opers = 4;                                    /* oper 0       */
    };
    struct Sensor0 {
        string name = "CODIF  - sector 0";                /* name          */
        int d_type = 0;                                   /* d_type        */
        int status = 1;                                   /* status        */
        int tdw_len = 8;                                  /* tdw_len       */
        int time_offset = 0;                              /* time_offset   */
    };
    struct Sensor1 {
        string name = "CODIF  - sector 1";                /* name          */
        int d_type = 0;                                   /* d_type        */
        int status = 1;                                   /* status        */
        int tdw_len = 8;                                  /* tdw_len       */
        int time_offset = 0;                              /* time_offset   */
    };
    struct Sensor2 {
        string name = "CODIF  - sector 2";                /* name          */
        int d_type = 0;                                   /* d_type        */
        int status = 1;                                   /* status        */
        int tdw_len = 8;                                  /* tdw_len       */
        int time_offset = 0;                              /* time_offset   */
    };
    struct Sensor3 {
        string name = "CODIF  - sector 3";                /* name          */
        int d_type = 0;                                   /* d_type        */
        int status = 1;                                   /* status        */
        int tdw_len = 8;                                  /* tdw_len       */
        int time_offset = 0;                              /* time_offset   */
    };
    struct Sensor4 {
        string name = "CODIF  - sector 4";                /* name          */
        int d_type = 0;                                   /* d_type        */
        int status = 1;                                   /* status        */
        int tdw_len = 8;                                  /* tdw_len       */
        int time_offset = 0;                              /* time_offset   */
    };
    struct Sensor5 {
        string name = "CODIF  - sector 5";                /* name          */
        int d_type = 0;                                   /* d_type        */
        int status = 1;                                   /* status        */
        int tdw_len = 8;                                  /* tdw_len       */
        int time_offset = 0;                              /* time_offset   */
    };
    struct Sensor6 {
        string name = "CODIF  - sector 6";                /* name          */
        int d_type = 0;                                   /* d_type        */
        int status = 1;                                   /* status        */
        int tdw_len = 8;                                  /* tdw_len       */
        int time_offset = 0;                              /* time_offset   */
    };
    struct Sensor7 {
        string name = "CODIF  - sector 7";                /* name          */
        int d_type = 0;                                   /* d_type        */
        int status = 1;                                   /* status        */
        int tdw_len = 8;                                  /* tdw_len       */
        int time_offset = 0;                              /* time_offset   */
    };
    struct Table0 {
        int tbl_sca_sz = -8;                              /* tbl_sca_sz   */
        int tbl_ele_sz = 16;                              /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                          TABLE 00
 *  This table contains the center energies in eV
 *  These values are from mkcodifenergies.c
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [8] = {                                 /* scale factor */
          -2, -2, -2, -2, -2, -2,                         /*  000 - 005  */
          -2, -2                                          /*  006 - 007  */
        };
        int values [16] = {                               /* values       */
          3147902, 1941949, 1197993, 739045, 455919, 281258, /*  000 - 005  */
          173509, 107038,  66032,  40735,  25130,  15503, /*  006 - 011  */
            9564,   5900,   3640,   2515                  /*  012 - 015  */
        };
    };
    struct Table1 {
        int tbl_sca_sz = -8;                              /* tbl_sca_sz   */
        int tbl_ele_sz = 256;                             /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                          TABLE 01
 *  Look up table converting telemetry to counts/accum
 */
        int tbl_var = 0;                                  /* tbl_var      */
        int tbl_expand = 1;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [8] = {                                 /* scale factor */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int values [256] = {                              /* values       */
          0, 1, 2, 3, 4, 5,                               /*  000 - 005  */
          6, 7, 8, 9, 10, 11,                             /*  006 - 011  */
          12, 13, 14, 15, 16, 17,                         /*  012 - 017  */
          18, 19, 20, 21, 22, 23,                         /*  018 - 023  */
          24, 25, 26, 27, 28, 29,                         /*  024 - 029  */
          30, 31, 32, 33, 35, 37,                         /*  030 - 035  */
          39, 41, 43, 45, 47, 49,                         /*  036 - 041  */
          51, 53, 55, 57, 59, 61,                         /*  042 - 047  */
          63, 66, 70, 74, 78, 82,                         /*  048 - 053  */
          86, 90, 94, 98, 102, 106,                       /*  054 - 059  */
          110, 114, 118, 122, 126, 132,                   /*  060 - 065  */
          140, 148, 156, 164, 172, 180,                   /*  066 - 071  */
          188, 196, 204, 212, 220, 228,                   /*  072 - 077  */
          236, 244, 252, 264, 280, 296,                   /*  078 - 083  */
          312, 328, 344, 360, 376, 392,                   /*  084 - 089  */
          408, 424, 440, 456, 472, 488,                   /*  090 - 095  */
          504, 528, 560, 592, 624, 656,                   /*  096 - 101  */
          688, 720, 752, 784, 816, 848,                   /*  102 - 107  */
          880, 912, 944, 976, 1008, 1056,                 /*  108 - 113  */
          1120, 1184, 1248, 1312, 1376, 1440,             /*  114 - 119  */
          1504, 1568, 1632, 1696, 1760, 1824,             /*  120 - 125  */
          1888, 1952, 2016, 2112, 2240, 2368,             /*  126 - 131  */
          2496, 2624, 2752, 2880, 3008, 3136,             /*  132 - 137  */
          3264, 3392, 3520, 3648, 3776, 3904,             /*  138 - 143  */
          4032, 4224, 4480, 4736, 4992, 5248,             /*  144 - 149  */
          5504, 5760, 6016, 6272, 6528, 6784,             /*  150 - 155  */
          7040, 7296, 7552, 7808, 8064, 8448,             /*  156 - 161  */
          8960, 9472, 9984, 10496, 11008, 11520,          /*  162 - 167  */
          12032, 12544, 13056, 13568, 14080, 14592,       /*  168 - 173  */
          15104, 15616, 16128, 16896, 17920, 18944,       /*  174 - 179  */
          19968, 20992, 22016, 23040, 24064, 25088,       /*  180 - 185  */
          26112, 27136, 28160, 29184, 30208, 31232,       /*  186 - 191  */
          32256, 33792, 35840, 37888, 39936, 41984,       /*  192 - 197  */
          44032, 46080, 48128, 50176, 52224, 54272,       /*  198 - 203  */
          56320, 58368, 60416, 62464, 64512, 67584,       /*  204 - 209  */
          71680, 75776, 79872, 83968, 88064, 92160,       /*  210 - 215  */
          96256, 100352, 104448, 108544, 112640, 116736,  /*  216 - 221  */
          120832, 124928, 129024, 135168, 143360, 151552, /*  222 - 227  */
          159744, 167936, 176128, 184320, 192512, 200704, /*  228 - 233  */
          208896, 217088, 225280, 233472, 241664, 249856, /*  234 - 239  */
          258048, 270336, 286720, 303104, 319488, 335872, /*  240 - 245  */
          352256, 368640, 385024, 401408, 417792, 434176, /*  246 - 251  */
          450560, 466944, 483328, 499712                  /*  252 - 255  */
        };
    };
    struct Table2 {
        int tbl_sca_sz = -8;                              /* tbl_sca_sz   */
        int tbl_ele_sz = 128;                             /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                          TABLE 02
 *  This table contains energy, sector and species dependent efficiencies
 *  as a function of energy step (offset by sector number).
 *  From M0 + M1*E + M2*E^2 + M3*E^3
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 16, 32, 48, 64, 80,                          /*  000 - 005  */
          96, 112                                         /*  006 - 007  */
        };
        int scale [8] = {                                 /* scale factor */
           0, -6, -6, -6, -6, -6,                         /*  000 - 005  */
          -6,  0                                          /*  006 - 007  */
        };
        int values [128] = {                              /* values       */
               1,      1,      1,      1,      1,      1, /*  000 - 005  */
               1,      1,      1,      1,      1,      1, /*  006 - 011  */
               1,      1,      1,      1, 407624, 416271, /*  012 - 017  */
          406486, 392837, 381084, 372463, 366599, 362768, /*  018 - 023  */
          360322, 358781, 357819, 357220, 356849, 356620, /*  024 - 029  */
          356478, 356407, 375638, 385034, 378302, 367795, /*  030 - 035  */
          358524, 351655, 346960, 343884, 341917, 340678, /*  036 - 041  */
          339903, 339420, 339122, 338937, 338822, 338765, /*  042 - 047  */
          395089, 403223, 393752, 380607, 369298, 361006, /*  048 - 053  */
          355367, 351683, 349331, 347850, 346924, 346349, /*  054 - 059  */
          345992, 345771, 345635, 345567, 395089, 403223, /*  060 - 065  */
          393752, 380607, 369298, 361006, 355367, 351683, /*  066 - 071  */
          349331, 347850, 346924, 346349, 345992, 345771, /*  072 - 077  */
          345635, 345567, 394189, 404977, 399186, 389280, /*  078 - 083  */
          380384, 373748, 369197, 366210, 364298, 363092, /*  084 - 089  */
          362338, 361869, 361578, 361398, 361287, 361231, /*  090 - 095  */
          378203, 388357, 382558, 372844, 364154, 357681, /*  096 - 101  */
          353244, 350334, 348472, 347297, 346563, 346106, /*  102 - 107  */
          345823, 345647, 345539, 345485,      1,      1, /*  108 - 113  */
               1,      1,      1,      1,      1,      1, /*  114 - 119  */
               1,      1,      1,      1,      1,      1, /*  120 - 125  */
               1,      1                                  /*  126 - 127  */
        };
    };
    struct Table3 {
        int tbl_sca_sz = 8;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 8;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                          TABLE 03
 *  This table contains the detector geometry factors from
 *  geom_factor (LS)  in [cm^2-sr-keV/keV]  (includes dE/E)
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 1;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 1, 2, 3, 4, 5,                               /*  000 - 005  */
          6, 7                                            /*  006 - 007  */
        };
        int scale [8] = {                                 /* scale factor */
          -8, -8, -8, -8, -8, -8,                         /*  000 - 005  */
          -8, -8                                          /*  006 - 007  */
        };
        int values [8] = {                                /* values       */
          2570, 2570, 2570, 2570, 2570, 2570,             /*  000 - 005  */
          2570, 2570                                      /*  006 - 007  */
        };
    };
    struct Table4 {
        int tbl_sca_sz = 1;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 1;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                          TABLE 04
 *  This table contains the absolute efficiencies from
 *  the above-listed "ABSEFF" calibration file           `
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [1] = {-6};                             /* scale factor */
        int values [1] = {840000};                        /* values       */
    };
    struct Table5 {
        int tbl_sca_sz = 8;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 8;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                          TABLE 05
 *  This table contains the amplifier dead time tau from
 *  the dead_time table of 2x10^-5 ms in seconds
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 1, 2, 3, 4, 5,                               /*  000 - 005  */
          6, 7                                            /*  006 - 007  */
        };
        int scale [8] = {                                 /* scale factor */
          -8, -8, -8, -8, -8, -8,                         /*  000 - 005  */
          -8, -8                                          /*  006 - 007  */
        };
        int values [8] = {                                /* values       */
          2, 2, 2, 2, 2, 2,                               /*  000 - 005  */
          2, 2                                            /*  006 - 007  */
        };
    };
    struct Table6 {
        int tbl_sca_sz = -8;                              /* tbl_sca_sz   */
        int tbl_ele_sz = 16;                              /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                          TABLE 06
 *  This table contains the number of spin accumulation
 *  periods from Mode 2.
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 16;                             /* crit_act_ele */
        struct CriticalAction {
            int status [8] = {                            /* status */
          2, 2, 2, 2, 2, 2,                               /*  000 - 005  */
          2, 2                                            /*  006 - 007  */
            };
            int offset [8] = {                            /* offset */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
            };
            int table [16] = {                            /* table */
          0, 1, 2, 3, 4, 5,                               /*  000 - 005  */
          6, 7, 8, 9, 10, 11                              /*  006 - 011  */
          12, 13, 14, 15                                  /*  012 - 015  */
            };
        };
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [8] = {                                 /* scale factor */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int values [16] = {                               /* values       */
          1, 1, 2, 3, 4, 5,                               /*  000 - 005  */
          6, 7, 8, 9, 10, 11                              /*  006 - 011  */
          12, 13, 14, 15                                  /*  012 - 015  */
        };
    };
    struct Table7 {
        int tbl_sca_sz = 3;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 3;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                          TABLE 07
 *  This table contains the number of pole-summed azimuths
 *  and may also include a factor for summing of adjacent anodes.
 */
        int tbl_var = 0;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          2, 1, 0, 0, 0, 0,                               /*  000 - 005  */
          1, 2                                            /*  006 - 007  */
        };
        int scale [3] = {0,0,0};                          /* scale factor */
        int values [3] = {1,2,4};                         /* values       */
    };
    struct Table8 {
        int tbl_sca_sz = -8;                              /* tbl_sca_sz   */
        int tbl_ele_sz = 16;                              /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                          TABLE 08
 *  This table contains the delta energies in eV
 *  These values are from mkhiaenergies.c but unverified
 *  This table is only for energy table 0, which is OK for MS
 *                  [placeholder table - not implemented]
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [8] = {                                 /* scale factor */
          -2, -2, -2, -2, -2, -2,                         /*  000 - 005  */
          -2, -2                                          /*  006 - 007  */
        };
        int values [16] = {                               /* values       */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0, 0, 0, 0, 0,                               /*  006 - 011  */
          0, 0, 0, 0                                      /*  012 - 015  */
        };
    };
    struct Table9 {
        int tbl_sca_sz = 1;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 1;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                          TABLE 09
 *  This table contains the conversion from eV to ergs
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [1] = {-15};                            /* scale factor */
        int values [1] = {1602};                          /* values       */
    };
    struct Table10 {
        int tbl_sca_sz = 1;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 1;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                           TABLE 10
 *  This table contains the mass dependency used in the conversion to
 *  distribution function (needed since computation uses the He++ particle
 *  energy and not velocity).  It also has necessary scaling
 *  to put units into s**3/km***6  [placeholder]
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [1] = {0};                              /* scale factor */
        int values [1] = {1};                             /* values       */
    };
    struct Table11 {
        int tbl_sca_sz = 1;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 1;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                           TABLE 11
 *  This table contains the conversion factor taking the velocity
 *  distribution function from (s**3/km**6) to (s**3/cm**6)
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [1] = {-30};                            /* scale factor */
        int values [1] = {1};                             /* values       */
    };
    struct Table12 {
        int tbl_sca_sz = 1;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 1;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                           TABLE 12
 *  This table contains the conversion factor taking the velocity
 *  distribution function from (s**3/km**6) to (s**3/m**6)
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [1] = {-18};                            /* scale factor */
        int values [1] = {1};                             /* values       */
    };
    struct Table13 {
        int tbl_sca_sz = 1;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 1;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                           TABLE 13
 *  This table contains the expression 2 / m, where m is the He++ particle
 *  mass in gm.
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [1] = {18};                             /* scale factor */
        int values [1] = {300993};                        /* values       */
    };
    struct Table14 {
        int tbl_sca_sz = 1;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 1;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                           TABLE 14
 *  This table contains the conversion factor taking cm to meters.
 *  Primary purpose is conversion of velocity
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [1] = {-2};                             /* scale factor */
        int values [1] = {1};                             /* values       */
    };
    struct Table15 {
        int tbl_sca_sz = 1;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 1;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                           TABLE 15
 *  This table contains the conversion factor taking cm to kilometers.
 *  Primary purpose is conversion of velocity
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [1] = {-5};                             /* scale factor */
        int values [1] = {1};                             /* values       */
    };
    struct Table16 {
        int tbl_sca_sz = 1;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 1;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                           TABLE 16
 *  Electron charge in Coulombs
 */
        int tbl_var = 2;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          1, 1, 1, 1, 1, 1,                               /*  000 - 005  */
          1, 1                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [1] = {-22};                            /* scale factor */
        int values [1] = {1602};                          /* values       */
    };
    struct Table17 {
        int tbl_sca_sz = 2;                               /* tbl_sca_sz   */
        int tbl_ele_sz = 2;                               /* tbl_ele_sz   */
        int tbl_type = 0;                                 /* tbl_type     */
/*
 *                           TABLE 17
 *  Polynomial to place spacecraft potential into math buffer for Spacecraft
 *  Potential Usage. [volts]
 */
        int tbl_var = 3;                                  /* tbl_var      */
        int tbl_expand = 0;                               /* tbl_expand   */
        int crit_act_sz = 0;                              /* crit_act_ele */
        int format [8] = {                                /* format       */
          2, 2, 2, 2, 2, 2,                               /*  000 - 005  */
          2, 2                                            /*  006 - 007  */
        };
        int offset [8] = {                                /* offsets      */
          0, 0, 0, 0, 0, 0,                               /*  000 - 005  */
          0, 0                                            /*  006 - 007  */
        };
        int scale [2] = { -1, 0};                         /* scale factor */
        int values [2] = { 15, -1};                       /* values       */
    };
    struct Constant0 {
        int id = 1;                                       /* const_id      */
/*
 *                        CONSTANT 00
 *  CODIF Lo-g polar/elevation angles of sensors in degrees.  An angle of
 *  zero degrees is the look direction parallel to the spin axis.
 *  For summed bins the center of the total accum angle is used.
 */
        int scale [8] = {                                 /* scale factor */
          -2, -2, -2, -2, -2, -2,                         /*  000 - 005  */
          -2, -2                                          /*  006 - 007  */
        };
        int values [8] = {                                /* values       */
          1125, 3375, 5625, 7875, 10125, 12375,           /*  000 - 005  */
          14625, 16875                                    /*  006 - 007  */
        };
    };
    struct Constant1 {
        int id = 2;                                       /* const_id      */
/*
 *                        CONSTANT 01
 *  CODIF Lo-g offset from the azimuthal zero degree position defined as
 *  the angle between the sensor look direction and the Sun direction at
 *  the sun sensor crossing time.
 */
        int scale [8] = {                                 /* scale factor */
          -2, -2, -2, -2, -2, -2,                         /*  000 - 005  */
          -2, -2                                          /*  006 - 007  */
        };
        int values [8] = {                                /* values       */
          6037, 6037, 6037, 6037, 6037, 6037,             /*  000 - 005  */
          6037, 6037                                      /*  006 - 007  */
        };
    };
    struct Constant2 {
        int id = 3;                                       /* const_id      */
/*
 *                        CONSTANT 02
 *  LEEA azimuthal FWHM values
 */
        int scale [8] = {                                 /* scale factor */
          -2, -2, -2, -2, -2, -2,                         /*  000 - 005  */
          -2, -2                                          /*  006 - 007  */
        };
        int values [8] = {                                /* values       */
          250, 250, 250, 250, 250, 250,                   /*  000 - 005  */
          250, 250                                        /*  006 - 007  */
        };
    };
    struct Constant3 {
        int id = 4;                                       /* const_id      */
/*
 *                        CONSTANT 03
 *  CODIF Lo-g elevation angle bin lower edge.  The angle between the
 *  spin axis and the look direction of the smallest elevation accepted
 *  by each sensor.
 */
        int scale [8] = {                                 /* scale factor */
          -2, -2, -2, -2, -2, -2,                         /*  000 - 005  */
          -2, -2                                          /*  006 - 007  */
        };
        int values [8] = {                                /* values       */
          0, 2250, 4500, 6750, 9000, 11250,               /*  000 - 005  */
          13500, 15750                                    /*  006 - 007  */
        };
    };
    struct Constant4 {
        int id = 5;                                       /* const_id      */
/*
 *                        CONSTANT 04
 *  CODIF Lo-g elevation angle bin upper edge.  The angle between the
 *  spin axis and the look direction of the largest elevation accepted
 *  by each sensor.
 */
        int scale [8] = {                                 /* scale factor */
          -2, -2, -2, -2, -2, -2,                         /*  000 - 005  */
          -2, -2                                          /*  006 - 007  */
        };
        int values [8] = {                                /* values       */
          2250, 4500, 6750, 9000, 11250, 13500,           /*  000 - 005  */
          15750, 18000                                    /*  006 - 007  */
        };
    };
    struct Constant5 {
        int id = 9;                                       /* const_id      */
/*
 *                        CONSTANT 05
 *  CODIF Lo-g elevation (polar) FWHM values
 */ 
        int scale [8] = {                                 /* scale factor */
          -2, -2, -2, -2, -2, -2,                         /*  000 - 005  */
          -2, -2                                          /*  006 - 007  */
        };
        int values [8] = {                                /* values       */
          2250, 2250, 2250, 2250, 2250, 2250,             /*  000 - 005  */
          2250, 2250                                      /*  006 - 007  */
        };
    };
    struct Constant6 {
        int id = 6;                                       /* const_id     */
/*
 *                        CONSTANT 06
 *  CODIF Lo-g Y (first spin plane) component of outward (look)
 *  direction aperture normal vector in FGM coordinates.
 */
        int scale [8] = {                                 /* scale factor */
          -6, -6, -6, -6, -6, -6,                         /*  000 - 005  */
          -6, -6                                          /*  006 - 007  */
        };
        int values [8] = {                                /* values       */
          148348, 422459, 632254, 745795, 745795, 632254, /*  000 - 005  */
          422459, 148348                                  /*  006 - 007  */
        };
    };
    struct Constant7 {
        int id = 7;                                       /* const_id     */
/*
 *                        CONSTANT 07
 *  CODIF Lo-g Z (second spin plane) component of outward (look)
 *  direction aperture normal vector in FGM coordinates.
 */
        int scale [8] = {                                 /* scale factor */
          -6, -6, -6, -6, -6, -6,                         /*  000 - 005  */
          -6, -6                                          /*  006 - 007  */
        };
        int values [8] = {                                /* values       */
          126701, 360814, 539996, 636969, 636969, 539996, /*  000 - 005  */
          360814, 126701                                  /*  006 - 007  */
        };
    };
    struct Constant8 {
        int id = 8;                                       /* const_id     */
/*
 *                        CONSTANT 08
 *  CODIF Lo-g X (spin axis) component of outward (look)
 *  direction aperture normal vector in FGM coordinates.
 */
        int scale [8] = {                                 /* scale factor */
          -6, -6, -6, -6, -6, -6,                         /*  000 - 005  */
          -6, -6                                          /*  006 - 007  */
        };
        int values [8] = {                                /* values       */
          980785, 831470, 555570, 195090, -195090, -555570, /*  000 - 005  */
          -831470, -980785                                /*  006 - 007  */
        };
    };
    struct Constant9 {
        int id = 14;                                      /* const_id      */
/*
 *                        CONSTANT 09
 *  CODIF Lo-g offset angle from the azimuthal zero degree position at the
 *  start of spin.  This marks the angle where the detector is located when
 *  the spin start is defined.
 */
        int scale [8] = {                                 /* scale factor */
          -2, -2, -2, -2, -2, -2,                         /*  000 - 005  */
          -2, -2                                          /*  006 - 007  */
        };
        int values [8] = {                                /* values       */
          6037, 6037, 6037, 6037, 6037, 6037,             /*  000 - 005  */
          6037, 6037                                      /*  006 - 007  */
        };
    };
}
