Release of version 1.2.0 of NeXus API
Ray Osborn
ROsborn at anl.gov
Mon Oct 18 22:48:29 BST 1999
We have just formally released version 1.2.0 of the NeXus API, which may be
obtained by FTP from <ftp://hydra.pns.anl.gov/pub/NeXus>. You can download
the whole API as a gzipped tar file (napi.tar.gz), or as individual files.
The release notes for this version are appended to this message.
This version fixes a number of problems with the Fortran 77 version,
particularly concerning reading and writing character string data, and data
slabs. The test programs for all three interfaces (C, F77 and F90) have
been expanded to test more features of the API, and to check that the three
languages give consistent results.
We have tested these versions on Linux, Alpha/VMS, and Windows NT. Users on
other flavours of u**x may have to edit the compiler and linker flags in
"Makefile", while those using systems with 64-bit pointers (e.g. Digital
Unix) will have to edit NXmodule.f90 (see README.FORTRAN90 for details). We
would be interested to hear from users of other systems, so that we can
provide more comprehensive installation instructions. If you have any other
comments concerning this release, please send a message either to the NeXus
mailing list or to me.
--
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
P.S. This release does not cure the problem whereby Fortner's HDF Browser
(now called SciSpy Browser) only outputs the first group to which a data
item is attached. This has been reported to Fortner Software, who were
already aware of the limitation. They intend to fix this in a future
release.
Changes in Version 1.2.0
========================
- NXGETCHARDATA, NXGETCHARATTR, NXPUTCHARDATA and NXPUTCHARATTR added
to Fortran 77 interface to correct problems with handling character data
and attributes.
- Reversed dimension order and adjusted starting indices in NXGETSLAB
and NXPUTSLAB in Fortran 77 interface for improved compatibility with the
C interface.
- All SDSes now created with the DFTAG_NDG tag, rather than DFTAG_SDG,
which is now deprecated by HDF.
- Expanded number of NeXus routines and data types checked by the test
programs "napi_test.c", "napif_test.f" and "NXtest.f90".
- Excluded null terminator from string length check in REPLACE_STRING to
prevent error messages when the string is exactly the right length.
- Added definitions of NX_MAXRANK (max. no. of dataset dimensions = 32) to
and NX_MAXNAMELEN (max. length of dataset name = 64) to header files.
- Made NXIReportError globally visible
- Improved determination of local time zone when writing the global file
attribute "file_time"
- Added option to NXbrowse.f90 to allow display of individual array elements
of the specified index
- Added check for __ABSOFT macro in "napi.h" to make compatible with
Absoft Pro Fortran for Linux
- Add __stdcall definition to C prototypes under WIN32 so they can link
to FORTRAN
Changes in Version 1.1.0
========================
- First appearance of the Fortran 90 API.
- Added reading and writing of non-character attributes to the Fortran 77
interface
- Corrected problems with linking groups by making NXgetgroupID
and NXmakelink use the HDF tag/ref pair in NXlink structures.
- Added VMS build file MAKE_VMS.COM.
- Added NEXUS_VERSION CHARACTER constant to NAPIF.INC, with value as defined
in napi.h
- Made the Fortran 77 interface treat both NX_UINT8 and NX_CHAR as strings,
for
consistency with the C implementation and also for backward compatability
reasons.
- Fixed memory leak on Fortran 77 side on NXclose
- NXdict added to the normal distribution
- Added casts to HDF API calling parameters to eliminate type-mismatch
compiler warnings.
- Modified time creation functions to handle non-working gmtime()
function on VMS 6.2.
Changes in Version 1.0.0
========================
- Reversed array dimensions on going from C to FORTRAN, so that the
"fastest varying index" is kept consistent
- Incorporated fixes suggested by Markus Zolliker (markus.zolliker at psi.ch)
for the following problems with the FORTRAN interface:
(1) NXopen ends with a "Segmentation fault" if the file is not HDF.
(2) NXgetentry gives an error message when NAME and CLASS are not
initialised to blank.
- Changed "data" from char* to void* in NXgetattr
- Changed value for NXACC_CREATE to be DFACC_CREATE rather than DFACC_ALL
in NAPIF.INC for consistency with C interface
- Added the following global attributes
NeXus_version - updated whenever a file is opened "read/write", so it
will always contain the latest version of the interface
the file was written with
file_name - set on file creation, then left unchanged
file_time - set on file creation, then left unchanged
More information about the NeXus
mailing list