Performance when reading large CF NetCDF4 files with many variables

I am using the CF compliant NetCDF4 reader in my work. 3D data is compressed using ZFP.

I do mostly Python scripting. Lately I am rendering an isosurface shaded by another 3D quantity as well as a 2D surface. So a total of two 3D variables are rendered and one 2D variable.

What I have consistently noticed with the NetCDF4 plugin is, the more 3D variables in my file, the longer it takes for Paraview to get to the data I want to plot. It seems as if the NetCDF4 plugin reads through all the data in the file before even accessing the requested bits. I can watch Paraivew read in the data (taking 95% of CPU time) and then render the scene almost immediately (1080p PNG). When I create NetCDF4 files that only contain the data that I’m rendering, or fewer overall variables, things go much faster.

So I am wondering if there is a way to improve the NetCDF4 reader’s performance for many variables. Here are excerpts from ncdump -c on a typical file:

netcdf mkow075-ens-db300.00900000 {
dimensions:
xh = 1096 ;
yh = 996 ;
zh = 200 ;
time = UNLIMITED
19 3D fields are of dimension (time, zh, yh, xh)
42 2D fields are of dimension (time, yh, xh)

I tried digging through the reader code but came up empty.