meteocool is a free GIS visualisation & aggregation platform with focus on thunderstorms. Optimized for mobile devices, you can use it to both chase or avoid upcoming weather - that's up to you.
An exemplary cloud formation with high reflectivity (aka thunderstorm)
meteocool currently uses radar data provided by DWD and realtime lightning information from the awesome blitzortung.org project.
Download on Apple Appstore Download on Google Play Store
- Automatic Map Updates: the biggest inconvenience with most weather radar visualisations is out-of-date data. Meteocool notifies its clients as soon as new radar data becomes available and the client tries to be transparent about the dataset age. Say goodbye to hammering F5!
- Live Lightning Strikes: new lightning strikes are displayed instantly, giving you an even better feeling for the cloud formation's intensity, trajectory and speed.
- Push Notifications: get notified about incoming rain up to 60 minutes in advance. Works in any modern browser and on iOS.
- Dark Mode: great for HUD-like displays and general night time usage.
- Progressive Web App: responsive, connectivity independent and app-like. Add a shortcut to your iOS or Android Home Screen to use meteocool in "app mode".
- iOS & Android Apps: native iOS and Android apps provide battery-efficient background location services to allow for accurate rain notifications without user interaction.
Screenshot 2019年05月11日 13 33 19
Use docker-compose (see below) for the backend. Run make dev
to run the development build (the first one might take a while).
Use make dev devrestart to build and also start all containers on
your local system. After that, go to https://127.0.0.1:8040 to access
your development system.
- Production build:
make prod - Use feature branches!
- docker-compose MUST be executed in the root-directory of the repository! Otherwise bind mounts for config files will not work and no error will be reported.
- When the color mapping for dbZ-values (pixels) is changed, the legend
needs to be regenerated. Because this happens very rarely, the script
for that isn't dockerized. Use
make legendinsidebackend/dwd/to regenerate the legend PNG. - The database is initialized when the first entry is generated. Sadly this causes the push backend to hang until backend/app provides a first entry. As a work around, create a notification request via the web UI after the first startup. The databse is persistently kept on a docker volume.
Makefile targets in backend/dwd/:
make mbtiles: create PNG + tiles in tmp/make update: fetch current radar date from DWDmake update mbtiles: both operations together
For frontend development, use yarn && yarn start inside the
frontend/ directory. This will compile the src/index.js application
and start a development webserver on localhost. Note that for a complete
local development setup you also need the other containers.
install docker-compose and use make dev. For development purposes, use the docker-compose-dev.yml file.
Release builds can be built using make prod or manually:
docker-compose builddocker-compose up(debug)docker-compose up -d(background)