1. Introduction

This document describes user settable Linux environment variables used by the FS and how to set them. There are two categories of variables: make time and runtime.

2. Setting environment variables

2.1. With bash

If you are using bash, you can set environment variables with the export command. For example, to set the value of a hypothetical environment variable VAR to 1, use:

export VAR=1

If bash is your login shell, you can have the variable set automatically for your sessions when you login by adding the command to your ~/.proflle file. For a change in that file to come into effect, it is necessary to logout and log back in again.

2.2. With tcsh

If you are using tcsh, you can set environment variables with the setenv command. For example, to set the value of a hypothetical environment variable VAR to 1, use:

setenv VAR 1

If tcsh is your login shell, you can have the variable set automatically for your sessions when you login by adding the command to your ~/.login file. For a change in that file to come into effect, it is necessary to logout and log back in again.

3. Make time variables

These variables, if used, are usually set for the prog account since it is used to build the FS. For prog users with bash as their login shell, they are usually set in ~/.profile using the export command; with tcsh, in ~/.login, using setenv. See the Setting environment variables section above for more information.

3.1. FS_DISPLAY_SERVER_NO_MAKE

Nominal value is 1.

If set, this variable suppresses building the display server into the FS. This may be useful to allow building the FS usable on systems that can’t support the display server.

This was introduced in 10.0.0-beta3, December 2020.

3.2. FS_F95_NO_ALLOW_ARGUMENT_MISMATCH

Nominal value is 1.

If set to 1, this variable suppresses use of the f95 compiler option -fallow_argument_mismatch. Using this compiler option is required for f95 version 10.2.1 (FSL11) and later. It should not be used with f95 version 6.3.0 (FSL10) and earlier; it will prevent compilation. It is not known whether it should be used for versions between 6.3.0 and 10.2.1.

For FSL10, and other older FSLx, the environment variable should be used to suppress use of the option. Some other non-FSLx distributions may need it set as well.

For FS installations that use the fort77 complier, it is recommended that the variable be set to 1. That way the configuration will be forward compatible with a possible change to f95.

This was introduced in 10.2.0-alpha1, February, 2023.

3.3. FS_PYTHON_VERSION

Nominal value is 2.

If set to 2, this variable will cause the python2 version of the python scripts to be linked instead of the python3 versions. Using this option is required for FSL10 and earlier. Some other non-FSLx distributions may need it set as well. The value of 2 should not be used for FSL11 and later. In fact, the variable doesn’t need to be set at all for FSL11 and later. In the future, additional values with new functionality may be added.

This was introduced in 10.2.0-alpha1, February, 2023.

3.4. FS_SERIAL_CLOCAL

Nominal value is 1.

If set, this variable causes the opening of serial ports to be preceded by:

  1. An open() with O_NONBLOCK

  2. Setting the port to CLOCAL

  3. Closing it

This works-around a problem that causes the normal open() to block. Apparently starting with FSL9 (Wheezy), the system boots with the ports initially as -CLOCAL.

This was introduced in 9.11.6, August, 2014.

3.5. FS_TINFO_LIB

Nominal value is 1.

If set, this variable causes the tinfo library to be explicitly searched when building programs that use ncurses. This should only be needed/used if the ncurses library on the systems does not include the tinfo library. This issue was reported by Mamoru Sekido (Kashima).

This was introduced in 9.13.0, September, 2018.

3.6. NO_FTOK_FS

Nominal value is TRUE.

If set, removes use of ftok() in setting System V IPC key valuess. This is needed for some old OSs that do not have the function. Using this variable will increase the likelihood of a conflict with other System V IPC key values, which may cause some very difficult to diagnose problems.

This was introduced in 9.7.0, July, 2004.

4. Runtime variables

These variables, if used, are usually set for the oper and prog accounts since they are used to run the FS. For users with bash as their login shell, they are usually set in ~/.profile using the export command; with tcsh, in ~/.login, using setenv. See the Setting environment variables section above for more information.

After changing the value of any runtime environment variable that starts with FS_ (or the HOME, S2_PING, STATION, TERM variables), it is necessary to restart the FS for the new value to become effective.

