In my web site "sandbox" (where I test my mods before going live) I have PHP error reporting turned on in the most verbose mode possible. Last night, I noticed that I was getting a "Notice" message in the METAR code that I hadn't seen before. Ends up it was a combination of PHP 7.1 (which I'm using) and fog...
Notice: A non well formed numeric value encountered in (file) (line number)
After digging a bit, I found that the line generating the notice is in get-metar-conditions-inc.php within the function mtr_get_visibility():
$kmVis = round( $part * 1.6 );
and it only occurs when $part is a fraction (e.g, "1/2", "1/4").
After even more investigation, I see that it consistently gives me the Notice only when pulling the data from the cache file. When pulling fresh data from the web, the Notice doesn't happen - even though the string is the same. I stuck some debug code in to put the string, its length, and its type into the comments. There is no difference in what is displayed in the comment between the cached and fresh data (e.g., "1/4", length 4, type "string"), and yet I only see the error for the cached data.
As to why I'm only seeing this now, it's a change that went into PHP 7.1.
https://wiki.php.net/rfc/invalid_strings_in_arithmeticAnyway, I'm still trying to figure this out. It's not a huge problem as the math still works properly whether the Notice appears or not, but it's bugging me.... If anyone has an idea let me know.