Read hourly I/O API data with I/O API

Could anyone know how to use I/O API to read more than 2 files.
I have successfuly use I/O API function OPEN3/READ3/WRITE3 to operate one file with environment variable. But i don’t know how to read or write more than 1 file.
Many thanks. Looke forward to your reply.

If you’ve installed the I/O API, you should have both the ioapi-3.2/ioapi and the ioapi-3.2/m3tools source directories. In the latter are many multi-file programs (most of them are at least two-file), perhaps the most extreme of which is m3combo.f90 which potentially deals with hundreds of input-files and one output-file. vertintegral.f90 is perhaps a more-conventional example: it reads a CONC file and a METCRO3D file, and creates a file with 2-D vertically-integrated species-values (it’s also a demonstration of how to do effective OpenMP parallelism…)

Thanks. m3combo.f90 is an excellencent examble for reading multi-file wiht “STRLIST”.
Another question, can i read read unformaated m3 netcdf file with I/O API, like netcdf file without headers?

No, there are internal data structures in the file-headers that are required in I/O API files, that are used for a variety of purposes including data-integrity assurance.

However. I/O API module MODNCFIO (see provides a number of routines providing high-level/modeler-friendly access to “raw” netCDF, and module MODWRFIO (see provides high-level access to WRF-format netCDF.