When one of the parallel tasks in forecast.py fails, the ERROR message(s) are off the screen and all the user can see is
The underlying reason is that execute() does not distinguish error exits. Adding return value to indicate an error and message
ERROR - At least one parallel task failed, check for ERROR in the log above
in the case when execute() failed.
10d8e47