In the pseudo-spectral approach, quadratic terms are computed in physical space, each of which requires 2 DFT (forward and backward). On the other hand, the current version of Coral can only export quantities that are computed in physical space. The rationale behind this was that, initially, typical diagnostics (e.g. the kinetic energy) would need to be computed anyway to march the equations in time.
However, detailed statistical analysis of the solution sometimes necessitates the computation of diagnostic quantities that do not directly enter the equations. Since the complexity of the code is proportional to the number of DFTs (at leading order), frequently computing additional quantities is wasteful
It would speed up the code if we could distinguish between dynamic and diagnostic variables.
Corollary: diagnostic variables should not be output at each timestep (this would negate the purpose of the distinction). In case a timeseries is demanded by the user in coral.timeseries, the output frequency should be, say 5:1 or 10:1.
In the pseudo-spectral approach, quadratic terms are computed in physical space, each of which requires 2 DFT (forward and backward). On the other hand, the current version of Coral can only export quantities that are computed in physical space. The rationale behind this was that, initially, typical diagnostics (e.g. the kinetic energy) would need to be computed anyway to march the equations in time.
However, detailed statistical analysis of the solution sometimes necessitates the computation of diagnostic quantities that do not directly enter the equations. Since the complexity of the code is proportional to the number of DFTs (at leading order), frequently computing additional quantities is wasteful
It would speed up the code if we could distinguish between dynamic and diagnostic variables.
Corollary: diagnostic variables should not be output at each timestep (this would negate the purpose of the distinction). In case a timeseries is demanded by the user in
coral.timeseries, the output frequency should be, say 5:1 or 10:1.