|
ocssw
1.0
|
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
1.7.6.1