SWEPAM Electron Level 1 Data Structures



swepam_dcale.h , v 1.2

#include "hdfi.h"

#define SWEPAM_DCALE_specseg 5  /* Spectral segment index..approx = spins */
#define SWEPAM_DCALE_phi 51     /* "Spin" sector index */
#define SWEPAM_DCALE_discrim 2  /* Discrim thrshld within a spin sect,0/1=A/B*/ 
#define SWEPAM_DCALE_theta 7    /* Polar angle index. 0=CEM1, 1=CEM2 .. CEM7 */

struct DCALE
{
  uint32 output_sctime;   /* time for beginning of data output cycle */
  uint32 collect_sctime;  /* time for beginning of data collection */
  uint8  QAC;             /* number of bad frames in this collection cycle */

  /* Data set header - PhiLim and Lmx not use by DCALE*/
  uint8 PhiLim;       /* Decompressed phi limit (55-61) */
  uint8 DQAlarm;      /* Data Quality alarm, 0/1 = OK/data suspect */
  uint8 CEMLev;       /* CEM level bias level, 0-15 */
  uint8 Lmx;          /* Set to 255=invalid */

  /* spectral segment headers - NOT USED BY DCALE, they should all be 0 */
  uint8 RLmxs[5];          /* Rel ESA lvl with max rate in Spec seg s */
  uint8 DCLmxs[5];          /* Data Channel of Lmxs */
  uint8 PhiLmxs[5];          /* Phi of Lmxs */

  /* Compressed count "pixels" */
  uint8 COUNT[SWEPAM_DCALE_specseg][SWEPAM_DCALE_phi][SWEPAM_DCALE_discrim][SWEPAM_DCALE_theta];
};


swepam_denge.h , v 1.2

#include "hdfi.h"

struct DENGE
{
  uint32 output_sctime;   /* time for beginning of data output cycle */
  uint32 collect_sctime;  /* time for beginning of data collection */
  uint8  QAC;             /* number of bad frames in this cycle */

  uint8  MinFrmIndx[16];  /* minor frame count.  element 0 not reported*/
  uint8  EventFlag[16];   /* Event flags. element 0 not reported */
  uint8  StatRec[16][3];  /* 3 status record/frame.  frame 0 no data */
  uint16 ScalarRecDat[16][7]; /* 7 Scalar channels /frame */
  uint8  ScalarRecFil[16][7]; /* 7 bytes of Scalar fill /frame */
  uint16 DumpRecAdd[16];   /* DumpRec Address */
  uint8  DumpRecDat[16][28];   /* DumpRec data */
  uint8  MinFrmChk[16];  /* 2's compliment checksum */
};

swepam_dhskpe.h , v 1.1

#include "hdfi.h"

struct DHSKPE               /* Swepam-E Housekeeping  */
{
  uint32 output_sctime;   /* time for beginning of data output cycle */
  uint32 collect_sctime;  /* time for beginning of data collection */
  uint8  QAC;             /* number of bad frames in this cycle */

  /* Major Frame Header */
  uint8  SCid[8];         /* SubCom ID */
  uint8  FmtFC[8];        /* Frame Format Count */
  uint8  FmtID[8];        /* Format ID */
  uint8  EF[8];           /* Event Flag */
  uint16 CS[8];           /* subcom Configuration Status */
  uint8  DB[8];           /* DataBase paramter */

  /* subcom analog monitors - one complete cycle per 8 major frames in SCA Normal mode */
  uint8  HVMON1[8];   /* Subcom ananlog high voltage power monitor */
  uint8  HVMON2[8];   /* Subcom ananlog high voltage power monitor */
  uint8  PSMON[8];    /* Subcom ananlog low voltage power monitor */

  uint8  TMon[8];     /* Internal temp monitor */
  uint8  IMon[8];     /* 28v return Curr Mon */
  uint8  IFTMon[8];   /* Interface temp monitor */
  uint8  MainBusV[8]; /* Main Bus voltage monitor */
};

swepam_dloade.h , v 1.2

#include "hdfi.h"

struct DLOADE         /* Load Mode  */
{
  uint32 output_sctime;   /* time for beginning of data output cycle */
  uint32 collect_sctime;  /* time for beginning of data collection */
  uint8  QAC;              /* number of bad frames in this cycle */

