NXUenterdata

Ray Osborn ROsborn at anl.gov
Tue Apr 28 23:59:16 BST 1998


Looking through the NXdict routines now on the CVS server, I realized that
NXUenterdata creates and/or opens an SDS but doesn't actually write the
data.  There doesn't seem to be an obvious reason why not.  If it's
important to retain this version in some form for use in NXdict, I would
recommend that it be renamed NXDenterdata, but put the version I would like,
with the data writing included, into NAPI.C.    

This will reduce by a factor two the number of lines anyone has to type in a
NeXus write program.  Although this may seem a trivial saving, it will make
the examples of writing NeXus files immeasurably simpler.  I have heard
people (experienced in programming) say that the current version of NAPI
seems rather complicated to use.  At the moment, the only people writing
NeXus files are professional programmers; we haven't started persuading
scientists to do so partly because of this impression.  I am very anxious to
be able to counter it by putting very very simple examples on the web pages
but I can't until the API is updated in the way I suggest.  

I'm also pleased to see NXUentergroup in there, although I still don't
really understand why the default operation of NXopengroup can't be to
create the group if it doesn't already exist, assuming that the NeXus file
has been opened for write access.  The same arguments still seem to me to
apply to NXopendata (and even NXputdata) which all share common arguments. 
Are there really such powerful software design arguments that make such
obvious gains in simplicity unwelcome?  I'm not against having separate
NXmakedata and NXopendata routines for cases when we need them for
non-standard operations - I just don't want to have to use them all the
time.

Regards,
Ray
-- 
Dr Ray Osborn                Tel: +1 (630) 252-9011
Materials Science Division   Fax: +1 (630) 252-7777
Argonne National Laboratory  E-mail: ROsborn at anl.gov
Argonne, IL 60439-4845



  



More information about the NeXus-developers mailing list