Version 4.2.0 ============= For the latest information see http://www.nexusformat.org/Nexus_42_Release_Notes ==System Requirements== '''MXML XML Parsing Library''' Version 2.2.2 or higher of mxml is required. Earlier versions have a bug and the XML API will not work. This package can be downloded in [http://www.easysw.com/~mike/mxml/software.php both source and binary rpm form] and is also available as part of [http://fedoraproject.org/wiki/Extras/UsingExtras Fedora Extras]. IMPORTANT NOTE: Debian also provides the mxml package, but it based on 2.0 and will not work properly. '''Python Interface''' You will need both the numpy and ctypes modules to be available. These are provided in both the Fedora and EPEL repositories. ==Building Notes== ===NAG F90/F95 Compiler=== The NAG compiler needs the '''-mismatch''' flag to be specified or else it will not compile NXmodule.f90 This is achieve by running configure with the '''FCFLAGS''' environment variable set to contain the flag e.g.
env FCFLAGS="-mismatch" ./configure --with-f90=f95===HDF4 on Intel Macs=== There is a problem with the include file, hdfi.h (normally in /usr/local/include). See http://coastwatch.noaa.gov/helparc/software/msg00069.html for details of the modifications necessary to fix it. ==New Features== ===C++ Interface=== See the [http://download.nexusformat.org/doxygen/html/classNeXus_1_1File.html doxygen documentation] and [http://svn.nexusformat.org/code/branches/4.2/test/napi_test_cpp.cxx NeXus API test program] ===C++ Stream Like interface=== The idea is to provide an IOSteam like interface and allow you to type
// create an entry and a data item
File nf(fname, NXACC_CREATE);
nf << Group("entry1", "NXentry") << Data("dat1", w, "int_attr", 3);
nf.close();
File nf1(fname, NXACC_RDWR);
// add a double_attr to an existing setup
nf1 >> Group("entry1", "NXentry") >> Data("dat1") << Attr("double_attr", 6.0);
nf1.close();
// read back data items
File nf2(fname, NXACC_READ);
nf2 >> Group("entry1", "NXentry") >> Data("dat1", w1, "int_attr", i, "double_attr", d);
// alternative way to read d1
nf2 >> Data("dat1") >> Attr("double_attr", d1);
See also the [http://svn.nexusformat.org/code/branches/4.2/test/napi_test_cpp.cxx NeXus API test program]
===IDL Interface===
There is a new interface to RSI's Interactive Data Language, IDL for NeXus. This
interface has to be considered beta. Nevertheless it is working most of the time.
Known issues include:
* Compressed reading and writing do not work for HDF-4 files, probably because of a library version conflict on libz.
* There is an issue using NXgetslab on 64 bit operating systems; expect a fix for this pretty soon.
===Python Interface===
There is now, thanks to Paul Kienzle, a supported interface for the python scripting language. Arrays are stored in numpy arrays and thus allow for efficient data manipulations.
==Changed Features==
==Known Issues==
See the comments on the IDL interface.
==Miscellaneous bug fixes==
The following items are bugs reported in previous releases and resolved in
the 4.2 release.
==Upcoming Features==
Version 4.1.0
=============
For the latest information see
http://www.nexusformat.org/Nexus_41_Release_Notes
==System Requirements==
'''MXML XML Parsing Library'''
Version 2.2.2 or higher of mxml is required. Earlier versions have a bug and the XML API will not work. This package can be downloded in [http://www.easysw.com/~mike/mxml/software.php both source and binary rpm form] and is also available as part of [http://fedoraproject.org/wiki/Extras/UsingExtras Fedora Extras]. IMPORTANT NOTE: Debian also provides the mxml package, but it based on 2.0 and will not work properly.
==Building Notes==
===NAG F90/F95 Compiler===
The NAG compiler needs the '''-mismatch''' flag to be specified or else it will not compile NXmodule.f90 This is achieve by running configure with the '''FCFLAGS''' environment variable set to contain the flag e.g.
env FCFLAGS="-mismatch" ./configure --with-f90=f95===HDF4 on Intel Macs=== There is a problem with the include file, hdfi.h (normally in /usr/local/include). See http://coastwatch.noaa.gov/helparc/software/msg00069.html for details of the modifications necessary to fix it. ==New Features== * New types NX_INT64 and NX_UINT64 to suppport 64 bit integers (only available in HDF5 and XML) [http://trac.nexusformat.org/code/ticket/87 details]. * Python bindings are now included in the Windows install kit [http://trac.nexusformat.org/code/ticket/86 details] ==Miscellaneous bug fixes== The following items are bugs reported in previous releases and resolved in the 4.1 release. * The Fortran 90 part of testsuite failed with the Absoft compiler on MacOSX (it passed with g95 and gfortran (4.2)) [http://trac.nexusformat.org/code/ticket/68 details here] * NXputattr assumed NULL termination of NX_CHAR attributes, which is usually the case in C but not true for JAVA. A workaround is to add '\0' manually [http://trac.nexusformat.org/code/ticket/83 bug report] * pkgconfig issue [http://trac.nexusformat.org/code/ticket/84 bug report] * Build issue with MXML-2.3 [http://trac.nexusformat.org/code/ticket/91 bug report] * XML buffer resizing performance issue [http://trac.nexusformat.org/code/ticket/92 bug report] * Documentation is now installed to "datadir" (/usr/share) [http://trac.nexusformat.org/code/ticket/93 bug report] Version 4.0.0 ============= For the latest information see http://www.nexusformat.org/Nexus_4_Release_Notes ==System Requirements== '''MXML XML Parsing Library''' Version 2.2.2 of mxml is required. Earlier versions have a bug and the XML API will not work. This package can be downloded in [http://www.easysw.com/~mike/mxml/software.php both source and binary rpm form] and is also available as part of [http://fedoraproject.org/wiki/Extras/UsingExtras Fedora Extras]. IMPORTANT NOTE: Debian also provides the mxml package, but it based on 2.0 and will not work properly. ==Building Notes== ===NAG F90/F95 Compiler=== The NAG compiler needs the '''-mismatch''' flag to be specified or else it will not compile NXmodule.f90 This is achieve by running configure with the '''FCFLAGS''' environment variable set to contain the flag e.g.
env FCFLAGS="-mismatch" ./configure --with-f90=f95==New Features== The following items are features added to the NeXus API to provide new functionality to the core library or to assist in the build process. *Extended XML-API to handle unlimited dimensions *Add building of Doxygen documentation *Add support for two dimensional character arrays (HDF4 and HDF5 only) *Added group attribute support to HDF4 (2006/05/02). Requires HDF4 version (???) *Add NXmakenamedlink (2007/01/09) to all three file formats (external linking) *Add NXprintlink *Improved link testing in test suite *API can now read generic HDF5 files, such as those produced by matlab *Add facility to enable/disable error reporting *New NXsummary tool for summarising contentes of a NeXus file *Fortran 90 API now works with gfortran 4.2 and above as well as with G95 *PYTHON and TCL bindings provided via a [http://www.swig.org/ SWIG interface] *Additional NXtranslate translators: SPEC, ESRF-EDF ==Changed Features== The following aspects of the API have changed in a potentially non-backward compatible way *The JAVA API now uses org.nexusformat rather than gov.anl.neutron.nexus ==Known Issues== * The Fortran 90 part of testsuite fails with the Absoft compiler on MacOSX (it passes with g95 and gfortran (4.2)) [http://trac.nexusformat.org/code/ticket/68 details here] ==Miscellaneous bug fixes== The following items are bugs reported in the 3.x releases and resolved for the 4.0 release. *Leading and trailing whitespace is stripped from char data on a read; this can be disabled by passing the NXACC_NOSTRIP option to NXopen *Fix problems with MXML (what problems?) *Improve test procedures when not all libraries are present *Correct sourcepath for javadoc *Updated makefiles for swig bindings (python, tcl) Changes in Version 3.0.0 ======================== - GNU Autotools are now used for building the API and programs - XML files can be written by the NeXus API by specifying NXACC_XML to NXopen - The NXtoXML, NXtoNX4 and NXtoNX5 utilities have been combined into a single utility nxconvert. To make a DTD definition file use nxtodtd - New utilities nxdir and nxtranslate - g95 compiler supported by FORTRAN90 bindings. To specify another compiler use the --with-f90 option of configure Changes in Version 2.0.0 ======================== - NeXus library updated to allow the reading and writing of HDF5 files using the same API calls. In creating a file, use NXACC_CREATE4 for HDF4 and NXACC_CREATE5 for HDF5. As long as both HDF4 and HDF5 libraries are linked, the API will read both HDF4 and HDF5 files transparently. - The Makefiles have been reorganized to allow HDF4 and/or HDF5 files to be linked into the NeXus library, with compile and link options stored in "makefile_options". - Rearranged the NeXus libraries so that libNeXus.a contains the standard C and F77 interfaces and libNeXus90.a contains the C and F90 interfaces. - Added the routine NXsameID to the C interface to compare the ID of NeXus groups and data sets. - Added NXtoXML and NXtoDTD, utilities that translate a NeXus file to XML, respectively with and without the data. Note that NXtoDTD does not produce a true XML DTD file. Instead, it produces a metaDTD as defined on the NeXus web pages (although it will lack proper annotation). - Changed NXUmodule.f90 so that NXUfindaxis uses the two accepted methods of defining dimension scales, i.e. adding the "axis" attribute to the axis data or adding the "axes" attribute to the signal data Changes in Version 1.3.3 ======================== - Added NXflush routine to flush data to the output file. - Added support for unlimited dimensions. - Used the NX_EXTERNAL macro to prefix callable NeXus functions and defined this to do the appropriate DLL import/export operation on Windows. README.WIN32 has been updated with instructions on how to make and use a NEXUS.DLL. - NeXus errors now directed to MessageBox() in a Windows DLL. - Modified timezone selection to use difftime/gmtime method on all systems except VMS 6.2 (where gmtime() always returns NULL). - Corrected spurious overflow errors in NXGETCHARDATA. - Added some unix-style commands, e.g. ls, cd, cat, as equivalents of standard commands in NXbrowse. Changes in Version 1.3.2 ======================== - NXbrowse now reads a filename as command line argument and only prompts if none is specified. - Added "dump