Cruisers Forum
 


Reply
  This discussion is proudly sponsored by:
Please support our sponsors and let them know you heard about their products on Cruisers Forums. Advertise Here
 
Thread Tools Search this Thread Rate Thread Display Modes
Old 16-12-2014, 14:59   #136
Registered User

Join Date: Nov 2012
Location: Orust Sweden
Boat: Najad 34
Posts: 4,353
Re: World Magnetic Model Plugin

Pavel..
If I'm correct the installer package now puts WMM.COF in /plugins/wmm_pi/data/
But the plugin source search for it in /plugins/, so when I deleted the old wmm.cof from /plugins/ there is a warning message in the log:
Code:
23:29:07: WMM: Error opening coefficient file
23:29:07: Warning: WMM model data file C:\Program\OpenCPN\plugins/WMM.COF can't be loaded, using the bundled data.
or am I "talking through my hat" again??
Håkan
Hakan is offline   Reply With Quote
Old 16-12-2014, 15:11   #137
Registered User

Join Date: Feb 2010
Location: Tierra del Fuego
Boat: Phantom 19
Posts: 6,264
Re: World Magnetic Model Plugin

Hakan...
Seems Windows only, will have a look why as soon as I get to a Windows machine...
BTW, the plugin has the COF table embedded so the non-existent file gives us 5 years to fix it

Thanks

Pavel
nohal is offline   Reply With Quote
Old 16-12-2014, 16:17   #138
Registered User

Join Date: Nov 2012
Location: Orust Sweden
Boat: Najad 34
Posts: 4,353
Re: World Magnetic Model Plugin

Pavel..
I think it's here:
wmm_pi.cpp:660
Code:
 pConf->SetPath ( _T ( "/Directories" ) );
        wxString s =wxFileName::GetPathSeparator();
        wxString def = *GetpSharedDataLocation() + _T("plugins")
            + s + _T("wmm_pi") + s + _T("data") + s;
        pConf->Read ( _T ( "WMMDataLocation" ), &m_wmm_dir, def);
        return true;
Since the config-file has its old value, WMMDataLocation=C:\\Program\\OpenCPN\\plugins, &m_wmm_dir will take that.

And if I delete the config file key:WMMDataLocation, pConf->Write will nicely print a new correct value.
But how to automate that for all users I'll ask a very clever Czech. But five years is long time, right.
Håkan
Hakan is offline   Reply With Quote
Old 16-12-2014, 16:26   #139
Registered User

Join Date: Feb 2010
Location: Tierra del Fuego
Boat: Phantom 19
Posts: 6,264
Re: World Magnetic Model Plugin

Hakan...
Thanks for finding the cause. I think we will simply throw that setting away... With the plan I have for the plugin system (which should happen faster than in 5 years ), it will be useless anyway...

Pavel
nohal is offline   Reply With Quote
Old 16-12-2014, 16:29   #140
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,943
Images: 2
Re: World Magnetic Model Plugin

Hakan, how do you find these?
rgleason is online now   Reply With Quote
Old 17-12-2014, 01:56   #141
Registered User

Join Date: Nov 2012
Location: Orust Sweden
Boat: Najad 34
Posts: 4,353
Re: World Magnetic Model Plugin

Rick..
Well... I searched for the text .cof and from the hit traced back to see how the directory to the file was constructed. Then debug and some breakpoints to see what's happened.

Pavel...
Thanks, of course we'll trust on you as usual.

Håkan
Hakan is offline   Reply With Quote
Old 17-12-2014, 02:50   #142
Registered User

Join Date: Jul 2010
Location: Hannover - Germany
Boat: Amel Sharki
Posts: 2,547
Re: World Magnetic Model Plugin

Quote:
Originally Posted by nohal View Post
Gerhard...
Would you mind posting the whole report? What you show on the picture is a false positive, but I'm going to commit a fix to make even the less smart statical code analyzers happy.

Pavel
Here are the other issues found by a stupid analyzer. Of course it is better to have a smart OS which simply pop-ups a blue screen when in doubt...
Gerhard

Code:
wmm_pi.cpp
----------
In file included from wmm_pi/src/wmm_pi.cpp:38:
In file included from wmm_pi/src/wmm_pi.h:48:
wmm_pi/src/WMM_SubLibrary.c:1851:3: warning: Potential leak of memory pointed to by 'MagneticModel'
                WMM_Error(2);
                ^~~~~~~~~
