{"id":50948810,"url":"https://github.com/oduerr/weather","last_synced_at":"2026-06-17T23:04:18.729Z","repository":{"id":306768433,"uuid":"1027093088","full_name":"oduerr/weather","owner":"oduerr","description":"Simple weather app to be viewed in the browser.","archived":false,"fork":false,"pushed_at":"2026-05-31T16:00:21.000Z","size":190,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-31T17:16:12.419Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oduerr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-07-27T09:50:24.000Z","updated_at":"2026-05-31T16:00:24.000Z","dependencies_parsed_at":"2025-07-27T14:56:00.640Z","dependency_job_id":"c4a53070-865f-48c7-82af-9c7b1d3987a0","html_url":"https://github.com/oduerr/weather","commit_stats":null,"previous_names":["oduerr/weather"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/oduerr/weather","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oduerr%2Fweather","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oduerr%2Fweather/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oduerr%2Fweather/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oduerr%2Fweather/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oduerr","download_url":"https://codeload.github.com/oduerr/weather/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oduerr%2Fweather/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34468779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-17T23:04:18.129Z","updated_at":"2026-06-17T23:04:18.719Z","avatar_url":"https://github.com/oduerr.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⛅ Weather App\n\nA mobile-friendly weather forecast app with multiple models, interactive charts, a calendar overview, and observed data integration. Deployed as a static page — no server needed.\n\n🔗 **Live**: https://oduerr.github.io/weather/\n\n---\n\n## Panels\n\n| Panel | Description |\n|---|---|\n| 🔀 **Compare** *(default)* | Overlay multiple forecast models side by side with temperature, rain, wind, UV, symbols |\n| 🌡️ **Temperature** | Hourly temperature, precipitation, cloud cover, humidity, visibility with observed overlays |\n| ☀️ **UV \u0026 Wind** | UV index and wind speed/gusts with Beaufort scale; wind direction shown as arrows on the wind trace |\n| 📅 **Overview** | Calendar grid (Mon–Sun weeks); today highlighted; weekends tinted; past days filled with BrightSky observed data |\n| 📍 **Actuals** | Side-by-side comparison of observed values (DWD station, BrightSky) vs current forecast |\n\n---\n\n## Features\n\n- **Multi-model forecast**: Best Match, ICON D2/EU/Global, MeteoSwiss CH1/CH2, ECMWF, GFS, AROME and many more\n- **Compare panel**: Toggle any combination of models and parameters (symbols, temperature, rain, wind, UV, humidity, dew point, clouds, visibility)\n- **Calendar overview**: Weekly Mon–Sun grid with today highlighted; past days of the current week show BrightSky observed data with \"Obs.\" badge (Konstanz only)\n- **Rain Radar**: Opens an animated radar map (`radar.html`) centred on the selected location\n- **Observed data** (Konstanz): DWD station via BrightSky (temperature, wind, humidity, precipitation, pressure) + HTWG fogcast station (air + lake water temperature)\n- **Swipe navigation**: Swipe left/right to pan time axis; swipe up/down to cycle panels\n- **Keyboard shortcuts**: `1` `2` `5` `a` for view range, `t` `u` `c` `o` for panels, `r` for Radar, `?` for help\n- **Mobile-optimised**: Compact axis layout on screens \u003c768px; touch-friendly controls\n- **URL-driven state**: Full app state shareable as a URL\n\n---\n\n## URL Parameters\n\n| Parameter | Values | Description |\n|---|---|---|\n| `lat` | float | Latitude |\n| `lon` | float | Longitude |\n| `name` | string | Location display name |\n| `model` | model id | Weather model (see list in app) |\n| `panel` | `compare` `temperature` `uv_wind` `overview` `actuals` | Active panel |\n| `view` | `1d` `2d` `5d` `all` | Time range |\n\n### Example links\n\n```\n# Konstanz — Compare panel\nhttps://oduerr.github.io/weather/?lat=47.6952\u0026lon=9.1307\u0026name=Konstanz\u0026panel=compare\n\n# Zurich — Temperature, 2-day view, MeteoSwiss CH1\nhttps://oduerr.github.io/weather/?lat=47.3769\u0026lon=8.5417\u0026name=Zurich\u0026model=meteoswiss_icon_ch1\u0026panel=temperature\u0026view=2d\n\n# Espoo — 5-day overview\nhttps://oduerr.github.io/weather/?lat=60.2055\u0026lon=24.6559\u0026name=Espoo\u0026panel=overview\u0026view=5d\n```\n\n### Saved locations\n\n| Location | Link |\n|---|---|\n| 🇩🇪 Konstanz | https://oduerr.github.io/weather/?lat=47.6952\u0026lon=9.1307\u0026name=Konstanz |\n| 🇨🇭 Zurich | https://oduerr.github.io/weather/?lat=47.3769\u0026lon=8.5417\u0026name=Zurich\u0026model=meteoswiss_icon_ch1 |\n| 🇨🇭 ICON CH1 Chäserrugg | https://oduerr.github.io/weather/?lat=47.1549\u0026lon=9.3128\u0026name=Chäserrugg\u0026model=meteoswiss_icon_ch1 |\n| 🇨🇭 Wildhaus | https://oduerr.github.io/weather/?lat=47.2033\u0026lon=9.3505\u0026name=Wildhaus\u0026model=meteoswiss_icon_ch1 |\n| 🇫🇮 Espoo | https://oduerr.github.io/weather/?lat=60.2055\u0026lon=24.6559\u0026name=Espoo |\n| 🌲 Fischbach | https://oduerr.github.io/weather/?lat=48.1577\u0026lon=8.4876\u0026name=Fischbach |\n\n---\n\n## Keyboard Shortcuts\n\n| Key | Action |\n|---|---|\n| `1` `2` `5` `a` | View range: 1d / 2d / 5d / All |\n| `t` | Temperature panel |\n| `u` | UV \u0026 Wind panel |\n| `c` | Compare panel |\n| `o` | Overview panel |\n| `r` | Open Radar in new tab |\n| `←` `→` | Pan time axis |\n| `↑` `↓` | Cycle panels |\n| `Esc` | Show / hide controls |\n| `?` | Keyboard shortcuts help |\n\n---\n\n## Data Sources\n\n| Source | Data | Coverage |\n|---|---|---|\n| [Open-Meteo](https://open-meteo.com/) | Forecast (all models) | Worldwide |\n| [BrightSky / DWD](https://brightsky.dev/) | Observed: temp, wind, precip, humidity, pressure | Konstanz |\n| [HTWG fogcast station](https://fogcast.in.htwg-konstanz.de/) | Observed: air temp + Lake Constance water temp | Konstanz |\n| [RainViewer](https://www.rainviewer.com/) | Animated radar tiles | Europe / World |\n\n---\n\n## Development\n\nStatic HTML/CSS/JS — no build step, no bundler. Open `index.html` directly or serve from any static host.\n\n```bash\n# Local development — just open the file\nopen index.html\n\n# Or with any static server\npython3 -m http.server 8080\n```\n\nSee [`AGENTS.md`](AGENTS.md) for architecture notes intended for AI coding assistants.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foduerr%2Fweather","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foduerr%2Fweather","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foduerr%2Fweather/lists"}