51 for (
int i=0; i<11; i++)
82 dT = (27392.500528 + 1.0000000356*nD)/36525.0;
87 h0 = 279.69668 + 36000.768930485*dT2 + 3.03e-4*dT3;
91 s0 = 270.434358 + 481267.88314137*dT - 0.001133*dT2 + 1.9e-6*dT3;
93 p0 = 334.329653 + 4069.0340329577*dT - 0.010325*dT2 - 1.2e-5*dT3;
103 for (
int k=0; k<11; k++)
122 ": calcDisplacement(): stnInfo is NULL");
139 double fS1N, fC1N, fS2N, fC2N, fS3N, fC3N;
140 double f[11], u[11], fTmp=0.0;
141 double dt = (t -
tEphem)/36525.0;
144 double dt4 = dt2*dt2;
145 fTmp = 125.04455501*3600.0 - 6962890.5431*dt + 7.4722*dt2 + 0.007702*dt3 - 0.00005939*dt4;
146 fTmp = fmod(fTmp*
SEC2RAD, 2.0*M_PI);
148 for (
int i=0; i<11; i++)
154 sincos ( fTmp, &fS1N, &fC1N);
155 sincos (2.0*fTmp, &fS2N, &fC2N);
156 sincos (3.0*fTmp, &fS3N, &fC3N);
158 f[ 0] = 1.0004 - 0.0373*fC1N + 0.0002*fC2N ;
159 f[ 3] = 1.0241 + 0.2863*fC1N + 0.0083*fC2N - 0.0015*fC3N;
160 f[ 4] = 1.0060 + 0.1150*fC1N - 0.0088*fC2N + 0.0006*fC3N;
161 f[ 5] = 1.0089 + 0.1871*fC1N - 0.0147*fC2N + 0.0014*fC3N;
162 f[ 8] = 1.0429 + 0.4135*fC1N - 0.0040*fC2N ;
163 f[ 9] = 1.0000 - 0.1300*fC1N + 0.0013*fC2N ;
165 u[ 0] = ( - 2.14 *fS1N )*
DEG2RAD;
166 u[ 3] = ( -17.74 *fS1N + 0.68 *fS2N - 0.04 *fS3N)*
DEG2RAD;
167 u[ 4] = ( - 8.86 *fS1N + 0.68 *fS2N - 0.07 *fS3N)*
DEG2RAD;
168 u[ 5] = ( 10.80 *fS1N - 1.34 *fS2N + 0.19 *fS3N)*
DEG2RAD;
169 u[ 8] = ( -23.74 *fS1N + 2.68 *fS2N - 0.38 *fS3N)*
DEG2RAD;
177 for (
int i=0; i<3; i++)
178 for (
int j=0; j<11; j++)
214 1.40519e-4, 1.45444e-4, 1.37880e-4, 1.45842e-4, 0.72921e-4,
215 0.67598e-4, 0.72523e-4, 0.64959e-4, 0.53234e-5, 0.26392e-5, 0.03982e-5
221 { 2.0, 0.0, 2.0, 2.0, 1.0 , 1.0 ,-1.0 , 1.0 , 0.0, 0.0, 2.0},
222 { -2.0, 0.0,-3.0, 0.0, 0.0 ,-2.0 , 0.0 ,-3.0 , 2.0, 1.0, 0.0},
223 { 0.0, 0.0, 1.0, 0.0, 0.0 , 0.0 , 0.0 , 1.0 , 0.0,-1.0, 0.0},
224 { 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
degrees to seconds:
double vec[3]
An array of 3 elements, stores elements of a vector.
virtual void write(LogLevel, quint32, const QString &, bool=false)
int calcDayOfYear() const
const SgTaskConfig * cfg_
static const double argNumbers[4][11]
void calcArgs(const SgMJD &)
static const QString className()
const Sg3dVector & calcDisplacement(const SgVlbiStationInfo *, const SgMJD &)
static const double freq[11]
SgOceanLoad(const SgTaskConfig *)
double getOLoadPhase(int iWave, int iCoord) const
double getOLoadAmplitude(int iWave, int iCoord) const