wmm_pi/src/WMM_SubLibrary.c:2549:24: warning: The right operand of '*' is a garbage value
                                                * (double) (n+1) * LegendreFunction-> Pcup[index];
                                                                 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wmm_pi/src/WMM_SubLibrary.c:3276:15: warning: The left operand of '==' is a garbage value
        if(Hemisphere=='n' || Hemisphere=='N')
           ~~~~~~~~~~^
3 warnings generated.
---------------------------------------------------------------------------------------------------------------------------
wmm_pi/src/wmm_pi.cpp:142:24: Potential leak of memory pointed to by 'MagneticModel' (within a call to 'WMM_AllocateModelMemory')
wmm_pi/src/wmm_pi.cpp:142:24: Calling 'WMM_AllocateModelMemory'
wmm_pi/src/WMM_SubLibrary.c:1789:1: Entered call from 'wmm_pi::Init'
wmm_pi/src/WMM_SubLibrary.c:1816:46: Memory is allocated
wmm_pi/src/WMM_SubLibrary.c:1828:3: Potential leak of memory pointed to by 'MagneticModel'
--------------------------------------------------------------------
wmm_pi/src/wmm_pi.cpp:435:2: The left operand of '==' is a garbage value (within a call to 'WMM_CalculateGridVariation')
wmm_pi/src/wmm_pi.cpp:435:2: Calling 'WMM_CalculateGridVariation'
wmm_pi/src/WMM_SubLibrary.c:163:1: Entered call from 'wmm_pi::SetCursorLatLon'
wmm_pi/src/WMM_SubLibrary.c:199:2: Calling 'WMM_GetTransverseMercator'
wmm_pi/src/WMM_SubLibrary.c:3237:1: Entered call from 'WMM_CalculateGridVariation'
wmm_pi/src/WMM_SubLibrary.c:3267:5: 'Hemisphere' declared without an initial value
wmm_pi/src/WMM_SubLibrary.c:3273:2: Calling 'WMM_GetUTMParameters'
wmm_pi/src/WMM_SubLibrary.c:3330:1: Entered call from 'WMM_GetTransverseMercator'
wmm_pi/src/WMM_SubLibrary.c:3273:2: Returning from 'WMM_GetUTMParameters'
wmm_pi/src/WMM_SubLibrary.c:3276:15: The left operand of '==' is a garbage value
------------------------------------------------------------------
wmm_pi/src/wmm_pi.cpp:463:2: The left operand of '==' is a garbage value (within a call to 'WMM_CalculateGridVariation')
wmm_pi/src/wmm_pi.cpp:463:2: Calling 'WMM_CalculateGridVariation'
wmm_pi/src/WMM_SubLibrary.c:163:1: Entered call from 'wmm_pi::SetPositionFix'
wmm_pi/src/WMM_SubLibrary.c:199:2: Calling 'WMM_GetTransverseMercator'
wmm_pi/src/WMM_SubLibrary.c:3237:1: Entered call from 'WMM_CalculateGridVariation'
wmm_pi/src/WMM_SubLibrary.c:3267:5: 'Hemisphere' declared without an initial value
wmm_pi/src/WMM_SubLibrary.c:3273:2: Calling 'WMM_GetUTMParameters'
wmm_pi/src/WMM_SubLibrary.c:3330:1: Entered call from 'WMM_GetTransverseMercator'
wmm_pi/src/WMM_SubLibrary.c:3273:2: Returning from 'WMM_GetUTMParameters'
wmm_pi/src/WMM_SubLibrary.c:3276:15: The left operand of '==' is a garbage value
------------------------------------------------------------------
wmm_pi/src/wmm_pi.cpp:545:2: The right operand of '*' is a garbage value (within a call to 'WMM_Geomag')
wmm_pi/src/wmm_pi.cpp:545:2: Calling 'WMM_Geomag'
wmm_pi/src/WMM_SubLibrary.c:3077:1: Entered call from 'wmm_pi::SendVariationAt'
wmm_pi/src/WMM_SubLibrary.c:3115:2: Calling 'WMM_AssociatedLegendreFunction'
wmm_pi/src/WMM_SubLibrary.c:99:1: Entered call from 'WMM_Geomag'
wmm_pi/src/WMM_SubLibrary.c:124:10: Calling 'WMM_PcupLow'
wmm_pi/src/WMM_SubLibrary.c:2034:1: Entered call from 'WMM_AssociatedLegendreFunction'
wmm_pi/src/WMM_SubLibrary.c:2070:6: Assuming 'schmidtQuasiNorm' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:2078:14: Loop body executed 0 times
wmm_pi/src/WMM_SubLibrary.c:2118:14: Loop body executed 0 times
wmm_pi/src/WMM_SubLibrary.c:2138:14: Loop body executed 0 times
wmm_pi/src/WMM_SubLibrary.c:124:10: Returning from 'WMM_PcupLow'
wmm_pi/src/WMM_SubLibrary.c:3115:2: Returning from 'WMM_AssociatedLegendreFunction'
wmm_pi/src/WMM_SubLibrary.c:3117:2: Calling 'WMM_SecVarSummation'
wmm_pi/src/WMM_SubLibrary.c:2518:1: Entered call from 'WMM_Geomag'
wmm_pi/src/WMM_SubLibrary.c:2536:14: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:2538:12: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:2549:24: The right operand of '*' is a garbage value
--------------------------------------------------------------------------
wmm_pi/src/wmm_pi.cpp:546:2: The left operand of '==' is a garbage value (within a call to 'WMM_CalculateGridVariation')
wmm_pi/src/wmm_pi.cpp:546:2: Calling 'WMM_CalculateGridVariation'
wmm_pi/src/WMM_SubLibrary.c:163:1: Entered call from 'wmm_pi::SendVariationAt'
wmm_pi/src/WMM_SubLibrary.c:199:2: Calling 'WMM_GetTransverseMercator'
wmm_pi/src/WMM_SubLibrary.c:3237:1: Entered call from 'WMM_CalculateGridVariation'
wmm_pi/src/WMM_SubLibrary.c:3267:5: 'Hemisphere' declared without an initial value
wmm_pi/src/WMM_SubLibrary.c:3273:2: Calling 'WMM_GetUTMParameters'
wmm_pi/src/WMM_SubLibrary.c:3330:1: Entered call from 'WMM_GetTransverseMercator'
wmm_pi/src/WMM_SubLibrary.c:3360:2: Calling 'WMM_Error'
wmm_pi/src/WMM_SubLibrary.c:435:1: Entered call from 'WMM_GetUTMParameters'
wmm_pi/src/WMM_SubLibrary.c:3360:2: Returning from 'WMM_Error'
wmm_pi/src/WMM_SubLibrary.c:3273:2: Returning from 'WMM_GetUTMParameters'
wmm_pi/src/WMM_SubLibrary.c:3276:15: The left operand of '==' is a garbage value
==============================================================================================================================================================================
WMM_SubLibrary.c
----------------
wmm_pi/src/WMM_SubLibrary.c:357:9: warning: Null pointer argument in call to string copy function
        strcpy(Error, "WMM Error: The Month entered is invalid, valid months are '1 to 12'\n");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from wmm_pi/src/WMM_SubLibrary.c:2:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/string.h:186:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/secure/_string.h:83:3: note: expanded from macro 'strcpy'
  __builtin___strcpy_chk (dest, src, __darwin_obsz (dest))
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wmm_pi/src/WMM_SubLibrary.c:362:9: warning: Null pointer argument in call to string copy function
        strcpy(Error, "WMM Error: The day entered is invalid\n");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from wmm_pi/src/WMM_SubLibrary.c:2:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/string.h:186:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/secure/_string.h:83:3: note: expanded from macro 'strcpy'
  __builtin___strcpy_chk (dest, src, __darwin_obsz (dest))
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wmm_pi/src/WMM_SubLibrary.c:964:88: warning: The left operand of '/' is a garbage value
                        CoordGeodetic->HeightAboveEllipsoid = CoordGeodetic->HeightAboveGeoid + DeltaHeight / 1000;
                                                                                                ~~~~~~~~~~~ ^
