Step-by-step guide

The definition and sample files used by ecCodes engine to decode all kind of messages can be built into the library (embedded) providing a performance improvement by significantly reducing access to the filesystem.

This feature is called MEMFS (MEMory FileSystem) and can be enabled at configuration time (when you invoke cmake) by:

% cmake /path/to/src -DENABLE_MEMFS=ON

This will take longer to compile and the resulting library will be larger but whenever a definition file (*.def or *.table) or a sample file (*.tmpl) is accessed, its contents will be fetched from memory and no access to the file system will be made.

If you invoke the codes_info tool with this configuration, the paths reported will contain the prefix "/MEMFS/".
For example:

% codes_info
Default definition files path is used: /MEMFS/definitions
Default SAMPLES path is used: /MEMFS/samples

Please note that once ecCodes is built in this mode, any subsequent changes to the installed definition/sample files will NOT be picked up