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, MAGtype_CoordSpherical coord, 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 *magneticModel
-
MAGtype_MagneticModel *timedMagneticModel
-
MAGtype_Ellipsoid ellip
-
MAGtype_Geoid geoid
-
MAGtype_Date userDate
-
MAGtype_LegendreFunction *LegendreFunction
-
MAGtype_SphericalHarmonicVariables *SphVariables
-
MagneticFieldWMM()