wmm_pi/src/WMM_SubLibrary.c:1690:19: warning: Assigned value is garbage or undefined
                                        PrintElement = GeoMagneticElements.GV;          /*8. The Grid Variation*/
                                                     ^ ~~~~~~~~~~~~~~~~~~~~~~
wmm_pi/src/WMM_SubLibrary.c:1851:3: warning: Potential leak of memory pointed to by 'MagneticModel'
                WMM_Error(2);
                ^~~~~~~~~
wmm_pi/src/WMM_SubLibrary.c:1962:28: warning: The right operand of '/' is a garbage value
                        f1[k] = (double)(2*n-1) / PreSqr[n+m] / PreSqr[n-m];
                                                ^ ~~~~~~~~~~~
wmm_pi/src/WMM_SubLibrary.c:2549:24: warning: The right operand of '*' is a garbage value
                                                * (double) (n+1) * LegendreFunction-> Pcup[index];
                                                                 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wmm_pi/src/WMM_SubLibrary.c:3164:13: warning: Potential leak of memory pointed to by 'TimedMagneticModel'
        tot_RMSx = sqrt(tot_RMSx) / n;
                   ^~~~
wmm_pi/src/WMM_SubLibrary.c:3276:15: warning: The left operand of '==' is a garbage value
        if(Hemisphere=='n' || Hemisphere=='N')
           ~~~~~~~~~~^
