In its current configuration NEMO uses a parallel I/O type approach to read in much of its input data or restart data. Some small configuration files are read in using a master-slave method, e.g. the namelist file.
The output is performed by each processor where each processor dumps out it's own section of the ocean model, i.e. the output is performed using parallel I/O. The input/output binary data are typically in netCDF (*.nc) format which means that any changes to the I/O strategy must take this into account. NEMO currently uses netCDF version 3.6.2 but it is intended that future versions will use netCDF 4.0 which is anticipated to give improved performance.
The use of netCDF gives portable output files that can be used on different architectures. The size of the NEMO output and the post-processing means that converting to an MPI-IO strategy is simply not feasible and thus we need to do the best we can with the existing parallel I/O implementation.