The metadata of the netcdf file includes projection information, which can be identified by QGIS as a custom CRS:
+proj=lcc +lat_1=50 +lat_2=50 +lat_0=50 +lon_0=-107 +x_0=5632642.22547 +y_0=4612545.65137 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
but there is no extent given in projection units, only latlon for the corners.
If you run gdalinfo on the file, you see that subdatasets 1 and 2 contain lat and lon values for every cell, while subdataset 4 contains the humidity values you want. So you can use gdalwarp to extract those values, using the latlon information with the -geoloc
option:
gdalwarp -geoloc NETCDF:"rhum.2m.2014.nc":rhum out.tif
You will get a warning that the metatdata will be cut off, because it is too long. The reprojection takes some time, because there are 365 bands in the file (one for every day).
The result can be loaded into QGIS as WGS84:
In the original lcc projection, it looks like this:
You have to add 0 as additional NODATA value, then you can set the style to grayscale for band 1 (January 1st), with extents between -30078 and -20809.
The metadata information for the band tells you:
rhum#_FillValue=-32767
rhum#actual_range={2.2000084,100.02001}
rhum#add_offset=307.66
rhum#missing_value=32766
rhum#scale_factor=0.0099999998
rhum#units=%
rhum#unpacked_valid_range={-20,120}
rhum#valid_range={-32766,-18766}
So if you apply the scale factor and add_offset, the actual values are between 6.88% and 99.57%.
If you prefer to work in the original projection, you can reproject the corner coordinates from the metadata to lcc, add/subtract half the cellsize and use:
gdal_translate -a_ullr -32332 8989437 11308632 8160 NETCDF:"rhum
.2m.2014.nc":rhum rhumlcc.tif
This is not as exact as the geoloc method, because they are not using the exact lcc projection. This time I used pseudocolour on band 1: