Menu

MagneticModel are flipping Bx, By componets and inverting Bz

Anonymous
2019-08-07
2019-12-13
  • Anonymous

    Anonymous - 2019-08-07

    I noted that MagneticModel appears to be changing the magnetic field components:
    Bx = By
    By = Bx
    Bz = -Bz
    I edited example-MagneticModel.cpp to output the data as the program geomag70 in https://www.ngdc.noaa.gov/IAGA/vmod/geomag70_linux.tar.gz
    then I get:

    $ ./example-MagneticModel 
    year:2012 D:0.184591 I:43.204 H:35137.3 Bx:113.202 By:35137.1 Bz:-33000.7 F:48204.5
    $ geomag70 /usr/local/share/IGRF12.COF 2012,1,1 D M8820 27.99 86.93
    ...
       Date          D           I           H        X        Y        Z        F
       (yr)      (deg min)   (deg min)     (nT)     (nT)     (nT)     (nT)     (nT)
      2012.00     0d  11m    43d  12m   35137.2  35137.1    113.2  33001.0  48204.7
    ...
    

    Components D, I, H and F are basicaly the same (converting min to degrees), but Bx = Y, By = X and Bz = -Z

    Is this the expected result?

     
  • Charles Karney

    Charles Karney - 2019-08-07

    The documentation for the MagneticModel class, operator(), says that

    Bx = easterly component
    By = northerly component
    Bz = vertical (up) component
    

    What are the conventions for X, Y, Z for geomag70?

     
  • Anonymous

    Anonymous - 2019-08-07

    My bad, I didn't pay enough atention to the documentation. Geomag70 follows the following convention:
    X = northerly
    Y = esterly
    Z = vertical (down)
    And I'm so used with that convention that I just forgot to check if the program was using another one.

     

Anonymous
Anonymous

Add attachments
Cancel