awips2/nativeLib/rary.ohd.whfs/inc/general/get_total_precip.h
root 8e80217e59 Initial revision of AWIPS2 11.9.0-7p5
Former-commit-id: a02aeb236c [formerly 9f19e3f712] [formerly 06a8b51d6d [formerly 64fa9254b946eae7e61bbc3f513b7c3696c4f54f]]
Former-commit-id: 06a8b51d6d
Former-commit-id: 3360eb6c5f
2012-01-06 08:55:05 -06:00

81 lines
3 KiB
C

/*******************************************************************************
* FILENAME: get_total_precip.h
* GENERAL INFORMATION:
* DESCRIPTION: Contains the prototypes and user-defined types used
* the get_total_precip and get_total_raw_precip routines.
*
* ORIGINAL AUTHOR: Bryon Lawrence
* CREATION DATE: July 9, 2004
* ORGANIZATION: OHD/HSEB
* MACHINE: i686, Redhat Linux version 2.4.9-31 enterprise
* *
* MODIFICATION HISTORY:
* DATE PROGRAMMER DESCRIPTION/REASON
* July 9, 2004 Bryon Lawrence Original Coding
********************************************************************************
*/
#ifndef GET_TOTAL_PRECIP_H
#define GET_TOTAL_PRECIP_H
#include "DbmsDefs.h" /* For SHEF_PE_LEN and SHEF_TS_LEN definitions. */
#include "HourlyPC.h" /* DbGen header file. */
#include "HourlyPP.h" /* DbGen header file. */
#include "precip_total.h" /* For data_err_struct definition. */
#include "RawPC.h" /* DbGen Header file. */
#include "RawPP.h" /* DbGen Header file. */
#define PRECIP_TS_SINGLE 0
#define PRECIP_NO_ACCUM 1
#define REPORT_MISSING_BELOW_MIN_PERCENT 4
#define PRECIP_PE_BEST 8
#define PRECIP_PP 16
#define PRECIP_PC 32
#define PRECIP_TS_BEST 64
#define PRECIP_TS_RANK 128
#define EXACT_ENDINGTIME_MATCH -1
#define CLOSEST_ENDINGTIME_MATCH -2
#define LATEST_ENDINGTIME_MATCH -3
enum PrecipTSmode { PrecipTSbest , PrecipTSrank, PrecipTSsingle } ;
enum PrecipPEmode { PrecipPEbest , PrecipPEPP , PrecipPEPC } ;
struct total_precip {
char lid [ LOC_ID_LEN + 1 ] ;
char PE [ SHEF_PE_LEN + 1 ] ;
char TS [ SHEF_TS_LEN + 1 ] ;
float value ;
short int summed_flag ;
float hours_covered ;
float percent_filled ;
char value_indicator ;
char qc ;
data_err_struct err ;
short int reported_missing ;
time_t match_time ;
} ;
struct total_precip get_total_hourly_precip ( HourlyPC ** pHourlyPC ,
HourlyPP ** pHourlyPP ,
time_t ending_time ,
short int num_hours ,
float min_percent ,
unsigned char settings ,
short int advance ,
int * pc_records ,
int * pp_records ) ;
struct total_precip get_total_raw_precip ( RawPC ** pRawPC ,
RawPP ** pRawPP ,
time_t starting_time ,
time_t ending_time ,
short int ending_time_match ,
float min_percent ,
unsigned char settings ,
short int advance ,
int * pc_records ,
int * pp_records ) ;
#endif /*#ifndef GET_TOTAL_PRECIP_H */