Is the computation taking 4 hours to fit the GP to the whole output space (10 000 model evaluations)?
If yes, then I would say it is still a good time, considering it is done in Matlab.
If no, then I suppose it takes 4 hours to compute a surrogate for each time step, meaning 4 hours times 1000 steps for the whole surrogate evaluation. This would be a lot, I agree. I also suppose your output matrix is Ns x Nout, where Ns is the number of the sensors and Nout is the number of time steps.
Regarding saving the file, Matlab has some problems when it is about saving a considerable amount of data or big structures. Try to use the
-v7.3 option, which avoids file compression and creates, therefore, fewer issues. This should make no problems:
I believe that having so many time steps is the core issue here. Developing a surrogate for so many instances is computationally expensive. If you do not need the complete time expansion of the process, you could try discretizing your output, e.g., considering only data every 10 time steps.
Alternatively, if you need all of the time steps, I suggest to compute a separate surrogate for each time step, saving it, and moving to the computation of the next one iteratively.
Again, discretizing your output is the best option for you.
Let me know