I tried to compare the Geo code with the C code used by the online calculator, and as far as I get, the values for a,b,f are identical on both; in C code they are hard-coded, in your code they are calculated as:
var a = _spheroid.EquatorialAxis / 1000;
var f = _spheroid.Flattening;
var b = a * (1.0 - f);
I need to understand why I cannot get the same values for X, Z since they are used for D. Can you help me understand why this is the case?
I am working on an application in c# that requires the values for D,X,Z to be identical to the online calculator.
Hi, I am using version 0.14.1, and doing the following calls to get the Magnetic Field result:
DateTime dt = new DateTime(2019, 7, 19); var a = new WmmGeomagnetismCalculator(); var b = a.TryCalculate(new Coordinate(32.9, -96.1), dt);
then I enter the same latitude, longitude , and date into the online calculator at https://www.ngdc.noaa.gov/geomag/calculators/magcalc.shtml#igrfwmm but the values I get differ, for example:
Geo Code: Online Calculator: D=2.68693443863361 D=2.733333 X=23172.5881478553 X=23207.2 Z=42798.7003809326 Z=42767.2
I tried to compare the Geo code with the C code used by the online calculator, and as far as I get, the values for a,b,f are identical on both; in C code they are hard-coded, in your code they are calculated as:
var a = _spheroid.EquatorialAxis / 1000; var f = _spheroid.Flattening; var b = a * (1.0 - f);
I need to understand why I cannot get the same values for X, Z since they are used for D. Can you help me understand why this is the case?
I am working on an application in c# that requires the values for D,X,Z to be identical to the online calculator.
Thanks,