|
ocssw
1.0
|
00001 #ifndef _L1_STRUC_H 00002 #define _L1_STRUC_H 00003 00004 #include "l12_parms.h" 00005 #include "input_struc.h" 00006 #include "hdf.h" 00007 00008 /* Notice: any changes to this structure may require modifications to the */ 00009 /* following routines: alloc_l1.c, cpl1rec.c, l1subpix.c. */ 00010 00011 typedef struct l1_struct { 00012 00013 int32_t sensorID; 00014 int32_t length; /* number of bytes allocated to data block */ 00015 int32_t npix; 00016 int32_t spix; 00017 int32_t epix; 00018 int32_t dpix; 00019 int32_t nscans; 00020 int32_t sscan; 00021 int32_t escan; 00022 int32_t dscan; 00023 int32_t nbands; 00024 int32_t nbandsir; 00025 int32_t ndets; 00026 int32_t *bindx; 00027 int32_t iscan; 00028 int32_t detnum; 00029 int32_t mside; 00030 00031 /* for avhrr */ 00032 00033 int32_t xsatid; 00034 char satnam[12]; 00035 int morbit; 00036 float prtemp; 00037 00038 /* process control paramters */ 00039 00040 int32_t landMaskOn; 00041 int32_t bathMaskOn; 00042 int32_t cloudMaskOn; 00043 int32_t glintMaskOn; 00044 int32_t hiltMaskOn; 00045 int32_t stlightMaskOn; 00046 int32_t senzMaskOn; 00047 int32_t solzMaskOn; 00048 00049 /* sensor band-pass-specific data */ 00050 00051 int32_t iwave [NBANDS]; 00052 float fwave [NBANDS]; 00053 float Fo [NBANDS]; 00054 float Fobar [NBANDS]; 00055 float Fonom [NBANDS]; 00056 float Tau_r [NBANDS]; 00057 float k_oz [NBANDS]; 00058 float aw [NBANDS]; 00059 float bbw [NBANDS]; 00060 00061 /* scan-time-specific data */ 00062 00063 double fsol; 00064 00065 /* scan attributes */ 00066 00067 float tilt; 00068 00069 /* All parameters below are scan-length dependent */ 00070 00071 char *data; /* points to start of variable-length data block */ 00072 int32_t *year; 00073 int32_t *day; 00074 int32_t *msec; 00075 int32_t *nobs; 00076 float *lon; 00077 float *lat; 00078 float *solz; 00079 float *sola; 00080 float *senz; 00081 float *sena; 00082 float *Lt; 00083 float *Lt_unc; 00084 00085 float *Ltir; 00086 float *Bt; 00087 00088 float *delphi; 00089 float *csolz; 00090 float *csenz; 00091 int32_t *pixnum; 00092 float *alpha; 00093 float *scattang; 00094 00095 float *ws; 00096 float *wd; 00097 float *mw; 00098 float *zw; 00099 float *pr; 00100 float *oz; 00101 float *wv; 00102 float *rh; 00103 float *no2_tropo; 00104 float *no2_strat; 00105 float *no2_frac; 00106 float *height; 00107 short *elev; 00108 short *ancqc; 00109 00110 int32_t *flags; 00111 char *mask; 00112 char *hilt; 00113 char *cloud; 00114 char *glint; 00115 char *land; 00116 char *swater; 00117 char *ice; 00118 char *solzmax; 00119 char *senzmax; 00120 char *stlight; 00121 char *absaer; 00122 char *navfail; 00123 char *navwarn; 00124 char *darkpix; 00125 char *filter; 00126 char *cirrus; 00127 00128 float *t_h2o; 00129 float *t_o2; 00130 float *tg_sol; 00131 float *tg_sen; 00132 float *t_sol; 00133 float *t_sen; 00134 float *rhof; 00135 float *tLf; 00136 float *Lr; 00137 float *L_q; 00138 float *L_u; 00139 float *polcor; 00140 float *dpol; 00141 float *TLg; 00142 float *rhos; 00143 float *glint_coef; 00144 float *cloud_albedo; 00145 float *aerindex; 00146 float *sstref; 00147 float *sssref; 00148 float *sw_n; 00149 float *sw_a; 00150 float *sw_bb; 00151 float *rho_cirrus; 00152 00153 /* for MERIS L1 */ 00154 int32_t *pixdet; /* detector index of pixel */ 00155 float *radcor; /* smile correction */ 00156 00157 /* for MERIS L2 */ 00158 int32_t n_inprods; 00159 float **in_prods; 00160 int32_t *in_flags; 00161 00162 /* for VIIRS unaggregated and superscan */ 00163 int16 scn_fmt; /* scan format of data, 0 std, else unaggregated */ 00164 float margin_s; /* extra scan margin beyond actual samples */ 00165 00166 instr *input; 00167 00168 } l1str; 00169 00170 #endif 00171 00172 00173 00174
1.7.6.1