David,
For SMURF we are starting to use NDG (I'm building up a C interface that
I will commit tomorrow). This starts us on the road to using GRP as well
(from C) so I have a couple of questions and comments on GRP C interface:
* I'd really like to use a typedef for the GRP identifier in the C API
to make it distinct from a normal integer. Would you mind if I changed
the API to use a "grpid" (typedeffed to an int)? I'll be happy to patch
CUPID at the same time. In my opinion general Fortran integers that
actually correspond conceptually to objects should have typedefs.
* The SCUBA-2 Data Access library requires that we obtain the file name
from the Group created by NDG. Is the fact that the group contains
a filename part of the public interface that can be relied upon?
Is there a constant that we can use from GRP to presize our array
that receives the name from grpGet?
* The grpDelet interface does not seem to be as expected. Shouldn't
it take a pointer to a grpid (int) rather than the value? Isn't it
meant to be reset to the group variable to GRP__NOID?
* The NDG documentation seems to include some functions that have a "1"
in the name, are they meant to be part of the public API or did they
slip through? [eg ndg_asso1].
* I note that there are some KPG1 wrappers for NDG. Should I be using
them in preference to ndgAssoc and ndgCreat?
* For LOGICAL types should we always assume that these are intgers
with 0 and 1 or should we use a boolean type (defined somewhere)
similar (or equal) to bool_t?
Finally, if I have an NDF identifier, is it possible to determine the
associated filename (or HDS path) without going deep into the
NDF internals?
--
Tim Jenness
JAC software
http://www.jach.hawaii.edu/~timj
|