“int SD” means that variable SD in the first file is of type integer, which is why it cannot be used by DESID as noted in the user guide. “float SD_1” means that variable “SD_1” is of type real (single precision) and therefore can be used by DESID.
As a side note, you might be confusing the values of the variable (either discrete values of 0 and 1, or fractions between 0.0 and 1.0) with the file format when you say “binary file”. netcdf files are binary files, regardless of whether the variables defined in it are integer, real, or any other supported variable type. You can certainly provide DESID with a mask variable consisting only of discrete values of 0 and 1, but these still need to be stored as real rather than integer values in the gridmask file.
Also see these earlier discussions on the variable type required for variables in the gridmask file:
CCTM output is all 0 after running CMAQ
What’s the maskdata’s format?