Configuration files in a nutshell
autorino relies on YAML configuration files to perform its workflow (i.e. set of steps) operations.
Location of the configuration files
The exemple configuration files are located in the configfiles
directory of the autorino package.
They are organized in subdirectories according to their purpose.
But you can also create your own configuration files in a different location with a different folder structure.
The exemple folder structure is as follows:
configfiles/main/
for main configuration: general settings regarding autorino’s environnement (converters paths etc.) and GNSS network (GNSS network name, GNSS network’s site log path, etc.)configfiles/site/
for site-specific configuration: IP addresses, site names, login & password, etc.)configfiles/profile/
for profile configuration: profiles are common settings for a group of sites (same manufacturer, same data structure, same data transfer protocol, etc.). A site can be part of several profiles.
autorino keeps a philosophy of one site configuration file per GNSS station.
The include section
The include
section allows you to include other configuration files in the current configuration file,
typically a site configuration file.
This is useful for modularizing your configuration and reusing common settings across different files.
The include
section is a list of the configuration files paths you want to include.
The included files are processed in the order they are listed, and their contents are merged into the current
configuration file, but prior to its content.
In other words, the values of the first included file is loaded before the next one, and then the next one
complete/overrides the
values of the previous. The current configuration file is processed after all the included files have been processed.
This means that if there are any overlapping keys or sections, the values of the last file processed will take
precedence.
The included files can be either absolute or relative paths.
Example of the include section
In the site configuration file autorino_site_trimble_cfg.yml
, we include with the include
section:
include:
- ../main/autorino_main_cfg.yml
- ../profile/autorino_profile_session24h30s_trimble_cfg.yml
The above example includes in the current configuration file:
autorino_main_cfg.yml
for the general configuration regarding autorino’s environnement and GNSS networkautorino_profile_session24h30s_trimble_cfg.yml
configuration file is a common profile for all Trimble stations (with the sameinp_file_regex
,inp_dir_structure
…)
You can control the good inclusion of the configuration files with the autorino_cfgfile_check
_ command.
See the cookbook for more details.
The configuration file’s main sections
It contains the site-specific information and configuration under the main station
block.
Then, it is organized in different sub-blocks.
Next chapter configuration file details all the options.
environment
: global settings for the GNSS data processing environment, including paths to software tools and general application settings.conv_software_paths
: paths to GNSS raw data convertersgeneral
: general settings for the configuration file
include
: list of the configuration files to include in the current configuration file, see next section.site
: site’s name, its coordinates, and metadatadevice
: manually define the device’s (receiver and antenna) characteristics if metadata are not provided insite
blockaccess
: connexion protocols, login and password etc…sessions
: define the record sessions characteristics. Each session is in a sub-block with its own parameters.session_<sessionname>
: define one record session characteristics. The session block name is, by convention,session_<sessionname>
, where<sessionname>
is also the first session’sgeneral
sub-block attribute’sname
.general
: name, data freqency, temporary and log directories of the sessionepoch_range
: See the dedicated section below.steps
: list of the steps constituting the workflow. Each step is a sub-block with its own parameters.
The different possible steps are:
download
: download the dataconvert
: convert the datasplice
: splice (concatenate) the datasplit
: split the data
A step has the following generic structure:
active
: a boolean (True
orFalse
) to activate or deactivate the stepinp_dir_parent
: the parent directory of the input filesinp_structure
: the filename structure of the input filesout_dir_parent
: the parent directory of the output filesout_structure
: the filename structure of the output filesepoch_range
: the epoch range of the step. (see above)options
: a dictionary of options specific to the step
Aliases in the configuration files
To use generic or variables values in the configuration files, you can use aliases.
Aliases take the form of <aliasname>
or <ALIASNAME>
with < >
. Alias are case-sensitive:
the first version is lower-case and the latter is upper-case.
The following aliases are managed:
<site_id4>
or<SITE_ID4>
: the 4-characters site name<site_id9>
or<SITE_ID9>
: the 9-characters site name
Time aliases can also be used. They follow the date
format convention,
e.g. %Y
for the year, %H
for the hour, %j
for the day of year, etc…
The environment variables can also be used as aliases. They follow the <$ENVVAR>
convention,
using $
and between <
& >
, e.g. <$HOME>
for the home directory.
Reserved keywords
Per default values can be called and used in the configuration files using reserved keywords:
FROM_SESSION
: Then, the value is taken from thesession
blockFROM_MAIN
: Now obsolete and deprecated since introduction ofinclude
in version 2.0.0.