It is currently April 19th, 2024, 4:21 am

⭐ Weather.com - Parsing the V3 JSON

Our most popular Tips and Tricks from the Rainmeter Team and others
User avatar
SilverAzide
Rainmeter Sage
Posts: 2603
Joined: March 23rd, 2015, 5:26 pm

Re: ⭐ Weather.com - Parsing the JSON

Post by SilverAzide »

Yincognito wrote: June 4th, 2020, 3:43 am Is there something special about the moon data? :???:
No, just that it hasn't been done yet (in V3 format). :Whistle
Gadgets Wiki GitHub More Gadgets...
User avatar
Yincognito
Rainmeter Sage
Posts: 7125
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: ⭐ Weather.com - Parsing the JSON

Post by Yincognito »

SilverAzide wrote: June 4th, 2020, 10:38 am No, just that it hasn't been done yet (in V3 format). :Whistle
I see. :D Too bad I'm not interested in it (other than moonrise and moonset times), otherwise... :Whistle
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
OnyxBlack
Posts: 27
Joined: June 3rd, 2020, 10:06 am

Re: ⭐ Weather.com - Parsing the JSON

Post by OnyxBlack »

SilverAzide wrote: June 4th, 2020, 10:38 am No, just that it hasn't been done yet (in V3 format). :Whistle
Would be easy to add measures for that, except I'd have to add capture groups, meaning I'd have to manually increment every StringIndex value on every measure. Tedious stuff. I wish weparser measures had the ability to reference named capture groups instead of referring to them by order of index only.
User avatar
SilverAzide
Rainmeter Sage
Posts: 2603
Joined: March 23rd, 2015, 5:26 pm

Re: ⭐ Weather.com - Parsing the JSON

Post by SilverAzide »

OnyxBlack wrote: June 4th, 2020, 1:10 pm Would be easy to add measures for that, except I'd have to add capture groups, meaning I'd have to manually increment every StringIndex value on every measure. Tedious stuff. I wish weparser measures had the ability to reference named capture groups instead of referring to them by order of index only.
The way JSMorley did it was a whole new set of measures (in a moon-specific include file), but referencing the same parent. That way it would work without changing the "master" set of measures, and would make the moon stuff optional for folks who wanted it. Just a thought...
Gadgets Wiki GitHub More Gadgets...
OnyxBlack
Posts: 27
Joined: June 3rd, 2020, 10:06 am

Re: ⭐ Weather.com - Parsing the JSON

Post by OnyxBlack »

iron2000 wrote: June 4th, 2020, 12:45 am The code broke again on my side, this time clearing IE cache like last time doesn't help anymore.
are you referring to jsmorley's original code? Because you wrote "again"...
SilverAzide wrote: June 4th, 2020, 1:25 pm The way JSMorley did it was a whole new set of measures (in a moon-specific include file), but referencing the same parent. That way it would work without changing the "master" set of measures, and would make the moon stuff optional for folks who wanted it. Just a thought...
Done. Included now in the attachment to my original post on page 23.
I also fixed the narrative bug. Turned out to be fairly simple. Tested it against various strings and it worked.
User avatar
SilverAzide
Rainmeter Sage
Posts: 2603
Joined: March 23rd, 2015, 5:26 pm

Re: ⭐ Weather.com - Parsing the JSON

Post by SilverAzide »

OnyxBlack wrote: June 4th, 2020, 2:45 pm Done. Included now in the attachment to my original post on page 23.
I also fixed the narrative bug. Turned out to be fairly simple. Tested it against various strings and it worked.
Welp, that works pretty freaking excellently... :) Thanks for your effort on this. I'll do more testing tonight when TWC starts sending out nulls for day values, but so far so good. I got lots of commas in the narratives today, and all are good now.

One tiny bug fix for you... This:

Code: Select all

[@ForecastDay6DayShort]
...
TimeStamp=([@CurrentObservationTime:TimeStamp]+(86400 * 6))
... should be "...(86400 * 5))".

(edit)
Another one:
The @LocationLanguageCode is grabbing stuff beyond the value in some cases where code is at the end of the string, so I think the regexp should be "....*language:(.*)[;"].*..." ?
Gadgets Wiki GitHub More Gadgets...
User avatar
jsmorley
Developer
Posts: 22629
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: ⭐ Weather.com - Parsing the JSON

Post by jsmorley »

I will work on updating the @Include files and the example skin to support the new "V3" JSON format from weather.com tomorrow. Should have it done by the end of the day.
OnyxBlack
Posts: 27
Joined: June 3rd, 2020, 10:06 am

Re: ⭐ Weather.com - Parsing the JSON

Post by OnyxBlack »

jsmorley wrote: June 5th, 2020, 2:41 am I will work on updating the @Include files and the example skin to support the new "V3" JSON format from weather.com tomorrow. Should have it done by the end of the day.
Cool, then I guess I can stop working on my version?
User avatar
jsmorley
Developer
Posts: 22629
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: ⭐ Weather.com - Parsing the JSON

Post by jsmorley »

OnyxBlack wrote: June 5th, 2020, 12:10 pm Cool, then I guess I can stop working on my version?
The more the merrier really. I see that you have done some really good work already on parsing the new V3 version of the JSON. I haven't looked at the new stuff really carefully yet, but it looks to me like there might be some new information that wasn't part of the old method. I want to be sure that as much as possible, we get everything that is available into a measure, so what is used and not used is up to the skin author.

I may well steal some of your RegExp as I work on this, I'll be sure to credit you when I do.
User avatar
jsmorley
Developer
Posts: 22629
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: ⭐ Weather.com - Parsing the JSON

Post by jsmorley »

This is the starting point for what I am looking at. These seem to be the relevant sections of the JSON.

Code: Select all

getSunV3LocationPointUrlConfig

