28 #ifndef WORLDMAGMODEL_H
29 #define WORLDMAGMODEL_H
36 #define WMM_MAX_MODEL_DEGREES 12
37 #define WMM_MAX_SECULAR_VARIATION_MODEL_DEGREES 12
38 #define WMM_NUMTERMS 91 // ((WMM_MAX_MODEL_DEGREES + 1) * (WMM_MAX_MODEL_DEGREES + 2) / 2);
39 #define WMM_NUMPCUP 92 // NUMTERMS + 1
40 #define WMM_NUMPCUPS 13 // WMM_MAX_MODEL_DEGREES + 1
90 double Pcup[WMM_NUMPCUP];
91 double dPcup[WMM_NUMPCUP];
103 double RelativeRadiusPower[WMM_MAX_MODEL_DEGREES + 1];
104 double cos_mlambda[WMM_MAX_MODEL_DEGREES + 1];
105 double sin_mlambda[WMM_MAX_MODEL_DEGREES + 1];
137 int GetMagVector(
double LLA[3],
int Month,
int Day,
int Year,
double Be[3]);
163 int PcupHigh(
double *Pcup,
double *dPcup,
double x,
int nMax);
164 void PcupLow(
double *Pcup,
double *dPcup,
double x,
int nMax);
167 double get_main_field_coeff_g(
int index);
168 double get_main_field_coeff_h(
int index);
169 double get_secular_var_coeff_g(
int index);
170 double get_secular_var_coeff_h(
int index);
171 int DateToYear(
int month,
int day,
int year);
double HeightAboveEllipsoid