'1') {$SITE['WXsoftwareLongName'] .= 'MX'; } $timeofnextupdate = date('H:i',strtotime(CUfixupTime($time))+$WX['interval']*60); // calculated value $temperature = $WX['temp']; $tempnodp = round(preg_replace('|,|','.',$WX['temp']),0); // calculated value $humidity = $WX['hum']; $dewpt = $WX['dew']; $maxtemp = $WX['tempTH']; $maxtempt = $WX['TtempTH']; $mintemp = $WX['tempTL']; $mintempt = $WX['TtempTL']; $heati = $WX['heatindex']; $heatinodp = round(preg_replace('|,|','.',$WX['heatindex']),0); // calculated value $windch = $WX['wchill']; $windchnodp = round(preg_replace('|,|','.',$WX['wchill']),0); // calculated value $humidex = $WX['humidex']; $apparenttemp = $WX['apptemp']; $tempchangehour = $WX['temptrend']; $maxtempyest = $WX['tempYH']; $maxtempyestt = $WX['TtempYH']; $mintempyest = $WX['tempYL']; $mintempyestt = $WX['TtempYL']; if(isset($WX['RecentOutsideTemp h=24'])) { $temp24hoursago = $WX['RecentOutsideTemp h=24']; } // beta tag if(isset($WX['RecentHumidity m=60'])){$humchangelasthour=$WX['hum']-$WX['RecentHumidity m=60'];} // conditional value if(isset($WX['RecentDewPoint m=60'])){$dewchangelasthour=$WX['dew']-$WX['RecentDewPoint m=60'];} // conditional value if(isset($WX['RecentPressure m=60'])){$barochangelasthour=$WX['press']-$WX['RecentPressure m=60'];} // conditional value $avgspd = $WX['wspeed']; $gstspd = $WX['wgust']; $maxgst = $WX['wgustTM']; $maxgstt = $WX['TwgustTM']; $dirlabel = $WX['wdir']; $baro = $WX['press']; $trend = $WX['presstrendval']; $pressuretrendname = $WX['presstrend']; $pressuretrendname3hour = $WX['presstrendenglish']; $vpforecasttext = $WX['wsforecast']; $dayrn = $WX['rfall']; $monthrn = $WX['rmonth']; $yearrn = $WX['ryear']; $currentrainratehr = $WX['rrate']; $maxrainrate = $WX['rrateTM']; $maxrainratehr = $WX['rrateTM']; $maxrainratetime = $WX['TrrateTM']; $yesterdayrain = $WX['rfallY']; $VPsolar = $WX['SolarRad']; $VPuv = $WX['UV']; if(isset($WX['solarTH'])) { $highsolar = $WX['solarTH']; } // beta tag if(isset($WX['UVTH'])) { $highuv = $WX['UVTH']; } // beta tag if(isset($WX['TsolarTH'])) { $highsolartime = $WX['TsolarTH']; } // beta tag if(isset($WX['TUVTH'])) { $highuvtime = $WX['TUVTH']; } // beta tag if(isset($WX['UVYH'])) { $highuvyest = $WX['UVYH']; } // beta tag if(isset($WX['TUVYH'])) { $highuvyesttime = $WX['TUVYH']; } // beta tag $mrecordwindgust = $WX['MonthGustH']; list($mrecordhighgustday,$mrecordhighgustmonth,$mrecordhighgustyear)=CU_getRecordDate($WX['MonthGustHD'],$WX['year']); // calculated value $snownowin = $WX['snowdepth']; $snownowcm = $WX['snowdepth']; $temp0minuteago = $WX['temp']; $wind0minuteago = $WX['wspeed']; $gust0minuteago = $WX['wgust']; $dir0minuteago = $WX['wdir']; $hum0minuteago = $WX['hum']; $dew0minuteago = $WX['dew']; $baro0minuteago = $WX['press']; $rain0minuteago = $WX['rfall']; $VPsolar0minuteago = $WX['SolarRad']; $VPuv0minuteago = $WX['UV']; if(isset($WX['RecentOutsideTemp m=5'])) { $temp5minuteago = $WX['RecentOutsideTemp m=5']; } // beta tag if(isset($WX['RecentWindSpeed m=5'])) { $wind5minuteago = $WX['RecentWindSpeed m=5']; } // beta tag if(isset($WX['RecentWindGust m=5'])) { $gust5minuteago = $WX['RecentWindGust m=5']; } // beta tag if(isset($WX['RecentWindAvgDir m=5'])) {$dir5minuteago = CU_deg2dir($WX['RecentWindAvgDir m=5']); } // conditional value if(isset($WX['RecentHumidity m=5'])) { $hum5minuteago = $WX['RecentHumidity m=5']; } // beta tag if(isset($WX['RecentDewPoint m=5'])) { $dew5minuteago = $WX['RecentDewPoint m=5']; } // beta tag if(isset($WX['RecentPressure m=5'])) { $baro5minuteago = $WX['RecentPressure m=5']; } // beta tag if(isset($WX['RecentRainToday m=5'])) { $rain5minuteago = $WX['RecentRainToday m=5']; } // beta tag if(isset($WX['RecentSolarRad m=5'])) { $VPsolar5minuteago = $WX['RecentSolarRad m=5']; } // beta tag if(isset($WX['RecentUV m=5'])) { $VPuv5minuteago = $WX['RecentUV m=5']; } // beta tag if(isset($WX['RecentOutsideTemp m=10'])) { $temp10minuteago = $WX['RecentOutsideTemp m=10']; } // beta tag if(isset($WX['RecentWindSpeed m=10'])) { $wind10minuteago = $WX['RecentWindSpeed m=10']; } // beta tag if(isset($WX['RecentWindGust m=10'])) { $gust10minuteago = $WX['RecentWindGust m=10']; } // beta tag if(isset($WX['RecentWindAvgDir m=10'])) {$dir10minuteago = CU_deg2dir($WX['RecentWindAvgDir m=10']); } // conditional value if(isset($WX['RecentHumidity m=10'])) { $hum10minuteago = $WX['RecentHumidity m=10']; } // beta tag if(isset($WX['RecentDewPoint m=10'])) { $dew10minuteago = $WX['RecentDewPoint m=10']; } // beta tag if(isset($WX['RecentPressure m=10'])) { $baro10minuteago = $WX['RecentPressure m=10']; } // beta tag if(isset($WX['RecentRainToday m=10'])) { $rain10minuteago = $WX['RecentRainToday m=10']; } // beta tag if(isset($WX['RecentSolarRad m=10'])) { $VPsolar10minuteago = $WX['RecentSolarRad m=10']; } // beta tag if(isset($WX['RecentUV m=10'])) { $VPuv10minuteago = $WX['RecentUV m=10']; } // beta tag if(isset($WX['RecentOutsideTemp m=15'])) { $temp15minuteago = $WX['RecentOutsideTemp m=15']; } // beta tag if(isset($WX['RecentWindSpeed m=15'])) { $wind15minuteago = $WX['RecentWindSpeed m=15']; } // beta tag if(isset($WX['RecentWindGust m=15'])) { $gust15minuteago = $WX['RecentWindGust m=15']; } // beta tag if(isset($WX['RecentWindAvgDir m=15'])) {$dir15minuteago = CU_deg2dir($WX['RecentWindAvgDir m=15']); } // conditional value if(isset($WX['RecentHumidity m=15'])) { $hum15minuteago = $WX['RecentHumidity m=15']; } // beta tag if(isset($WX['RecentDewPoint m=15'])) { $dew15minuteago = $WX['RecentDewPoint m=15']; } // beta tag if(isset($WX['RecentPressure m=15'])) { $baro15minuteago = $WX['RecentPressure m=15']; } // beta tag if(isset($WX['RecentRainToday m=15'])) { $rain15minuteago = $WX['RecentRainToday m=15']; } // beta tag if(isset($WX['RecentSolarRad m=15'])) { $VPsolar15minuteago = $WX['RecentSolarRad m=15']; } // beta tag if(isset($WX['RecentUV m=15'])) { $VPuv15minuteago = $WX['RecentUV m=15']; } // beta tag if(isset($WX['RecentOutsideTemp m=20'])) { $temp20minuteago = $WX['RecentOutsideTemp m=20']; } // beta tag if(isset($WX['RecentWindSpeed m=20'])) { $wind20minuteago = $WX['RecentWindSpeed m=20']; } // beta tag if(isset($WX['RecentWindGust m=20'])) { $gust20minuteago = $WX['RecentWindGust m=20']; } // beta tag if(isset($WX['RecentWindAvgDir m=20'])) {$dir20minuteago = CU_deg2dir($WX['RecentWindAvgDir m=20']); } // conditional value if(isset($WX['RecentHumidity m=20'])) { $hum20minuteago = $WX['RecentHumidity m=20']; } // beta tag if(isset($WX['RecentDewPoint m=20'])) { $dew20minuteago = $WX['RecentDewPoint m=20']; } // beta tag if(isset($WX['RecentPressure m=20'])) { $baro20minuteago = $WX['RecentPressure m=20']; } // beta tag if(isset($WX['RecentRainToday m=20'])) { $rain20minuteago = $WX['RecentRainToday m=20']; } // beta tag if(isset($WX['RecentSolarRad m=20'])) { $VPsolar20minuteago = $WX['RecentSolarRad m=20']; } // beta tag if(isset($WX['RecentUV m=20'])) { $VPuv20minuteago = $WX['RecentUV m=20']; } // beta tag if(isset($WX['RecentOutsideTemp m=30'])) { $temp30minuteago = $WX['RecentOutsideTemp m=30']; } // beta tag if(isset($WX['RecentWindSpeed m=30'])) { $wind30minuteago = $WX['RecentWindSpeed m=30']; } // beta tag if(isset($WX['RecentWindGust m=30'])) { $gust30minuteago = $WX['RecentWindGust m=30']; } // beta tag if(isset($WX['RecentWindAvgDir m=30'])) {$dir30minuteago = CU_deg2dir($WX['RecentWindAvgDir m=30']); } // conditional value if(isset($WX['RecentHumidity m=30'])) { $hum30minuteago = $WX['RecentHumidity m=30']; } // beta tag if(isset($WX['RecentDewPoint m=30'])) { $dew30minuteago = $WX['RecentDewPoint m=30']; } // beta tag if(isset($WX['RecentPressure m=30'])) { $baro30minuteago = $WX['RecentPressure m=30']; } // beta tag if(isset($WX['RecentRainToday m=30'])) { $rain30minuteago = $WX['RecentRainToday m=30']; } // beta tag if(isset($WX['RecentSolarRad m=30'])) { $VPsolar30minuteago = $WX['RecentSolarRad m=30']; } // beta tag if(isset($WX['RecentUV m=30'])) { $VPuv30minuteago = $WX['RecentUV m=30']; } // beta tag if(isset($WX['RecentOutsideTemp m=45'])) { $temp45minuteago = $WX['RecentOutsideTemp m=45']; } // beta tag if(isset($WX['RecentWindSpeed m=45'])) { $wind45minuteago = $WX['RecentWindSpeed m=45']; } // beta tag if(isset($WX['RecentWindGust m=45'])) { $gust45minuteago = $WX['RecentWindGust m=45']; } // beta tag if(isset($WX['RecentWindAvgDir m=45'])) {$dir45minuteago = CU_deg2dir($WX['RecentWindAvgDir m=45']); } // conditional value if(isset($WX['RecentHumidity m=45'])) { $hum45minuteago = $WX['RecentHumidity m=45']; } // beta tag if(isset($WX['RecentDewPoint m=45'])) { $dew45minuteago = $WX['RecentDewPoint m=45']; } // beta tag if(isset($WX['RecentPressure m=45'])) { $baro45minuteago = $WX['RecentPressure m=45']; } // beta tag if(isset($WX['RecentRainToday m=45'])) { $rain45minuteago = $WX['RecentRainToday m=45']; } // beta tag if(isset($WX['RecentSolarRad m=45'])) { $VPsolar45minuteago = $WX['RecentSolarRad m=45']; } // beta tag if(isset($WX['RecentUV m=45'])) { $VPuv45minuteago = $WX['RecentUV m=45']; } // beta tag if(isset($WX['RecentOutsideTemp m=60'])) { $temp60minuteago = $WX['RecentOutsideTemp m=60']; } // beta tag if(isset($WX['RecentWindSpeed m=60'])) { $wind60minuteago = $WX['RecentWindSpeed m=60']; } // beta tag if(isset($WX['RecentWindGust m=60'])) { $gust60minuteago = $WX['RecentWindGust m=60']; } // beta tag if(isset($WX['RecentWindAvgDir m=60'])) {$dir60minuteago = CU_deg2dir($WX['RecentWindAvgDir m=60']); } // conditional value if(isset($WX['RecentHumidity m=60'])) { $hum60minuteago = $WX['RecentHumidity m=60']; } // beta tag if(isset($WX['RecentDewPoint m=60'])) { $dew60minuteago = $WX['RecentDewPoint m=60']; } // beta tag if(isset($WX['RecentPressure m=60'])) { $baro60minuteago = $WX['RecentPressure m=60']; } // beta tag if(isset($WX['RecentRainToday m=60'])) { $rain60minuteago = $WX['RecentRainToday m=60']; } // beta tag if(isset($WX['RecentSolarRad m=60'])) { $VPsolar60minuteago = $WX['RecentSolarRad m=60']; } // beta tag if(isset($WX['RecentUV m=60'])) { $VPuv60minuteago = $WX['RecentUV m=60']; } // beta tag if(isset($WX['RecentOutsideTemp m=75'])) { $temp75minuteago = $WX['RecentOutsideTemp m=75']; } // beta tag if(isset($WX['RecentWindSpeed m=75'])) { $wind75minuteago = $WX['RecentWindSpeed m=75']; } // beta tag if(isset($WX['RecentWindGust m=75'])) { $gust75minuteago = $WX['RecentWindGust m=75']; } // beta tag if(isset($WX['RecentWindAvgDir m=75'])) {$dir75minuteago = CU_deg2dir($WX['RecentWindAvgDir m=75']); } // conditional value if(isset($WX['RecentHumidity m=75'])) { $hum75minuteago = $WX['RecentHumidity m=75']; } // beta tag if(isset($WX['RecentDewPoint m=75'])) { $dew75minuteago = $WX['RecentDewPoint m=75']; } // beta tag if(isset($WX['RecentPressure m=75'])) { $baro75minuteago = $WX['RecentPressure m=75']; } // beta tag if(isset($WX['RecentRainToday m=75'])) { $rain75minuteago = $WX['RecentRainToday m=75']; } // beta tag if(isset($WX['RecentSolarRad m=75'])) { $VPsolar75minuteago = $WX['RecentSolarRad m=75']; } // beta tag if(isset($WX['RecentUV m=75'])) { $VPuv75minuteago = $WX['RecentUV m=75']; } // beta tag if(isset($WX['RecentOutsideTemp m=90'])) { $temp90minuteago = $WX['RecentOutsideTemp m=90']; } // beta tag if(isset($WX['RecentWindSpeed m=90'])) { $wind90minuteago = $WX['RecentWindSpeed m=90']; } // beta tag if(isset($WX['RecentWindGust m=90'])) { $gust90minuteago = $WX['RecentWindGust m=90']; } // beta tag if(isset($WX['RecentWindAvgDir m=90'])) {$dir90minuteago = CU_deg2dir($WX['RecentWindAvgDir m=90']); } // conditional value if(isset($WX['RecentHumidity m=90'])) { $hum90minuteago = $WX['RecentHumidity m=90']; } // beta tag if(isset($WX['RecentDewPoint m=90'])) { $dew90minuteago = $WX['RecentDewPoint m=90']; } // beta tag if(isset($WX['RecentPressure m=90'])) { $baro90minuteago = $WX['RecentPressure m=90']; } // beta tag if(isset($WX['RecentRainToday m=90'])) { $rain90minuteago = $WX['RecentRainToday m=90']; } // beta tag if(isset($WX['RecentSolarRad m=90'])) { $VPsolar90minuteago = $WX['RecentSolarRad m=90']; } // beta tag if(isset($WX['RecentUV m=90'])) { $VPuv90minuteago = $WX['RecentUV m=90']; } // beta tag if(isset($WX['RecentOutsideTemp m=105'])) { $temp105minuteago = $WX['RecentOutsideTemp m=105']; } // beta tag if(isset($WX['RecentWindSpeed m=105'])) { $wind105minuteago = $WX['RecentWindSpeed m=105']; } // beta tag if(isset($WX['RecentWindGust m=105'])) { $gust105minuteago = $WX['RecentWindGust m=105']; } // beta tag if(isset($WX['RecentWindAvgDir m=105'])) {$dir105minuteago = CU_deg2dir($WX['RecentWindAvgDir m=105']); } // conditional value if(isset($WX['RecentHumidity m=105'])) { $hum105minuteago = $WX['RecentHumidity m=105']; } // beta tag if(isset($WX['RecentDewPoint m=105'])) { $dew105minuteago = $WX['RecentDewPoint m=105']; } // beta tag if(isset($WX['RecentPressure m=105'])) { $baro105minuteago = $WX['RecentPressure m=105']; } // beta tag if(isset($WX['RecentRainToday m=105'])) { $rain105minuteago = $WX['RecentRainToday m=105']; } // beta tag if(isset($WX['RecentSolarRad m=105'])) { $VPsolar105minuteago = $WX['RecentSolarRad m=105']; } // beta tag if(isset($WX['RecentUV m=105'])) { $VPuv105minuteago = $WX['RecentUV m=105']; } // beta tag if(isset($WX['RecentOutsideTemp m=120'])) { $temp120minuteago = $WX['RecentOutsideTemp m=120']; } // beta tag if(isset($WX['RecentWindSpeed m=120'])) { $wind120minuteago = $WX['RecentWindSpeed m=120']; } // beta tag if(isset($WX['RecentWindGust m=120'])) { $gust120minuteago = $WX['RecentWindGust m=120']; } // beta tag if(isset($WX['RecentWindAvgDir m=120'])) {$dir120minuteago = CU_deg2dir($WX['RecentWindAvgDir m=120']); } // conditional value if(isset($WX['RecentHumidity m=120'])) { $hum120minuteago = $WX['RecentHumidity m=120']; } // beta tag if(isset($WX['RecentDewPoint m=120'])) { $dew120minuteago = $WX['RecentDewPoint m=120']; } // beta tag if(isset($WX['RecentPressure m=120'])) { $baro120minuteago = $WX['RecentPressure m=120']; } // beta tag if(isset($WX['RecentRainToday m=120'])) { $rain120minuteago = $WX['RecentRainToday m=120']; } // beta tag if(isset($WX['RecentSolarRad m=120'])) { $VPsolar120minuteago = $WX['RecentSolarRad m=120']; } // beta tag if(isset($WX['RecentUV m=120'])) { $VPuv120minuteago = $WX['RecentUV m=120']; } // beta tag if(isset($WX['ET'])) { $VPet = $WX['ET']; } // beta tag $dateoflastrainalways = $WX['LastRainTipISO']; $highbaro = $WX['pressTH']; $highbarot = $WX['TpressTH']; if(isset($WX['solarYH'])) { $highsolaryest = $WX['solarYH']; } // beta tag if(isset($WX['TsolarYH'])) { $highsolaryesttime = $WX['TsolarYH']; } // beta tag $hourrn = $WX['rhour']; $maxaverageyest = $WX['windYM']; $maxaverageyestt = $WX['TwindYM']; $maxbaroyest = $WX['pressYH']; $maxbaroyestt = $WX['TpressYH']; $maxgstdirectionletter = CU_deg2dir($WX['bearingTM']); // calculated value $maxgustyest = $WX['wgustYM']; $maxgustyestt = $WX['TwgustYM']; $minchillyest = $WX['wchillYL']; $minchillyestt = $WX['TwchillYL']; $minwindch = $WX['wchillTL']; $minwindcht = $WX['TwchillTL']; $mrecordhighbaro = $WX['MonthPressH']; list($mrecordhighbaroday,$mrecordhighbaromonth,$mrecordhighbaroyear)=CU_getRecordDate($WX['MonthPressHD'],$WX['year']); // calculated value $mrecordhightemp = $WX['MonthTempH']; list($mrecordhightempday,$mrecordhightempmonth,$mrecordhightempyear)=CU_getRecordDate($WX['MonthTempHD'],$WX['year']); // calculated value $mrecordlowchill = $WX['MonthWChillL']; list($mrecordlowchillday,$mrecordlowchillmonth,$mrecordlowchillyear)=CU_getRecordDate($WX['MonthWChillLD'],$WX['year']); // conditional value $mrecordlowtemp = $WX['MonthTempL']; list($mrecordlowtempday,$mrecordlowtempmonth,$mrecordlowtempyear)=CU_getRecordDate($WX['MonthTempLD'],$WX['year']); // calculated value $windruntoday = $WX['windrun']; $yrecordhighbaro = $WX['YearPressH']; list($yrecordhighbaroday,$yrecordhighbaromonth,$yrecordhighbaroyear)=CU_getRecordDate($WX['YearPressHD'],$WX['year']); // calculated value list($yrecordhighgustday,$yrecordhighgustmonth,$yrecordhighgustyear)=CU_getRecordDate($WX['YearGustHD'],$WX['year']); // calculated value $yrecordhightemp = $WX['YearTempH']; list($yrecordhightempday,$yrecordhightempmonth,$yrecordhightempyear)=CU_getRecordDate($WX['YearTempHD'],$WX['year']); // calculated value $yrecordlowchill = $WX['YearWChillL']; list($yrecordlowchillday,$yrecordlowchillmonth,$yrecordlowchillyear)=CU_getRecordDate($WX['YearWChillLD'],$WX['year']); // conditional value $yrecordlowtemp = $WX['YearTempL']; list($yrecordlowtempday,$yrecordlowtempmonth,$yrecordlowtempyear)=CU_getRecordDate($WX['YearTempLD'],$WX['year']); // calculated value $yrecordwindgust = $WX['YearGustH']; $yrecordwindspeed = $WX['YearWindH']; $minbaroyest = $WX['pressYL']; $minbaroyestt = $WX['TpressYL']; $mrecordlowbaro = $WX['MonthPressL']; list($mrecordlowbaroday,$mrecordlowbaromonth,$mrecordlowbaroyear)=CU_getRecordDate($WX['MonthPressLD'],$WX['year']); // calculated value $yrecordlowbaro = $WX['YearPressL']; list($yrecordlowbaroday,$yrecordlowbaromonth,$yrecordlowbaroyear)=CU_getRecordDate($WX['YearPressLD'],$WX['year']); // calculated value $recordhightemp = $WX['tempH']; list($recordhightempday,$recordhightempmonth,$recordhightempyear)=CU_getAlltimeDate($WX['TtempH']); // calculated value $recordlowtemp = $WX['tempL']; list($recordlowtempday,$recordlowtempmonth,$recordlowtempyear)=CU_getAlltimeDate($WX['TtempL']); // calculated value $maxheat = $WX['heatindexTH']; $maxheatt = $WX['TheatindexTH']; $maxheatyest = $WX['heatindexYH']; $mrecordhighheatindex = $WX['MonthHeatIndexH']; $yrecordhighheatindex = $WX['YearHeatIndexH']; $lowbaro = $WX['pressTL']; $lowbarot = $WX['TpressTL']; $maxheatyestt = $WX['TheatindexYH']; list($mrecordhighheatindexday,$mrecordhighheatindexmonth,$mrecordhighheatindexyear)=CU_getRecordDate($WX['MonthHeatIndexHD'],$WX['year']); // conditional value list($yrecordhighheatindexday,$yrecordhighheatindexmonth,$yrecordhighheatindexyear)=CU_getRecordDate($WX['YearHeatIndexHD'],$WX['year']); // conditional value $windrunyesterday = $WX['windrunY']; // end of generation script // additional variables defined V1.12 if they're available if(isset($WX['DavisFirmwareVersion'])){$DavisFirmwareVersion = $WX['DavisFirmwareVersion'];} if(isset($WX['DavisNumCRCerrors'])){$DavisNumCRCerrors = $WX['DavisNumCRCerrors'];} if(isset($WX['DavisMaxInARow'])){$DavisMaxInARow = $WX['DavisMaxInARow'];} if(isset($WX['DavisNumberOfResynchs'])){$DavisNumberOfResynchs = $WX['DavisNumberOfResynchs'];} if(isset($WX['DavisTotalPacketsMissed'])){$DavisTotalPacketsMissed = $WX['DavisTotalPacketsMissed'];} if(isset($WX['DavisTotalPacketsReceived'])){$DavisTotalPacketsReceived = $WX['DavisTotalPacketsReceived'];} if(isset($WX['battery'])){$battery = $WX['battery'];} if(isset($WX['txbattery'])){$txbattery = $WX['txbattery'];} if(isset($WX['OsVersion'])){$osversion = $WX['OsVersion'];} if(isset($WX['CpuName'])){$cpuname = $WX['CpuName'];} if(isset($WX['CpuCount'])){$cpucount = $WX['CpuCount'];} if(isset($WX['AllocatedMemory'])){$allocatedmemory = $WX['AllocatedMemory'];} if(isset($WX['DiskSize'])){$disksize = $WX['DiskSize'];} if(isset($WX['DiskFree'])){$diskfree = $WX['DiskFree'];} if(isset($WX['LatestError'])){$latesterror = $WX['LatestError'];} if(isset($WX['LatestErrorDate'])){$latesterrordate = $WX['LatestErrorDate'];} if(isset($WX['LatestErrorTime'])){$latesterrortime = $WX['LatestErrorTime'];} if(isset($WX['ErrorLight'])){$errorlight = $WX['ErrorLight'];} if(isset($WX['realtimeinterval'])){$realtimeinterval = $WX['realtimeinterval'];} if(isset($WX['interval'])){$interval = $WX['interval'];} if(isset($WX['rollovertime'])){$rollovertime = $WX['rollovertime'];} if(isset($WX['update'])){$update = $WX['update'];} if(isset($WX['stationtype'])){$stationtype = $WX['stationtype'];} if(isset($WX['latitude'])){$latitude = $WX['latitude'];} if(isset($WX['longitude'])){$longitude = $WX['longitude'];} if(isset($WX['altitude'])){$altitude = $WX['altitude'];} if(isset($WX['location'])){$location = $WX['location'];} if(isset($WX['longlocation'])){$longlocation = $WX['longlocation'];} if(isset($WX['recordsbegandate'])){$recordsbegandate = $WX['recordsbegandate'];} # CU unique functions included from CU-functions-inc.txt #------------------------------------------------------------------------------------- # function processed WD variables #------------------------------------------------------------------------------------- global $SITE; $SITE['commaDecimal'] = strpos($temperature,',') !==false?true:false; // using comma for decimal point? if(substr($WX['LastRainTipISO'],0,4) <> '0000') { // got a last rain valid date # $WX['LastRainTipISO'] = '2012-06-05 03:58'; $cuDF = ($SITE['WDdateMDY'])?'m/d/y':'d/m/y'; list($dateoflastrainalways,$timeoflastrainalways) = explode(' ',date("$cuDF H:i",strtotime($WX['LastRainTipISO']))); $dayswithnorain = intval((strtotime(date('Y-m-d'))-strtotime(substr($WX['LastRainTipISO'],0,10)))/86400); } if(isset($SITE['conditionsMETAR'])) { // override with METAR conditions for text and icon if requested. include_once("get-metar-conditions-inc.php"); list($Currentsolardescription,$iconnumber,$icongraphic,$icontext,$mtrstuff) = mtr_conditions($SITE['conditionsMETAR'], $time, $sunrise, $sunset,true); if(isset($currentrainratehr) and (!isset($SITE['overrideRain']) or (isset($SITE['overrideRain']) and $SITE['overrideRain'])) ) { list($Currentsolardescription,$iconnumber) = CU_RainRateIcon($Currentsolardescription,$iconnumber,$currentrainratehr,$uomrain,$time,$sunrise,$sunset,$WX['LastRainTipISO']); } } # generate the separate date/time variables by dissection of input date/time and format list($date_year,$date_month,$date_day,$time_hour,$time_minute,$monthname,$dayname) = CU_setDateTimes($date,$time,$SITE['WDdateMDY']); $beaufortnum = CU_beaufortNumber($avgspd,$uomwind); $bftspeedtext = CU_beaufortText($beaufortnum); list($chandler,$chandlertxt,$chandlerimg) = CU_CBI($temperature,$uomtemp,$humidity); if(!isset($wdversion) and isset($SITE['WXsoftwareVersion'])) {$wdversion = $SITE['WXsoftwareVersion']; } list($feelslike,$heatcolourword) = CU_setFeelslike ($temperature,$windch,$heati,$humidex,$apparenttemp,$uomtemp); if($dirlabel == '---'){$dirlabel = $WX['currentwdir'];} // use current winddir when wdir='---' for avg=0.0 wind if(isset($VPuv) and $VPuv > 0.0) { $burntime = (0.8/((3/7)*$VPuv))*60; # Weather-Display formula for burn time $burntime = round($burntime,0); } else { $burntime = '---'; } #------------------------------------------------------------------------------------- # WCT support function - CU_RainRateIcon #------------------------------------------------------------------------------------- function CU_RainRateIcon($inText,$inIcon,$inRate,$inUOM,$time,$sunrise,$sunset,$lastRain='0000-00-00T00:00:00') { global $Debug; /* Rainfall intensity is classified according to the rate of precipitation: Light rain — rate is < 2.5 mm (0.098 in) per hour Moderate rain — rate is between 2.5 mm (0.098 in) - 7.6 mm (0.30 in) or 10 mm (0.39 in) per hour Heavy rain — rate is > 7.6 mm (0.30 in) per hour, or between 10 mm (0.39 in) and 50 mm (2.0 in) per hour Violent rain — rate is > 50 mm (2.0 in) per hour */ $Debug .= "\n"; $newText = ''; // assume no changes $newIcon = $inIcon; $rate = $inRate; if(preg_match('|in|i',$inUOM)) { // convert to mm/hr rate $rate = $inRate * 25.4; } if(substr($lastRain,0,4) <> '0000') { if($rate < 0.001 and time()-strtotime($lastRain) < 30*60) { $newText = 'Moderate Drizzle'; } } if ($rate > 0.0 and $rate < 2.5) { $newText = 'Light Rain'; } if ($rate >=2.5 and $rate < 7.6) { $newText = 'Moderate Rain'; } if ($rate >=7.6 and $rate < 50.0) { $newText = 'Heavy Rain'; } if ($rate >= 50.0) { $newText = 'Violent Rain'; } if($newText <> '' or $rate == 0.0) { if ($newText <> '' and $inText <> '') {$newText .= ', ';} $newText .= preg_replace('/(Light|Moderate|Heavy|Violent|Extreme){0,1}\s*(Rain|Mist|Drizzle), /i','',$inText); $newIcon = mtr_get_iconnumber ($time,$newText,$sunrise,$sunset); } else { $newText = $inText; } $Debug .= "\n"; return(array($newText,$newIcon)); } #------------------------------------------------------------------------------------- # CU support function - CUfixupTime #------------------------------------------------------------------------------------- function CUfixupTime ($intime) { global $Debug; $tfixed = preg_replace('/^(\S+)\s+(\S+)$/is',"$2",$intime); $t = explode(':',$tfixed); if(!isset($t[1])) { $t = explode('.',$tfixed); } if (preg_match('/p/i',$tfixed)) { $t[0] = $t[0] + 12; } if ($t[0] > 23) {$t[0] = 12; } if (preg_match('/^12.*a/i',$tfixed)) { $t[0] = 0; } if ($t[0] < '10') {$t[0] = sprintf("%02d",$t[0]); } // leading zero on hour. $t2 = join(':',$t); // put time back to gether; $t2 = preg_replace('/[^\d\:]/is','',$t2); // strip out the am/pm if any $Debug .= "\n"; return($t2); } // end CUfixupTime #------------------------------------------------------------------------------------- # CU support function - CU_setDateTimes #------------------------------------------------------------------------------------- function CU_setDateTimes ($indate,$intime,$MDYformat=true) { // returns: $date_year,$date_month,$date_day,$time_hour,$time_minute,$date_month,$monthname,$dayname global $Debug; $Debug .= "\n"; $d = explode('/',$indate); if(!isset($d[2])) {$d = explode("-",$indate);} if(!isset($d[2])) {$d = explode(".",$indate);} if($d[2]<2000) {$d[2]+=2000;} if($MDYformat) { // mm/dd/yyyy $YMD = "$d[2]-$d[0]-$d[1]"; } else { // dd/mm/yyyy $YMD = "$d[2]-$d[1]-$d[0]"; } $t = CUfixupTime($intime); $CUtime = strtotime("$YMD $t:00"); $Debug .= "\n"; $CUtime = date('Y m d H i F l',$CUtime); $Debug .= "\n"; if(isset($_REQUEST['debug'])) {echo $Debug; } return(explode(' ',$CUtime)); // results returned in array for list() assignment } // end CU_setDateTimes #------------------------------------------------------------------------------------- # CU support function - CU_beaufortNumber #------------------------------------------------------------------------------------- function CU_beaufortNumber ($inWind,$usedunit) { global $Debug; $rawwind = $inWind; // first convert all winds to knots if(strpos($inWind,',') !== false) { $rawwind = preg_replace('|,|','.',$inWind); } $WINDkts = 0.0; if (preg_match('/kts|knot/i',$usedunit)) { $WINDkts = $rawwind * 1.0; } elseif (preg_match('/mph/i',$usedunit)) { $WINDkts = $rawwind * 0.8689762; } elseif (preg_match('/mps|m\/s/i',$usedunit)) { $WINDkts = $rawwind * 1.94384449; } elseif (preg_match('/kmh|km\/h/i',$usedunit)) { $WINDkts = $rawwind * 0.539956803; } else { $Debug .= "\n"; $WINDkts = $rawwind * 1.0; } // return a number for the beaufort scale based on wind in knots if ($WINDkts < 1 ) {return(0); } if ($WINDkts < 4 ) {return(1); } if ($WINDkts < 7 ) {return(2); } if ($WINDkts < 11 ) {return(3); } if ($WINDkts < 17 ) {return(4); } if ($WINDkts < 22 ) {return(5); } if ($WINDkts < 28 ) {return(6); } if ($WINDkts < 34 ) {return(7); } if ($WINDkts < 41 ) {return(8); } if ($WINDkts < 48 ) {return(9); } if ($WINDkts < 56 ) {return(10); } if ($WINDkts < 64 ) {return(11); } if ($WINDkts >= 64 ) {return(12); } return("0"); } // end CU_beaufortNumber #------------------------------------------------------------------------------------- # CU support function - CU_beaufortText #------------------------------------------------------------------------------------- function CU_beaufortText ($beaufortnumber) { $B = array( /* Beaufort 0 to 12 in English */ "Calm", "Light air", "Light breeze", "Gentle breeze", "Moderate breeze", "Fresh breeze", "Strong breeze", "Near gale", "Gale", "Strong gale", "Storm", "Violent storm", "Hurricane" ); if(isset($B[$beaufortnumber])) { return $B[$beaufortnumber]; } else { return "Unknown $beaufortnumber Bft"; } } // end CU_beaufortText #------------------------------------------------------------------------------------- # CU support function - CU_setFeelslike #------------------------------------------------------------------------------------- function CU_setFeelslike ($temp,$windchill,$heatindex,$humidex,$apparenttemp,$tempUOM) { global $Debug, $SITE; // establish the feelslike temperature and return a word describing how it feels $HeatWords = array( 'Unknown', 'Extreme Heat Danger', 'Heat Danger', 'Extreme Heat Caution', 'Extremely Hot', 'Uncomfortably Hot', 'Hot', 'Warm', 'Comfortable', 'Cool', 'Cold', 'Uncomfortably Cold', 'Very Cold', 'Extreme Cold' ); if(isset($SITE['feelslike'])) { $flVar = $SITE['feelslike']; } else { $flVar = -1; } // first convert all temperatures to Centigrade if need be $TC = $temp; $WC = $windchill; switch ($flVar) { case 0: $HC = $heatindex; $using = 'HeatIndex'; break; case 1: $HC = $humidex; $using = 'Humidex'; break; case 2: $HC = $apparenttemp; $using = 'ApparentTemp'; break; default: $HC = $heatindex; $using = 'HeatIndex(default)'; break; } if(strpos($TC,',') !== false) { $TC = preg_replace('|,|','.',$TC); $WC = preg_replace('|,|','.',$WC); $HC = preg_replace('|,|','.',$HC); } if (preg_match('|F|i',$tempUOM)) { // convert F to C if need be $TC = sprintf("%01.1f",round(($TC-32.0) / 1.8,1)); $WC = sprintf("%01.1f",round(($WC-32.0) / 1.8,1)); $HC = sprintf("%01.1f",round(($HC-32.0) / 1.8,1)); } // Feelslike if ($TC <= 16.0 ) { $feelslike = $WC; //use WindChill } elseif ($TC >=27.0) { $feelslike = $HC; //use HeatIndex/Humidex/ApparentTemp } else { $feelslike = $TC; // use temperature } if (preg_match('|F|i',$tempUOM)) { // convert C back to F if need be $feelslike = (1.8 * $feelslike) + 32.0; } $feelslike = round($feelslike,0); // determine the 'heat color word' to use $hcWord = $HeatWords[0]; $hcFound = false; if ($TC > 32 and $HC > 29) { if ($HC > 54 and ! $hcFound) { $hcWord = $HeatWords[1]; $hcFound = true;} if ($HC > 45 and ! $hcFound) { $hcWord = $HeatWords[2]; $hcFound = true; } if ($HC > 39 and ! $hcFound) { $hcWord = $HeatWords[4]; $hcFound = true; } if ($HC > 29 and ! $hcFound) { $hcWord = $HeatWords[6]; $hcFound = true; } } elseif ($WC < 16 ) { if ($WC < -18 and ! $hcFound) { $hcWord = $HeatWords[13]; $hcFound = true; } if ($WC < -9 and ! $hcFound) { $hcWord = $HeatWords[12]; $hcFound = true; } if ($WC < -1 and ! $hcFound) { $hcWord = $HeatWords[11]; $hcFound = true; } if ($WC < 8 and ! $hcFound) { $hcWord = $HeatWords[10]; $hcFound = true; } if ($WC < 16 and ! $hcFound) { $hcWord = $HeatWords[9]; $hcFound = true; } } elseif ($WC >= 16 and $TC <= 32) { if ($TC <= 26 and ! $hcFound) { $hcWord = $HeatWords[8]; $hcFound = true; } if ($TC <= 32 and ! $hcFound) { $hcWord = $HeatWords[7]; $hcFound = true; } } if(isset($_REQUEST['debug'])) { echo "\n"; } return(array($feelslike,$hcWord)); } // end of CU_setFeelslike #------------------------------------------------------------------------------------- # CU support function - CU_CBI - Chandler Burning Index #------------------------------------------------------------------------------------- function CU_CBI($inTemp,$inTempUOM,$inHumidity) { // thanks to Chris from sloweather.com for the CBI calculation script // modified by Ken True for template usage preg_match('/([\d\.\,\+\-]+)/',$inTemp,$t); // strip non-numeric from inTemp if any $ctemp = $t[1]; if(strpos($ctemp,',') !== false) { $ctemp = preg_replace('|,|','.',$ctemp); } if(!preg_match('|C|i',$inTempUOM)) { $ctemp = ($ctemp-32.0) / 1.8; // convert from Fahrenheit } preg_match('/([\d\.\,\+\-]+)/',$inHumidity,$t); // strip non-numeric from inHumidity if any $rh = $t[1]; if(strpos($rh,',') !== false) { $rh = preg_replace('|,|','.',$rh); } // Start Index Calcs // Chandler Index $cbi = (((110 - 1.373 * $rh) - 0.54 * (10.20 - $ctemp)) * (124 * pow(10,-0.0142 * $rh) ))/60; // CBI = (((110 - 1.373*RH) - 0.54 * (10.20 - T)) * (124 * 10**(-0.0142*RH)))/60 //Sort out the Chandler Index $cbi = round($cbi,1); if ($cbi > "97.5") { $cbitxt = "EXTREME"; $cbiimg= "fdl_extreme.gif"; } elseif ($cbi >="90") { $cbitxt = "VERY HIGH"; $cbiimg= "fdl_vhigh.gif"; } elseif ($cbi >= "75") { $cbitxt = "HIGH"; $cbiimg= "fdl_high.gif"; } elseif ($cbi >= "50") { $cbitxt = "MODERATE"; $cbiimg= "fdl_moderate.gif"; } else { $cbitxt="LOW"; $cbiimg= "fdl_low.gif"; } $data = array($cbi,$cbitxt,$cbiimg); return $data; } // end CU_CBI #------------------------------------------------------------------------------------- # CU support function - CU_getRecordDate - Convert 'dd Month '.'YYYY' to list(d,m,y) #------------------------------------------------------------------------------------- function CU_getRecordDate($inDayMonth,$inYear) { global $SITE,$Debug; $EnglishMonths = array( 'January','February','March','April','May','June', 'July','August','September','October','November','December'); $tstr = $inDayMonth . ' ' . $inYear; $Debug .= "\n"; // input dates are assumed to be in English only if (isset($SITE['monthNames'])) { // convert TO English for strtotime() foreach ($EnglishMonths as $i => $monthEN) { $tstr = preg_replace('|'.$SITE['monthNames'][$i].'|i',$monthEN,$tstr); } $Debug .= "\n"; } $ttime = strtotime($tstr); $ltime = date('j n Y',$ttime); $Debug .= "\n"; return(explode(' ',$ltime)); } #------------------------------------------------------------------------------------- # CU support function - CU_getAlltimeDate - Convert 'at 2:45 PM on 16 October 2009' to list(d,m,y) #------------------------------------------------------------------------------------- function CU_getAlltimeDate($inDate) { global $SITE,$Debug; $EnglishMonths = array( 'January','February','March','April','May','June', 'July','August','September','October','November','December'); $Debug .= "\n"; if(preg_match('|^at (.*) on (.*)$|i',$inDate,$m)) { // at 2:45 PM on 16 October 2009 $tstr = $m[2] . " " .$m[1]; } elseif (preg_match('|^on (.*)$|i',$inDate,$m)) { // on 16 October 2009 $tstr = $m[1]; } // input dates are assumed to be in English only if (isset($SITE['monthNames'])) { // convert TO English for strtotime() foreach ($EnglishMonths as $i => $monthEN) { $tstr = preg_replace('|'.$SITE['monthNames'][$i].'|i',$monthEN,$tstr); } $Debug .= "\n"; } $ttime = strtotime($tstr); $ltime = date('j n Y H:i',$ttime); $Debug .= "\n"; return(explode(' ',$ltime)); } #------------------------------------------------------------------------------------- # CU support function - CU_deg2dir - Convert wind direction degrees to cardinal name #------------------------------------------------------------------------------------- function CU_deg2dir ($degrees) { // figure out a text value for compass direction // Given the wind direction, return the text label // for that value. 16 point compass $winddir = $degrees; if ($winddir == "n/a") { return($winddir); } if (!isset($winddir)) { return "---"; } if (!is_numeric($winddir)) { return($winddir); } $windlabel = array ("N","NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW","SW", "WSW", "W", "WNW", "NW", "NNW"); $dir = $windlabel[ (integer)fmod((($winddir + 11) / 22.5),16) ]; return($dir); } // end function CU_deg2dir #------------------------------------------------------------------------------------- # end of CU support functions #------------------------------------------------------------------------------------- ?>