The gdf_allocate(header,error) routine returns the appropriate Header%XnD pointer, depending on the data type and rank. It uses the %blc, %trc information to derive the proper size, given the data rank in %gil%ndim.