SWEPAM Ion Level 1 Data Structures



swepam_dcali.h , v 1.1

#include "hdfi.h"

#define SWEPAM_DCALI_specseg 5 /* spectral segment index. approx=spins */
#define SWEPAM_DCALI_phi    27 /* "Spin" sector index */
#define SWEPAM_DCALI_discrim 2 /* Discrim thrshld index in spin sector */
#define SWEPAM_DCALI_theta  16 /* Polar angle index.  0=CEM1,..,15=CEM16 */

struct DCALI               /* CALI Data 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 */
  uint8 PhiLim;       /* Decompressed phi limit (55-61) */
  uint8 DQAlarm;      /* Data Quality alarm.  0/1=OK/data suspect */
  uint8 CEMLev;       /* CEM bias level */
  uint8 Lmx;          /* ESA lvl with max count rate in previous */
		        /* SWI or SSTI mode.0-199.255=invalid*/

  /* spectral segment headers, NOT USED BY DCALI, all should 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 */

  /* Count array.  Compressed count "pixels" */
  uint8 COUNT[SWEPAM_DCALI_specseg][SWEPAM_DCALI_phi][SWEPAM_DCALI_discrim][SWEPAM_DCALI_theta]; 
};

swepam_dengi.h , v 1.2

#include "hdfi.h"

struct DENGI               /* Engineering 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 (0-127). element[0]=NULL*/
  uint8  EventFlag[16];     /* Event flags. element 0 not reported */
  uint8  StatRec[16][3];    /* 3 status record/frame. frame 0 no data */
  uint16 ScalarRecDat[16][16]; /* 16 Data Channel words per Scaler Record */
  uint16 DumpRecAdd[16];   /* address of 1st byte of memory dump */
  uint8  DumpRecDat[16][28];   /* memory dump data */
  uint8  MinFrmChk[16];     /* 2's compliment checksum */
};

swepam_dhskpi.h , v 1.1

#include "hdfi.h"

struct DHSKPI               /* Swepam-I 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 analog high power supply monitor */
  uint8  HVMON2[8]; /* subcom analog high power supply monitor */
  uint8  PSMON[8];  /* subcom analog low power supply monitor */

  /* analog and telltale monitors - one sample per major frame */
  uint8  TMon[8];     /* Internal temp monitor */
  uint8  IMon[8];     /* 28v return Curr Mon */
  uint8  IFTMon[8];   /* Interface temp monitor */
  uint8  MainBusV[8];   /* Main bux voltage monitor */
};

swepam_dloadi.h , v 1.2

#include "hdfi.h"

struct DLOADI              /* Swepam Ion 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. */
  uint8    EventFlag[16];     /* Event flags. */
  uint8    StatRec[16][3];    /* 3 status record/frame. */
  uint8    LoadErrRec[16][6];    /* 6 byte load error/frame */
  uint8    LoadErrFil[16][26];   /* 26 bytes of load error fill data */
  uint16   DumpRecAdd[16];    /* address of first data byte in dump record */
  uint8    DumpRecDat[16][28]; /* 28 bytes of dump record data/frame */
  uint8    MinFrmChk[16];     /* 2's compliment checksum- 1 per frame */
};
  

swepam_drawi.h , v 1.1

#include "hdfi.h"

struct DRAWI
{
  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*68];  /* One swepam-i minor frame */
};

swepam_dssti.h , v 1.1

#include "hdfi.h"

#define SWEPAM_DSSTI_specseg  5 /* spectral segment index.. approx = spins */
#define SWEPAM_DSSTI_nphitheta 96 /* mask index identifing spin sector phi */
	/* and polar angle theta */
#define SWEPAM_DSSTI_energy  8 /* Energy index */

struct DSSTI               /* SSTI Data 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 */
  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 previous SWI or SSTI mode.*/
		 /* 0-199.255=invalid*/

  /* Spectral segment headers */
  uint8 RLmxs[5];     /* Rel ESA lvl with max rate in Spec seg s */
  uint8 DCLmxs[5];    /* Data Channel or theta of Lmxs */
  uint8 PhiLmxs[5];   /* Phi of Lmxs */

  /* Count array - compressed count "pixels" */
  uint8 COUNT[SWEPAM_DSSTI_specseg][SWEPAM_DSSTI_nphitheta][SWEPAM_DSSTI_energy];
};

