"Fossies" - the Fresh Open Source Software Archive

Member "fimex-1.4.2/CHANGES.md" (6 Jan 2020, 2919 Bytes) of package /linux/privat/fimex-1.4.2.tar.gz:

As a special service "Fossies" has tried to format the requested source page into HTML format (assuming markdown format). Alternatively you can here view or download the uninterpreted source code file. A member file download can also be achieved by clicking within a package contents listing on the according byte size field.

Transition from 0.x to 1.x

As you can see from the NEWS file, there have been significant changes in fimex 1.0 compared to previous versions. Most of the changes affect the C++ code, but there are also some changes affecting the commandline programs.

General changes

The conversion from text to numbers has become more strict. While text after numbers had previously been ignored sometimes (sometimes not), now the text may not contain anything else but the number. In particular, f or L suffixes that had previously been ignored in GRIB reader configuration files will cause errors in fimex 1.0. Using a command like

find . -name "*ml" | xargs -r sed -i -e 's,\([0-9]\+\)[fL]",\1",g'

on the configuration files should do most of the work, but the original files should be backed up before starting these automatic changes, and the result should be checked before use.

As part of the transition to std::regex, the regex format has changed slightly. They are no longer ‘perl’ format but ‘modified ECMAscript’, the default in C++11. This may affect a few configuration files when using rather advanced regular expressions.

The data types ‘string’ and ‘byte’ are now treated separately.

Compression in fiIndexGribs and fiGribCut is no longer supported. The fiIndexGribs command line has changed in version 1.0 to make it more clear which file is written or appended to.

C++ library changes

Boost was removed from fimex 1.0 C++ code in favour of C++11 and some small helper libraries. This requires changes in C++ code using fimex:

Python binding changes

The python binding has been improved and extended very much in fimex 1.0. In particular, data are usually not copied any more between python and C++, instead pointers are used. It is now also possible to implement a CDMReader subclass in python and to pass that to C++ code for writing, interpolation, etc.