wmm_pi/src/WMM_SubLibrary.c:3637:21: warning: Access to field 'EditionDate' results in a dereference of a null pointer (loaded from variable 'model')
        model->EditionDate = releasedate.DecimalYear;
        ~~~~~              ^
wmm_pi/src/WMM_SubLibrary.c:3639:15: warning: Access to field 'epoch' results in a dereference of a null pointer (loaded from variable 'model')
        model->epoch = atof(values[MODELSTARTYEAR]);
        ~~~~~        ^
wmm_pi/src/WMM_SubLibrary.c:3771:4: warning: Access to field 'Main_Field_Coeff_G' results in a dereference of a null pointer (loaded from variable 'model')
                        model->Main_Field_Coeff_G[index] = gnm;
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
12 warnings generated.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
wmm_pi/src/WMM_SubLibrary.c:357:9: Null pointer argument in call to string copy function
wmm_pi/src/WMM_SubLibrary.c:3706:6: Assuming 'stream' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3727:9: Assuming 'header_index' is < 'array_size'
wmm_pi/src/WMM_SubLibrary.c:3735:16: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3779:3: Calling 'assignheadervalues'
wmm_pi/src/WMM_SubLibrary.c:3630:1: Entered call from 'WMM_readMagneticModel_ISO'
wmm_pi/src/WMM_SubLibrary.c:3636:35: Passing null pointer value via 2nd parameter 'Error'
wmm_pi/src/WMM_SubLibrary.c:3636:5: Calling 'WMM_DateToYear'
wmm_pi/src/WMM_SubLibrary.c:317:1: Entered call from 'assignheadervalues'
wmm_pi/src/WMM_SubLibrary.c:357:9: Null pointer argument in call to string copy function
---------------------------------------------------------------
wmm_pi/src/WMM_SubLibrary.c:362:9: Null pointer argument in call to string copy function
wmm_pi/src/WMM_SubLibrary.c:3706:6: Assuming 'stream' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3727:9: Assuming 'header_index' is < 'array_size'
wmm_pi/src/WMM_SubLibrary.c:3735:16: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3779:3: Calling 'assignheadervalues'
wmm_pi/src/WMM_SubLibrary.c:3630:1: Entered call from 'WMM_readMagneticModel_ISO'
wmm_pi/src/WMM_SubLibrary.c:3636:35: Passing null pointer value via 2nd parameter 'Error'
wmm_pi/src/WMM_SubLibrary.c:3636:5: Calling 'WMM_DateToYear'
wmm_pi/src/WMM_SubLibrary.c:317:1: Entered call from 'assignheadervalues'
wmm_pi/src/WMM_SubLibrary.c:362:9: Null pointer argument in call to string copy function
---------------------------------------------------------------
wmm_pi/src/WMM_SubLibrary.c:964:88: The left operand of '/' is a garbage value
wmm_pi/src/WMM_SubLibrary.c:1308:30: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1308:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:1308:30: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1308:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:1308:30: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1308:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:1362:30: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1362:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:1362:30: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1362:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:1362:30: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1362:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:1413:8: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1430:4: Calling 'WMM_ConvertGeoidToEllipsoidHeight'
wmm_pi/src/WMM_SubLibrary.c:943:1: Entered call from 'WMM_GetUserInput'
wmm_pi/src/WMM_SubLibrary.c:963:17: Calling 'WMM_GetGeoidHeight'
wmm_pi/src/WMM_SubLibrary.c:850:1: Entered call from 'WMM_ConvertGeoidToEllipsoidHeight'
wmm_pi/src/WMM_SubLibrary.c:963:17: Returning from 'WMM_GetGeoidHeight'
wmm_pi/src/WMM_SubLibrary.c:1430:4: Returning from 'WMM_ConvertGeoidToEllipsoidHeight'
wmm_pi/src/WMM_SubLibrary.c:1432:7: Assuming 'j' is not equal to 1
wmm_pi/src/WMM_SubLibrary.c:1413:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:1413:8: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1430:4: Calling 'WMM_ConvertGeoidToEllipsoidHeight'
wmm_pi/src/WMM_SubLibrary.c:943:1: Entered call from 'WMM_GetUserInput'
wmm_pi/src/WMM_SubLibrary.c:963:17: Calling 'WMM_GetGeoidHeight'
wmm_pi/src/WMM_SubLibrary.c:850:1: Entered call from 'WMM_ConvertGeoidToEllipsoidHeight'
wmm_pi/src/WMM_SubLibrary.c:963:17: Returning from 'WMM_GetGeoidHeight'
wmm_pi/src/WMM_SubLibrary.c:1430:4: Returning from 'WMM_ConvertGeoidToEllipsoidHeight'
wmm_pi/src/WMM_SubLibrary.c:1432:7: Assuming 'j' is not equal to 1
wmm_pi/src/WMM_SubLibrary.c:1413:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:1413:8: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1430:4: Calling 'WMM_ConvertGeoidToEllipsoidHeight'
wmm_pi/src/WMM_SubLibrary.c:943:1: Entered call from 'WMM_GetUserInput'
wmm_pi/src/WMM_SubLibrary.c:963:17: Calling 'WMM_GetGeoidHeight'
wmm_pi/src/WMM_SubLibrary.c:850:1: Entered call from 'WMM_ConvertGeoidToEllipsoidHeight'
wmm_pi/src/WMM_SubLibrary.c:963:17: Returning from 'WMM_GetGeoidHeight'
wmm_pi/src/WMM_SubLibrary.c:1430:4: Returning from 'WMM_ConvertGeoidToEllipsoidHeight'
wmm_pi/src/WMM_SubLibrary.c:1432:7: Assuming 'j' is not equal to 1
wmm_pi/src/WMM_SubLibrary.c:1413:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:1413:8: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1430:4: Calling 'WMM_ConvertGeoidToEllipsoidHeight'
wmm_pi/src/WMM_SubLibrary.c:943:1: Entered call from 'WMM_GetUserInput'
wmm_pi/src/WMM_SubLibrary.c:959:1: 'DeltaHeight' declared without an initial value
wmm_pi/src/WMM_SubLibrary.c:963:17: Calling 'WMM_GetGeoidHeight'
wmm_pi/src/WMM_SubLibrary.c:850:1: Entered call from 'WMM_ConvertGeoidToEllipsoidHeight'
wmm_pi/src/WMM_SubLibrary.c:963:17: Returning from 'WMM_GetGeoidHeight'
wmm_pi/src/WMM_SubLibrary.c:964:88: The left operand of '/' is a garbage value
--------------------------------------------------------------
wmm_pi/src/WMM_SubLibrary.c:1690:19: Assigned value is garbage or undefined
wmm_pi/src/WMM_SubLibrary.c:1616:6: Assuming 'PrintOption' is not equal to 1
wmm_pi/src/WMM_SubLibrary.c:1641:36: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1643:25: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1645:29: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1655:38: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1663:6: Calling 'WMM_CalculateGeoMagneticElements'
wmm_pi/src/WMM_SubLibrary.c:133:1: Entered call from 'WMM_Grid'
wmm_pi/src/WMM_SubLibrary.c:1663:6: Returning from 'WMM_CalculateGeoMagneticElements'
wmm_pi/src/WMM_SubLibrary.c:1664:6: Calling 'WMM_CalculateSecularVariation'
wmm_pi/src/WMM_SubLibrary.c:205:1: Entered call from 'WMM_Grid'
wmm_pi/src/WMM_SubLibrary.c:1664:6: Returning from 'WMM_CalculateSecularVariation'
wmm_pi/src/WMM_SubLibrary.c:1690:19: Assigned value is garbage or undefined
--------------------------------------------------------------
wmm_pi/src/WMM_SubLibrary.c:1828:3: Potential leak of memory pointed to by 'MagneticModel'
wmm_pi/src/WMM_SubLibrary.c:3706:6: Assuming 'stream' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3727:9: Assuming 'header_index' is < 'array_size'
wmm_pi/src/WMM_SubLibrary.c:3735:16: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3735:4: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3735:16: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3745:10: Assuming 'tempint' is > 0
wmm_pi/src/WMM_SubLibrary.c:3748:39: Calling 'WMM_AllocateModelMemory'
wmm_pi/src/WMM_SubLibrary.c:1789:1: Entered call from 'WMM_readMagneticModel_ISO'
wmm_pi/src/WMM_SubLibrary.c:1816:46: Memory is allocated
wmm_pi/src/WMM_SubLibrary.c:1818:6: Assuming 'MagneticModel' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:1828:3: Potential leak of memory pointed to by 'MagneticModel'
--------------------------------------------------------------
wmm_pi/src/WMM_SubLibrary.c:1962:28: The right operand of '/' is a garbage value
wmm_pi/src/WMM_SubLibrary.c:3150:8: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3150:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3150:8: Assuming 'i' is equal to 0
wmm_pi/src/WMM_SubLibrary.c:3150:8: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3150:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3150:8: Assuming 'i' is equal to 0
wmm_pi/src/WMM_SubLibrary.c:3150:8: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3150:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3150:8: Assuming 'i' is equal to 0
wmm_pi/src/WMM_SubLibrary.c:3150:8: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3154:3: Calling 'WMM_Geomag'
wmm_pi/src/WMM_SubLibrary.c:3077:1: Entered call from 'WMM_Comparison'
wmm_pi/src/WMM_SubLibrary.c:3115:2: Calling 'WMM_AssociatedLegendreFunction'
wmm_pi/src/WMM_SubLibrary.c:99:1: Entered call from 'WMM_Geomag'
wmm_pi/src/WMM_SubLibrary.c:123:6: Assuming 'nMax' is > 16
wmm_pi/src/WMM_SubLibrary.c:125:14: Calling 'WMM_PcupHigh'
wmm_pi/src/WMM_SubLibrary.c:1859:1: Entered call from 'WMM_AssociatedLegendreFunction'
wmm_pi/src/WMM_SubLibrary.c:1916:6: Assuming 'f1' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:1927:6: Assuming 'PreSqr' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:1937:6: Assuming 'f2' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:1947:14: Loop body executed 0 times
wmm_pi/src/WMM_SubLibrary.c:1954:12: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1959:13: Loop body executed 0 times
wmm_pi/src/WMM_SubLibrary.c:1954:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:1954:12: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1959:13: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:1962:28: The right operand of '/' is a garbage value
-------------------------------------------------------------
wmm_pi/src/WMM_SubLibrary.c:2549:24: The right operand of '*' is a garbage value
wmm_pi/src/WMM_SubLibrary.c:3150:8: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3154:3: Calling 'WMM_Geomag'
wmm_pi/src/WMM_SubLibrary.c:3077:1: Entered call from 'WMM_Comparison'
wmm_pi/src/WMM_SubLibrary.c:3115:2: Calling 'WMM_AssociatedLegendreFunction'
wmm_pi/src/WMM_SubLibrary.c:99:1: Entered call from 'WMM_Geomag'
wmm_pi/src/WMM_SubLibrary.c:124:10: Calling 'WMM_PcupLow'
wmm_pi/src/WMM_SubLibrary.c:2034:1: Entered call from 'WMM_AssociatedLegendreFunction'
wmm_pi/src/WMM_SubLibrary.c:2070:6: Assuming 'schmidtQuasiNorm' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:2078:14: Loop body executed 0 times
wmm_pi/src/WMM_SubLibrary.c:2118:14: Loop body executed 0 times
wmm_pi/src/WMM_SubLibrary.c:2138:14: Loop body executed 0 times
wmm_pi/src/WMM_SubLibrary.c:124:10: Returning from 'WMM_PcupLow'
wmm_pi/src/WMM_SubLibrary.c:3115:2: Returning from 'WMM_AssociatedLegendreFunction'
wmm_pi/src/WMM_SubLibrary.c:3117:2: Calling 'WMM_SecVarSummation'
wmm_pi/src/WMM_SubLibrary.c:2518:1: Entered call from 'WMM_Geomag'
wmm_pi/src/WMM_SubLibrary.c:2536:14: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:2538:12: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:2549:24: The right operand of '*' is a garbage value
-------------------------------------------------------------
wmm_pi/src/WMM_SubLibrary.c:3164:13: Potential leak of memory pointed to by 'TimedMagneticModel'
wmm_pi/src/WMM_SubLibrary.c:3141:23: Calling 'WMM_AllocateModelMemory'
wmm_pi/src/WMM_SubLibrary.c:1789:1: Entered call from 'WMM_Comparison'
wmm_pi/src/WMM_SubLibrary.c:1816:46: Memory is allocated
wmm_pi/src/WMM_SubLibrary.c:1818:6: Assuming 'MagneticModel' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:3141:23: Returned allocated memory
wmm_pi/src/WMM_SubLibrary.c:3150:8: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3150:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3150:8: Assuming 'i' is not equal to 0
wmm_pi/src/WMM_SubLibrary.c:3164:13: Potential leak of memory pointed to by 'TimedMagneticModel'
-------------------------------------------------------------
wmm_pi/src/WMM_SubLibrary.c:3276:15: The left operand of '==' is a garbage value
wmm_pi/src/WMM_SubLibrary.c:3267:5: 'Hemisphere' declared without an initial value
wmm_pi/src/WMM_SubLibrary.c:3273:2: Calling 'WMM_GetUTMParameters'
wmm_pi/src/WMM_SubLibrary.c:3330:1: Entered call from 'WMM_GetTransverseMercator'
wmm_pi/src/WMM_SubLibrary.c:3273:2: Returning from 'WMM_GetUTMParameters'
wmm_pi/src/WMM_SubLibrary.c:3276:15: The left operand of '==' is a garbage value
-------------------------------------------------------------
wmm_pi/src/WMM_SubLibrary.c:3637:21: Access to field 'EditionDate' results in a dereference of a null pointer (loaded from variable 'model')
wmm_pi/src/WMM_SubLibrary.c:3702:2: 'model' initialized to a null pointer value
wmm_pi/src/WMM_SubLibrary.c:3706:6: Assuming 'stream' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3727:9: Assuming 'header_index' is < 'array_size'
wmm_pi/src/WMM_SubLibrary.c:3735:16: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3779:22: Passing null pointer value via 1st parameter 'model'
wmm_pi/src/WMM_SubLibrary.c:3779:3: Calling 'assignheadervalues'
wmm_pi/src/WMM_SubLibrary.c:3630:1: Entered call from 'WMM_readMagneticModel_ISO'
wmm_pi/src/WMM_SubLibrary.c:3637:21: Access to field 'EditionDate' results in a dereference of a null pointer (loaded from variable 'model')
-------------------------------------------------------------
wmm_pi/src/WMM_SubLibrary.c:3639:15: Access to field 'epoch' results in a dereference of a null pointer (loaded from variable 'model')
wmm_pi/src/WMM_SubLibrary.c:3702:2: 'model' initialized to a null pointer value
wmm_pi/src/WMM_SubLibrary.c:3706:6: Assuming 'stream' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3727:9: Assuming 'header_index' is < 'array_size'
wmm_pi/src/WMM_SubLibrary.c:3735:16: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3779:22: Passing null pointer value via 1st parameter 'model'
wmm_pi/src/WMM_SubLibrary.c:3779:3: Calling 'assignheadervalues'
wmm_pi/src/WMM_SubLibrary.c:3630:1: Entered call from 'WMM_readMagneticModel_ISO'
wmm_pi/src/WMM_SubLibrary.c:3639:15: Access to field 'epoch' results in a dereference of a null pointer (loaded from variable 'model')
-------------------------------------------------------------
wmm_pi/src/WMM_SubLibrary.c:3771:4: Access to field 'Main_Field_Coeff_G' results in a dereference of a null pointer (loaded from variable 'model')
wmm_pi/src/WMM_SubLibrary.c:3706:6: Assuming 'stream' is not equal to null
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3727:9: Assuming 'header_index' is < 'array_size'
wmm_pi/src/WMM_SubLibrary.c:3735:16: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3745:10: Assuming 'tempint' is > 0
wmm_pi/src/WMM_SubLibrary.c:3749:8: Null pointer value stored to 'model'
wmm_pi/src/WMM_SubLibrary.c:3713:2: Looping back to the head of the loop
wmm_pi/src/WMM_SubLibrary.c:3713:9: Entering loop body
wmm_pi/src/WMM_SubLibrary.c:3771:4: Access to field 'Main_Field_Coeff_G' results in a dereference of a null pointer (loaded from variable 'model')
==================================================================================================================================================================
CarCode is offline   Reply With Quote
Old 12-01-2020, 05:34   #143
Registered User

