ocssw  1.0
/disk01/web/ocssw/build/inc/swfinc/seaproto.h
Go to the documentation of this file.
00001 #ifndef SEAPROTO_H
00002 #define SEAPROTO_H
00003 
00004 #ifndef METAL3B_H /* avoid re-inclusion */
00005 #include "meta_l3b.h"
00006 #endif
00007 
00008 #ifdef  __cplusplus
00009 extern "C" {
00010 #endif
00011 
00012 typedef struct l3b_prod_struct {
00013 
00014   char     *l3b_prodlist;
00015   char     *l3b_units;
00016   char     *prodname[100];
00017   int32    code[100];
00018 
00019 } l3b_prod;
00020 
00021 
00022 
00023 /*  Prototypes  */
00024 int32 put_l3b_open(char *l3b_path, char *replaces, int32 fsize, 
00025            char *prod_type, char *ptime, int32 orbit, 
00026            int32 start_orb, int32 end_orb, char *proc_con,
00027            char *soft_name, char *soft_ver,    
00028            char *input_parms, l3b_prod *parm_opt, 
00029            meta_l3bType *meta_l3b);
00030 intn put_l3b_record(int32 file_id, int32 nrec, int32 *binno, int16 *nobs,
00031                     int16 *time_rec, int16 *nscenes, float32 *weights,
00032                     int8 *sel_cat, int32 *flags_set, float32 *l3b_data,
00033                     l3b_prod *parm_opt);
00034 intn put_l3b_close(int32 prod_ID, int16 bin_syear, int16 bin_sday, 
00035             int16 bin_eyear, int16 bin_eday, int16 syear, 
00036             int16 sday, int32 smsec, int16 eyear, int16 eday, 
00037             int32 emsec, char *infiles,char *flag_names,
00038             char *flag_use, uint8 *eng_q_use,
00039                         l3b_prod *parm_opt);
00040 
00041 intn get_l3b_open(char *l3b_path, int32 prod_ID, int16 *bin_syear, int16 *bin_sday,
00042                 int16 *bin_eyear, int16 *bin_eday,  int16 *syear, int16 *sday,
00043                 int32 *smsec, int16 *eyear, int16 *eday, int32 *emsec,
00044         char *infiles, int32 *start_orb, int32 *end_orb, 
00045         char *flag_names, char *flag_use, uint8 *eng_q_use, 
00046         int32 *fsize, char *prod_type, int32 *nbins, int32 *nrows, 
00047         int32 *max_row, float32 *bin_hgt, float32 *seam_lon, 
00048         int32 *ibinr, int32 *nbinr, int32 *irecr, int32 *nrecr, 
00049         meta_l3bType *meta_l3b, l3b_prod *parm_opt);
00050 
00051 intn get_l3b_record(int32 prod_ID, int32 sbin, int32 nrec, l3b_prod *parm_opt, 
00052                 int32 *binno, int16 *nobs, int16 *time_rec, int16 *nscenes,
00053                 float32 *weights, int8 *sel_cat, int32 *flags_set, 
00054         float32 *l3b_data);
00055 
00056 intn get_l3b_close(int32 prod_ID);
00057 
00058 
00059 
00060 int32 get_beg_ext(int32 n_bins_write, int32 *binnum_data,
00061                  int32 *basebin, int32 nrows,
00062                  int32 *beg, int32 *ext);
00063 
00064 int32 wr_vdata(char *outname, int32 fileid_w, int32 vgid, char *name, 
00065            char *class1, int32 n_flds, int32 n_recs_to_write,
00066            char *fldname[], int32 type[], int32 noext, uint8 *data,
00067            int32 verbose);
00068 
00069 
00070 /*****************************/
00071 /* prototypes from libbin    */
00072 /*****************************/
00073 
00074 void bin_init(int32 nrow, int32 **nbin, int32 **bbin, float **lbin,
00075              int32 *tbin);
00076 void bin2ll(int32 bin, float *lat, float *lon);
00077 void ll2bin(float lat, float lon, int32 *bin);
00078 void ll2rc(float lat, float lon, int32 *row, int32 *col);
00079 void rc2ll(int32 row, int32 col, float *lat, float *lon);
00080 void rc2bin(int32 row, int32 col, int32 *bin);
00081 void bin2rc(int32 bin, int32 *row, int32 *col);
00082 void old_bin2ll(int32 bin, float *lat, float *lon);
00083 
00084 #ifdef  __cplusplus
00085 }
00086 #endif
00087 
00088 
00089 #endif /* SEAPROTO_H */
00090 
00091 
00092 
00093