The NDFD data, which is available covering the CONUS and its adjacent waters is a complex dataset.
It was recently brought to my attention, by David Burch, that the level of the wind in the NDFD data published on the LuckGrib server appeared to be incorrect.
This is a somewhat complex topic, but long story short, he was right and the wind levels have been corrected. If you are using this data set, you will see that wind is now available at 10m, not the surface.
10m wind vs. surface wind
For many people, the difference between wind at the surface and wind at 10m above the surface simply won’t matter. However, if you are using precise weather routing software or simply want to understand this model in detail, the difference between wind at the surface and wind at 10m is important.
The original source data
The original source for the NDFD data is here.
If you are using LuckGrib, you can actually go to that site, download the original source data, import it into LuckGrib and see what it contains. LuckGrib is one of the few GRIB viewers capable of doing this. (If you are curious about importing the original data, one hint is that the .bin files you will find are actually GRIB files with extra header information - LuckGrib can read the .bin files.)
The GRIB data format has very precise ways of describing the level of each parameter, and there is no ambiguity about the surface level and the 10 m above ground level - each level can be correctly encoded into the file.
There is standard piece of software, released by NOAA, called wgrib2 which provides a reference for interpreting GRIB data. That software, as well as LuckGrib, report that the wind in the NDFD files are defined at the surface. This seemed pretty clear to me - if a NOAA generated file is describing the wind as being at the surface, that should be the correct answer, right?
Well, the online documentation for the NDFD elements states that the wind is at 10m. See this link for example. David Burch contacted the head of NDFD and that source confirmed that the NDFD winds are defined at 10m, not the surface.
The wind level has been adjusted
As of today, May 2nd, 2017, the LuckGrib server cluster has been adjusted to move the wind data to the 10m level. This appears to be the correct thing to do.