"getSunV3LocationPointUrlConfig":{"language:en-US;locId:USVA0944:1:US;locationType:locid":{"loading":false,"loaded":true,"data":{"location":{"latitude":38.733,"longitude":-77.058,"city":null,"locale":{"locale1":null,"locale2":"Fort Hunt","locale3":null,"locale4":null},"neighborhood":null,"adminDistrict":"Virginia","adminDistrictCode":"VA","postalCode":"22308","postalKey":"22308:US","country":"United States of America","countryCode":"US","ianaTimeZone":"America\u002FNew_York","displayName":"Fort Hunt","dstEnd":"2019-11-03T02:00:00-0500","dstStart":"2020-03-08T02:00:00-0400","dmaCd":"511","placeId":"bbd510e73cb5870f973cea9253bb1f9bfe239a129dfc2b89589cbb6d2d46b4bc","disputedArea":false,"canonicalCityId":"492d3cc8a68f80a05fcc18dba998e45ca386b7c905a13ce7cbde1fe97eaa0e0b","countyId":"VAC059","locId":"USVA0944:1:US","locationCategory":null,"pollenId":"ADW","pwsId":null,"regionalSatellite":"ec","tideId":"8579629","type":"locid","zoneId":"VAZ053"}},"status":200,"statusText":"OK"},"canonicalCityId:492d3cc8a68f80a05fcc18dba998e45ca386b7c905a13ce7cbde1fe97eaa0e0b;language:en-US":{"loading":false,"loaded":true,"data":{"location":{"latitude":38.805,"longitude":-77.047,"city":"Alexandria","locale":{"locale1":null,"locale2":"Alexandria","locale3":null,"locale4":null},"neighborhood":null,"adminDistrict":"Virginia","adminDistrictCode":"VA","postalCode":"22314","postalKey":"22314:US","country":"United States of America","countryCode":"US","ianaTimeZone":"America\u002FNew_York","displayName":"Alexandria","dstEnd":"2019-11-03T02:00:00-0500","dstStart":"2020-03-08T02:00:00-0400","dmaCd":"511","placeId":"5662d8f40dc3bc36335f8ab428237061d57aae28fa3ba64a27562a32716be20b","disputedArea":false,"canonicalCityId":"e0e53fc604ca56688ec975937b877de4ba07516b268df05938d943f569ece56e","countyId":"VAC510","locId":null,"locationCategory":null,"pollenId":"ADW","pwsId":null,"regionalSatellite":"ec","tideId":"8634214","type":"city","zoneId":"VAZ054"}}


getSunV3CurrentObservationsUrlConfig

"getSunV3CurrentObservationsUrlConfig":{"geocode:38.73,-77.06;language:en-US;units:e":{"loading":false,"loaded":true,"data":{"cloudCeiling":11000,"cloudCoverPhrase":"Mostly Cloudy","dayOfWeek":"Thursday","dayOrNight":"N","expirationTimeUtc":1591320861,"iconCode":27,"iconCodeExtend":2700,"obsQualifierCode":null,"obsQualifierSeverity":null,"precip1Hour":0.21,"precip6Hour":0.38,"precip24Hour":0.38,"pressureAltimeter":29.88,"pressureChange":0.05,"pressureMeanSeaLevel":1011.6,"pressureTendencyCode":1,"pressureTendencyTrend":"Rising","relativeHumidity":90,"snow1Hour":0,"snow6Hour":0,"snow24Hour":0,"sunriseTimeLocal":"2020-06-04T05:44:19-0400","sunriseTimeUtc":1591263859,"sunsetTimeLocal":"2020-06-04T20:29:23-0400","sunsetTimeUtc":1591316963,"temperature":71,"temperatureChange24Hour":-9,"temperatureDewPoint":68,"temperatureFeelsLike":71,"temperatureHeatIndex":71,"temperatureMax24Hour":92,"temperatureMaxSince7Am":92,"temperatureMin24Hour":67,"temperatureWindChill":71,"uvDescription":"Low","uvIndex":0,"validTimeLocal":"2020-06-04T21:24:21-0400","validTimeUtc":1591320261,"visibility":9,"windDirection":180,"windDirectionCardinal":"S","windGust":null,"windSpeed":3,"wxPhraseLong":"Mostly Cloudy","wxPhraseMedium":"Mostly Cloudy","wxPhraseShort":"M Cloudy"}


getSunV3DailyForecastUrlConfig

"getSunV3DailyForecastUrlConfig":{"duration:7day;geocode:38.73,-77.06;language:en-US;units:e":{"loading":false,"loaded":true,"data":{"dayOfWeek":["Thursday","Friday","Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday"],"expirationTimeUtc":[1591321305,1591321305,1591321305,1591321305,1591321305,1591321305,1591321305,1591321305],"moonPhase":["Waxing Gibbous","Full Moon","Waning Gibbous","Waning Gibbous","Waning Gibbous","Waning Gibbous","Waning Gibbous","Waning Gibbous"],"moonPhaseCode":["WXG","F","WNG","WNG","WNG","WNG","WNG","WNG"],"moonPhaseDay":[13,14,16,17,18,19,20,20],"moonriseTimeLocal":["2020-06-04T19:25:16-0400","2020-06-05T20:36:31-0400","2020-06-06T21:43:38-0400","2020-06-07T22:42:13-0400","2020-06-08T23:32:45-0400","","2020-06-10T00:14:10-0400","2020-06-11T00:49:22-0400"],"moonriseTimeUtc":[1591313116,1591403791,1591494218,1591584133,1591673565,null,1591762450,1591850962],"moonsetTimeLocal":["2020-06-04T04:54:00-0400","2020-06-05T05:35:45-0400","2020-06-06T06:23:06-0400","2020-06-07T07:17:50-0400","2020-06-08T08:16:56-0400","2020-06-09T09:19:36-0400","2020-06-10T10:21:47-0400","2020-06-11T11:23:39-0400"],"moonsetTimeUtc":[1591260840,1591349745,1591438986,1591528670,1591618616,1591708776,1591798907,1591889019],"narrative":["Thunderstorms likely early. Lows overnight in the low 70s.","Afternoon showers and thunderstorms. Highs in the upper 80s and lows in the upper 60s.","More sun than clouds. Highs in the upper 80s and lows in the low 60s.","A few clouds. Highs in the low 80s and lows in the upper 50s.","Abundant sunshine. Highs in the low 80s and lows in the low 60s.","Abundant sunshine. Highs in the upper 80s and lows in the mid 60s.","Mostly sunny. Highs in the upper 80s and lows in the mid 60s.","Occasional showers possible. Highs in the low 80s and lows in the mid 60s."],"qpf":[0.05,0.46,0,0,0,0,0,0.05],"qpfSnow":[0,0,0,0,0,0,0,0],"sunriseTimeLocal":["2020-06-04T05:44:19-0400","2020-06-05T05:44:03-0400","2020-06-06T05:43:49-0400","2020-06-07T05:43:37-0400","2020-06-08T05:43:27-0400","2020-06-09T05:43:19-0400","2020-06-10T05:43:12-0400","2020-06-11T05:43:08-0400"],"sunriseTimeUtc":[1591263859,1591350243,1591436629,1591523017,1591609407,1591695799,1591782192,1591868588],"sunsetTimeLocal":["2020-06-04T20:29:23-0400","2020-06-05T20:29:59-0400","2020-06-06T20:30:34-0400","2020-06-07T20:31:08-0400","2020-06-08T20:31:41-0400","2020-06-09T20:32:12-0400","2020-06-10T20:32:42-0400","2020-06-11T20:33:10-0400"],"sunsetTimeUtc":[1591316963,1591403399,1591489834,1591576268,1591662701,1591749132,1591835562,1591921990],"temperatureMax":[null,87,89,82,83,87,88,82],"temperatureMin":[70,68,63,59,62,65,66,66],"validTimeLocal":["2020-06-04T07:00:00-0400","2020-06-05T07:00:00-0400","2020-06-06T07:00:00-0400","2020-06-07T07:00:00-0400","2020-06-08T07:00:00-0400","2020-06-09T07:00:00-0400","2020-06-10T07:00:00-0400","2020-06-11T07:00:00-0400"],"validTimeUtc":[1591268400,1591354800,1591441200,1591527600,1591614000,1591700400,1591786800,1591873200],"daypart":[{"cloudCover":[null,81,71,74,34,13,12,19,10,8,6,10,19,32,54,66],"dayOrNight":[null,"N","D","N","D","N","D","N","D","N","D","N","D","N","D","N"],"daypartName":[null,"Tonight","Tomorrow","Tomorrow night","Saturday","Saturday night","Sunday","Sunday night","Monday","Monday night","Tuesday","Tuesday night","Wednesday","Wednesday night","Thursday","Thursday night"],"iconCode":[null,47,38,47,34,33,34,33,32,31,32,31,34,33,11,29],"iconCodeExtend":[null,6200,7203,6200,3400,3300,3400,3300,3200,3100,3200,3100,3400,3300,4600,2900],"narrative":[null,"Thunderstorms during the evening will give way to cloudy skies after midnight. A few storms may be severe. Low near 70F. Winds light and variable. Chance of rain 100%.","Mostly cloudy skies during the morning hours followed by thunderstorms in the afternoon. High 87F. Winds SSW at 10 to 15 mph. Chance of rain 80%.","Thunderstorms during the evening, then skies turning partly cloudy overnight. Low 68F. Winds light and variable. Chance of rain 80%.","Except for a few afternoon clouds, mainly sunny. A stray shower or thunderstorm is possible. High 89F. Winds WNW at 5 to 10 mph.","Mainly clear. Low 63F. Winds NNW at 5 to 10 mph.","Generally sunny. High 82F. Winds NNW at 5 to 10 mph.","Mainly clear skies. Low 59F. Winds NNE at 5 to 10 mph.","Mainly sunny. High 83F. Winds light and variable.","Clear. Low 62F. Winds light and variable.","Mainly sunny. High 87F. Winds S at 5 to 10 mph.","Clear. Low near 65F. Winds S at 5 to 10 mph.","Sunshine. High 88F. Winds SSE at 10 to 15 mph.","Clear skies with a few passing clouds. Low 66F. Winds SSE at 10 to 15 mph.","Cloudy with a few showers. High 82F. Winds SSE at 5 to 10 mph. Chance of rain 30%.","Partly cloudy in the evening with more clouds for later at night. Low 66F. Winds SSE at 5 to 10 mph."],"precipChance":[null,100,80,80,20,10,0,0,0,10,0,10,10,20,30,20],"precipType":[null,"rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain"],"qpf":[null,0.01,0.34,0.12,0,0,0,0,0,0,0,0,0,0,0.05,0],"qpfSnow":[null,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"qualifierCode":[null,"Q8010",null,null,"Q8001",null,null,null,null,null,null,null,null,null,null,null],"qualifierPhrase":[null,"A few storms may be severe.",null,null,"A stray shower or thunderstorm is possible.",null,null,null,null,null,null,null,null,null,null,null],"relativeHumidity":[null,87,66,92,61,55,45,57,42,62,49,61,49,66,60,73],"snowRange":[null,"","","","","","","","","","","","","","",""],"temperature":[null,70,87,68,89,63,82,59,83,62,87,65,88,66,82,66],"temperatureHeatIndex":[null,76,90,83,91,86,80,79,81,80,86,83,87,84,82,81],"temperatureWindChill":[null,71,73,69,70,64,65,60,62,63,66,66,67,67,68,67],"thunderCategory":[null,"Severe thunderstorms possible","Thunder expected","Thunder expected","Thunder possible","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder","No thunder"],"thunderIndex":[null,3,2,2,1,0,0,0,0,0,0,0,0,0,0,0],"uvDescription":[null,"Low","Very High","Low","Very High","Low","Very High","Low","Very High","Low","Very High","Low","Very High","Low","Very High","Low"],"uvIndex":[null,0,8,0,9,0,9,0,9,0,9,0,9,0,9,0],"windDirection":[null,215,206,238,294,333,336,12,18,162,175,169,164,152,149,167],"windDirectionCardinal":[null,"SW","SSW","WSW","WNW","NNW","NNW","NNE","NNE","SSE","S","S","SSE","SSE","SSE","SSE"],"windPhrase":[null,"Winds light and variable.","Winds SSW at 10 to 15 mph.","Winds light and variable.","Winds WNW at 5 to 10 mph.","Winds NNW at 5 to 10 mph.","Winds NNW at 5 to 10 mph.","Winds NNE at 5 to 10 mph.","Winds light and variable.","Winds light and variable.","Winds S at 5 to 10 mph.","Winds S at 5 to 10 mph.","Winds SSE at 10 to 15 mph.","Winds SSE at 10 to 15 mph.","Winds SSE at 5 to 10 mph.","Winds SSE at 5 to 10 mph."],"windSpeed":[null,5,10,5,9,8,9,6,4,4,8,8,11,10,8,7],"wxPhraseLong":[null,"Thunderstorms Early","PM Thunderstorms","Thunderstorms Early","Mostly Sunny","Mostly Clear","Mostly Sunny","Mostly Clear","Sunny","Clear","Sunny","Clear","Mostly Sunny","Mostly Clear","Few Showers","Partly Cloudy"],"wxPhraseShort":[null,"T-Storms","PM T-Storms","T-Storms","M Sunny","M Clear","M Sunny","M Clear","Sunny","Clear","Sunny","Clear","M Sunny","M Clear","Few Showers","P Cloudy"]}]}


getSunV3HourlyForecastUrlConfig

"getSunV3HourlyForecastUrlConfig":{"duration:1day;geocode:38.73,-77.06;language:en-US;units:e":{"loading":false,"loaded":true,"data":{"cloudCover":[78,74,82,85,87,82,81,83,78,63,67,66,68,68,64,64,67,75,81,81,92,94,93,90],"dayOfWeek":["Thursday","Thursday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday"],"dayOrNight":["N","N","N","N","N","N","N","N","D","D","D","D","D","D","D","D","D","D","D","D","D","D","D","N"],"expirationTimeUtc":[1591322072,1591322072,1591322072,1591322072,1591322072,1591322072,1591322072,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105],"iconCode":[4,27,26,26,26,26,26,26,28,28,28,28,28,28,28,28,38,4,4,4,4,4,4,47],"iconCodeExtend":[400,2700,2600,2600,2600,2600,2600,2600,2800,2800,2800,2800,2800,2800,2800,2800,3800,400,400,400,400,400,400,3809],"precipChance":[79,15,15,15,15,15,15,15,15,10,15,15,15,15,16,24,55,68,74,79,71,77,60,41],"precipType":["rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain"],"pressureMeanSeaLevel":[29.88,29.9,29.9,29.9,29.9,29.89,29.89,29.89,29.9,29.92,29.93,29.93,29.91,29.91,29.9,29.88,29.86,29.85,29.84,29.83,29.83,29.83,29.84,29.85],"qpf":[0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.05,0.06,0.13,0.07,0.08,0.03,0.01],"qpfSnow":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"relativeHumidity":[93,94,94,90,84,86,87,87,87,85,78,70,67,62,57,55,56,58,59,64,69,72,79,90],"temperature":[71,71,71,71,74,73,72,72,71,73,76,78,80,82,84,85,86,85,85,83,81,80,77,74],"temperatureDewPoint":[68,69,69,68,69,68,68,67,67,68,68,68,68,67,67,67,68,69,69,70,70,70,70,71],"temperatureFeelsLike":[71,71,71,71,74,73,72,74,73,75,79,82,83,85,88,89,90,90,90,88,86,85,81,76],"temperatureHeatIndex":[71,71,71,71,74,73,72,74,73,75,79,82,83,85,88,89,90,90,90,88,86,85,81,76],"temperatureWindChill":[71,71,71,71,74,73,72,72,71,73,76,78,80,82,84,85,86,85,85,83,81,80,77,74],"uvDescription":["Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Moderate","Moderate","High","High","High","High","Moderate","Low","Low","Low","Low","Low"],"uvIndex":[0,0,0,0,0,0,0,0,0,0,1,2,4,5,7,7,7,6,3,2,1,0,0,0],"validTimeLocal":["2020-06-04T22:00:00-0400","2020-06-04T23:00:00-0400","2020-06-05T00:00:00-0400","2020-06-05T01:00:00-0400","2020-06-05T02:00:00-0400","2020-06-05T03:00:00-0400","2020-06-05T04:00:00-0400","2020-06-05T05:00:00-0400","2020-06-05T06:00:00-0400","2020-06-05T07:00:00-0400","2020-06-05T08:00:00-0400","2020-06-05T09:00:00-0400","2020-06-05T10:00:00-0400","2020-06-05T11:00:00-0400","2020-06-05T12:00:00-0400","2020-06-05T13:00:00-0400","2020-06-05T14:00:00-0400","2020-06-05T15:00:00-0400","2020-06-05T16:00:00-0400","2020-06-05T17:00:00-0400","2020-06-05T18:00:00-0400","2020-06-05T19:00:00-0400","2020-06-05T20:00:00-0400","2020-06-05T21:00:00-0400"],"validTimeUtc":[1591322400,1591326000,1591329600,1591333200,1591336800,1591340400,1591344000,1591347600,1591351200,1591354800,1591358400,1591362000,1591365600,1591369200,1591372800,1591376400,1591380000,1591383600,1591387200,1591390800,1591394400,1591398000,1591401600,1591405200],"visibility":[5,8,8,8,7,7,7,7,7,8,10,10,10,10,10,10,10,5,5,5,5,5,5,6],"windDirection":[213,223,230,226,225,214,199,196,199,205,207,208,211,209,201,203,203,202,209,202,203,208,209,237],"windDirectionCardinal":["SSW","SW","SW","SW","SW","SW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SW"],"windGust":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17,17,null,null,null,null,null,null,null],"windSpeed":[5,5,4,3,4,4,4,4,3,5,7,8,9,9,9,10,10,9,8,7,7,5,4,4],"wxPhraseLong":["Thunderstorms","Mostly Cloudy","Cloudy","Cloudy","Cloudy","Cloudy","Cloudy","Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Scattered Thunderstorms","Thunderstorms","Thunderstorms","Thunderstorms","Thunderstorms","Thunderstorms","Thunderstorms","Scattered Thunderstorms"],"wxPhraseShort":["T-Storms","M Cloudy","Cloudy","Cloudy","Cloudy","Cloudy","Cloudy","Cloudy","M Cloudy","M Cloudy","M Cloudy","M Cloudy","M Cloudy","M Cloudy","M Cloudy","M Cloudy","Sct T-Storms","T-Storms","T-Storms","T-Storms","T-Storms","T-Storms","T-Storms","Sct T-Storms"],"wxSeverity":[2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2]},"status":200,"statusText":"OK"},"duration:2day;geocode:38.73,-77.06;language:en-US;units:e":{"loading":false,"loaded":true,"data":{"cloudCover":[78,74,82,85,87,82,81,83,78,63,67,66,68,68,64,64,67,75,81,81,92,94,93,90,83,82,77,70,63,63,59,57,42,26,20,16,19,24,28,42,42,50,49,46,40,34,21,14],"dayOfWeek":["Thursday","Thursday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Friday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday","Saturday"],"dayOrNight":["N","N","N","N","N","N","N","N","D","D","D","D","D","D","D","D","D","D","D","D","D","D","D","N","N","N","N","N","N","N","N","N","D","D","D","D","D","D","D","D","D","D","D","D","D","D","D","N"],"expirationTimeUtc":[1591322072,1591322072,1591322072,1591322072,1591322072,1591322072,1591322072,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105,1591323105],"iconCode":[4,27,26,26,26,26,26,26,28,28,28,28,28,28,28,28,38,4,4,4,4,4,4,47,47,26,27,27,27,27,29,29,30,34,34,32,32,34,34,30,30,30,30,30,30,30,34,31],"iconCodeExtend":[400,2700,2600,2600,2600,2600,2600,2600,2800,2800,2800,2800,2800,2800,2800,2800,3800,400,400,400,400,400,400,3809,3709,2600,2700,2700,2700,2700,2900,2900,3000,3400,3400,3200,3200,3400,3400,3000,3000,3000,3000,3000,3000,3000,3400,3100],"precipChance":[79,15,15,15,15,15,15,15,15,10,15,15,15,15,16,24,55,68,74,79,71,77,60,41,34,20,20,19,9,9,9,9,9,8,9,7,4,8,17,15,15,20,16,15,15,4,0,1],"precipType":["rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain","rain"],"pressureMeanSeaLevel":[29.88,29.9,29.9,29.9,29.9,29.89,29.89,29.89,29.9,29.92,29.93,29.93,29.91,29.91,29.9,29.88,29.86,29.85,29.84,29.83,29.83,29.83,29.84,29.85,29.86,29.86,29.85,29.84,29.84,29.83,29.83,29.83,29.83,29.84,29.85,29.85,29.85,29.84,29.83,29.82,29.81,29.8,29.79,29.78,29.79,29.8,29.82,29.84],"qpf":[0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.05,0.06,0.13,0.07,0.08,0.03,0.01,0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"qpfSnow":[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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"relativeHumidity":[93,94,94,90,84,86,87,87,87,85,78,70,67,62,57,55,56,58,59,64,69,72,79,90,92,94,94,95,96,96,96,97,97,95,87,78,68,60,54,52,46,45,43,41,41,41,45,49],"temperature":[71,71,71,71,74,73,72,72,71,73,76,78,80,82,84,85,86,85,85,83,81,80,77,74,73,72,72,71,71,70,70,69,69,70,74,78,81,84,86,87,88,87,87,88,86,85,82,78],"temperatureDewPoint":[68,69,69,68,69,68,68,67,67,68,68,68,68,67,67,67,68,69,69,70,70,70,70,71,71,70,70,70,69,69,68,68,68,69,70,70,70,68,68,67,64,63,62,61,60,59,58,57],"temperatureFeelsLike":[71,71,71,71,74,73,72,74,73,75,79,82,83,85,88,89,90,90,90,88,86,85,81,76,76,75,74,74,73,72,72,71,71,73,76,82,86,88,90,91,91,89,89,89,87,86,82,80],"temperatureHeatIndex":[71,71,71,71,74,73,72,74,73,75,79,82,83,85,88,89,90,90,90,88,86,85,81,76,76,75,74,74,73,72,72,71,71,73,76,82,86,88,90,91,91,89,89,89,87,86,82,80],"temperatureWindChill":[71,71,71,71,74,73,72,72,71,73,76,78,80,82,84,85,86,85,85,83,81,80,77,74,73,72,72,71,71,70,70,69,69,70,74,78,81,84,86,87,88,87,87,88,86,85,82,78],"uvDescription":["Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Moderate","Moderate","High","High","High","High","Moderate","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Low","Moderate","Moderate","High","Very High","Very High","Very High","High","Moderate","Moderate","Low","Low","Low","Low"],"uvIndex":[0,0,0,0,0,0,0,0,0,0,1,2,4,5,7,7,7,6,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,5,7,9,9,9,7,5,3,1,0,0,0],"validTimeLocal":["2020-06-04T22:00:00-0400","2020-06-04T23:00:00-0400","2020-06-05T00:00:00-0400","2020-06-05T01:00:00-0400","2020-06-05T02:00:00-0400","2020-06-05T03:00:00-0400","2020-06-05T04:00:00-0400","2020-06-05T05:00:00-0400","2020-06-05T06:00:00-0400","2020-06-05T07:00:00-0400","2020-06-05T08:00:00-0400","2020-06-05T09:00:00-0400","2020-06-05T10:00:00-0400","2020-06-05T11:00:00-0400","2020-06-05T12:00:00-0400","2020-06-05T13:00:00-0400","2020-06-05T14:00:00-0400","2020-06-05T15:00:00-0400","2020-06-05T16:00:00-0400","2020-06-05T17:00:00-0400","2020-06-05T18:00:00-0400","2020-06-05T19:00:00-0400","2020-06-05T20:00:00-0400","2020-06-05T21:00:00-0400","2020-06-05T22:00:00-0400","2020-06-05T23:00:00-0400","2020-06-06T00:00:00-0400","2020-06-06T01:00:00-0400","2020-06-06T02:00:00-0400","2020-06-06T03:00:00-0400","2020-06-06T04:00:00-0400","2020-06-06T05:00:00-0400","2020-06-06T06:00:00-0400","2020-06-06T07:00:00-0400","2020-06-06T08:00:00-0400","2020-06-06T09:00:00-0400","2020-06-06T10:00:00-0400","2020-06-06T11:00:00-0400","2020-06-06T12:00:00-0400","2020-06-06T13:00:00-0400","2020-06-06T14:00:00-0400","2020-06-06T15:00:00-0400","2020-06-06T16:00:00-0400","2020-06-06T17:00:00-0400","2020-06-06T18:00:00-0400","2020-06-06T19:00:00-0400","2020-06-06T20:00:00-0400","2020-06-06T21:00:00-0400"],"validTimeUtc":[1591322400,1591326000,1591329600,1591333200,1591336800,1591340400,1591344000,1591347600,1591351200,1591354800,1591358400,1591362000,1591365600,1591369200,1591372800,1591376400,1591380000,1591383600,1591387200,1591390800,1591394400,1591398000,1591401600,1591405200,1591408800,1591412400,1591416000,1591419600,1591423200,1591426800,1591430400,1591434000,1591437600,1591441200,1591444800,1591448400,1591452000,1591455600,1591459200,1591462800,1591466400,1591470000,1591473600,1591477200,1591480800,1591484400,1591488000,1591491600],"visibility":[5,8,8,8,7,7,7,7,7,8,10,10,10,10,10,10,10,5,5,5,5,5,5,6,5,5,4,4,3,3,3,3,4,5,8,10,10,10,10,10,10,10,10,10,10,10,10,10],"windDirection":[213,223,230,226,225,214,199,196,199,205,207,208,211,209,201,203,203,202,209,202,203,208,209,237,231,233,246,247,234,250,243,247,264,271,275,294,298,302,305,304,292,290,301,307,314,319,326,333],"windDirectionCardinal":["SSW","SW","SW","SW","SW","SW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SSW","SW","SW","SW","WSW","WSW","SW","WSW","WSW","WSW","W","W","W","WNW","WNW","WNW","NW","NW","WNW","WNW","WNW","NW","NW","NW","NW","NNW"],"windGust":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17,17,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17,null,17,null,null,null],"windSpeed":[5,5,4,3,4,4,4,4,3,5,7,8,9,9,9,10,10,9,8,7,7,5,4,4,3,3,3,2,3,2,2,2,2,3,3,4,6,7,7,7,7,8,9,9,10,9,8,7],"wxPhraseLong":["Thunderstorms","Mostly Cloudy","Cloudy","Cloudy","Cloudy","Cloudy","Cloudy","Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Scattered Thunderstorms","Thunderstorms","Thunderstorms","Thunderstorms","Thunderstorms","Thunderstorms","Thunderstorms","Scattered Thunderstorms","Isolated Thunderstorms","Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Mostly Cloudy","Partly Cloudy","Partly Cloudy","Partly Cloudy","Mostly Sunny","Mostly Sunny","Sunny","Sunny","Mostly Sunny","Mostly Sunny","Partly Cloudy","Partly Cloudy","Partly Cloudy","Partly Cloudy","Partly Cloudy","Partly Cloudy","Partly Cloudy","Mostly Sunny","Clear"],"wxPhraseShort":["T-Storms","M Cloudy","Cloudy","Cloudy","Cloudy","Cloudy","Cloudy","Cloudy","M Cloudy","M Cloudy","M Cloudy","M Cloudy","M Cloudy","M Cloudy","M Cloudy","M Cloudy","Sct T-Storms","T-Storms","T-Storms","T-Storms","T-Storms","T-Storms","T-Storms","Sct T-Storms","Iso T-Storms","Cloudy","M Cloudy","M Cloudy","M Cloudy","M Cloudy","P Cloudy","P Cloudy","P Cloudy","M Sunny","M Sunny","Sunny","Sunny","M Sunny","M Sunny","P Cloudy","P Cloudy","P Cloudy","P Cloudy","P Cloudy","P Cloudy","P Cloudy","M Sunny","Clear"],"wxSeverity":[2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]},"status":200,"statusText":"OK"}}


getSunWeatherAlertHeadlinesUrlConfig

"getSunWeatherAlertHeadlinesUrlConfig":{"geocode:38.73,-77.06;language:en-US":{"loading":false,"loaded":true,"data":{"metadata":{"next":null},"alerts":[{"detailKey":"d9390491-8d9e-39e3-bf82-1f2e1afe9c02","messageTypeCode":2,"messageType":"Update","productIdentifier":"MWS","phenomena":"MA","significance":"W","eventTrackingNumber":"0071","officeCode":"KLWX","officeName":"Baltimore\u002FWashington","officeAdminDistrict":"Maryland","officeAdminDistrictCode":"MD","officeCountryCode":"US","eventDescription":"Special Marine Warning","severityCode":2,"severity":"Severe","categories":[{"category":"Met","categoryCode":2}],"responseTypes":[{"responseType":"Avoid","responseTypeCode":5}],"urgency":"Immediate","urgencyCode":1,"certainty":"Likely","certaintyCode":2,"effectiveTimeLocal":null,"effectiveTimeLocalTimeZone":null,"expireTimeLocal":"2020-06-04T22:15:00-04:00","expireTimeLocalTimeZone":"EDT","expireTimeUTC":1591323300,"onsetTimeLocal":null,"onsetTimeLocalTimeZone":null,"flood":null,"areaTypeCode":"Z","latitude":38.7,"longitude":-77.05,"areaId":"ANZ535","areaName":"Tidal Potomac from Key Bridge to Indian Head MD","ianaTimeZone":"America\u002FNew_York","adminDistrictCode":" ","adminDistrict":null,"countryCode":"US","countryName":"UNITED STATES OF AMERICA","headlineText":"Special Marine Warning until THU 10:15 PM EDT","source":"National Weather Service","disclaimer":null,"issueTimeLocal":"2020-06-04T21:27:00-04:00","issueTimeLocalTimeZone":"EDT","identifier":"3e65083a1a067484736d0eee63968ed3","processTimeUTC":1591320452},{"detailKey":"dbda5e2b-c7d7-393a-b4ef-9b13e4cdb728","messageTypeCode":2,"messageType":"Update","productIdentifier":"WCN","phenomena":"SV","significance":"A","eventTrackingNumber":"0250","officeCode":"KLWX","officeName":"Baltimore\u002FWashington","officeAdminDistrict":"Maryland","officeAdminDistrictCode":"MD","officeCountryCode":"US","eventDescription":"Severe Thunderstorm Watch","severityCode":2,"severity":"Severe","categories":[{"category":"Met","categoryCode":2}],"responseTypes":[{"responseType":"Monitor","responseTypeCode":6}],"urgency":"Future","urgencyCode":3,"certainty":"Possible","certaintyCode":3,"effectiveTimeLocal":null,"effectiveTimeLocalTimeZone":null,"expireTimeLocal":"2020-06-04T22:00:00-04:00","expireTimeLocalTimeZone":"EDT","expireTimeUTC":1591322400,"onsetTimeLocal":null,"onsetTimeLocalTimeZone":null,"flood":null,"areaTypeCode":"C","latitude":38.76,"longitude":-77.28,"areaId":"VAC059","areaName":"Fairfax County","ianaTimeZone":"America\u002FNew_York","adminDistrictCode":"VA","adminDistrict":"Virginia","countryCode":"US","countryName":"UNITED STATES OF AMERICA","headlineText":"Severe Thunderstorm Watch until THU 10:00 PM EDT","source":"National Weather Service","disclaimer":null,"issueTimeLocal":"2020-06-04T21:05:00-04:00","issueTimeLocalTimeZone":"EDT","identifier":"49b6211ebd63d55607911485d4ff89aa","processTimeUTC":1591319149},{"detailKey":"602d3076-c406-38df-9d83-f277608ba8d5","messageTypeCode":2,"messageType":"Update","productIdentifier":"WCN","phenomena":"SV","significance":"A","eventTrackingNumber":"0250","officeCode":"KLWX","officeName":"Baltimore\u002FWashington","officeAdminDistrict":"Maryland","officeAdminDistrictCode":"MD","officeCountryCode":"US","eventDescription":"Severe Thunderstorm Watch","severityCode":2,"severity":"Severe","categories":[{"category":"Met","categoryCode":2}],"responseTypes":[{"responseType":"Monitor","responseTypeCode":6}],"urgency":"Future","urgencyCode":3,"certainty":"Possible","certaintyCode":3,"effectiveTimeLocal":null,"effectiveTimeLocalTimeZone":null,"expireTimeLocal":"2020-06-04T22:00:00-04:00","expireTimeLocalTimeZone":"EDT","expireTimeUTC":1591322400,"onsetTimeLocal":null,"onsetTimeLocalTimeZone":null,"flood":null,"areaTypeCode":"Z","latitude":38.7,"longitude":-77.05,"areaId":"ANZ535","areaName":"Tidal Potomac from Key Bridge to Indian Head MD","ianaTimeZone":"America\u002FNew_York","adminDistrictCode":" ","adminDistrict":null,"countryCode":"US","countryName":"UNITED STATES OF AMERICA","headlineText":"Severe Thunderstorm Watch until THU 10:00 PM EDT","source":"National Weather Service","disclaimer":null,"issueTimeLocal":"2020-06-04T21:05:00-04:00","issueTimeLocalTimeZone":"EDT","identifier":"49b6211ebd63d55607911485d4ff89aa","processTimeUTC":1591319149}]}


getSunV3GlobalAirQualityUrlConfig

"getSunV3GlobalAirQualityUrlConfig":{"geocode:38.73,-77.06;language:en-US;scale:EPA":{"loading":false,"loaded":true,"data":{"globalairquality":{"latitude":38.73,"longitude":-77.06,"source":"Contains Copernicus Atmosphere Monitoring Service information 2020 and\u002For modified Copernicus Atmosphere Monitoring Service information 2020","disclaimer":"Neither the European Commission nor ECMWF is responsible for any use of this information","airQualityIndex":55,"airQualityCategory":"Moderate","airQualityCategoryIndex":2,"airQualityCategoryIndexColor":"FFFF24","primaryPollutant":"O3","pollutants":{"NO2":{"name":"NO2","phrase":"Nitrogen Dioxide","amount":9.05,"unit":"µg\u002Fm3","category":"Good","categoryIndex":1,"index":5},"O3":{"name":"O3","phrase":"Ozone","amount":107.28,"unit":"µg\u002Fm3","category":"Moderate","categoryIndex":2,"index":55},"SO2":{"name":"SO2","phrase":"Sulfur Dioxide","amount":3.36,"unit":"µg\u002Fm3","category":"Good","categoryIndex":1,"index":2},"PM2.5":{"name":"PM2.5","phrase":"Particulate matter less than 2.5 microns","amount":13.06,"unit":"µg\u002Fm3","category":"Good","categoryIndex":1,"index":47},"PM10":{"name":"PM10","phrase":"Particulate matter less than 10 microns","amount":13.66,"unit":"µg\u002Fm3","category":"Good","categoryIndex":1,"index":12},"CO":{"name":"CO","phrase":"Carbon Monoxide","amount":194,"unit":"µg\u002Fm3","category":"Good","categoryIndex":1,"index":2}},"messages":{"Sensitive Group":{"title":"Sensitive Groups","text":"Consider reducing prolonged or heavy exertion. Watch for symptoms such as coughing or shortness of breath. These are signs to take it easier."},"General":{"title":"General","text":"Air quality is acceptable; however, for some pollutants there may be a moderate health concern for a very small number of people who are unusually sensitive to air pollution."}},"expireTimeGmt":1591322400}}


getSunIndexPollenDaypartUrlConfig

"getSunIndexPollenDaypartUrlConfig":{"duration:3day;geocode:38.73,-77.06;language:en-US":{"loading":false,"loaded":true,"data":{"metadata":{"language":"en-US","transactionId":"1591319521539:-2086495049","version":"1","latitude":38.73,"longitude":-77.06,"expireTimeGmt":1591321305,"statusCode":200},"pollenForecast12hour":{"fcstValid":[1591311600,1591354800,1591398000,1591441200,1591484400,1591527600,1591570800],"fcstValidLocal":["2020-06-04T19:00:00-0400","2020-06-05T07:00:00-0400","2020-06-05T19:00:00-0400","2020-06-06T07:00:00-0400","2020-06-06T19:00:00-0400","2020-06-07T07:00:00-0400","2020-06-07T19:00:00-0400"],"dayInd":["N","D","N","D","N","D","N"],"num":[1,2,3,4,5,6,7],"daypartName":["Tonight","Tomorrow","Tomorrow night","Saturday","Saturday night","Sunday","Sunday night"],"grassPollenIndex":[4,3,3,3,3,4,4],"grassPollenCategory":["Very High","High","High","High","High","Very High","Very High"],"treePollenIndex":[1,1,0,1,1,1,1],"treePollenCategory":["Low","Low","None","Low","Low","Low","Low"],"ragweedPollenIndex":[0,0,0,0,0,0,0],"ragweedPollenCategory":["None","None","None","None","None","None","None"]}},"status":200,"statusText":"OK"}}


getSunV3TidalPredictionsUrlConfig

"getSunV3TidalPredictionsUrlConfig":{"days:3;geocode:38.73,-77.06;startDay:05;startMonth:06;startYear:2020;units:e":{"loading":false,"loaded":true,"data":{"adminDistrict":"Maryland","adminDistrictCode":"MD","countryCode":"US","latitude":38.69,"longitude":-77.1,"stationId":"8579629","tidalStationName":"Marshall Hall, Md.","tideHighAnnualMax":3,"tideLowAnnualMin":0,"tidalForecast":{"predictionType":["Harmonic","Harmonic","Harmonic","Harmonic","Harmonic","Harmonic","Harmonic","Harmonic","Harmonic","Harmonic","Harmonic","Harmonic","Harmonic","Harmonic","Harmonic","Harmonic"],"tideHeight":[2.5,0.1,3.1,-0.1,2.5,0.2,3,-0.1,2.5,0.2,3,0,2.5,0.3,2.9,0.1],"tideId":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],"tideType":["H","L","H","L","H","L","H","L","H","L","H","L","H","L","H","L"],"validTimeLocal":["2020-06-04T20:02:00-0400","2020-06-05T01:44:00-0400","2020-06-05T08:17:00-0400","2020-06-05T14:43:00-0400","2020-06-05T20:55:00-0400","2020-06-06T02:36:00-0400","2020-06-06T09:06:00-0400","2020-06-06T15:35:00-0400","2020-06-06T21:46:00-0400","2020-06-07T03:28:00-0400","2020-06-07T09:55:00-0400","2020-06-07T16:24:00-0400","2020-06-07T22:37:00-0400","2020-06-08T04:18:00-0400","2020-06-08T10:44:00-0400","2020-06-08T17:12:00-0400"],"validTimeUtc":[1591315320,1591335840,1591359420,1591382580,1591404900,1591425360,1591448760,1591472100,1591494360,1591514880,1591538100,1591561440,1591583820,1591604280,1591627440,1591650720]}}
Not saying that I necessarily am going to do anything with Tides/Air Quality and such, and I need to figure out Moon data. I do want to be sure that Current Conditions and 7 Day Forecast are as complete as possible.