Note

If you are using the display server and you are using an FS version up to and including 10.1, to set or change the value of an environment variable, it is necessary, after terminating the FS, to either reboot, or to stop fsserver, with:

fsserver stop

Then set the environment variable and restart the FS.

4.1. DATA_CENTERS

Nominal value is a, space separated, list, of data centers. Supported data centers are BKG, CDDIS, HAYSTACK (VGOS only), and OPAR.

This variable is used by plog to determine the default data centers to upload files to.

This was introduced in 9.11.18, January 2016.

4.2. EDITOR

Possible values are any editor installed the system, this may include: emacs, ex, nano, pico, vi, and vim.

Used by pfmed as the editor run by the ed command.

This was introduced in 8.9.0, circa 1995.

4.3. FESH_BKG_METHOD

Possible values are ftp-ssl or ftp. If nothing is specifed it defaults to ftp-ssl.

If set, this changes the default access method for bkg in fesh to the specified value.

This was introduced in April 2022.

4.4. FESH_CDDIS_METHOD

Possible values are ftp-ssl or https. If nothing is specifed it defaults to ftp-ssl.

If set, this changes the default access method for cddis in fesh to the specified value.

This was introduced in 10.0.0-beta3, December 2020.

4.5. FESH_DATA_CENTER

Possible values are bkg, cddis, opar or vlbeer.

If set, this changes the default data center in fesh to the specified value.

This was introduced in 10.0.0-beta3, December 2020.

4.6. FESH_EMAIL

Nominal value is an email address.

If set, this is used as the password in fesh for the anonymous FTP-SSL method for cddis.

This was introduced in 10.0.0-beta3, December 2020.

4.7. FESH_GEO_CONT_CAL

Possible values are on or off

If set, the value is provided as the answer for the drudg prompt for continuous cal use for geodesy schedules.

Important
Note that if it is set and drudg does not prompt for this value, the drudg output files will be incorrect and there may be no clear indication of that.

This was introduced in 10.0.0-beta3, December 2020.

4.8. FESH_GEO_CONT_CAL_POLARITY

Possible values are 0, 1, 2, 3, or none.

If set, the value is provided as the answer for the drudg prompt for the continuous cal polarity for geodesy schedules.

Important
Note that if it is set and drudg does not prompt for this value, the drudg output files will be incorrect and there may be no clear indication of that.

This was introduced in 10.0.0-beta3, December 2020.

4.9. FESH_GEO_TPICD

Possible values are non-negative integers.

If set, the value is provided as the answer for the drudg prompt for the tpicd interval for geodesy schedules.

Important
Note that if it is set and drudg does not prompt for this value, the drudg output files will be incorrect and there may be no clear indication of that.

This was introduced in 10.0.0-beta3, December 2020.

4.10. FESH_GEO_USE_SETUP_PROC

Possible values are yes or no.

If set, the value is provided as the answer for the drudg prompt for the “use setup_proc” for geodesy schedules.

Important
Note that if it is set and drudg does not prompt for this value, the drudg output files will be incorrect and there may be no clear indication of that.

This was introduced in 10.1.0, 2021.

4.11. FESH_GEO_VDIF_SINGLE_THREAD_PER_FILE

Possible values are yes or no.

If set, the value is provided as the answer for the drudg prompt for the “VDIF single thread per file” for geodesy schedules.

Important
Note that if it is set and drudg does not prompt for this value, the drudg output files will be incorrect and there may be no clear indication of that.

This was introduced in 10.1.0, 2021.

4.12. FESH_GEO_VSI_ALIGN

Possible values are 0, 1, or none.

If set, the value is provided as the answer for the drudg prompt for using vsi_align for geodesy schedules.

Important
Note that if it is set and drudg does not prompt for this value, the drudg output files will be incorrect and there may be no clear indication of that.

This was introduced in 10.0.0-beta3, December 2020.

4.13. FS_ANTCN_TERMINATION

Nominal value is 10.

If set, this variable causes the FS, when terminating, to run antcn in the mode defined by the value set. If not a positive integer, the value will default to 10. The intent is to give a way to signal to the antenna that it should shutdown.

The antcn termination mode (normally 10) must complete execution promptly. If it does not, termination of the FS may be delayed, which can cause difficulties as well as frustration for the operator. It is recommended that if execution will take more than a fraction of second, execution should be passed to another process that persists after FS termination. It may be necessary to coordinate with that other process in the antcn initialization mode to make sure there is no conflict when the FS is restarted. Thanks to J. Quick (HartRAO) for suggesting this.

This was introduced in 9.11.7, February 2015.

4.14. FS_CHECK_NTP

Nominal value is 1.

If this variable is set, the fmset and setcl programs will attempt to check the status of NTP when run, reporting sync’d/sync or not  sync’d/no_sync. This is not enabled by default in case NTP is not available or for some reason the check is slow. If used and an error is detected in either fmset or setcl or both, the check will be disabled for the affected program until the next FS restart. If the NTP status can’t be determined it is shown as unknown.

This was introduced in 9.7.1, September 2004.

4.15. FS_DBBC3_*

These are a family of environment variables. At the time of this writing, they consisted of:

  • FS_DBBC3_BBCNNN_GAIN_USB_LSB_SWAP

  • FS_DBBC3_BBCNNN_ON_OFF_SWAP

  • FS_DBBC3_BBCNNN_TPI_USB_LSB_SWAP

  • FS_DBBC3_BBC_GAIN_USB_LSB_SWAP

  • FS_DBBC3_IFTPX_POLARITY0_ON_OFF_SWAP

  • FS_DBBC3_IFTPX_POLARITY2_ON_OFF_SWAP

  • FS_DBBC3_MULTICAST_BBC_ON_OFF_SWAP

  • FS_DBBC3_MULTICAST_BBC_TPI_USB_LSB_SWAP

  • FS_DBBC3_MULTICAST_CORE3H_POLARITY0_ON_OFF_SWAP

  • FS_DBBC3_MULTICAST_CORE3H_POLARITY2_ON_OFF_SWAP

  • FS_DBBC3_MULTICAST_CORE3H_TIME_ADD_SECONDS

  • FS_DBBC3_MULTICAST_CORE3H_TIME_INCLUDED

  • FS_DBBC3_MULTICAST_VERSION_ERROR_MINUTES

They are covered in the DBBC3 specific environment variables appendix of the FS DBBC3 Operations Manual.

They were introduced in 10.2-alpha3.

4.16. FS_DISPLAY_SERVER

Nominal value is on.

If set to off, the display server is not enabled. For all other values, and if not set at all, the display server is used.

Caution
This variable should be set the same, or not set, for all accounts/sessions that use fs, fsclient, or streamlog, usually just oper and prog. There may be problems if there is a mismatch.

It must be set to off if FS_DISPLAY_SERVER_NO_MAKE was set when the FS was made.

This was introduced in 9.13.0, September 2018. Until 10.2-beta2, July 2023, it was off by default and only enabled display server use if it was set to on.

4.17. FS_DISPLAY_SERVER_CONFIRM_TERMINATE

Nominal value is on.

If set to off, oprin will not prompt for confirmation before accepting the terminate command. For all other values, and if not set at all, there will be a prompt to confirm termination.

The setting of this variable in the session that started the client, with either fs or fsclient, determines the behavior of oprin for that client.

Tip
For simplicity, it is recommended that this variable be set the same, or not set, for all accounts/sessions that use fs or fsclient, usually just oper and prog.

This was introduced in 10.2-beta2, July 2023. Before that there was no way to avoid a confirmation prompt.

4.18. FS_ERROR_WAV

Nominal value is a path to a .wav file.

If set, the value is taken as the path to .wav file to play when an error is reported. This can be used to increase the volume of the alert used to report an error when it occurs.

This was introduced in 9.10.5, October 2012.

4.19. FS_FLAGR_SUPPRESS_ANTCN_ERRORS

Nominal value is 1.

