Module: magneticFieldWMM¶
Executive Summary¶
Evaluate a magnetic field model about Earth for a range of spacecraft locations using the World Magnetic Model (WMM).
For more information on this module see this For more information on this module see this PDF Description.
The module is a sub-class of the Module: magneticFieldBase base class. See that class for the nominal messages used and general instructions.
-
class MagneticFieldWMM : public MagneticFieldBase¶
- #include <magneticFieldWMM.h>
magnetic field WMM class
Public Functions
-
MagneticFieldWMM()¶
The constructor method initializes the dipole parameters to zero, resuling in a zero magnetic field result by default.
- Returns
void
-
~MagneticFieldWMM()¶
Clean up any memory allocations.
- Returns
void
Public Members
-
std::string dataPath¶
— String with the path to the WMM coefficient file
-
double epochDateFractionalYear¶
Specified epoch date as a fractional year.
-
BSKLogger bskLogger¶
— BSK Logging
Private Functions
-
void evaluateMagneticFieldModel(MagneticFieldMsgPayload *msg, double currentTime)¶
This method is evaluates the centered dipole magnetic field model.
- Parameters
msg – magnetic field message structure
currentTime – current time (s)
- Returns
void
-
void initializeWmm()¶
-
void cleanupEarthMagFieldModel()¶
Performs memory cleanup necessary for magnetic field models
- Returns
void
-
void computeWmmField(double decimalYear, double phi, double lambda, double h, double B_M[3])¶
-
void customReset(uint64_t CurrentClock)¶
Custom Reset() method. This loads the WMM coefficient file and gets the model setup.
- Returns
void
-
void customSetEpochFromVariable()¶
Custom customSetEpochFromVariable() method. This allows specifying epochDateFractionYear directly from Python. If an epoch message is set then this variable is not used.
- Returns
void
-
void decimalYear2Gregorian(double fractionalYear, struct tm *gregorian)¶
Convert a fraction year double value into a time structure with gregorian date/time information
- Returns
void
-
double gregorian2DecimalYear(double currentTime)¶
Convert a time structure with gregorian date/time information into a fraction year value.
- Returns
double
Private Members
-
MAGtype_MagneticModel *magneticModels[1]¶
-
MAGtype_MagneticModel *timedMagneticModel¶
-
MAGtype_Ellipsoid ellip¶
-
MAGtype_Geoid geoid¶
-
MAGtype_Date userDate¶
-
MagneticFieldWMM()¶