diff --git a/.travis.yml b/.travis.yml index 43abad7..5c5030c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,7 @@ bundler_args: --retry 3 language: node_js +services: + - mongodb before_install: - export TZ=America/Chicago - npm install -g grunt-cli diff --git a/package.json b/package.json index 4df7e49..20c0a8b 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,9 @@ "description": "OpenSprinkler Weather Service", "version": "0.0.1", "repository": "https://github.com/OpenSprinkler/Weather-Adjustments/", + "scripts": { + "test": "mocha test" + }, "dependencies": { "cron": "^1.0.9", "dotenv": "^1.2.0", @@ -14,7 +17,11 @@ "xml2js": "^0.4.9" }, "devDependencies": { + "chai": "^3.0.0", "grunt": "^0.4.5", - "grunt-contrib-jshint": "^0.11.2" + "grunt-contrib-jshint": "^0.11.2", + "hippie": "^0.3.0", + "mocha": "^2.2.5", + "nock": "^2.7.0" } } diff --git a/server.js b/server.js index c6a7940..af07d0a 100644 --- a/server.js +++ b/server.js @@ -61,3 +61,5 @@ new CronJob( "0 0 0 * * *", function() { } ); } ); }, null, true, "UTC" ); + +exports.app = app; diff --git a/test/api.js b/test/api.js new file mode 100644 index 0000000..8ac2d94 --- /dev/null +++ b/test/api.js @@ -0,0 +1,76 @@ +var hippie = require( "hippie" ), + nock = require( "nock" ), + replies = require( "./replies" ), + server = require( "../server" ).app; + +function apiTest( opt ) { + + var opt = extend( {}, { + method: 0, + loc: "", + key: "", + format: "json", + callback: function() {} + }, opt ), + url = "/" + opt.method + "?loc=" + opt.loc + "&key=" + opt.key + "&format=" + opt.format; + + setupMocks( opt.loc ); + + hippie( server ) + .json() + .get( url ) + .expectStatus( 200 ) + .end( function( err, res, body ) { + if ( err ) { + throw err; + } + opt.callback( body ); + } ); +} + +function setupMocks( location ) { + nock( "http://autocomplete.wunderground.com" ) + .filteringPath( function( path ) { + return "/"; + } ) + .get( "/" ) + .reply( 200, replies[location].WUautoComplete ); + + nock( "http://api.wunderground.com" ) + .filteringPath( function( path ) { + return "/"; + } ) + .get( "/" ) + .reply( 200, replies[location].WUyesterday ); + + nock( "http://api.weather.com" ) + .filteringPath( function( path ) { + return "/"; + } ) + .get( "/" ) + .reply( 200, replies[location].WSIcurrent ); +} + +describe( "Weather API", function() { + describe( "/:method endpoint", function() { + it( "The Weather Channel Source Test", function( done ) { + apiTest( { + method: 1, + loc: "01002", + callback: function( reply ) { + done(); + } + } ); + } ); + } ); +} ); + +function extend( target ) { + var sources = [].slice.call( arguments, 1 ); + sources.forEach( function( source ) { + for ( var prop in source ) { + target[prop] = source[prop]; + } + } ); + return target; +} diff --git a/test/replies.json b/test/replies.json new file mode 100644 index 0000000..c4c16dc --- /dev/null +++ b/test/replies.json @@ -0,0 +1,1858 @@ +{ + "01002": { + "WUautoComplete": { + "RESULTS": [{ + "name": "01002 - Amherst, MA", + "type": "city", + "c": "US", + "zmw": "01002.1.99999", + "tz": "America/New_York", + "tzs": "EDT", + "l": "/q/zmw:01002.1.99999", + "ll": "42.376862 -72.469139", + "lat": "42.376862", + "lon": "-72.469139" + }] + }, + "WUyesterday": { + "response": { + "version": "0.1", + "termsofService": "http://www.wunderground.com/weather/api/d/terms.html", + "features": { + "yesterday": 1, + "conditions": 1 + } + }, + "current_observation": { + "image": { + "url": "http://icons.wxug.com/graphics/wu2/logo_130x80.png", + "title": "Weather Underground", + "link": "http://www.wunderground.com" + }, + "display_location": { + "full": "Amherst, MA", + "city": "Amherst", + "state": "MA", + "state_name": "Massachusetts", + "country": "US", + "country_iso3166": "US", + "zip": "01002", + "magic": "1", + "wmo": "99999", + "latitude": "42.37686157", + "longitude": "-72.46913910", + "elevation": "132.00000000" + }, + "observation_location": { + "full": "Cushman Village, North Amherst, Amherst, Massachusetts", + "city": "Cushman Village, North Amherst, Amherst", + "state": "Massachusetts", + "country": "US", + "country_iso3166": "US", + "latitude": "42.408440", + "longitude": "-72.504799", + "elevation": "322 ft" + }, + "estimated": {}, + "station_id": "KMAAMHER12", + "observation_time": "Last Updated on July 12, 10:05 AM EDT", + "observation_time_rfc822": "Sun, 12 Jul 2015 10:05:16 -0400", + "observation_epoch": "1436709916", + "local_time_rfc822": "Sun, 12 Jul 2015 10:09:05 -0400", + "local_epoch": "1436710145", + "local_tz_short": "EDT", + "local_tz_long": "America/New_York", + "local_tz_offset": "-0400", + "weather": "Clear", + "temperature_string": "76.4 F (24.7 C)", + "temp_f": 76.4, + "temp_c": 24.7, + "relative_humidity": "63%", + "wind_string": "Calm", + "wind_dir": "North", + "wind_degrees": -9999, + "wind_mph": 0.0, + "wind_gust_mph": "1.0", + "wind_kph": 0, + "wind_gust_kph": "1.6", + "pressure_mb": "1017", + "pressure_in": "30.04", + "pressure_trend": "0", + "dewpoint_string": "63 F (17 C)", + "dewpoint_f": 63, + "dewpoint_c": 17, + "heat_index_string": "NA", + "heat_index_f": "NA", + "heat_index_c": "NA", + "windchill_string": "NA", + "windchill_f": "NA", + "windchill_c": "NA", + "feelslike_string": "76.4 F (26 C)", + "feelslike_f": "76.4", + "feelslike_c": "26", + "visibility_mi": "10.0", + "visibility_km": "16.1", + "solarradiation": "--", + "UV": "7", + "precip_1hr_string": "0.00 in ( 0 mm)", + "precip_1hr_in": "0.00", + "precip_1hr_metric": " 0", + "precip_today_string": "0.00 in (0 mm)", + "precip_today_in": "0.00", + "precip_today_metric": "0", + "icon": "clear", + "icon_url": "http://icons.wxug.com/i/c/k/clear.gif", + "forecast_url": "http://www.wunderground.com/US/MA/Amherst.html", + "history_url": "http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=KMAAMHER12", + "ob_url": "http://www.wunderground.com/cgi-bin/findweather/getForecast?query=42.408440,-72.504799", + "nowcast": "" + }, + "history": { + "date": { + "pretty": "July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "12", + "min": "00", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "16", + "min": "00", + "tzname": "UTC" + }, + "observations": [{ + "date": { + "pretty": "12:29 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "00", + "min": "29", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "4:29 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "04", + "min": "29", + "tzname": "UTC" + }, + "tempm": "17.0", + "tempi": "62.6", + "dewptm": "16.0", + "dewpti": "60.8", + "hum": "94", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1015.5", + "pressurei": "29.99", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Light Drizzle", + "icon": "rain", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "SPECI KCEF 110429Z AUTO 00000KT 10SM -DZ OVC080 17/16 A2999 RMK AO2 DZB29" + }, { + "date": { + "pretty": "12:30 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "00", + "min": "30", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "4:30 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "04", + "min": "30", + "tzname": "UTC" + }, + "tempm": "17.0", + "tempi": "62.6", + "dewptm": "16.0", + "dewpti": "60.8", + "hum": "94", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1015.8", + "pressurei": "30.00", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Overcast", + "icon": "cloudy", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "SPECI KCEF 110430Z AUTO 00000KT 10SM OVC080 17/16 A3000 RMK AO2 DZB29E30" + }, { + "date": { + "pretty": "12:58 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "00", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "4:58 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "04", + "min": "58", + "tzname": "UTC" + }, + "tempm": "16.6", + "tempi": "61.9", + "dewptm": "15.8", + "dewpti": "60.4", + "hum": "95", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1016.4", + "pressurei": "30.02", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "0.0", + "precipi": "0.00", + "conds": "Overcast", + "icon": "cloudy", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 110458Z AUTO 00000KT 10SM OVC080 17/16 A3000 RMK AO2 DZB29E30 SLP164 P0000 T01660158 402840161" + }, { + "date": { + "pretty": "1:58 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "01", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "5:58 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "05", + "min": "58", + "tzname": "UTC" + }, + "tempm": "15.7", + "tempi": "60.3", + "dewptm": "15.0", + "dewpti": "59.0", + "hum": "96", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1016.4", + "pressurei": "30.02", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 110558Z AUTO 00000KT 10SM CLR 16/15 A3000 RMK AO2 VIS 3/4 RWY23 SLP164 60000 T01570150 10241 20157 52005" + }, { + "date": { + "pretty": "2:58 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "02", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "6:58 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "06", + "min": "58", + "tzname": "UTC" + }, + "tempm": "14.8", + "tempi": "58.6", + "dewptm": "14.2", + "dewpti": "57.6", + "hum": "96", + "wspdm": "5.6", + "wspdi": "3.5", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "70", + "wdire": "ENE", + "vism": "11.3", + "visi": "7.0", + "pressurem": "1016.4", + "pressurei": "30.02", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 110658Z AUTO 07003KT 7SM CLR 15/14 A3000 RMK AO2 VIS 2 RWY23 SLP164 T01480142" + }, { + "date": { + "pretty": "3:57 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "03", + "min": "57", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "7:57 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "07", + "min": "57", + "tzname": "UTC" + }, + "tempm": "14.0", + "tempi": "57.2", + "dewptm": "13.0", + "dewpti": "55.4", + "hum": "94", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "4.0", + "visi": "2.5", + "pressurem": "1016.1", + "pressurei": "30.01", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "SPECI KCEF 110757Z AUTO 00000KT 2 1/2SM BR CLR 14/13 A3001 RMK AO2 VIS 2 1/2V9 VIS 1 3/4 RWY23" + }, { + "date": { + "pretty": "3:58 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "03", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "7:58 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "07", + "min": "58", + "tzname": "UTC" + }, + "tempm": "14.0", + "tempi": "57.2", + "dewptm": "13.0", + "dewpti": "55.4", + "hum": "94", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "4.0", + "visi": "2.5", + "pressurem": "1016.7", + "pressurei": "30.03", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 110758Z AUTO 00000KT 2 1/2SM BR CLR 14/13 A3001 RMK AO2 VIS 2 1/2V9 SLP167" + }, { + "date": { + "pretty": "4:02 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "04", + "min": "02", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "8:02 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "08", + "min": "02", + "tzname": "UTC" + }, + "tempm": "13.0", + "tempi": "55.4", + "dewptm": "13.0", + "dewpti": "55.4", + "hum": "100", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "4.8", + "visi": "3.0", + "pressurem": "1016.1", + "pressurei": "30.01", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "SPECI KCEF 110802Z AUTO 00000KT 3SM BR CLR 13/13 A3001 RMK AO2" + }, { + "date": { + "pretty": "4:58 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "04", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "8:58 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "08", + "min": "58", + "tzname": "UTC" + }, + "tempm": "14.0", + "tempi": "57.2", + "dewptm": "13.5", + "dewpti": "56.3", + "hum": "97", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "8.0", + "visi": "5.0", + "pressurem": "1017.1", + "pressurei": "30.04", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 110858Z AUTO 00000KT 5SM BR CLR 14/14 A3002 RMK AO2 VIS 1 1/2 RWY23 SLP171 T01400135 53007" + }, { + "date": { + "pretty": "5:03 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "05", + "min": "03", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "9:03 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "09", + "min": "03", + "tzname": "UTC" + }, + "tempm": "14.0", + "tempi": "57.2", + "dewptm": "13.0", + "dewpti": "55.4", + "hum": "94", + "wspdm": "1.9", + "wspdi": "1.2", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "230", + "wdire": "SW", + "vism": "4.0", + "visi": "2.5", + "pressurem": "1016.5", + "pressurei": "30.02", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "SPECI KCEF 110903Z AUTO 23001KT 2 1/2SM BR CLR 14/13 A3002 RMK AO2 VIS 2 1/2V7" + }, { + "date": { + "pretty": "5:05 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "05", + "min": "05", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "9:05 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "09", + "min": "05", + "tzname": "UTC" + }, + "tempm": "14.0", + "tempi": "57.2", + "dewptm": "13.0", + "dewpti": "55.4", + "hum": "94", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "3.2", + "visi": "2.0", + "pressurem": "1016.5", + "pressurei": "30.02", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "SPECI KCEF 110905Z AUTO 00000KT 2SM BR CLR 14/13 A3002 RMK AO2 VIS 2V5 VIS 1 RWY23" + }, { + "date": { + "pretty": "5:09 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "05", + "min": "09", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "9:09 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "09", + "min": "09", + "tzname": "UTC" + }, + "tempm": "14.0", + "tempi": "57.2", + "dewptm": "13.0", + "dewpti": "55.4", + "hum": "94", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "4.0", + "visi": "2.5", + "pressurem": "1016.8", + "pressurei": "30.03", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "SPECI KCEF 110909Z AUTO 00000KT 2 1/2SM BR CLR 14/13 A3003 RMK AO2 VIS 2V4 VIS 3/4 RWY23" + }, { + "date": { + "pretty": "5:13 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "05", + "min": "13", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "9:13 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "09", + "min": "13", + "tzname": "UTC" + }, + "tempm": "14.0", + "tempi": "57.2", + "dewptm": "13.0", + "dewpti": "55.4", + "hum": "94", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "6.4", + "visi": "4.0", + "pressurem": "1016.8", + "pressurei": "30.03", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "SPECI KCEF 110913Z AUTO 00000KT 4SM BR CLR 14/13 A3003 RMK AO2 VIS 1/2 RWY23" + }, { + "date": { + "pretty": "5:58 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "05", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "9:58 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "09", + "min": "58", + "tzname": "UTC" + }, + "tempm": "12.7", + "tempi": "54.9", + "dewptm": "12.2", + "dewpti": "54.0", + "hum": "97", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "12.9", + "visi": "8.0", + "pressurem": "1017.8", + "pressurei": "30.06", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 110958Z AUTO 00000KT 8SM CLR 13/12 A3004 RMK AO2 VIS M1/4 RWY23 SLP178 T01270122" + }, { + "date": { + "pretty": "6:58 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "06", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "10:58 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "10", + "min": "58", + "tzname": "UTC" + }, + "tempm": "15.6", + "tempi": "60.1", + "dewptm": "15.1", + "dewpti": "59.2", + "hum": "97", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1018.4", + "pressurei": "30.08", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 111058Z AUTO 00000KT 10SM CLR 16/15 A3006 RMK AO2 SLP184 T01560151" + }, { + "date": { + "pretty": "7:58 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "07", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "11:58 AM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "11", + "min": "58", + "tzname": "UTC" + }, + "tempm": "18.1", + "tempi": "64.6", + "dewptm": "17.2", + "dewpti": "63.0", + "hum": "94", + "wspdm": "1.9", + "wspdi": "1.2", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "100", + "wdire": "East", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1018.8", + "pressurei": "30.09", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 111158Z AUTO 10001KT 10SM CLR 18/17 A3007 RMK AO2 SLP188 T01810172 10181 20127 52017 PWINO $" + }, { + "date": { + "pretty": "8:58 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "08", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "12:58 PM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "12", + "min": "58", + "tzname": "UTC" + }, + "tempm": "21.5", + "tempi": "70.7", + "dewptm": "15.3", + "dewpti": "59.5", + "hum": "68", + "wspdm": "7.4", + "wspdi": "4.6", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "40", + "wdire": "NE", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1018.7", + "pressurei": "30.09", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 111258Z AUTO 04004KT 10SM CLR 22/15 A3007 RMK AO2 SLP187 T02150153 PWINO $" + }, { + "date": { + "pretty": "9:58 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "09", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "1:58 PM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "13", + "min": "58", + "tzname": "UTC" + }, + "tempm": "24.1", + "tempi": "75.4", + "dewptm": "15.7", + "dewpti": "60.3", + "hum": "59", + "wspdm": "9.3", + "wspdi": "5.8", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "Variable", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1018.8", + "pressurei": "30.09", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 111358Z AUTO VRB05KT 10SM CLR 24/16 A3007 RMK AO2 SLP188 T02410157 PWINO $" + }, { + "date": { + "pretty": "10:58 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "10", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "2:58 PM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "14", + "min": "58", + "tzname": "UTC" + }, + "tempm": "25.7", + "tempi": "78.3", + "dewptm": "14.8", + "dewpti": "58.6", + "hum": "51", + "wspdm": "11.1", + "wspdi": "6.9", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "20", + "wdire": "NNE", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1018.7", + "pressurei": "30.09", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 111458Z AUTO 02006KT 10SM CLR 26/15 A3007 RMK AO2 SLP187 T02570148 58002 PWINO $" + }, { + "date": { + "pretty": "11:58 AM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "11", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "3:58 PM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "15", + "min": "58", + "tzname": "UTC" + }, + "tempm": "27.2", + "tempi": "81.0", + "dewptm": "14.3", + "dewpti": "57.7", + "hum": "45", + "wspdm": "13.0", + "wspdi": "8.1", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "350", + "wdire": "North", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1018.4", + "pressurei": "30.08", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "27.3", + "heatindexi": "81.1", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 111558Z AUTO 35007KT 10SM CLR 27/14 A3006 RMK AO2 SLP184 T02720143 PWINO $" + }, { + "date": { + "pretty": "12:58 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "12", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "4:58 PM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "16", + "min": "58", + "tzname": "UTC" + }, + "tempm": "28.2", + "tempi": "82.8", + "dewptm": "13.2", + "dewpti": "55.8", + "hum": "39", + "wspdm": "11.1", + "wspdi": "6.9", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "60", + "wdire": "ENE", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1018.4", + "pressurei": "30.08", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "27.8", + "heatindexi": "82.0", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 111658Z AUTO 06006KT 10SM CLR 28/13 A3006 RMK AO2 SLP184 T02820132 PWINO $" + }, { + "date": { + "pretty": "1:58 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "13", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "5:58 PM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "17", + "min": "58", + "tzname": "UTC" + }, + "tempm": "28.5", + "tempi": "83.3", + "dewptm": "13.1", + "dewpti": "55.6", + "hum": "39", + "wspdm": "7.4", + "wspdi": "4.6", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "Variable", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1017.4", + "pressurei": "30.05", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "28.0", + "heatindexi": "82.5", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 111758Z AUTO VRB04KT 10SM CLR 29/13 A3003 RMK AO2 SLP174 T02850131 10286 20184 57012 PWINO $" + }, { + "date": { + "pretty": "2:58 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "14", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "6:58 PM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "18", + "min": "58", + "tzname": "UTC" + }, + "tempm": "29.2", + "tempi": "84.6", + "dewptm": "13.2", + "dewpti": "55.8", + "hum": "37", + "wspdm": "11.1", + "wspdi": "6.9", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "70", + "wdire": "ENE", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1017.4", + "pressurei": "30.05", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "28.5", + "heatindexi": "83.4", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Partly Cloudy", + "icon": "partlycloudy", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 111858Z 07006KT 10SM FEW060 29/13 A3003 RMK AO2A SLP174 T02920132" + }, { + "date": { + "pretty": "3:58 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "15", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "7:58 PM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "19", + "min": "58", + "tzname": "UTC" + }, + "tempm": "29.8", + "tempi": "85.6", + "dewptm": "14.1", + "dewpti": "57.4", + "hum": "38", + "wspdm": "7.4", + "wspdi": "4.6", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "260", + "wdire": "West", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1017.1", + "pressurei": "30.04", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "29.3", + "heatindexi": "84.7", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Scattered Clouds", + "icon": "partlycloudy", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 111958Z 26004KT 10SM SCT060 30/14 A3002 RMK AO2A SLP171 T02980141" + }, { + "date": { + "pretty": "4:58 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "16", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "8:58 PM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "20", + "min": "58", + "tzname": "UTC" + }, + "tempm": "30.1", + "tempi": "86.2", + "dewptm": "14.5", + "dewpti": "58.1", + "hum": "38", + "wspdm": "7.4", + "wspdi": "4.6", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "Variable", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1016.7", + "pressurei": "30.03", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "29.6", + "heatindexi": "85.2", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Partly Cloudy", + "icon": "partlycloudy", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 112058Z VRB04KT 10SM FEW070 30/15 A3001 RMK AO2A SLP167 T03010145 58007" + }, { + "date": { + "pretty": "5:59 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "17", + "min": "59", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "9:59 PM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "21", + "min": "59", + "tzname": "UTC" + }, + "tempm": "29.5", + "tempi": "85.1", + "dewptm": "14.5", + "dewpti": "58.1", + "hum": "40", + "wspdm": "5.6", + "wspdi": "3.5", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "Variable", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1016.7", + "pressurei": "30.03", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "29.1", + "heatindexi": "84.4", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Partly Cloudy", + "icon": "partlycloudy", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 112159Z VRB03KT 10SM FEW060 30/15 A3001 RMK AO2A SLP167 T02950145" + }, { + "date": { + "pretty": "6:58 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "18", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "10:58 PM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "22", + "min": "58", + "tzname": "UTC" + }, + "tempm": "28.6", + "tempi": "83.5", + "dewptm": "14.3", + "dewpti": "57.7", + "hum": "41", + "wspdm": "5.6", + "wspdi": "3.5", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "230", + "wdire": "SW", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1016.4", + "pressurei": "30.02", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "28.3", + "heatindexi": "82.9", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Partly Cloudy", + "icon": "partlycloudy", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 112258Z 23003KT 10SM FEW060 29/14 A3000 RMK AO2A SLP164 T02860143" + }, { + "date": { + "pretty": "7:58 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "19", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "11:58 PM GMT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "23", + "min": "58", + "tzname": "UTC" + }, + "tempm": "26.8", + "tempi": "80.2", + "dewptm": "15.9", + "dewpti": "60.6", + "hum": "51", + "wspdm": "11.1", + "wspdi": "6.9", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "290", + "wdire": "WNW", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1016.7", + "pressurei": "30.03", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "27.3", + "heatindexi": "81.1", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 112358Z 29006KT 10SM CLR 27/16 A3001 RMK AO2A SLP167 T02680159 10302 20268 55001" + }, { + "date": { + "pretty": "8:58 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "20", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "12:58 AM GMT on July 12, 2015", + "year": "2015", + "mon": "07", + "mday": "12", + "hour": "00", + "min": "58", + "tzname": "UTC" + }, + "tempm": "23.9", + "tempi": "75.0", + "dewptm": "16.1", + "dewpti": "61.0", + "hum": "62", + "wspdm": "5.6", + "wspdi": "3.5", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "270", + "wdire": "West", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1017.0", + "pressurei": "30.04", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 120058Z AUTO 27003KT 10SM CLR 24/16 A3002 RMK AO2 SLP170 T02390161" + }, { + "date": { + "pretty": "9:58 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "21", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "1:58 AM GMT on July 12, 2015", + "year": "2015", + "mon": "07", + "mday": "12", + "hour": "01", + "min": "58", + "tzname": "UTC" + }, + "tempm": "19.0", + "tempi": "66.2", + "dewptm": "16.9", + "dewpti": "62.4", + "hum": "88", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1017.4", + "pressurei": "30.05", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 120158Z 00000KT 10SM CLR 19/17 A3003 RMK AO2A SLP174 T01900169" + }, { + "date": { + "pretty": "10:58 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "22", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "2:58 AM GMT on July 12, 2015", + "year": "2015", + "mon": "07", + "mday": "12", + "hour": "02", + "min": "58", + "tzname": "UTC" + }, + "tempm": "18.7", + "tempi": "65.7", + "dewptm": "16.6", + "dewpti": "61.9", + "hum": "88", + "wspdm": "0.0", + "wspdi": "0.0", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "0", + "wdire": "North", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1017.7", + "pressurei": "30.06", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 120258Z 00000KT 10SM CLR 19/17 A3004 RMK AO2A SLP177 T01870166 52009" + }, { + "date": { + "pretty": "11:58 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "23", + "min": "58", + "tzname": "America/New_York" + }, + "utcdate": { + "pretty": "3:58 AM GMT on July 12, 2015", + "year": "2015", + "mon": "07", + "mday": "12", + "hour": "03", + "min": "58", + "tzname": "UTC" + }, + "tempm": "17.9", + "tempi": "64.2", + "dewptm": "16.3", + "dewpti": "61.3", + "hum": "90", + "wspdm": "1.9", + "wspdi": "1.2", + "wgustm": "-9999.0", + "wgusti": "-9999.0", + "wdird": "130", + "wdire": "SE", + "vism": "16.1", + "visi": "10.0", + "pressurem": "1017.7", + "pressurei": "30.06", + "windchillm": "-999", + "windchilli": "-999", + "heatindexm": "-9999", + "heatindexi": "-9999", + "precipm": "-9999.00", + "precipi": "-9999.00", + "conds": "Clear", + "icon": "clear", + "fog": "0", + "rain": "0", + "snow": "0", + "hail": "0", + "thunder": "0", + "tornado": "0", + "metar": "METAR KCEF 120358Z AUTO 13001KT 10SM CLR 18/16 A3004 RMK AO2 SLP177 T01790163" + }], + "dailysummary": [{ + "date": { + "pretty": "12:00 PM EDT on July 11, 2015", + "year": "2015", + "mon": "07", + "mday": "11", + "hour": "12", + "min": "00", + "tzname": "America/New_York" + }, + "fog": "0", + "rain": "0", + "snow": "0", + "snowfallm": "0.00", + "snowfalli": "0.00", + "monthtodatesnowfallm": "", + "monthtodatesnowfalli": "", + "since1julsnowfallm": "", + "since1julsnowfalli": "", + "snowdepthm": "", + "snowdepthi": "", + "hail": "0", + "thunder": "0", + "tornado": "0", + "meantempm": "21", + "meantempi": "70", + "meandewptm": "14", + "meandewpti": "58", + "meanpressurem": "1017", + "meanpressurei": "30.04", + "meanwindspdm": "3", + "meanwindspdi": "2", + "meanwdire": "", + "meanwdird": "24", + "meanvism": "13", + "meanvisi": "8", + "humidity": "", + "maxtempm": "30", + "maxtempi": "86", + "mintempm": "12", + "mintempi": "54", + "maxhumidity": "100", + "minhumidity": "37", + "maxdewptm": "17", + "maxdewpti": "63", + "mindewptm": "12", + "mindewpti": "54", + "maxpressurem": "1019", + "maxpressurei": "30.09", + "minpressurem": "1015", + "minpressurei": "29.99", + "maxwspdm": "13", + "maxwspdi": "8", + "minwspdm": "0", + "minwspdi": "0", + "maxvism": "16", + "maxvisi": "10", + "minvism": "3", + "minvisi": "2", + "gdegreedays": "20", + "heatingdegreedays": "0", + "coolingdegreedays": "5", + "precipm": "0.00", + "precipi": "0.00", + "precipsource": "", + "heatingdegreedaysnormal": "", + "monthtodateheatingdegreedays": "", + "monthtodateheatingdegreedaysnormal": "", + "since1sepheatingdegreedays": "", + "since1sepheatingdegreedaysnormal": "", + "since1julheatingdegreedays": "", + "since1julheatingdegreedaysnormal": "", + "coolingdegreedaysnormal": "", + "monthtodatecoolingdegreedays": "", + "monthtodatecoolingdegreedaysnormal": "", + "since1sepcoolingdegreedays": "", + "since1sepcoolingdegreedaysnormal": "", + "since1jancoolingdegreedays": "", + "since1jancoolingdegreedaysnormal": "" + }] + } + }, + "WSIcurrent": { + "metadata": { + "language": "en-US", + "transaction_id": "1436711713612:406777925", + "version": "1", + "location_id": "01002:4:US", + "units": "e", + "expire_time_gmt": 1436712313, + "status_code": 200 + }, + "observation": { + "class": "observation", + "expire_time_gmt": 1436712313, + "obs_time": 1436711100, + "obs_time_local": "2015-07-12T10:25:00-0400", + "wdir": 140, + "icon_code": 32, + "icon_extd": 3200, + "sunrise": "2015-07-12T05:24:09-0400", + "sunset": "2015-07-12T20:26:45-0400", + "day_ind": "D", + "uv_index": 6, + "uv_warning": 0, + "wxman": "wx1000", + "obs_qualifier_code": null, + "ptend_code": 0, + "dow": "Sunday", + "wdir_cardinal": "SE", + "uv_desc": "High", + "phrase_12char": "Sunny", + "phrase_22char": "Sunny", + "phrase_32char": "Sunny", + "ptend_desc": "Steady", + "sky_cover": "Clear", + "clds": "CLR", + "obs_qualifier_severity": null, + "vocal_key": "OT78:OX3200", + "imperial": { + "wspd": 2, + "gust": null, + "vis": 10.000, + "mslp": 1017.5, + "altimeter": 30.05, + "temp": 78, + "dewpt": 60, + "rh": 53, + "wc": 78, + "hi": 80, + "temp_change_24hour": 1, + "temp_max_24hour": 85, + "temp_min_24hour": 58, + "pchange": 0.00, + "feels_like": 80, + "snow_1hour": 0.0, + "snow_6hour": 0.0, + "snow_24hour": 0.0, + "snow_mtd": 0.0, + "snow_season": 0.0, + "snow_ytd": 68.4, + "snow_2day": 0.0, + "snow_3day": 0.0, + "snow_7day": 0.0, + "ceiling": null, + "precip_1hour": 0.00, + "precip_6hour": 0.00, + "precip_24hour": 0.00, + "precip_mtd": 1.51, + "precip_ytd": 19.43, + "precip_2day": 0.00, + "precip_3day": 1.07, + "precip_7day": 1.18, + "obs_qualifier_100char": null, + "obs_qualifier_50char": null, + "obs_qualifier_32char": null + } + } + } + } +}