Welcome to NutShell’s documentation!

NutShell is software for generating “file products”: image, data and text files. NutShell suits to generation of real time products as well as to regenerating products on-demand from archived data.

The product generation scheme resembles that of make and Makefile: if a product needs inputs, they are generated first, recursively. The applied product generators are organized systematically in a directory tree. Each product has an ID of type my.good.product that is associated with path component my/good/product/. Hence, a product generator can be tracked to – and also identified with – a unique subdirectory, which also contains a generator script with a fixed name (generate.sh).

Typically, command line invocations of programs have a form like:

command -i <input-file>  -p <parameter> -o <output-file>

Essentially, a generator script is a wrapper for such commands.

Upon product request, NutShell finds and executes a respective product generator script, communicating parameters – file paths and product parameters among others – as environment variables to the script. This is the “amount of interface” a script is required to handle. In addition, the product generator can query its desired inputs from NutShell using input declaration script (input.sh). Otherwise product generators can be designed independently from NutShell. For example, no libraries or other dependencies beyond production itself are required.

NutShell provides a platform for collecting programming efforts of developers and researchers using different languages and interfaces. It has been originally developed for generating weather radar products [Peura2008], but suits to product computation more generally.

Indices and tables

References

[Peura2008]Markus Peura, On-demand processing architecture for radar image products, Proceedings of the fifth European Conference on Radar in Meteorology and Hydrology (ERAD2008), Helsinki, Finland, Finnish Meteorological Institute, June 2008