00001 #pragma ident "$Id: EarthOceanTide.hpp 2457 2010-08-18 14:20:12Z coandrei $"
00002
00008 #ifndef GPSTK_OCEAN_TIDE_HPP
00009 #define GPSTK_OCEAN_TIDE_HPP
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #include <string>
00034
00035
00036 namespace gpstk
00037 {
00040
00045 class EarthOceanTide
00046 {
00047 public:
00049 EarthOceanTide()
00050 : minX(0.05),
00051 maxN(4),
00052 isLoaded(false)
00053 {
00054 fileName = "InputData\\Earth\\OT_CSRC.TID";
00055 }
00056
00058 ~EarthOceanTide(){}
00059
00060
00062 struct CSR_OTIDE
00063 {
00064 double KNMP[20];
00065 int NTACT;
00066 int NDOD[1200][6];
00067 double CSPM[1200][4];
00068 int NM[1200][2];
00069 };
00070
00071
00073
00074 void loadTideFile(std::string fileName, int NMAX = 4, double XMIN = 0.05);
00075
00083 void getOceanTide(double mjdUtc, double dC[], double dS[] );
00084
00085 void setTideFile(std::string file)
00086 {
00087 fileName = file;
00088 isLoaded = false;
00089 }
00090
00091 void test();
00092
00093 protected:
00094
00095
00096
00097 protected:
00098 std::string fileName;
00099
00100 int maxN;
00101 double minX;
00102
00103 bool isLoaded;
00104
00105 double FAC[41];
00106
00108 int NWAV;
00109 int NTOT;
00110 int NMX;
00111 int MMX;
00113 double RRE;
00114 double RHOW;
00115 double XME;
00116 double PFCN;
00117 double XXX;
00118
00119 CSR_OTIDE tideData;
00120
00123 static const double G;
00124 static const double GE;
00125
00126 };
00127
00128
00129
00130 }
00131
00132
00133 #endif // GPSTK_OCEAN_TIDE_HPP
00134
00135