Right now we are using the astro and daylength functions from pcse.util, which, however, only works on on scalars. It could be worth to adapt these functions (or a combined version of the two, considering that daylength computes a subset of the variables computed by astro) to work on tensors.
We could actually implement these as preprocessing functions to add extra variables to the weather data, instead of having the simulation models calling these functions for each time step.