Weather widgets and climate dashboards need a believable time series to design against before a real API is wired in. This generator produces daily readings that drift smoothly and stay internally consistent — rainy days are humid, clear days are not — rather than scattering independent random numbers.
How it works
The series starts from your base temperature and walks day to day with a small random change (a random walk), which mimics the persistence of real weather. Each day’s condition is chosen with a probability, and humidity and the high/low spread are derived from that condition so the numbers agree with the label:
temp[d] = temp[d-1] + randomChange(-3 .. +3)
condition = weightedPick(sunny, cloudy, rainy, ...)
humidity = base + (condition == rainy ? +25 : 0) + noise
high/low = temp ± spread(condition)
Wind speed and pressure are sampled from realistic bands independently each day.
Example and tips
With a base of 18°C over seven days you might see a gentle run like 19, 21, 20, 17, 16, 18, 20, with a rainy day showing 88 percent humidity and a sunny day around 45 percent. Set a low base (near 2°C) to simulate winter or a high base (near 30°C) for summer. Because the data is synthetic it is safe for public demos; just remember it is not a forecast.