Join Date: Jul 2010
Location: Hannover - Germany
Boat: Amel Sharki
Posts: 2,547
Re: World Magnetic Model Plugin

If someone is still using the WMM plugin, here is the actual WMM.COF file for 2020 til 2025. If you don't know where to copy the file look at your opencpn.log file. But first extract this zip file deleting the doc extension.
Attached Files
File Type: doc WMM.COF.zip.doc (1.5 KB, 57 views)
CarCode is offline   Reply With Quote
Old 12-01-2020, 07:46   #144
Registered User
 
Gilletarom's Avatar

Join Date: Mar 2010
Location: France
Boat: 10.50 mètres
Posts: 3,050
Re: World Magnetic Model Plugin

Hello Dave, Hello Nohal,


In principle, the existence of a new NOAA WMM file should lead to a new version of the WMM plugin. And since this plugin is contained in OpenCPN, this should lead to a new version of OpenCPN.

I assume you will be releasing a new version of OpenCPN soon. What timetable do you plan to follow on this subject?


Gilletarom (who also wishes you a happy new year 2020)
Gilletarom is offline   Reply With Quote
Old 12-01-2020, 08:10   #145
Marine Service Provider
 
bdbcat's Avatar

Join Date: Mar 2008
Posts: 7,576
Re: World Magnetic Model Plugin

