Always compute lunar / solar terms rather than if time changes by more than 30 minutes

feature/19
Daniel Warner 2011-03-27 14:20:45 +01:00
parent 7b51b2256b
commit ef2f9c5a9e
2 changed files with 24 additions and 30 deletions

View File

@ -785,34 +785,30 @@ void SGDP4::DeepPeriodics(const double& sinio, const double& cosio, const double
double sinis = sin(xinc); double sinis = sin(xinc);
double cosis = cos(xinc); double cosis = cos(xinc);
if (fabs(d_savtsn_ - t) >= 30.0) { double zm = d_zmos_ + ZNS * t;
d_savtsn_ = t; double zf = zm + 2.0 * ZES * sin(zm);
double sinzf = sin(zf);
double f2 = 0.5 * sinzf * sinzf - 0.25;
double f3 = -0.5 * sinzf * cos(zf);
double ses = d_se2_ * f2 + d_se3_ * f3;
double sis = d_si2_ * f2 + d_si3_ * f3;
double sls = d_sl2_ * f2 + d_sl3_ * f3 + d_sl4_ * sinzf;
double zm = d_zmos_ + ZNS * t; sghs = d_sgh2_ * f2 + d_sgh3_ * f3 + d_sgh4_ * sinzf;
double zf = zm + 2.0 * ZES * sin(zm); shs = d_sh2_ * f2 + d_sh3_ * f3;
double sinzf = sin(zf); zm = d_zmol_ + ZNL * t;
double f2 = 0.5 * sinzf * sinzf - 0.25; zf = zm + 2.0 * ZEL * sin(zm);
double f3 = -0.5 * sinzf * cos(zf); sinzf = sin(zf);
double ses = d_se2_ * f2 + d_se3_ * f3; f2 = 0.5 * sinzf * sinzf - 0.25;
double sis = d_si2_ * f2 + d_si3_ * f3; f3 = -0.5 * sinzf * cos(zf);
double sls = d_sl2_ * f2 + d_sl3_ * f3 + d_sl4_ * sinzf; double sel = d_ee2_ * f2 + d_e3_ * f3;
double sil = d_xi2_ * f2 + d_xi3_ * f3;
sghs = d_sgh2_ * f2 + d_sgh3_ * f3 + d_sgh4_ * sinzf; double sll = d_xl2_ * f2 + d_xl3_ * f3 + d_xl4_ * sinzf;
shs = d_sh2_ * f2 + d_sh3_ * f3; sghl = d_xgh2_ * f2 + d_xgh3_ * f3 + d_xgh4_ * sinzf;
zm = d_zmol_ + ZNL * t; shl = d_xh2_ * f2 + d_xh3_ * f3;
zf = zm + 2.0 * ZEL * sin(zm); pe = ses + sel;
sinzf = sin(zf); pinc = sis + sil;
f2 = 0.5 * sinzf * sinzf - 0.25; pl = sls + sll;
f3 = -0.5 * sinzf * cos(zf);
double sel = d_ee2_ * f2 + d_e3_ * f3;
double sil = d_xi2_ * f2 + d_xi3_ * f3;
double sll = d_xl2_ * f2 + d_xl3_ * f3 + d_xl4_ * sinzf;
sghl = d_xgh2_ * f2 + d_xgh3_ * f3 + d_xgh4_ * sinzf;
shl = d_xh2_ * f2 + d_xh3_ * f3;
pe = ses + sel;
pinc = sis + sil;
pl = sls + sll;
}
double pgh = sghs + sghl; double pgh = sghs + sghl;
double ph = shs + shl; double ph = shs + shl;

View File

@ -186,8 +186,6 @@ private:
double d_zmol_; double d_zmol_;
double d_zmos_; double d_zmos_;
double d_savtsn_;
double d_sse_; double d_sse_;
double d_ssi_; double d_ssi_;
double d_ssl_; double d_ssl_;