Routine that reads the BMF file specified by "filename" (previously
written with bmf_write) and keeps all the
data in memory for future use by bmf_get2.
The "length" variable returned by the function corresponds to the number
of distincts fields read. Two fields are not distinct if one of "nom",
"time1", "time2", "hgrid" and "vgrid" are the same for both (see bmf_write,
bmf_catalog and bmf_get2).
Furthermore,
some checks are performed in order to assure that ni, nj, nk and dtyp are
the same for non-distincts fields for data consistency.
It is possible to perform many bmf_gobe between one bmf_init and
bmf_clear. In this case, the return value "length" will be the number of
new distinct fields found.