swepam_dsti.h , v 1.1

#include "hdfi.h"

#define SWEPAM_DSTI_specseg 5 /* spectral segment index. approx = spins */
#define SWEPAM_DSTI_phi     6 /* "spin" sector index */
#define SWEPAM_DSTI_energy  4 /* Energy sample index within a spin sector */
#define SWEPAM_DSTI_theta   4 /* polar angle indx.0=CEM13,1=CEM14,..,3=CEM16*/

struct DSTI  /* swepam ion Supra thermal data sets from "track" SW Ion 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 */
  uint8 PhiLim;   /* Decompressed phi limit.  55-61 */
  uint8 DQAlarm;  /* Data Quality alarm. 0/1= OK/data suspect */
  uint8 CEMLev;   /* CEM bias level. 0-15 */
  uint8 Lmx;      /* ESA lvl with max count rate in previous SWI or SSTI mode*/
		    /*0-199.255=invalid*/

  /* spectral segment header */
  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 */

  /* count array - compressed count "pixels" */
  uint8 COUNT[SWEPAM_DSTI_specseg][SWEPAM_DSTI_phi][SWEPAM_DSTI_energy][SWEPAM_DSTI_theta];
};

swepam_dsti2.h , v 1.1

#include "hdfi.h"

#define SWEPAM_DSTI2_specseg 5 /* spectral segment index. approx = spins */
#define SWEPAM_DSTI2_phi     6 /* "Spin" sector index */
#define SWEPAM_DSTI2_energy  4 /* Energy sample index withing a spin sector */
#define SWEPAM_DSTI2_theta   4 /* Polar angle index.  0=CEM13, .. ,3=CEM16 */

struct DSTI2  /* SWEPAM-I Supra thermal data sets from Search STI 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 */
  uint8 PhiLim;   /* Decompressed phi limit. 55-61 */
  uint8 DQAlarm;  /* Data Quality alarm. 0/1=OK/data suspect */
  uint8 CEMLev;   /* CEM bias level. 0-15 */
  uint8 Lmx;      /* ESA lvl with max count rate in previous SWI or SSTI mode*/
		    /*0-199.255=invalid*/

  /* Spectral segment headers */
  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 */

  /* count array - compressed count "pixels" */
  uint8 COUNT[SWEPAM_DSTI2_specseg][SWEPAM_DSTI2_phi][SWEPAM_DSTI2_energy][SWEPAM_DSTI2_theta];
};

swepam_dswi.h , v 1.1

#include "hdfi.h"

#define SWEPAM_DSWI_specseg 5 /* spectral segment index. approx = spins */
#define SWEPAM_DSWI_nphitheta 96 /*mask indes identifing spin sector phi and */
		/* polar angle theta */
#define SWEPAM_DSWI_energy 8 /* Energy index */

struct DSWI   /* SWI 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 */
  uint8 PhiLim;    /* Current sensor limit */
  uint8 DQAlarm;   /* Data Quality alarm */
  uint8 CEMLev;    /* CEM level */
  uint8 Lmx;       /* ESA lvl with max count rate.0-199.255=invalid*/

  /* spectral segment header */
  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 */

  /* count array - compressed count "pixels" */
  uint8 COUNT[SWEPAM_DSWI_specseg][SWEPAM_DSWI_nphitheta][SWEPAM_DSWI_energy];
};

swepam_bri.h , v 1.1

#include "hdfi.h"

struct SwepamI_br
{
  float64 bin_start;      /* beginning of bin. ACE epoch */
  float64 bin_end;        /* end of bin. ACE epoch */

    int32 flag3d;          /* =0 data OK. */
			    /* & 0x01 - proton density < 0 */
			    /* & 0x02 - alpha density < 0 */
			    /* & 0x04 - proton T < 0 */
			    /* & 0x08 - speed < 0 */
			    /* & 0x10 - lmx=255, not SWI mode */

    float32 np;            /* proton number density, cm^-3 */
    float32 he_ratio;      /* nHe++/np */
    float32 speed;         /* SW (bulk) speed */
    float32 Trr;           /* (1,1) component of temp tensor along radial dir*/
};

swepam.h , v 1.2

#define SWEPAM_MJHDR_SIZE 5 /* Major frame header is 5 bytes */

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