00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
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
00031
00032
00033 #define MAX_DCS 64
00034 #define MAX_DIMS 25
00035 #define MAX_METADATA 80
00036 #define MAX_FIELDS 1000
00037 #define MAX_FLDATTS 25
00038 #define MAX_DIMSIZE 5000
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
00049
00050
00051
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
00127
00128 #endif