Method, model & data
What this is
Mausam Nepal is a bilingual community weather portal for Nepal, built for farmers and travelers. It combines live forecast data, satellite imagery and a small machine-learning model to answer practical questions: will it rain in the next few hours, is a dry spell turning into drought, and is it safe to travel in the hills or high mountains.
How the advisories work
The advisory engine reads the latest forecast for your location and applies
a transparent set of rules, written in the style of the agromet bulletins
published by Nepal's Department of Hydrology and Meteorology (DHM), NARC and
NAMIS. Examples: more than 80 mm of rain in 24 hours triggers a critical
harvest advisory; hail in the forecast triggers an urgent warning; a freezing
level below your elevation triggers a snow warning for trekkers. Every rule is
deterministic and inspectable in assets/js/advisories.js. The
crop notes follow Nepal's real crop calendar: paddy transplanting in
June-July, harvest in October-November, wheat sowing in November.
The AI rain-nowcast model
For 8 core stations we trained a real classifier: an L2 logistic-regression model that predicts the probability of rain (> 0.5 mm in at least one hour) over the next 6 hours.
- Data: Open-Meteo ERA5 reanalysis, hourly, 2020-01-01 to 2026-09-20, Asia/Kathmandu time.
- Features (22): current temperature, humidity, dew-point depression, cloud cover, pressure, wind and precipitation; 6-hour and 24-hour lags; 3-hour pressure tendency; 24-hour temperature change; 6-hour precipitation sum; and diurnal plus seasonal cycles.
- Training: strictly temporal split, trained on 2020-2024 and tested on 2025 to 2026-09-20, so the test is genuinely unseen future weather.
- Deployment: the scaler and coefficients are shipped as JSON and the identical logistic function runs in your browser on live data. Nothing is sent anywhere.
Test-set performance (2025 to 2026-09-20)
| Station | Accuracy | Precision | Recall | AUC | Naive baseline |
|---|---|---|---|---|---|
| Kathmandu | 0.795 | 0.605 | 0.863 | 0.902 | 0.794 |
| Pokhara | 0.815 | 0.545 | 0.809 | 0.907 | 0.852 |
| Biratnagar | 0.777 | 0.480 | 0.807 | 0.879 | 0.832 |
| Nepalgunj | 0.783 | 0.391 | 0.850 | 0.892 | 0.878 |
| Lukla | 0.818 | 0.635 | 0.801 | 0.897 | 0.796 |
| Jomsom | 0.774 | 0.298 | 0.706 | 0.838 | 0.883 |
| Ilam | 0.800 | 0.615 | 0.824 | 0.892 | 0.781 |
| Jumla | 0.790 | 0.481 | 0.876 | 0.905 | 0.849 |
How to read this honestly: the models discriminate rain from no-rain well (AUC 0.84-0.91) and catch most rain events (recall 0.71-0.88), but their raw accuracy is close to a naive baseline ("if it is raining now, predict rain"). That is normal for short-term nowcasting from point observations, and it is why the portal shows the model's probability next to the global weather-model estimate instead of hiding the comparison. The model is tuned to miss fewer rain events at the cost of some false alarms, which is the safer error direction for farmers and travelers.
Drought watch method
For your location we pull daily ERA5 precipitation from 1995 to about a week ago, sum the most recent 30 days, and compare it with the 1995-2024 mean for the same calendar dates. Below 40% of normal is flagged as drought, 40-70% as drier than normal, above 140% as wetter than normal.
Data sources
- Forecasts & history: Open-Meteo (blends NOAA GFS, DWD ICON, ECMWF IFS, JMA and others), CC BY 4.0.
- Rain radar: RainViewer global mosaic, past 2 hours, free for community use with attribution.
- Satellite rainfall: NASA GIBS GPM IMERG precipitation rate, public domain.
- True-color imagery: NASA GIBS VIIRS Corrected Reflectance, public domain.
- Base map: OpenStreetMap contributors.
Limitations
This is a community planning tool, not an official warning system. Mountain
weather can change faster than any model update cycle, and radar coverage is
sparse over parts of Nepal. For official alerts, follow Nepal's Department of
Hydrology and Meteorology (DHM). Reproduce everything: training script in
ml/, metrics in ml/model_card.md.