ocssw  1.0
/disk01/web/ocssw/build/src/l1agen_seawifs/swl1_struc.h (r8087/r817)
Go to the documentation of this file.
00001 #ifndef _SWL1_STRUC_H
00002 #define _SWL1_STRUC_H
00003 
00004 #include "swl0_parms.h"
00005 #include "swl0_types.h"
00006 
00007 
00008 typedef struct swl1_struct {
00009 
00010     INT16   type;        /* 0=LAC,1=LUN, ..., 15=GAC                */
00011     INT16   npix;        /* pixels per scan (GAC: 248, LAC: 1285)   */
00012 
00013     /* The fields that begin here are mimic the L1A hdf file spec   */
00014     INT32   msec;        /* frame time millisecs of day             */
00015     BYTE    eng_qual[4]; /* Engineering data out-of-range flags     */ 
00016     BYTE    s_flags[4];  /* scan-line quality flags                 */
00017     INT16   s_satp[8];   /* number of saturated pixels per band     */
00018     INT16   s_zerop[8];  /* number of zero pixels per band          */
00019     FLOAT32 slat;        /* starting latitude of scan               */
00020     FLOAT32 slon;        /* starting longitude of scan              */
00021     FLOAT32 clat;        /* central latitude of scan                */
00022     FLOAT32 clon;        /* central longitude of scan               */
00023     FLOAT32 elat;        /* ending latitude of scan                 */
00024     FLOAT32 elon;        /* ending longitude of scan                */
00025     FLOAT32 csol_z;      /* central solar zenith angle of scan      */
00026     FLOAT32 tilt;        /* tilt angle (deg)                        */
00027     INT16   scid[2];     /* raw S/C ID field                        */
00028     INT16   ttag[4];     /* raw frame timetag                       */
00029     BYTE    soh[775];    /* raw SOH block                           */
00030     INT16   inst[44];    /* raw instrument or ancillary tlm         */
00031     INT16   data[1285][8]; /* raw image data (counts)               */
00032     INT16   startpix[8]; /* raw start pixel per band                */
00033     INT16   stoppix[8];  /* raw stop pixel per band                 */
00034     INT16   darkpix[8];  /* raw dark restore pixel per band         */
00035     INT16   gain[8];     /* gain setting per band                   */
00036     INT16   tdi[8];      /* time delay and integration set per band */
00037     FLOAT32 inst_ana[40];  /* converted instrument analog telemetry */
00038     BYTE    inst_dis[32];  /* converted instrument discrete telem   */
00039     FLOAT32 sc_ana[40];    /* converted spacecraft analog telemetry */
00040     BYTE    sc_dis[40];    /* converted spacecraft discrete telem   */
00041     INT16   scan_temp[8];  /* focal-plane temp per band (counts)    */
00042     INT16   side;        /* mirror side                             */
00043     FLOAT32 orb_vec[3];  /* orbit position vector at scan time      */
00044     FLOAT32 l_vert[3];   /* local vertical vector in ECEF frame     */
00045     FLOAT32 sun_ref[3];  /* solar reference vector in ECEF frame    */
00046     FLOAT32 att_ang[3];  /* attitude angles (yaw,roll,pitch) (deg)  */
00047     FLOAT32 sen_mat[3][3]; /* ECEF-to-sensor-frame matrix           */
00048     FLOAT32 scan_ell[6]; /* scan-track ellipse coefficients         */
00049     INT32   nflag[8];    /* Navigation flags                        */   
00050 
00051     /* These are bonus fields                                       */
00052     FLOAT32 lon[1285];   /* scan longitude (deg)                    */
00053     FLOAT32 lat[1285];   /* scan latitude (deg)                     */
00054     FLOAT32 solz[1285];  /* scan solar zenith angle (deg)           */
00055     FLOAT32 sola[1285];  /* scan solar azimuth angle (deg)          */
00056     FLOAT32 senz[1285];  /* scan sensor zenith angle (deg)          */
00057     FLOAT32 sena[1285];  /* scan sensor azimuth angle (deg)         */
00058  
00059 
00060 } swl1rec;
00061 
00062 
00063 typedef struct l1met_struct {
00064 
00065     INT32   gain1_satpix[NBANDS];     /*                            */
00066     INT32   gain2_satpix[NBANDS];     /*                            */
00067     INT32   gain1_nonsatpix[NBANDS];  /*                            */
00068     INT32   gain2_nonsatpix[NBANDS];  /*                            */
00069     INT32   zeropix[NBANDS];          /*                            */
00070     FLOAT32 gain1_mean_rad[NBANDS];   /*                            */
00071     FLOAT32 gain2_mean_rad[NBANDS];   /*                            */
00072 
00073 } l1met;
00074 
00075 
00076 #endif
00077 
00078 
00079