ingest_datachunk.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002 *
00003 *  COPYRIGHT (C) 2006 Battelle Memorial Institute.  All Rights Reserved.
00004 *
00005 ********************************************************************************
00006 *
00007 *  Author:
00008 *     name:  Brian Ermold
00009 *     phone: (509) 375-2277
00010 *     email: brian.ermold@pnl.gov
00011 *
00012 ********************************************************************************
00013 *
00014 *  RCS INFORMATION:
00015 *    $RCSfile: ingest_datachunk.h,v $
00016 *    $Revision: 1.14 $
00017 *    $Locker: ermold $
00018 *    $Date: 2006/08/04 02:21:28 $
00019 *    $State: ds-dsutil-ingest_lib-1.4-0 $
00020 *
00021 *******************************************************************************/
00022 
00023 #ifndef INGEST_DC_H
00024 #define INGEST_DC_H
00025 
00026 #include "DataStore.h"
00027 #include "dsdb.h"
00028 
00029 /*******************************************************************************
00030 *  Definitions:
00031 */
00032 
00033 #define MAX_DCS        64           /* The max num of DC's that can be used */
00034 #define MAX_DIMS       25           /* The max num of dims in a DC */
00035 #define MAX_METADATA   80           /* The max num of metadata in a DC */
00036 #define MAX_FIELDS     1000         /* The max num of fields in a DC */
00037 #define MAX_FLDATTS    25           /* The max num of attributes per field */
00038 #define MAX_DIMSIZE    5000         /* The max size of any single dimension */
00039 
00040 #define DEFAULT_MISSING       "-9999"
00041 #define DEFAULT_MISSING_VALUE  -9999.0
00042 
00043 #define MAX_QC_NAME_LENGTH     100
00044 #define MAX_QC_DESCRIP_LENGTH  512
00045 
00046 #define ZT_DOUBLE(zt) ((double)(zt).zt_Sec + 1E-6*(double)(zt).zt_MicroSec)
00047 
00048 /* End Definitions */
00049 
00050 /*******************************************************************************
00051 *  Prototypes:
00052 */
00053 
00054 int         append_global(DataChunk *dc, char *attname, char *attvalue);
00055 
00056 int get_dc_platform_ds_class(
00057     DataChunk *dc,
00058     char      *dsc_name,
00059     char      *dsc_level);
00060 
00061 int get_tdb_plat_names(
00062     DataChunk *dc,
00063     char      *tdb_plat_base,
00064     char      *tdb_plat_name,
00065     char      *tdb_alias_base,
00066     char      *tdb_alias_name);
00067 
00068 int         change_flattr(DataChunk *dc, char *field_name, char *flattr_name,
00069                 char *flattr_value);
00070 int         change_global(DataChunk *dc, char *glattr_name, char *glattr_value);
00071 int         check_for_std_metadata_changes(DataChunk *dc, int *new_file);
00072 int         check_for_plat_metadata_changes(DataChunk *dc, int *newfile);
00073 int         check_for_location_changes(DataChunk *dc, int *newfile);
00074 void        check_for_metadata_changes(DataChunk *dc, int *newfile);
00075 int         define_dimsizes(DataChunk *dc, int ndims, int *dimsizes);
00076 DataChunk  *freeDC(DataChunk *dc);
00077 
00078 int         get_dc_platform_datalevel(DataChunk *dc, char *datalevel);
00079 
00080 int get_dc_platform_ds_class(
00081     DataChunk *dc,
00082     char      *dsc_name,
00083     char      *dsc_level);
00084 
00085 DC_ElemType get_field_type(char *field_type);
00086 DataChunk  *get_previous_dc(DataChunk *dc);
00087 char       *get_previous_flattr(DataChunk *dc, FieldId fid, char *flattr_name);
00088 char       *get_previous_glattr(DataChunk *dc, char *global_name);
00089 
00090 int         set_dc_platform(DataChunk *dc, char *platbase, char *datalevel);
00091 
00092 void  set_rename_raw_map_dir(char *dsc_name, char *dsc_level, char *base_name);
00093 char *get_rename_raw_map_dir(char *dsc_name, char *dsc_level);
00094 
00095 int rename_raw(
00096     char      *filename,
00097     time_t     start_time,
00098     time_t     end_time,
00099     char      *dsc_name,
00100     char      *dsc_level,
00101     char      *extension,
00102     int        preserve_dots);
00103 
00104 int move_ingested_raw(
00105     DataChunk *dc,
00106     char      *dsc_name,
00107     char      *filename,
00108     time_t     badtime);
00109 
00110 int         set_fields(DataChunk *dc, FieldId *fields, int *num_dims, int *dimsizes,
00111                 int make_dims_fields);
00112 
00113 void        set_flattr(DataChunk *dc, FieldId field, char *attname,
00114                 DC_ElemType atttype, int nelems, char *attvalue);
00115 
00116 int         set_flattr_value (DataChunk *dc, char *field_name, char *flattr_name,char *flattr_value);
00117 int         set_global(DataChunk *dc, char *filename);
00118 ProcLoc    *set_location(DataChunk *dc);
00119 void        set_location_from_data(DataChunk *dc, float *lat, float *lon, float *alt);
00120 void        set_mobile_location_from_data(DataChunk *dc, int nlocs,
00121                 float *lat, float *lon, float *alt);
00122 int         set_pindex(DataChunk *dc);
00123 int         set_sample_time(int hourmin, int jday, int year, ZebTime *dotime);
00124 void        store_datachunk(DataChunk *dc, int newfile);
00125 
00126 /* End Prototypes */
00127 
00128 #endif /* !INGEST_DC_H */

Generated on Tue Sep 12 20:12:37 2006 for DSUTIL-INGEST_LIB by doxygen 1.3.5