FilenetCDF out fails to generate either a netcdf3 or a netcdf4 for OMPS due to a string datatype variable has a _FillValue. I can confirm this is not a netCDF bug since netCDF’s nccopy can successfully generate a netCDF-3 file. It is a bug inside the filenetCDF out. I use NcML to rename the _FillValue to _FillValueStr, then I can successfully generate nc-4 or nc-3 files.
Using NCML I can change the string _FillValue to another name and generate netCDF-4 or netCDF-3 files.