Gilletarom...


We plan tentatively to start a new Beta test program within a month or 6 weeks. This will include the update to the WMM model.


Thanks
Dave
bdbcat is offline   Reply With Quote
Old 12-01-2020, 08:41   #146
Registered User
 
Gilletarom's Avatar

Join Date: Mar 2010
Location: France
Boat: 10.50 mètres
Posts: 3,050
Re: World Magnetic Model Plugin

Quote:
Originally Posted by bdbcat View Post
Gilletarom...
We plan tentatively to start a new Beta test program within a month or 6 weeks. This will include the update to the WMM model.

Dave

Thank you Dave.
Gilletarom is offline   Reply With Quote
Old 13-01-2020, 06:34   #147
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,943
Images: 2
Re: World Magnetic Model Plugin

Thank you CarCode, very thoughful.



Quote:
Originally Posted by CarCode View Post
If someone is still using the WMM plugin, here is the actual WMM.COF file for 2020 til 2025. If you don't know where to copy the file look at your opencpn.log file. But first extract this zip file deleting the doc extension.
rgleason is online now   Reply With Quote
Old 28-05-2021, 09:59   #148
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,943
Images: 2
Re: World Magnetic Model Plugin

Somewhat off-topic, but very relevant.


Changing airport runway names due to the shift in magnetic fields