  uint8  MinFrmIndx[16]; /* minor frame index. element 0= 8 bits of mjfrm hdr*/
  uint8  EventFlag[16];   /* Event flags. element 0= 16bits of mjfrm hdr*/
  uint8  StatRec[16][3]; /* 3 status record/frame.element 0 =24 mjfrmhdr bits*/
  uint8  LoadErrRec[16][6]; /* 6 bytes of LoadErrRec /frame */
  uint8  LoadErrFil[16][15]; /* 15 bytes of LoadErrFill /frame */
  uint16 DumpRecAdd[16];   /* Address of DumpRecDat */
  uint8  DumpRecDat[16][28];   /* 28 bytes of DumpRec / frame */
  uint8  MinFrmChk[16];  /* 2's compliment checksum */
};

swepam_dnswe.h , v 1.1

#include "hdfi.h"

#define SWEPAM_DNSWE_specseg  5 /*spectral seg index, approx = spins */
#define SWEPAM_DNSWE_phi     30 /*"Spin" sector index */
#define SWEPAM_DNSWE_energy   4 /*Energy sample index within a spin sector*/
#define SWEPAM_DNSWE_otheta   7 /*Polar angle index.odd phi.0=CEM1, .. 6=CEM7*/
#define SWEPAM_DNSWE_etheta   5 /*Polar angle index.evenphi.0=CEM1, .. 6=CEM7*/
                                /* CEM1, CEM6 are zero filled in even mode */

struct DNSWE
{
  uint32 output_sctime;   /* time for beginning of data output cycle */
  uint32 collect_sctime;  /* time for beginning of data collection */
  uint8  QAC;              /* number of bad frames in this cycle */

  /* Data set header - PhiLim & Lmx not used in DNSWE (or DPHE) mode*/
  uint8 PhiLim;   /* Decompressed Philimit (55-61)*/
  uint8 DQAlarm;  /* Data Quality alarm. 0/1 = OK/Suspect data */
  uint8 CEMLev;   /* CEM bias level. 0-15 */
  uint8 Lmx;      /* ESA lvl with max count rate.0-199.255=invalid*/

  /* Count array - Compressed count "pixels" */
  /* use otheta for theta index, zero fill missing even values */
  uint8 COUNT[SWEPAM_DNSWE_specseg][SWEPAM_DNSWE_phi][SWEPAM_DNSWE_energy][SWEPAM_DNSWE_otheta]; 
};

swepam_drawe.h , v 1.1

#include "hdfi.h"

struct DRAWE
{
  uint32 output_sctime;   /* time for beginning of data output cycle */
  uint32 collect_sctime;  /* time for beginning of data collection */
  uint8  QAC;             /* number of bad frames in this cycle */

  uint8 rawdat[16*57];  /* One SWEPAM-E minor frame */
};

swepam_dstea.h , v 1.1

#include "hdfi.h"

#define SWEPAM_DSTEA_specseg  5  /* spectral segment index, approx = spins */
#define SWEPAM_DSTEA_phi     60  /* "Spin" sector index */
#define SWEPAM_DSTEA_energy   2  /* Energy sample index withn a spin sector */
#define SWEPAM_DSTEA_otheta   7  /* Polar angle indx.oddphi.0=CEM1,..,6=CEM7*/
#define SWEPAM_DSTEA_etheta   5  /* Polar angle indx.evenphi.0=CEM1,..,6=CEM7*/

struct DSTEA   /* swepam-e data set from Supra thermal angle scan mode */
{
  uint32 output_sctime;   /* time for beginning of data output cycle */
  uint32 collect_sctime;  /* time for beginning of data collection */
  uint8  QAC;             /* number of bad frames in this cycle */

  /* Data set header- Philim and Lmx not used in DSTEA mode */
  uint8 PhiLim;   /* Decompressed phil limit. (55-61) */
  uint8 DQAlarm;  /* Data Quality alarm. 0/1 = OK/suspect data */
  uint8 CEMLev;   /* CEM bias level. 0-15 */
  uint8 Lmx;      /* set to 255=invalid*/

  /* count array - compressed count "pixels" */
  /* even phi values have 0 fill in elements 0&6 (CEM1&CEM7) */
  uint8 COUNT[SWEPAM_DSTEA_specseg][SWEPAM_DSTEA_phi][SWEPAM_DSTEA_energy][SWEPAM_DSTEA_otheta];
};

For comments, questions or suggestions regarding these data structures,
email: asc@srl.caltech.edu
Last update: Wed Nov 3 12:45:32 PST 1999