Class GeoMagneticModelLoader

  • All Implemented Interfaces:

    public class GeoMagneticModelLoader
    extends Object
    implements DataLoader
    Loads geomagnetic field models from a given input stream. A stream may contain multiple models, the loader reads all available models in consecutive order.

    The format of the expected model file is either:

    • combined format as used by the geomag software, available from the IGRF model site; supports multiple epochs per file
    • original format as used by the WMM model site.

    Combined Format

         {model name} {epoch} {nMax} {nMaxSec} {nMax3} {validity start} {validity end} {minAlt} {maxAlt} {model name} {line number}
     {n} {m} {gnm} {hnm} {dgnm} {dhnm} {model name} {line number}


        WMM2010  2010.00 12 12  0 2010.00 2015.00   -1.0  600.0          WMM2010   0
     1  0  -29496.6       0.0      11.6       0.0                        WMM2010   1
     1  1   -1586.3    4944.4      16.5     -25.9                        WMM2010   2

    Original WMM Format

        {epoch} {model name} {validity start}
     {n} {m} {gnm} {hnm} {dgnm} {dhnm}


        2015.0            WMM-2015        12/15/2014
      1  0  -29438.5       0.0       10.7        0.0
      1  1   -1501.1    4796.2       17.9      -26.8
    Thomas Neidhart
    • Constructor Detail

      • GeoMagneticModelLoader

        public GeoMagneticModelLoader()
        Empty constructor.

        This constructor is not strictly necessary, but it prevents spurious javadoc warnings with JDK 18 and later.

    • Method Detail

      • stillAcceptsData

        public boolean stillAcceptsData()
        Check if the loader still accepts new data.

        This method is used to speed up data loading by interrupting crawling the data sets as soon as a loader has found the data it was waiting for. For loaders that can merge data from any number of sources (for example JPL ephemerides or Earth Orientation Parameters that are split among several files), this method should always return true to make sure no data is left over.

        Specified by:
        stillAcceptsData in interface DataLoader
        true while the loader still accepts new data