robertmparker / mr-weather Goto Github PK
View Code? Open in Web Editor NEWMussel Rock Weather Dashboard
License: Apache License 2.0
Mussel Rock Weather Dashboard
License: Apache License 2.0
David Chamberlin is using weewx to collect data from his station at Sharp Park (he's still polishing it up before publishing a link to it). It's saving data every 2 minutes, and there's also a MQTT/WebSockets API that emits live readings every 3 sec. I'll email him and ask if he's okay with us using those.
Found another weather station here:
https://ambientweather.net/dashboard/0e02feb4d3f58cb0676d1cf88653b804#wind_graph
Not sure about data quality yet, but it could be in a good spot to assess Green Monster flyability.
JSON feed (start & end times are unixtime * 1000):
https://lightning.ambientweather.net/device-data?macAddress=80:7D:3A:7C:36:29&res=5&start=1603070038797&end=1603156438797&dataKey=graphDataRefined
https://firebase.google.com/docs/perf-mon/get-started-web
This could monitor outgoing network requests to spot HTTP errors on the client-side.
It's broken, but hopefully will be fixed soon. I think this is the most valuable signal, and I've put this off b/c I want it to work, but it's just clutter at this point.
From Isaiah Clapp on Telegram:
A suggestion to add the Farallon Buoy
That buoy is here, and there's actually another one further off the coast of Half Moon Bay here.
They're not on WU or CWOP, so... we could embed one of these images:
46026 wind direction
46026 wind speed
46026 wind gust
46026 wind speed, wind gust, pressure
or try to plot this:
46026 winds as CSV
see also: NDBC Web Data Guide
The cors proxy is currently running on the heroku free tier. It's running out of monthly quota. I didn't include a whitelist that prevents other domains from using it, so it might be spam or it might just be how heroku's usage works. Apparently the free tier doesn't have any monitoring, so I can't determine if all the usage is legitimate. And heroku's paid tier doesn't have any billing limits, so if I attach a credit card number I could suddenly get hit with a large bill. It's not inspiring a whole lot of confidence in heroku.
Anyway the monthly quota is going to reset tomorrow, so a short term fix is not needed.
Google analytics does show that traffic to the site has grown this month. So the increase in traffic could be organic, and heroku's free tier might just be severely limited.
I'm thinking that the long term solution is to write a simple cors proxy in python and host it on the GAE free tier.
This site has some really interesting widgets. I don't know if I'd use any of it, but whoever made it has a much better knack for doing UI work than I do. It looks nice.
The issue is that Chrome updated, and it no longer allows mixed content. The page is HTTPS, but the Fort Funston images are HTTP. It used to work, but display a warning about mixed content. Now Chrome tries to load the images via HTTPS, and it fails since Fort Funston's webserver does not have a valid certificate.
So since I can't fix Fort Funston's webserver, I can either downgrade the entire site to HTTP or try to figure out some stupid HTTPS proxy to fool Chrome.
Make the page reload every few minutes, so it always shows reasonable data.
The KCADALYC1 meter has measurements for temperature and dew point. This may be enough to make a rudimentary fog predictor.
There is some chatter on the Telegram channel about specific temperatures. I'm not sure if this is temperature that is good for flying or temperature that is good for no fog.
There are a lot of different wind charts now. I should add some unit testing. Basic idea is to mock out the http request, and make sure the data is parsed correctly.
There have been a lot of changes recently, and some documentation is out of date.
This change is just cleanup, and shouldn't change any functionality.
In index.html, there are tags like:
In index.js, there is a block like this:
window.onload = function() {
new WUWind('KCADALYC1');
....
};
The onload starts a HTTP request for data, and fills in the that matches the "stationId" param. This matching is kinda weird. Ideally the HTML file would look like this:
And then Javascript would just do everything needed without having the same id in two different places.
Some of these "stationIds" are not even station ids. Sure in the example listed, it is a station id. But in other examples there is a URL or a grid point. Each API uses different formats.
At head, their is a CORS issue. When I switched to using a CORS proxy, I got a HTTP 502. When I tried to call the resource directly, I also got a 502.
For now, just keep an eye on the issue, and see if the backend fixes itself.
The tide chart has a vertical red line that marks the current time. The forecasts should have a similar marker to indicate. Also maybe don't include 7 days worth of hourly data. I have little faith that the forecast is useful more than a day in advance.
The tide chart is failing to show up, because the API request is failing with a CORS error.
Which has the relevant headers:
access-control-allow-headers: X-Requested-With
access-control-allow-origin: *
Seems fine to me. Did this change happen when I moved to https or do the API change from under me?
The tide chart is failing to show up, because the API request is failing with a CORS error.
Which has the relevant headers:
access-control-allow-headers: X-Requested-With
access-control-allow-origin: *
Seems fine to me. Did this change happen when I moved to https or do the API change from under me?
160 Northridge Drive - Is it any good? When is it in rotor?
The Mussel Rock webcams are currently showing fog, but the area is clear of fog. And right now when I go to the page:
https://www.wunderground.com/dashboard/webcam/barenjager/8/2020-9-30
Below the images, it has the text "Online: 1:56:06 PM (updated 3 hours ago)".
So weather underground is showing a stale image, which isn't very useful. At the very least it should display the staleness of the image.
The tide chart uses https://cors-anywhere.herokuapp.com/ to proxy the request. I implemented it that way, because I was having CORS issues with the NOAA API.
According to https://github.com/Rob--W/cors-anywhere/issues/301, it shouldn't be working. But it seems ok for now. I expect their service could go down at any moment.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.