$JSONdata['UV'] = round($wflash[19], 1); // CU Sample= '0.7' $JSONdata['UVTH'] = round($wflash[46], 1); // CU Sample= '1.7'; $JSONdata['SolarRad'] = round($wflash[20]); // CU Sample= '267' $JSONdata['SolarTM'] = round($wflash2[47]); // CU Sample= '560' $JSONdata['CurrentSolarMax'] = round($wflash2[47]); // CU Sample= '438' $JSONdata['domwinddir'] = getWindDir($wflash2[3]); // WD Sample= 'Northwesterly', CU Sample= 'NW' $JSONdata['WindRoseData'] = '[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]'; // Note: VWS does not collect/publish this windrose data // a WD Sample='[22.0,23.0,7.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0,233.0,139.0]' $JSONdata['windrun'] = convertWind($wflash2[258], $uomWindRun); // new in ver=9 $JSONdata['cloudbase'] = round($wflash[27], 0); // CU Sample= '1783', new in ver 11 $JSONdata['cloudbaseunit'] = $uomCloudBase; // CU Sample= 'ft', new in ver 11 $JSONdata['version'] = substr($wflash2[283], 1); // WD Sample= '10.37R' $JSONdata['build'] = ' n/a'; // WD Sample= '45' $JSONdata['ver'] = '11'; // for SS gauges 2.5.0); // JSON assembly done. Output the JSON file+status if ($doDebug) { print "<pre>\n"; } else {
# water temp if ($WTMP != '-') { $found_wtmp = true; $temp = wsConvertTemperature($WTMP, $uom_in['temp']); $WTMP = wsNumber($temp, $SITE['decTemp']); } # wind description based on wind dir in degrees $WDSC = getWindDir($WDIR); // 180 degr => S # wind speed $wind = convertWind($WSPD); $WSPD = wsNumber($wind, $SITE['decWind']); # wind gust if ($GST != '-') { $found_gust = true; $wind = convertWind($GST); $GST = wsNumber($wind, $SITE['decWind']); } # pressure if ($PRES != '-') { $baro = wsConvertBaro($PRES, $uom_in['baro']); $PRES = wsNumber($baro, $SITE['decBaro']); } # pressure trend if ($PTDY != '-') { $found_pdty = true; $old = $PTDY; $baro = wsConvertBaro(abs($PTDY), $uom_in['baro']); $PTDY = wsNumber($baro, $SITE['decBaro']); if ($old < 0) { $PTDY = '-' . $PTDY;
function wind_stats($arr, $col) { //Returns array $return with Hi Lo & Ave in [0],[1]&[2] //Disregards 0 or "calm" entries $hi = $arr[0][$col]; $lo = $arr[0][$col]; $tot = 0; $num = 0; for ($row = 0; $row < count($arr); $row++) { //if ($arr[$row][$col] != 0) { // Suggestion by Paul Gogan $num++; $tot = $tot + $arr[$row][$col]; if ($arr[$row][$col] > $hi) { $hi = $arr[$row][$col]; } if ($arr[$row][$col] < $lo) { $lo = $arr[$row][$col]; } //} } $return[0] = convertWind($hi); $return[1] = convertWind($lo); $return[2] = convertWind(round($tot / $num, 1)); return $return; }