51 for (
int i=0; i<11; i++)
70 double fDay = t.
getTime()*86400.0;
72 double capt = (27392.500528 + 1.000000035*floor((t -
_1975)))/36525.0;
76 double h0 = (279.69668 + (36000.768930485 + 3.03e-4*capt)*capt)*
DEG2RAD;
80 double s0 = (((1.9e-6*capt - 0.001133)*capt + 481267.88314137)*capt + 270.434358)*
DEG2RAD;
84 double p0 = (((-1.2e-5*capt - 0.010325)*capt + 4069.0340329577)*capt + 334.329653)*
DEG2RAD;
86 for (
int k=0; k<11; k++)
105 ": calcDisplacement(): stnInfo is NULL");
122 double fS1N, fC1N, fS2N, fC2N, fS3N, fC3N;
123 double f[11], u[11], fTmp=0.0;
124 double dt = (t -
tEphem)/36525.0;
127 double dt4 = dt2*dt2;
128 fTmp = 125.04455501*3600.0 - 6962890.5431*dt + 7.4722*dt2 + 0.007702*dt3 - 0.00005939*dt4;
129 fTmp = fmod(fTmp*
SEC2RAD, 2.0*M_PI);
131 for (
int i=0; i<11; i++)
137 sincos ( fTmp, &fS1N, &fC1N);
138 sincos (2.0*fTmp, &fS2N, &fC2N);
139 sincos (3.0*fTmp, &fS3N, &fC3N);
141 f[ 0] = 1.0004 - 0.0373*fC1N + 0.0002*fC2N ;
142 f[ 3] = 1.0241 + 0.2863*fC1N + 0.0083*fC2N - 0.0015*fC3N;
143 f[ 4] = 1.0060 + 0.1150*fC1N - 0.0088*fC2N + 0.0006*fC3N;
144 f[ 5] = 1.0089 + 0.1871*fC1N - 0.0147*fC2N + 0.0014*fC3N;
145 f[ 8] = 1.0429 + 0.4135*fC1N - 0.0040*fC2N ;
146 f[ 9] = 1.0000 - 0.1300*fC1N + 0.0013*fC2N ;
148 u[ 0] = ( - 2.14 *fS1N )*
DEG2RAD;
149 u[ 3] = ( -17.74 *fS1N + 0.68 *fS2N - 0.04 *fS3N)*
DEG2RAD;
150 u[ 4] = ( - 8.86 *fS1N + 0.68 *fS2N - 0.07 *fS3N)*
DEG2RAD;
151 u[ 5] = ( 10.80 *fS1N - 1.34 *fS2N + 0.19 *fS3N)*
DEG2RAD;
152 u[ 8] = ( -23.74 *fS1N + 2.68 *fS2N - 0.38 *fS3N)*
DEG2RAD;
160 for (
int i=0; i<3; i++)
161 for (
int j=0; j<11; j++)
198 1.40519e-04, 1.45444e-04, 1.37880e-04, 1.45842e-04, 0.72921e-04,
199 0.67598e-04, 0.72523e-04, 0.64959e-04, 0.53234e-05, 0.26392e-05, 0.03982e-05
204 { 2.0, 0.0, 2.0, 2.0, 1.0 , 1.0 ,-1.0 , 1.0 , 0.0, 0.0, 2.0},
205 { -2.0, 0.0,-3.0, 0.0, 0.0 ,-2.0 , 0.0 ,-3.0 , 2.0, 1.0, 0.0},
206 { 0.0, 0.0, 1.0, 0.0, 0.0 , 0.0 , 0.0 , 1.0 , 0.0,-1.0, 0.0},
207 { 0.0, 0.0, 0.0, 0.0, 0.25,-0.25,-0.25,-0.25, 0.0, 0.0, 0.0}
const SgMJD tEphem(51544.5)
#define SEC2RAD
radians to arc seconds:
#define DEG2RAD
hours to radians:
double vec[3]
An array of 3 elements, stores elements of a vector.
virtual void write(LogLevel, quint32, const QString &, bool=false)
static const double speed[11]
const SgTaskConfig * cfg_
static const double angfac[4][11]
static const QString className()
const Sg3dVector & calcDisplacement(const SgVlbiStationInfo *, const SgMJD &)
void arg_IERS(const SgMJD &)
SgOceanLoad(const SgTaskConfig *)
double getOLoadPhase(int iWave, int iCoord) const
double getOLoadAmplitude(int iWave, int iCoord) const