Reading netCDF files using the netCDF API (Application Programming Interface) is actually quite easy and will be more efficient than any shell routine could ever be. I encourage you to, by all means, give the API a try, and I`ll give you some quick examples that you can use as a template. The simplest case is when you are already familiar with the data in the file. In this case, you can skip all the preliminary inquiries and go right to reading in whatever subsection you want. This probably closest to what your analysis programs are doing now with IEEE or other binary data files. PARAMETER ( NI=96, NJ=80, NK=12, NT=30 ) REAL CUBE3D( NI,NJ,NK ) INTEGER ISTART(4), ICOUNT(4) C...Get this from "/usr/local/include/netcdf.inc".... #include "netcdf.inc" CALL NCPOPT(NCVERBOS+NCFATAL) ! forces a wordy abort if error NCFID = NCOPN ( 'filename.nc', NCNOWRIT, IRET ) ! get a file ID IDV = NCVID ( NCFID, 'varname', IRET ) ! get a variable ID C...Read in a series of 3-D volumes... ISTART(1)=1 ISTART(2)=1 ! "ISTART" describes where in the 4-D block to ISTART(3)=1 ! start getting data ICOUNT(1)=NI ICOUNT(2)=NJ ! "ICOUNT" tells how many points to get ICOUNT(3)=NK ! along each of the variables` axes ICOUNT(4)=1 DO IT=1,NT ISTART(4) = IT CALL NCVGT (NCFID, IDV, ISTART, ICOUNT, CUBE3D, IRET) C ...Do something useful with the data.... ENDDO Easy, huh?!