We can probably just use the Fortran 2008 NEWUNIT specifier rather than a default value of 100. That would enable multiple files to be opened without giving a unit argument to file_create. It looks like it's supported in gfortran 4.5+, xlf (at least for BG/Q), and ifort.