Layers should be able to be specified with DateTime based Time dimension (using DimensionalData.jl) so that Month() etc can be used, even exact date-time for the whole simulation.
This will be expensive, so we should implement precalc method for all rules to generate arbitrary precalc data outside of the main loop. It will be functional, not stateful - data objects will be rebuilt for all rules to contain the precalc they want, whatever it is, and passed in during the inner loop.
The upside is it will make numbers/unitful methods faster as well - calculating the indices to interpolate isn't so cheap anyway so they may as well be precalculated.
Layers should be able to be specified with DateTime based Time dimension (using DimensionalData.jl) so that Month() etc can be used, even exact date-time for the whole simulation.
This will be expensive, so we should implement
precalc
method for all rules to generate arbitrary precalc data outside of the main loop. It will be functional, not stateful - data objects will be rebuilt for all rules to contain the precalc they want, whatever it is, and passed in during the inner loop.The upside is it will make numbers/unitful methods faster as well - calculating the indices to interpolate isn't so cheap anyway so they may as well be precalculated.