If this variable is defined, flagr will suppress reporting of errors from antcn. It was introduced when a bug in flagr was corrected so that it would report these errors. In case that creates problems, setting the variable can be used to temporarily restore the previous behavior until the station implementation of antcn can be fixed.

This was introduced in 9.11.6, August 2014.

4.20. FS_GNPLT_SIZE

Nominal value is 8.

If set, this overrides the default gnplt font size of 8.

This was introduced in 9.13.2, September 2019.

4.21. FS_LO_ANTCN_MODE

Nominal value is a local antcn mode, i.e., an integer greater than 99.

If set, the value is taken as the mode to run antcn with to set the local LO. The index of the LO to be set (numbering starting at 0) is passed as the value of fourth element of the run parameter array (usually ip[3] in C).

This was introduced in 10.0.0-beta3, December 2020.

4.22. FS_LO_CONFIG_ANTCN_MODE

Nominal value is a local antcn mode, i.e., an integer greater than 99.

If set, the value is taken as the mode to run antcn with from the lo_config command (after all lo=…​ commands in an IF setup procedure), to configure all the LOs in one step rather than one at a time by lo=…​ commands. The if_config is added to the end of IF setup procedure by drudg if the lo_config keyword in skedf.ctl is set to yes. It can be added manually to IF set-up procedures written by hand.

This was introduced in 10.0.0-beta3, December 2020.

4.23. FS_LOG_SIZE_WARNING

Nominal value is 100.

If set, the value will be used as the allowed size of a log file, in MB, before a warning is issued when it is opened. In other words, opening a log file that is already larger than this will generate a warning.

Any non-negative integer up to 263, noninclusive, is allowed. A value is 0 will disable the warning entirely. If not set or the contents of the environment variable do not decode properly, 100 is used.

This was introduced in April 2021.

4.24. FS_ONOFF_SUPPRESS_ANTCN_ERRORS

Nominal value is 1.

If this variable is defined, onoff will suppress reporting of errors from antcn. It was introduced when a bug in onoff was corrected so that it would report these errors. In case that creates problems, setting the variable can be used to temporarily restore the previous behavior until the station implementation of antcn can be fixed.

This was introduced in March 2022.

4.25. FS_RDBE_MC_DISABLE

Nominal value is 1.

If set to 1, this will suppress attempting to receive RDBE multicast data. This is useful for systems with R2DBEs to eliminate the (not useful in this case) multicast errors from the log and the display.

This was introduced in January 2022.

4.26. FS_WAKEUP_WAV

Nominal value is a path to a .wav file.

If set, the value is taken as the path to .wav file to play when an wakeup command is executed. This can be used to increase the volume of the alert used to “wake up” the operator.

This was introduced in 9.10.5, October 2012.

4.27. HOME

Used by predict to determine where the .predict directory of default information is located.

This was introduced in 9.10.5, October 2012.

4.28. LIST_DIR

Nominal value is a directory path, typically /usr2/sched.

If set, used by fesh to determine where drudg listing files are placed, overriding use of the same directory as .skd files.

This was introduced in 10.0.0-beta3, December 2020.

4.29. NETRC_DIR

Nominal value is a directory path, possibly /usr2/control.

Used in fesh and plog to set a different directory then ~ for the .netrc file.

This was introduced in 10.0.0-beta2, July 2020.

4.30. PLOG_BKG_METHOD

Possible values are ftp-ssl or ftp. If nothing is specifed it defaults to ftp-ssl.

If set, this changes the default access method for bkg in plog to the specified value.

This was introduced in April 2022.

4.31. PLOG_COMPRESSED_EXT

Nominal value is bz2.

If set to gz, it will override the default bzip2 compression to gzip.

This was introduced about in April 2021.

4.32. S2_PING

If set, S2 devices will be pinged to verify connectivity before opening them.

This was introduced in 9.3.204, December 1998.

4.33. STATION

Nominal value is the lowercase two-letter station code.

Used by fesh and plog.

This was introduced in 9.11.18, January 2016.

4.34. TERM

Used by predict to determine if running in an xterm.

Used by (not normally built) rclco to determine if a terminal is in use.

This was introduced in 9.10.5, October 2012.