# Performance when reading large CF NetCDF4 files with many variables

**URL:** https://discourse.paraview.org/t/performance-when-reading-large-cf-netcdf4-files-with-many-variables/10561
**Category:** ParaView Support
**Created:** [October 20, 2022, 3:59pm UTC](https://discourse.paraview.org/t/performance-when-reading-large-cf-netcdf4-files-with-many-variables/10561 "2022-10-20T15:59:00Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![leighorf](https://discourse.paraview.org/user_avatar/discourse.paraview.org/leighorf/32/2291_2.png) [@leighorf](https://discourse.paraview.org/u/leighorf)
#### Post date: [October 20, 2022, 3:59pm UTC](https://discourse.paraview.org/t/performance-when-reading-large-cf-netcdf4-files-with-many-variables/10561/1 "2022-10-20T15:59:00Z")

</div>

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.
