Skip to content

Check the accuracy of NEA's 🌧 rainfall predictions

License

Notifications You must be signed in to change notification settings

hueyy/WhetherReport

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Whether Report

This project tracks the accuracy of the Meteorological Service Singapore (MSS)'s weather forecasts (also available on NEA's myENV mobile app) by comparing rainfall recorded by the National Environment Agency (NEA)'s weather stations against the 2-hour forecasts made by MSS for the same time period.

Limitations

Please note the following:

  • Only MSS's 2-hour weather forecasts are currently being analysed
  • MSS's historical forecast data and NEA's historical weather conditions data are not fully comprehensive, and any missing or invalid data is ignored
  • Since MSS's forecasts do not necessarily cover the same location where NEA's weather stations are located, data from the closest few stations are used. It is therefore possible, e.g. that rainfall predicted by MSS is not recorded by NEA's weather station
  • Weather forecasts are assessed leniently, i.e. if MSS forecasts rain in any form (e.g. Light Showers, Drizzle, Heavy Rain, Thundery Showers, etc.), and there is any precipitation at all within the 2-hour period covered by that forecast, it is considered to be correct (and vice-versa for non-rain forecasts, e.g. Windy, Fair, Cloudy, etc.)

Development

Run the backend:

cd backend
lein run

Then run the frontend:

cd ../frontend
npm run dev

In Docker:

docker build . -t whether
docker run -p 8000:8000 whether

Production

To update data:

cd frontend
npm run build

cd backend
lein trampoline run -m whether.main --cron-x 2022-09-11T00:00:00+08:00 2023-01-28T00:00:00+08:00
export IS_PRODUCTION=true
lein trampoline run -m whether.main --build
netlify deploy --prod

Data

This project uses data from data.gov.sg that was made available under the terms of the Singapore Open Data Licence v1.0.

lein trampoline run -m whether.main --cron-30