00001 #ifndef _WINC_SFCRAW
00002 #define _WINC_SFCRAW
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/SfcData.h>
00011 #include <WXP/StatPrior.h>
00012 #include <WXP/StrLib.h>
00013 #include <WXP/String.h>
00014
00015 namespace WXP {
00016 class SfcRaw {
00017 Filename filename;
00018 String variable;
00019 String var_file;
00020 char stat_prior[20];
00021 Domain domain;
00022 StatPrior prior;
00023 CityHash hash;
00024 int def_prior;
00025 int syn_id;
00026
00027 public:
00028 SfcRaw();
00029 SfcRaw( 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 setNameConv( const char *name );
00036 int setHour( const char *str );
00037 int setFilename();
00038 int setFilename( Date &date );
00039 int setFilename( const char *str );
00040 int setFilename( Date &date, const char *param );
00041 inline int setDefPrior( int rprior ){ def_prior = rprior; return 1; };
00042 inline int setStatPrior( const char *str ){
00043 StrLib::copy( stat_prior, 20, str ); return 1; };
00044 int setVariable( const char *str );
00045 int getDate( Date &date );
00046 int setDomain( Domain &rdomain );
00047 int setVarFile( const char *file );
00048 inline int getDomain( Domain &rdomain ){ rdomain = domain; return 1; };
00049 int createHash();
00050 int setPrior( Domain &domain );
00051 int getInfo( SfcData &sfcdata, Datum &datum );
00052 int compute( Raw &data );
00053 int print();
00054 };
00055 }
00056 #endif