This repository houses code for an experimental “conditions dashboard” for whitewater river levels and surf spot wave forecasts in southern Ontario. It draws data from various sources & presents it mostly in line chart form for quick checks of current conditions. The project is supposed to provide a centralized spot to check forecasts, but also an opportunity for me to learn various newer web technologies, so you shouldn’t rely on it or expect any kind of data persistence at all, at least for the present.
Working on a proper deployment schedule, but for now everything in my dev repo is just synced to https://riverlevels.hackinghistory.ca, where you can access Actual Live River Data and Simulated Lake Surface Forecast Data, with the hope of bringing the wave tool online soon. Just beginning work on a React implementation which may eventually replace what’s already here.
If the checkbox is ticked, then the feature has been implemented; if not, it’s planned but doesn’t work yet.
- Rivers
- [-] river info tabs with the following info:
- [X] current water levels w/ level quality estimate
- [X] basic info about the river (route description)
- [X] directions links for put-in and take-out
- [ ] display map with all identified points (put-in, take-out, and other info such as alternate put-in/take-out, notable features, etc.)
- [ ] weather forecast
- [ ] links to recent radar/rainfall info (this will be tough to implement without some way to estimate river catchment areas, which is a bit of a big ask)
- [ ] journalling: allow user to provide a brief journal entry, and optionally retrieve
- [ ] historical gauge data
- [ ] historical weather data
- Waves
- [ ] surf spot info tabs with the following info:
- [ ] latest point forecast via GLOS wave/wind forecasts
- [ ] spot description (wave info & quality in various wind/wave directions)
- [ ] current buoy reading (if available)
- [ ] direction links
- [ ] windy forecast map link
- [ ] GLOS forecast map link
- [ ] journalling: allow user to provide a brief journal entry, and optionally retrieve
- [ ] historical forecast data via GLOS
- [ ] historical buoy data if available
- [ ] historical weather data
- [ ] surf spot info tabs with the following info:
- Both
- [ ] offline caching of data to allow use of charts when wifi fails.
- [ ] DATA ATTRIBUTION – I haven’t added this yet at all so please, if you’re using the site, don’t share widely – I’m in copyright violation, or at least good-neighbour violation.
- [-] river info tabs with the following info:
ADD ATTRIBUTION
Please use the Github Issues Tracker for ideas/bug reports/improvements. Thanks!
River definitions are Javascript Simple Objects with the following structure:
thisRiver = {
name: "string", // unique name
shortName: "string" // abbreviation to use in tab construction
// gauge-related props will be folded into a new array property `gauges`
// at a future date, to allow for multiple gauge readouts
"gaugeType": "wateroffice", // one of 'wateroffice', 'cvc', or 'grca'
"gaugeID": "02GA005", // unique gauge ID
"slug": "irvine", // used in the cunstruction of element classes & ids
"units": "cms", // generally 'cms' or 'height'
// will eventually be replaced with more complex objects
// cf. leaflet & gmaps for some plausible properties
"points":{
"putin": [43.702321, -80.445578] ,
"takeout": [43.662701, -80.453265]
},
// use this to color-code the levels
"levels": [[0,4.6,"bad"], [4.6,8,"shoulder"], [8,50,"good"],[50,100,"shoulder"]],
// not really using this right now -- can be used to set a runnability threshold
"minHeight": 4.6
}
yeah…. that needs doing
- tabs work with no issues
- biggest CSS issues are resolved
- river def’n is set
- add maps
- extraneous files ruthlessly purged
- relevant libraries (e.g. gaugeParser.js) merged bck into this project
- stop using org files for literate programming, switch to plain old html/css/js
- offline storage
- journal implemented