00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef OMGCLIMATEDATAPROCESSOR_H
00019 #define OMGCLIMATEDATAPROCESSOR_H
00020
00021 #include <QVector>
00022
00032 class OMG_LIB_EXPORT OmgClimateDataProcessor
00033 {
00034 public:
00036 OmgClimateDataProcessor(float mNoData=-9999.0);
00038 ~OmgClimateDataProcessor();
00039
00042 float meanOverLowestQ(QVector <float> theClimateVector);
00043
00046 float meanOverHighestQ ( QVector <float> theClimateVector);
00047
00050 int firstMonthOfHighestQ (QVector <float> theClimateVector);
00051
00061 int firstMonthOfLowestQ (QVector <float> theClimateVector);
00062
00065 float meanOverQuarter (QVector <float> theClimateVector, int theStartMonth);
00066
00069 float lowestValue (QVector <float> theClimateVector);
00070
00073 float highestValue (QVector <float> theClimateVector);
00074
00081 float greatestTotalRange (QVector <float> theClimateVector1,
00082 QVector <float> theClimateVector2);
00083
00089 float greatestMonthlyRange (QVector <float> theClimateVector,
00090 QVector <float> theClimateVector2);
00091
00093 float stddevOverYear (QVector <float> theClimateVector);
00094
00102 bool threshold(QVector <float> &theClimateVector, float theThreshold);
00110 float threshold(float theFloat, float theThreshold);
00116 float sum(QVector <float> theClimateVector);
00117
00120 float mean (QVector <float> theClimateVector);
00121
00124 float valueGivenMonth (QVector <float> theClimateVector, int theMonth);
00125
00128 int monthWithHighestValue (QVector <float> theClimateVector);
00129
00132 int monthWithLowestValue(QVector <float> theClimateVector);
00133
00138 int numberOfMonthsAboveZero (QVector <float> theClimateVector);
00139
00142 float meanValueOverFrostFreeMonths (QVector <float> theFrostVector,
00143 QVector <float> theClimateVector);
00144
00145
00146 private:
00147 float mNoData;
00148
00149 };
00150
00151
00152
00153 #endif