MATLAB: NetCDF Read Slow Down – Sometimes

netcdf

I am reading data from very large NetCDF files (>25GB/file). The data are stored in separate 2D variables within the NetCDF file and depending on the syntax I use for netcdf.getVar I get dramatically different performance.
If I retrieve 'X' data values from the NetCDF file (different parts of the code require different subsets of the data):
(1) Always Fast: netcdf.getVar(ncid,varid,[0 0],[X 1]) (2) Initially Slow: netcdf.getVar(ncid,varid,[0 0],[1 X]) …however subsequent reads from the same variable seem much faster.
Any thoughts as to what might be going on…is there any way to optimize things such that (1) and (2) are equally fast???

Best Answer

If your variable's 2nd dimension crosses a lot of chunk boundaries, that might explain why the initial read might be slow.