67 Triple OceanLoading::getOceanLoading(
const string& name,
71 const int NUM_COMPONENTS = 3;
72 const int NUM_HARMONICS = 11;
77 harmonics = blqData.getTideHarmonics(name);
82 arguments = getArg(t);
86 for(
int i=0; i<NUM_COMPONENTS; i++)
90 for(
int k=0; k<NUM_HARMONICS; k++)
93 temp += harmonics(i,k) *
104 oLoading[1] = -oLoading[1];
105 oLoading[2] = -oLoading[2];
122 blqData.open(fileData);
141 const int NUM_HARMONICS = 11;
153 sig(8) = 0.053234e-4;
154 sig(9) = 0.026392e-4;
155 sig(10)= 0.003982e-4;
158 angfac(0,0) = 2.0; angfac(1,0) = -2.0;
159 angfac(2,0) = 0.0; angfac(3,0) = 0.0;
160 angfac(0,1) = 0.0; angfac(1,1) = 0.0;
161 angfac(2,1) = 0.0; angfac(3,1) = 0.0;
162 angfac(0,2) = 2.0; angfac(1,2) = -3.0;
163 angfac(2,2) = 1.0; angfac(3,2) = 0.0;
164 angfac(0,3) = 2.0; angfac(1,3) = 0.0;
165 angfac(2,3) = 0.0; angfac(3,3) = 0.0;
166 angfac(0,4) = 1.0; angfac(1,4) = 0.0;
167 angfac(2,4) = 0.0; angfac(3,4) = 0.25;
168 angfac(0,5) = 1.0; angfac(1,5) = -2.0;
169 angfac(2,5) = 0.0; angfac(3,5) = -0.25;
170 angfac(0,6) = -1.0; angfac(1,6) = 0.0;
171 angfac(2,6) = 0.0; angfac(3,6) = -0.25;
172 angfac(0,7) = 1.0; angfac(1,7) = -3.0;
173 angfac(2,7) = 1.0; angfac(3,7) = -0.25;
174 angfac(0,8) = 0.0; angfac(1,8) = 2.0;
175 angfac(2,8) = 0.0; angfac(3,8) = 0.0;
176 angfac(0,9) = 0.0; angfac(1,9) = 1.0;
177 angfac(2,9) = -1.0; angfac(3,9) = 0.0;
178 angfac(0,10)= 2.0; angfac(1,10)= 0.0;
179 angfac(2,10)= 0.0; angfac(3,10)= 0.0;
192 double t((27392.500528+1.000000035*d)/36525.0);
195 double H0((279.69668+(36000.768930485+3.03e-4*t)*t)*
DEG_TO_RAD);
198 double S0( (((1.9e-6*t - 0.001133)*t +
199 481267.88314137)*t + 270.434358)*
DEG_TO_RAD );
202 double P0( (((-1.2e-5*t - 0.010325)*t +
203 4069.0340329577)*t + 334.329653)*
DEG_TO_RAD );
205 for(
int k=0; k<NUM_HARMONICS; k++)
208 double temp( sig(k)*fday + angfac(0,k)*H0 +
209 angfac(1,k)*S0 + angfac(2,k)*P0 + angfac(3,k)*
TWO_PI );
213 if (arguments(k) < 0.0)
215 arguments(k) = arguments(k) +
TWO_PI;