All the programs in Gnuastro share a set of common behavior mainly to do with user interaction to facilitate their usage and development. This includes how to feed input datasets into the programs, how to configure them, specifying the outputs, numerical data types, treating columns of information in tables, etc. This chapter is devoted to describing this common behavior in all programs. Because the behaviors discussed here are common to several programs, they are not repeated in each program’s description.
In Command-line, a very general description of running the programs on the command-line is discussed, like difference between arguments and options, as well as options that are common/shared between all programs. None of Gnuastro’s programs keep any internal configuration value (values for their different operational steps), they read their configuration primarily from the command-line, then from specific files in directory, user, or system-wide settings. Using these configuration files can greatly help reproducible and robust usage of Gnuastro, see Configuration files for more.
It is not possible to always have the different options and configurations of each program on the top of your head. It is very natural to forget the options of a program, their current default values, or how it should be run and what it did. Gnuastro’s programs have multiple ways to help you refresh your memory in multiple levels (just an option name, a short description, or fast access to the relevant section of the manual. See Getting help for more for more on benefiting from this very convenient feature.
Many of the programs use the multi-threaded character of modern CPUs, in Multi-threaded operations we’ll discuss how you can configure this behavior, along with some tips on making best use of them. In Numeric data types, we’ll review the various types to store numbers in your datasets: setting the proper type for the usage context76 can greatly improve the file size and also speed of reading, writing or processing them.
We’ll then look into the recognized table formats in Tables and how large datasets are broken into tiles, or mesh grid in Tessellation. Finally, we’ll take a look at the behavior regarding output files: Automatic output describes how the programs set a default name for their output when you don’t give one explicitly (using --output). When the output is a FITS file, all the programs also store some very useful information in the header that is discussed in Output FITS files.
|• Command-line||How to use the command-line.|
|• Configuration files||Values for unspecified variables.|
|• Getting help||Getting more information on the go.|
|• Installed scripts||Installed Bash scripts, not compiled programs.|
|• Multi-threaded operations||How threads are managed in Gnuastro.|
|• Numeric data types||Different types and how to specify them.|
|• Memory management||How memory is allocated (in RAM or HDD/SSD).|
|• Tables||Recognized table formats.|
|• Tessellation||Tile the dataset into non-overlapping bins.|
|• Automatic output||About automatic output names.|
|• Output FITS files||Common properties when outputs are FITS.|
For example if the values in your dataset can only be integers between 0 or 65000, store them in a unsigned 16-bit type, not 64-bit floating point type (which is the default in most systems). It takes four times less space and is much faster to process.