Deal with null dataframes and optimized calc_annual script

4 jobs for master
in 1 minute and 52 seconds, using 0 compute credits, and was queued for 3 seconds