Can we compress getperiod and getroll into one function as they look to be more or less identical except np=1D, and currperiod is passed in.  So therefore getroll can become something like {[p] getperiod[p;1D;"d"$p]}