EZcdf is a high-level, easy-to-use interface to the NetCDF library (http://www.unidata.ucar.edu/packages/netcdf), a file format which allows one to write/read binary files across architectures without regard to the underlying native byte ordering. NetCDF is language independent; files can be written in a programming language (e.g. Fortran, C, Java, Python, IDL) and read in another. Data can be accessed randomly so that the content of a NetCDF file can evolve without compromising backwards compatibility.
Unfortunetely, the complexity of NetCDF-f77 has deterred many users in the
past. While EZcdf does not support the full capability of NetCDF, it is
almost as simple to write a NetCDF file with EZcdf as using unformatted
read/write instructions. At present, EZcdf only supports finite sized
arrays of rank <= 3. On the other hand, EZcdf accepts complex and
logical data types, which are mapped to real, respectively integer,
arrays while providing a name mangling mechanism to overcome the lack of
support for complex and integer types in NetCDF. NOTE: NetCDF-f90 is
now available with all NetCDF features, no rank <= 3 restriction, and
for most new code will be preferable to EZcdf, which was written before
the availability of NetCDF-f90.
EZcdf's first application was to replace BZIO calls in many PPPL codes such as JSOLVER, DMAP, PEST and others.