00001 #ifndef _WINC_MOSRAW
00002 #define _WINC_MOSRAW
00003
00004 #include <WXP/CityHash.h>
00005 #include <WXP/Date.h>
00006 #include <WXP/Datum.h>
00007 #include <WXP/Domain.h>
00008 #include <WXP/Filename.h>
00009 #include <WXP/Raw.h>
00010 #include <WXP/MosData.h>
00011 #include <WXP/StatPrior.h>
00012 #include <WXP/StrLib.h>
00013 #include <WXP/String.h>
00014
00015 namespace WXP {
00016 class MosRaw {
00017 Filename filename;
00018 String variable;
00019 String var_file;
00020 char model[20];
00021 String time;
00022 char stat_prior[20];
00023 Domain domain;
00024 StatPrior prior;
00025 CityHash hash;
00026
00027 public:
00028 MosRaw();
00029 MosRaw( const char *param );
00030 int init();
00031 int setParam( const char *str );
00032 int setPath( const char *path );
00033 int setFile();
00034 int setInput( const char *str );
00035 int setModel( const char *str );
00036 int setNameConv( const char *name );
00037 int setHour( const char *str );
00038 int setForeTime( const char *fore );
00039 int setFilename();
00040 int setFilename( Date &date );
00041 int setFilename( const char *str );
00042 int setFilename( Date &date, const char *param );
00043 inline int setStatPrior( const char *str ){
00044 StrLib::copy( stat_prior, 20, str ); return 1; };
00045 int setVariable( const char *str );
00046 int getDate( Date &date );
00047 int setDomain( Domain &rdomain );
00048 int setVarFile( const char *file );
00049 inline int getDomain( Domain &rdomain ){ rdomain = domain; return 1; };
00050 int createHash();
00051 int setPrior( Domain &domain );
00052 int getInfo( MosData &mosdata, Datum &datum );
00053 int compute( Raw &data );
00054 int print();
00055
00056 static int updateSpec( VarSpec &vs, ForeTime &f );
00057 };
00058 }
00059 #endif