Open leifdenby opened 4 years ago
I would go with 2) or 3) as well. You're planning on doing piece-wise linear interpolation in space and time, right? In that case it might be simplest to do 3) that way you only need the 1D piecewise linear interpolation which MONC already has an implementation of: http://homepages.see.leeds.ac.uk/~earlcd/MONC/doc/releases/vn0.8/namespaceinterpolation__mod.html, then you could first interpolation onto height levels on initiation and then interpolate in time during runtime.
Also, MONC doesn't have any form of dynamic grid functionality (I don't think?) so there's no risk of the grid-levels changing over time, so it seems sensible to have the call that requests forcing information only provide the time, e.g. something like
pure function get_forcing(state_variable, time)
Maybe we should hash out together what the functions/subroutines will be called? Could make it easier to work out how to structure this.
Sounds good. I will continue working on this simply using arrays for now. We can do the linear interpolation to get something working now, though ideally we would again use Steffen interpolation in hte longer run (although if the forcing files are high resolution it is not so important).
First work on this, using strategy #3, is under #34.
Question from @stevenleeds on Teams (27/10/2020):
Related to #26