Thanks very much for your insightful suggestions, as always! I just finished watching the video and will try to get help there.
With respect to the multiplication of kernels, I was trying to implement the Kroncker product assuming separable time and space kernels. I could’ve used PyMC’s some Kron functions - I couldn’t find one that is applicable or I didn’t know enough.
The problem is that all observation locations of the satellite do not have data at a particular measurement time. In other words, depending on the measurement time, some locations have missing data. Because of this, I could not use a fixed input of lon, lat, and time, but I had to make a mesh of lon, lat, and time, excluding those missing locations and times. This lon, lat, time mesh (mn x 3 array) allows me to make an mn x mn (big) matrix for both space and time. And then, I just need to do an element-wise multiplication instead of using the Kronecker product. Here, the active_dims parameter of PyMC was a game changer for me.
I guess my logic seems correct here, but I’d like to hear advice if I am wrong or not efficient.
By the way, I saw a multiplication example from this PyMC doc (though old): Kronecker Structured Covariances — PyMC3 3.11.4 documentation.
Thank you so much!