/* This routine reads GMI time-averaged files including: 3-day (average of 3 days ending on file date) weekly (average of 7 days ending on Saturday of file date) monthly (average of all days in month) You must UNZIP FILES before reading them CHANGE filename format of file names are: 3-day fs_yyyymmddvN.N_d3d weekly fs_yyyymmddvN monthly fs_yyyymmvN where fs = file specifier number for that satellite (f35) yyyy =year mm =month dd =day of month DATA amsre.data (a 1x6x720x1440 array of data) the 5 elements of gmi.data correspond to time averages of: 1:sst sea surface temperature in deg Celcius 2:windLF 10m surface wind, low frequency, in meters/second 3:windMF 10m surface wind, medium frequency, in meters/second 4:vapor columnar water vapor in millimeters 5:cloud cloud liquid water in millimeters 6:rain rain rate in millimeters/hour Longitude is 0.25*xdim-0.125 degrees East Latitude is 0.25*ydim-90.125 Please read the data description on www.remss.com To contact RSS support: http://www.remss.com/support 6/2014 n.picard 7/2015 d.smith */ #ifndef GMI_AVERAGED_H #define GMI_AVERAGED_H #include #include #include #include #include #include #include #include "dataset.h" using namespace std; class GMIaveraged : public Dataset { /* Reads averaged GMI datasets (3day, weekly, monthly) */ std::string filename; int missing; public: GMIaveraged(char * _filename, int _missing); GMIaveraged(char * filename); GMIaveraged(); std::vector get_attributes(); vector get_dimensions(); std::vector get_coordinates(); std::vector get_variables(); int get_index(std::string var); float get_scale(std::string var); float get_offset(std::string var); std::string get_long_name(std::string var); std::string get_units(std::string var); float get_valid_min(std::string var); float get_valid_max(std::string var); }; class AveragedVerify : public Verify { /* Contains info for verification. */ public: AveragedVerify(); AveragedVerify(Dataset &dataset); }; #endif