fix: forecast.py, complete