The reason for this change was the past timelevels were left uninitialised after postregridinitial. The previous sequence was:1. fill timelevels
2. regrid
3. postregridinitial on current timelevel
This leaves the past timelevels potentially uninitialised. And when init_fill_timlevels is set, then no other method will set up these past timelevels. Things work fine if this regridding step is a no-op, which will be the case for most current setups, as in this case the past timelevels remain defined.
My change re-applied the "fill timelevels" after postregridinitial. This should be a no-op, except if postregridinitial modified the current timelevel. In this case, copying these data to the past timelevels is arguably the correct thing to do.
Thanks for the info. So in most common cases, the effect of this change is to effectively apply postregridinitial to the past timelevels (via copying from the current timelevel which has had this applied) where it was previously not being applied. This could conceivably mean that some things which were computed exactly from the initial data on the past timelevels are now no longer exact, having been "recomputed" by postregridinitial, but this is no worse than what is done on the current timelevel, so while it is different, it is not wrong.
-erik