OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
l1czcs.h
Go to the documentation of this file.
1 #ifndef __CZCS_DEFINED
2 #define __CZCS_DEFINED 1
3 /*
4 Name: l1czcs.h
5 
6 This file contains structures and typedef's for czcs lever 1 data.
7 Also, function prototypes are defined
8 
9 The typedefs:
10 
11  HEADER2_TYPE : typedef for a czcs level 1 tape
12  document record;
13  DATA_REC_TYPE : typdef for a czcs level 1 data record.
14 
15 JPB 20 Jun 95
16 
17 W. Robinson, SAIC, 5 Mar 2004 adapt for use in l1czcs program, to
18  update for Watson Gregg's Algorithm
19  Improvement
20 
21  */
22 
23 #define NCZCS_PIX 1968
24 /*
25  * definition of document record:
26  */
27 #include "hdf.h"
28 #include "mfhdf.h"
29 
30 struct bit_field_1 /* a bit field used in document record */ {
31 #ifdef __DEC_MACHINE
32  unsigned p_rec_num : 12;
33  unsigned sp1 : 4;
34  unsigned rec_id : 6;
35  unsigned file : 2;
36  unsigned valid_data_flg : 8;
37 #else
38  unsigned p_rec_num : 12;
39  unsigned sp1 : 4;
40  unsigned file : 2;
41  unsigned rec_id : 6;
42  unsigned valid_data_flg : 8;
43 #endif
44 };
45 
46 typedef struct bit_field_1 BIT_FLD_1_TYPE;
47 
48 struct line_long {
49  int slope;
50  int intercept;
51 };
52 
53 typedef struct line_long LINE_TYPE_LONG;
54 
55 struct line_short {
56  short slope;
57  short intercept;
58 };
59 
60 typedef struct line_short LINE_TYPE_SHORT;
61 
62 struct hdr2 {
63  BIT_FLD_1_TYPE file_info;
64 
65  unsigned char target_area_code[3];
66  unsigned char file_no;
67 
70  short starting_yr;
71 
72  short starting_day;
73 
76  short orbit;
77  short no_of_scans;
78  short lat_cntr;
79  short long_cntr;
88  unsigned char ilt_flags;
89  unsigned char parameter_presence;
92  unsigned char alg_id_chan[6];
93  unsigned char alg_id_location;
94  char spare2;
102  char spare3;
103  unsigned char bp_flag;
105  int spare4[134];
106  unsigned char gain;
107  unsigned char threshold;
108  short tilt;
114  short cntr_roll;
115  short cntr_pitch;
116  short cntr_yaw;
117  unsigned char top_bot_tick_label_flag;
118  unsigned char lft_rgt_tick_label_flag;
127  unsigned char top_tick_inc;
128  unsigned char bot_tick_inc;
129  unsigned char lft_tick_inc;
130  unsigned char rgt_tick_inc;
131  short top_tick_loc[27];
132  short bot_tick_loc[27];
133  short lft_tick_loc[27];
134  short rgt_tick_loc[27];
135  LINE_TYPE_LONG chan_line[6];
137  LINE_TYPE_SHORT enhancement_eqs[6];
138  int spare5[2];
139  int czcs_1lt[945];
140  unsigned char dummy[304]; /* rounded out record to 512 blk boundary */
141 };
142 
143 typedef struct hdr2 HEADER2_TYPE;
144 
145 /*
146  * definition of data record:
147  */
148 
149 
150 
151 struct bit_field_2 { /* bit field used in data record */
152 #ifdef __DEC_MACHINE
153  unsigned p_rec_num : 12;
154  unsigned sp1 : 4;
155  unsigned rec_id : 6;
156  unsigned file : 2;
157  unsigned undefined : 3;
158  unsigned volt_outside_range : 1;
159  unsigned cal_outside_range : 1;
160  unsigned channel_not_present : 1;
161  unsigned qstnble_attitude : 1;
162  unsigned qstnble_ephemeris : 1;
163 #else
164  unsigned p_rec_num : 12;
165  unsigned sp1 : 4;
166  unsigned file : 2;
167  unsigned rec_id : 6;
168  unsigned qstnble_ephemeris : 1;
169  unsigned qstnble_attitude : 1;
170  unsigned channel_not_present : 1;
171  unsigned cal_outside_range : 1;
172  unsigned volt_outside_range : 1;
173  unsigned undefined : 3;
174 #endif
175 };
176 
177 typedef struct bit_field_2 BIT_FLD_2_TYPE;
178 
179 struct voltage_step { /* a component of voltage staircase */
180  unsigned char whole;
181  unsigned char fraction;
182 };
183 
184 typedef struct voltage_step VOLTAGE_STEP;
185 
187  BIT_FLD_2_TYPE info;
188  short seq_no;
189  unsigned char spare1;
190  unsigned char time_update_flag;
191  short year;
192  short doy;
195  unsigned char subcom_id;
196  unsigned char spare2;
197  VOLTAGE_STEP volt_stair[6][16]; /* one 16 step staircase per channel */
198  short cal_lamp_rad[6];
204  int lat_anchr_pts[77];
205  int long_anchr_pts[77];
206  unsigned short pxl_no_nadir;
207  unsigned char cal_qual[6]; /* one per channel */
208  unsigned char radiance_cnts[6][1968]; /* 1968 counts per channel */
209  int spare3[28];
210  unsigned char dummy[20]; /* round out record to 512 block boundary */
211 };
212 
213 typedef struct data_record_struct DATA_REC_TYPE;
214 
215 /*
216  * Definition of VAX header rec :
217  */
218 
220  unsigned short magic1;
221  unsigned short magic2;
222  unsigned short data_rec_len;
223  unsigned short num_of_doc_recs;
224  unsigned short offset_1st_data_rec;
225  unsigned short type_code;
226  unsigned short num_of_data_recs;
227  unsigned short orbit;
228  unsigned short year;
229  unsigned short header_rec_offset;
230  unsigned short header_rec_len;
231  unsigned short doc_rec_len;
232  unsigned short dummy1;
233  unsigned short dummy2;
234  unsigned short dummy3;
235  unsigned short scanner_tilt;
236  char text[480];
237 };
238 
239 typedef struct VAX_header_struct HEADER1_TYPE;
240 
241 /*
242  * structure to contain l1 and lat, lon anchor point data
243  */
244 
246  unsigned char *counts[6]; /* counts for 6 bands in form pix x line x band */
247  /* with pixels running fastest */
248  int *msec;
249  float *ctl_pt_lat;
250  float *ctl_pt_lon;
251  int *ctl_pt_cols; /* control pint columns and rows, evenly spaced */
252  int *ctl_pt_rows; /* and lastpoint on the line */
253  float *tilt; /* tilt / line */
254  float *slat; /* start, center, end lat, lon per line */
255  float *slon;
256  float *clat;
257  float *clon;
258  float *elat;
259  float *elon;
260  unsigned char *cal_sum; /* calibration quality summary and */
261  unsigned char *cal_scan; /* quality per scan */
262  float *orb_vec;
263  float *att_ang;
264  float *pos_err;
265  float *slope;
266  float *intercept;
267  short *gain;
268 #ifdef GEOM_CAL
269  float *sen_zen; /* geometry and calibrated radiances for test */
270  float *sen_az;
271  float *sol_zen;
272  float *sol_az;
273  float *all_lat;
274  float *all_lon;
275  float *Lt_443;
276  float *Lt_520;
277  float *Lt_550;
278  float *Lt_670;
279  float *Lt_750;
280  float *Lt_11500;
281 #endif
282 };
283 
284 typedef struct l1_data_struc_def l1_data_struc;
285 
286 /*
287  * Global attributes for output to the hdf file
288  */
289 
291  char prod_name[40]; /* Product Name */
292  char f_title[40]; /* Title */
293  char datatype[16]; /* Data Type */
294  char datacenter[256]; /* Data Center */
295  char stn_name[256]; /* Station Name */
296  float stn_lat; /* Station Latitude */
297  float stn_lon; /* Station Longitude */
298  char mission[40]; /* Mission */
299  char mission_char[256]; /* Mission Characteristics */
300  char sensor[40]; /* Sensor */
301  char sensor_char[256]; /* Sensor Characteristics */
302  char repl_flg[40]; /* Replacement Flag */
303  char soft_id[128]; /* Software ID */
304  char process_time[17]; /* Processing Time */
305  char input_files[1280]; /* Input Files */
306  char proc_ctl[1024]; /* Processing Controls */
307  char start_time[17]; /* Start Time */
308  char end_time[17]; /* End Time */
309  char center_time[17]; /* Scene Center Time */
310  short start_year; /* Start Year */
311  short start_day; /* Start Day */
312  int start_msec; /* Start Milisec */
313  short end_year; /* End Year */
314  short end_day; /* End Day */
315  int end_msec; /* End Milisec */
316  char start_node[11]; /* Start Node */
317  char end_node[11]; /* End Node */
318  int orbit; /* Orbit Number */
319  int gain; /* Scene Gain */
320  int thresh; /* Thresh */
321  float tilt; /* Sensor Tilt */
322  char lat_unit[15]; /* Latitude Units */
323  char lon_unit[15]; /* Longitude Units */
324  float center_lat; /* Scene Center Latitude */
325  float center_lon; /* Scene Center Longitude */
326  float cntr_sol_zen; /* Scene Center Solar Zenith */
327  float up_lft_lat; /* Upper Left Latitude */
328  float up_lft_lon; /* Upper Left Longitude */
329  float lo_lft_lat; /* Lower Left Latitude */
330  float lo_lft_lon; /* Lower Left Longitude */
331  float up_rgt_lat; /* Upper Right Latitude */
332  float up_rgt_lon; /* Upper Right Longitude */
333  float lo_rgt_lat; /* Lower Right Latitude */
334  float lo_rgt_lon; /* Lower Right Longitude */
335  float start_cntr_lat; /* Start Center Latitude */
336  float start_cntr_lon; /* Start Center Longitude */
337  float end_cntr_lat; /* End Center Latitude */
338  float end_cntr_lon; /* End Center Longitude */
339  int pix_per_scan; /* Pixels per Scan Line */
340  int scan_lines; /* Number of Scan Lines */
341  int lac_pixl_start_no; /* LAC Pixel Start Number */
342  int lac_pixl_subsample; /* LAC Pixel Subsampling */
343  int cntr_scn_line; /* Scene Center Scan Line */
344  int filled_lines; /* Filled Scan Lines */
345  float limits[4]; /* Northernmost Latitude, Southernmost
346  Latitude, Westernmost Longitude, Easternmost Longitude */
347  float slope[6]; /* calibration slope and intercept from 2nd */
348  float intercept[6]; /* header = derived from voltage staircase */
349  /* Calibration Slope and Calibration Intercept */
350  float roll; /* Center Roll S/C roll, pitch and yaw at scene center */
351  float pitch; /* Center Pitch */
352  float yaw; /* Center Yaw */
354  int n_ctl_pt; /* Number of Pixel Control Points */
355  int n_ctl_lin; /* Number of Scan Control Points */
356  unsigned char ilt_flags; /* ILT Flags */
357  unsigned char parm_presence; /* Parameter Presence Code */
358  short n_miss_scans; /* Number of Missing Scan Lines */
359  short n_scan_mis_chan[6]; /* Number of Scans with Missing Channels */
360  short n_hdt_sync_loss; /* Number of HDT Sync Losses */
361  short n_hdt_parity_err; /* Number of HDT Parity Errors */
362  short n_wbvt_sync_loss; /* Number of WBVT Sync Losses */
363  short n_wbvt_slips; /* Number of WBVT Slip Occurrences */
364 };
365 
366 typedef struct gattr_struc_def gattr_struc;
367 
369  int nscan; /* # scan lines */
370  int n_ctl_pt; /* # pixel ctl points - needed to set up out file */
371  int *qual; /* quality - 0 good, 1 bad */
372  int32_t *msec; /* msec from the file */
373 };
374 
375 typedef struct timqual_struc_d timqual_struc;
376 
377 struct mstr_struc_d {
378  int32_t *msec; /* time tag */
379  short *exist; /* does this scan exist? 1 = yes */
380  short *qual; /* quality 0 = good, 1 bad */
381  short *ds_num; /* dataset # in file list to take scan from */
382  int32_t *out_scan; /* output scan line to place the data */
383  short *scan; /* scan # to use */
384  int32_t *in_msec; /* the in_ values are for new candidate scans */
385  short *in_exist;
386  short *in_qual;
387  short *in_scan;
388 };
389 
390 typedef struct mstr_struc_d mstr_struc;
391 
392 #endif
393 
394 /*
395  * the function prototypes
396  */
397 int main(int, char *[]);
398 int read_crtt(char *, gattr_struc *, l1_data_struc *);
399 void get_record_info(HEADER1_TYPE, short *, short *, short *, short *,
400  short *);
401 short reverse_short_int(short);
402 int32_t reverse_long_int(int32_t);
403 void hdr_2_gattr(HEADER2_TYPE, gattr_struc *);
404 float fixed_pt_2_floating_pt(int, int);
405 int czcs_l1_write(char *, l1_data_struc, gattr_struc);
406 int create_global_attribute(char *, int, gattr_struc);
407 int create_band_sds(int, int, unsigned char *[], int, int);
408 void czcs_ctl_pt(DATA_REC_TYPE, gattr_struc *, int, l1_data_struc *);
409 void lonlat_(float[], float[], float[], float[]);
410 void lladjust_(float *, float *, float *, float *, float[], float[], float[]);
411 void satang_(double *, double *, float *, float *, float *, float *, float *,
412  float *, float *, float *);
413 void sunangs_(int *, int *, float *, float *, float *, float *, float *);
414 int time_str(short, short, int, char *);
415 void cz_ll_upd(l1_data_struc *, gattr_struc *);
416 int wrt_czcs_sla(int32, int32, int, l1_data_struc);
417 int wrt_czcs_qual(int32, int32, int, l1_data_struc);
418 int32 set_czcs_ctl_data(int32, int32, gattr_struc, l1_data_struc);
419 int cz_clean(gattr_struc *, l1_data_struc *);
420 /* new for the merge program */
421 int read_file_list(char *, char **, int);
422 void usage(char *);
423 void olap_resolve(mstr_struc *, int, int, int, int);
424 void fill_mstr(int *, mstr_struc *, timqual_struc *, int, int, int);
425 int cztimqual(char *, timqual_struc *, int *);
426 int cz_l1_read(char *, int, gattr_struc *, l1_data_struc *);
427 int cz_dat_alloc(int, int, int, l1_data_struc *);
428 void cz_dat_free(l1_data_struc *, int);
429 int cz_mov_scn(int, int, char *, mstr_struc *, int, int, gattr_struc *,
430  l1_data_struc *);
431 void cz_meta_adj(l1_data_struc *, gattr_struc *);
432 void cz_sd_set(l1_data_struc *, gattr_struc *);
433 int fill_orb_dat(l1_data_struc *l1_data, gattr_struc *gattr);
434 #ifdef __DEC_MACHINE
435 void convert_data_rec_to_dec(DATA_REC_TYPE *);
436 void convert_header_rec_to_dec(HEADER2_TYPE *);
437 #endif
unsigned char dummy[304]
Definition: l1czcs.h:140
unsigned short data_rec_len
Definition: l1czcs.h:222
char f_title[40]
Definition: l1czcs.h:292
unsigned char alg_id_location
Definition: l1czcs.h:93
short top_rgt_tick_label
Definition: l1czcs.h:120
short n_hdt_parity_err
Definition: l1czcs.h:361
unsigned char radiance_cnts[6][1968]
Definition: l1czcs.h:208
float * slat
Definition: l1czcs.h:254
void czcs_ctl_pt(DATA_REC_TYPE, gattr_struc *, int, l1_data_struc *)
Definition: czcs_ctl_pt.c:7
void cz_ll_upd(l1_data_struc *, gattr_struc *)
Definition: cz_ll_upd.c:3
char spare2
Definition: l1czcs.h:94
short no_of_wbvt_bit_slips
Definition: l1czcs.h:100
short cal_lamp_rad[6]
Definition: l1czcs.h:198
float roll
Definition: l1czcs.h:350
short ave_subcomputed_data[32]
Definition: l1czcs.h:101
float tilt
Definition: l1czcs.h:321
float * tilt
Definition: l1czcs.h:253
LINE_TYPE_LONG chan_line[6]
Definition: l1czcs.h:135
short bot_lft_tick_label
Definition: l1czcs.h:121
int lat_anchr_pts[77]
Definition: l1czcs.h:204
short starting_yr
Definition: l1czcs.h:70
char datacenter[256]
Definition: l1czcs.h:294
unsigned char rgt_tick_inc
Definition: l1czcs.h:130
float * elat
Definition: l1czcs.h:258
int read_file_list(char *, char **, int)
short end_year
Definition: l1czcs.h:313
BIT_FLD_1_TYPE file_info
Definition: l1czcs.h:63
short blk_bdy_tmp_cnt
Definition: l1czcs.h:199
short n_hdt_sync_loss
Definition: l1czcs.h:360
float fixed_pt_2_floating_pt(int, int)
Definition: read_crtt.c:211
int * ctl_pt_cols
Definition: l1czcs.h:251
int fill_orb_dat(l1_data_struc *l1_data, gattr_struc *gattr)
Definition: fill_orb_dat.c:27
unsigned short type_code
Definition: l1czcs.h:225
int start_msec
Definition: l1czcs.h:74
unsigned rec_id
Definition: l1czcs.h:167
short no_of_hdt_parity_errs
Definition: l1czcs.h:98
unsigned char ilt_flags
Definition: l1czcs.h:88
float stn_lat
Definition: l1czcs.h:296
short scene_cntr_doy
Definition: l1czcs.h:110
short lft_top_tick_label
Definition: l1czcs.h:123
float up_rgt_lon
Definition: l1czcs.h:332
unsigned char * counts[6]
Definition: l1czcs.h:246
float up_lft_lat
Definition: l1czcs.h:327
float * clat
Definition: l1czcs.h:256
char start_node[11]
Definition: l1czcs.h:316
float up_lft_lon
Definition: l1czcs.h:328
unsigned rec_id
Definition: l1czcs.h:41
unsigned short dummy2
Definition: l1czcs.h:233
LINE_TYPE_SHORT enhancement_eqs[6]
Definition: l1czcs.h:137
unsigned sp1
Definition: l1czcs.h:39
unsigned char whole
Definition: l1czcs.h:180
char prod_name[40]
Definition: l1czcs.h:291
int * qual
Definition: l1czcs.h:371
float lo_rgt_lat
Definition: l1czcs.h:333
short lat_crnr_litr
Definition: l1czcs.h:86
short no_of_wbvt_sync_losses
Definition: l1czcs.h:99
short no_of_hdt_sync_losses
Definition: l1czcs.h:97
unsigned short num_of_doc_recs
Definition: l1czcs.h:223
float cntr_sol_zen
Definition: l1czcs.h:326
int * ctl_pt_rows
Definition: l1czcs.h:252
short starting_day
Definition: l1czcs.h:72
char proc_ctl[1024]
Definition: l1czcs.h:306
short rgt_tick_loc[27]
Definition: l1czcs.h:134
unsigned short magic1
Definition: l1czcs.h:220
unsigned char bp_flag
Definition: l1czcs.h:103
unsigned short offset_1st_data_rec
Definition: l1czcs.h:224
short cntr_pitch
Definition: l1czcs.h:115
short wbvt_bit_slips
Definition: l1czcs.h:203
int32_t reverse_long_int(int32_t)
Definition: read_crtt.c:284
short rgt_top_tick_label
Definition: l1czcs.h:125
unsigned qstnble_attitude
Definition: l1czcs.h:169
void cz_meta_adj(l1_data_struc *, gattr_struc *)
Definition: cz_meta_adj.c:4
char end_time[17]
Definition: l1czcs.h:308
unsigned volt_outside_range
Definition: l1czcs.h:172
unsigned short pxl_no_nadir
Definition: l1czcs.h:206
int32_t * in_msec
Definition: l1czcs.h:384
unsigned char top_tick_inc
Definition: l1czcs.h:127
short start_year
Definition: l1czcs.h:310
unsigned file
Definition: l1czcs.h:166
int cz_clean(gattr_struc *, l1_data_struc *)
Definition: cz_clean.c:3
int cntr_scn_line
Definition: l1czcs.h:343
void hdr_2_gattr(HEADER2_TYPE, gattr_struc *)
Definition: hdr_2_gattr.c:4
int lac_pixl_start_no
Definition: l1czcs.h:341
short bot_tick_loc[27]
Definition: l1czcs.h:132
char sensor[40]
Definition: l1czcs.h:300
short long_crnr_fitr
Definition: l1czcs.h:83
float start_cntr_lat
Definition: l1czcs.h:335
short * in_qual
Definition: l1czcs.h:386
void get_record_info(HEADER1_TYPE, short *, short *, short *, short *, short *)
Definition: read_crtt.c:227
unsigned char * cal_scan
Definition: l1czcs.h:261
short intercept
Definition: l1czcs.h:57
unsigned char target_area_code[3]
Definition: l1czcs.h:65
int scene_cntr_msec
Definition: l1czcs.h:111
float stn_lon
Definition: l1czcs.h:297
short lat_crnr_fitl
Definition: l1czcs.h:80
unsigned cal_outside_range
Definition: l1czcs.h:171
int spare4[134]
Definition: l1czcs.h:105
char lat_unit[15]
Definition: l1czcs.h:322
short lat_crnr_fitr
Definition: l1czcs.h:82
int decom_run_no
Definition: l1czcs.h:95
unsigned short num_of_data_recs
Definition: l1czcs.h:226
char center_time[17]
Definition: l1czcs.h:309
short hdt_sync_losses
Definition: l1czcs.h:201
unsigned char bot_tick_inc
Definition: l1czcs.h:128
int time_str(short, short, int, char *)
Definition: time_str.c:3
short rgt_bot_tick_label
Definition: l1czcs.h:126
float * elon
Definition: l1czcs.h:259
short long_crnr_litl
Definition: l1czcs.h:85
short no_of_missing_scans_all
Definition: l1czcs.h:90
int cz_mov_scn(int, int, char *, mstr_struc *, int, int, gattr_struc *, l1_data_struc *)
Definition: cz_mov_scn.c:4
char start_time[17]
Definition: l1czcs.h:307
char repl_flg[40]
Definition: l1czcs.h:302
unsigned char cal_qual[6]
Definition: l1czcs.h:207
Definition: l1czcs.h:62
float * slope
Definition: l1czcs.h:265
void sunangs_(int *, int *, float *, float *, float *, float *, float *)
char mission[40]
Definition: l1czcs.h:298
unsigned char dummy[20]
Definition: l1czcs.h:210
short scene_cntr_yr
Definition: l1czcs.h:109
int inc_in_msec
Definition: l1czcs.h:75
int decom_reel_no
Definition: l1czcs.h:96
unsigned short doc_rec_len
Definition: l1czcs.h:231
void cz_sd_set(l1_data_struc *, gattr_struc *)
Definition: cz_sd_set.c:3
unsigned char parameter_presence
Definition: l1czcs.h:89
unsigned char threshold
Definition: l1czcs.h:107
int cz_dat_alloc(int, int, int, l1_data_struc *)
Definition: cz_dat_alloc.c:3
short baseplate_temp
Definition: l1czcs.h:104
float * ctl_pt_lon
Definition: l1czcs.h:250
void lladjust_(float *, float *, float *, float *, float[], float[], float[])
unsigned short year
Definition: l1czcs.h:228
unsigned char top_bot_tick_label_flag
Definition: l1czcs.h:117
short * gain
Definition: l1czcs.h:267
int long_anchr_pts[77]
Definition: l1czcs.h:205
int32 set_czcs_ctl_data(int32, int32, gattr_struc, l1_data_struc)
float lo_lft_lat
Definition: l1czcs.h:329
short orbit
Definition: l1czcs.h:76
void satang_(double *, double *, float *, float *, float *, float *, float *, float *, float *, float *)
unsigned short header_rec_offset
Definition: l1czcs.h:229
unsigned char alg_id_chan[6]
Definition: l1czcs.h:92
unsigned file
Definition: l1czcs.h:40
unsigned char parm_presence
Definition: l1czcs.h:357
unsigned char file_no
Definition: l1czcs.h:66
float slope[6]
Definition: l1czcs.h:347
float up_rgt_lat
Definition: l1czcs.h:331
int scan_lines
Definition: l1czcs.h:340
float lo_lft_lon
Definition: l1czcs.h:330
short lat_cntr
Definition: l1czcs.h:78
float * clon
Definition: l1czcs.h:257
int intercept
Definition: l1czcs.h:50
float limits[4]
Definition: l1czcs.h:345
unsigned char spare1
Definition: l1czcs.h:189
float start_cntr_lon
Definition: l1czcs.h:336
BIT_FLD_2_TYPE info
Definition: l1czcs.h:187
char stn_name[256]
Definition: l1czcs.h:295
short * in_exist
Definition: l1czcs.h:385
int32_t * msec
Definition: l1czcs.h:378
float * intercept
Definition: l1czcs.h:266
char end_node[11]
Definition: l1czcs.h:317
short cntr_roll
Definition: l1czcs.h:114
unsigned short magic2
Definition: l1czcs.h:221
float * pos_err
Definition: l1czcs.h:264
unsigned qstnble_ephemeris
Definition: l1czcs.h:168
short end_day
Definition: l1czcs.h:314
unsigned valid_data_flg
Definition: l1czcs.h:42
float intercept[6]
Definition: l1czcs.h:348
unsigned char gain
Definition: l1czcs.h:106
int read_crtt(char *, gattr_struc *, l1_data_struc *)
Definition: read_crtt.c:11
short long_crnr_fitl
Definition: l1czcs.h:81
int wrt_czcs_qual(int32, int32, int, l1_data_struc)
Definition: wrt_czcs_qual.c:6
int spare3[28]
Definition: l1czcs.h:209
float pitch
Definition: l1czcs.h:351
unsigned char lft_tick_inc
Definition: l1czcs.h:129
char sensor_char[256]
Definition: l1czcs.h:301
unsigned channel_not_present
Definition: l1czcs.h:170
float center_lon
Definition: l1czcs.h:325
int ctl_pt_incr
Definition: l1czcs.h:353
short solar_el_cntr
Definition: l1czcs.h:112
short no_of_scans
Definition: l1czcs.h:77
short top_tick_loc[27]
Definition: l1czcs.h:131
short wbvt_bit_slips_summary
Definition: l1czcs.h:200
short top_lft_tick_label
Definition: l1czcs.h:119
short hdt_parity_errs
Definition: l1czcs.h:202
char process_time[17]
Definition: l1czcs.h:304
short reverse_short_int(short)
Definition: read_crtt.c:267
short lft_bot_tick_label
Definition: l1czcs.h:124
float * ctl_pt_lat
Definition: l1czcs.h:249
float * att_ang
Definition: l1czcs.h:263
short solar_az_cntr
Definition: l1czcs.h:113
float center_lat
Definition: l1czcs.h:324
float * orb_vec
Definition: l1czcs.h:262
float lo_rgt_lon
Definition: l1czcs.h:334
float * slon
Definition: l1czcs.h:255
unsigned char spare2
Definition: l1czcs.h:196
unsigned short header_rec_len
Definition: l1czcs.h:230
short conversion_tab_chan6[256]
Definition: l1czcs.h:136
char lon_unit[15]
Definition: l1czcs.h:323
int start_msec
Definition: l1czcs.h:312
unsigned p_rec_num
Definition: l1czcs.h:164
char input_files[1280]
Definition: l1czcs.h:305
int wrt_czcs_sla(int32, int32, int, l1_data_struc)
Definition: wrt_czcs_sla.c:6
int filled_lines
Definition: l1czcs.h:344
short cntr_yaw
Definition: l1czcs.h:116
int czcs_1lt[945]
Definition: l1czcs.h:139
int main(int, char *[])
Definition: afrt_nc4.cpp:30
short * qual
Definition: l1czcs.h:380
void fill_mstr(int *, mstr_struc *, timqual_struc *, int, int, int)
Definition: fill_mstr.c:3
char mission_char[256]
Definition: l1czcs.h:299
short * exist
Definition: l1czcs.h:379
short n_wbvt_sync_loss
Definition: l1czcs.h:362
short n_miss_scans
Definition: l1czcs.h:358
char spare3
Definition: l1czcs.h:102
int cztimqual(char *, timqual_struc *, int *)
Definition: cztimqual.c:3
short n_scan_mis_chan[6]
Definition: l1czcs.h:359
short slope
Definition: l1czcs.h:56
short no_of_missing_scans[6]
Definition: l1czcs.h:91
int cz_l1_read(char *, int, gattr_struc *, l1_data_struc *)
Definition: cz_l1_read.c:4
unsigned short scanner_tilt
Definition: l1czcs.h:235
int pix_per_scan
Definition: l1czcs.h:339
float end_cntr_lon
Definition: l1czcs.h:338
short lft_tick_loc[27]
Definition: l1czcs.h:133
int create_global_attribute(char *, int, gattr_struc)
int tape_seq_no
Definition: l1czcs.h:68
unsigned undefined
Definition: l1czcs.h:173
short * in_scan
Definition: l1czcs.h:387
unsigned short orbit
Definition: l1czcs.h:227
short start_day
Definition: l1czcs.h:311
void cz_dat_free(l1_data_struc *, int)
Definition: cz_dat_alloc.c:106
short long_cntr
Definition: l1czcs.h:79
int slope
Definition: l1czcs.h:49
int czcs_l1_write(char *, l1_data_struc, gattr_struc)
Definition: czcs_l1_write.c:8
short lat_crnr_litl
Definition: l1czcs.h:84
int32_t * msec
Definition: l1czcs.h:372
float end_cntr_lat
Definition: l1czcs.h:337
short long_crnr_litr
Definition: l1czcs.h:87
unsigned p_rec_num
Definition: l1czcs.h:38
void lonlat_(float[], float[], float[], float[])
unsigned char fraction
Definition: l1czcs.h:181
short bot_rgt_tick_label
Definition: l1czcs.h:122
int film_frame_no
Definition: l1czcs.h:69
int32_t * out_scan
Definition: l1czcs.h:382
int lac_pixl_subsample
Definition: l1czcs.h:342
char soft_id[128]
Definition: l1czcs.h:303
unsigned char ilt_flags
Definition: l1czcs.h:356
unsigned short dummy1
Definition: l1czcs.h:232
VOLTAGE_STEP volt_stair[6][16]
Definition: l1czcs.h:197
unsigned short dummy3
Definition: l1czcs.h:234
unsigned sp1
Definition: l1czcs.h:165
void olap_resolve(mstr_struc *, int, int, int, int)
Definition: olap_resolve.c:3
unsigned char subcom_id
Definition: l1czcs.h:195
short n_wbvt_slips
Definition: l1czcs.h:363
int spare5[2]
Definition: l1czcs.h:138
short * scan
Definition: l1czcs.h:383
unsigned char lft_rgt_tick_label_flag
Definition: l1czcs.h:118
int create_band_sds(int, int, unsigned char *[], int, int)
short tilt
Definition: l1czcs.h:108
char datatype[16]
Definition: l1czcs.h:293
unsigned char time_update_flag
Definition: l1czcs.h:190
unsigned char * cal_sum
Definition: l1czcs.h:260
short subcommuted_data_val_cnt
Definition: l1czcs.h:194
void usage(char *)
Definition: main_biosmap.c:381
short * ds_num
Definition: l1czcs.h:381
char text[480]
Definition: l1czcs.h:236