A number of items in the GDFV2 header have been kept for backwards compatibility only. They may change in the future, when writing the GDFV1 format will no longer be supported.
The idea is to suppress this at some point.
h%r2d(1:h%gil%dim(1), h%gil%dim(2)) => h%real
Allocation would be only of the h%real array, so that automatic deallocation could be easily made when freeing the image. At least, we would always know the data array name when no interface is required...
Unfortunately, this is only possible with the latest version of the compilers being used so far (ifort 12.0 and gfortran 4.8.0).
In the meantime, tools have been developped to adjust the rank of an image to the user need when possible (see rank= optional argument in GDF_READ_GILDAS and GDF_READ_HEADER.