https://www.ncei.noaa.gov/news/airpo...magnetic-field

https://www.ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml


Should it be updated in OpenCPN?
https://www.ngdc.noaa.gov/geomag/WMM...html#downloads
rgleason is online now   Reply With Quote
Old 28-05-2021, 10:31   #149
Registered User

Join Date: Feb 2010
Location: Tierra del Fuego
Boat: Phantom 19
Posts: 6,264
Re: World Magnetic Model Plugin

Updated what?
If you try to suggest we update to WMM 2020, you are bit too late, it was done a year and half ago when that model was released.
nohal is offline   Reply With Quote
Old 31-01-2023, 05:06   #150
Registered User
 
rgleason's Avatar

Join Date: Mar 2012
Location: Boston, MA
Boat: 1981 Bristol 32 Sloop
Posts: 17,943
Images: 2
Re: World Magnetic Model Plugin

Fascinating article in science.org about


"Kauri trees mark magnetic flip 42,000 years ago
Researchers say cosmic ray bombardment unleashed by weaker field drove climate shift."
rgleason is online now   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Plugin: DashBoard SethDart OpenCPN 650 12-08-2024 10:19
Logbook Plug-in SethDart OpenCPN 113 04-06-2022 11:21
BSB 4 PlugIn bdbcat OpenCPN 98 25-04-2018 18:46
Chartwork Plugin mario f OpenCPN 10 29-03-2012 19:21
Suitable Make and Model for Around the World Voyage DirtyDave Monohull Sailboats 43 21-02-2011 13:33

Advertise Here


All times are GMT -7. The time now is 05:26.


Google+
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Social Knowledge Networks
Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

ShowCase vBulletin Plugins by Drive Thru Online, Inc.