SOXS Configuration File

In SOXS, configuration elements can be set in the configuration file. On most systems, this is placed in the XDG_CONFIG_HOME environment variable, which is $HOME/.config for most systems. The SOXS configuration file is therefore XDG_CONFIG_HOME/soxs/soxs.cfg.

In versions of SOXS post v4.0.0, these are the options available for customization in the configuration file:

[soxs]
soxs_data_dir = /does/not/exist # The path to instrument files and APEC tables
abund_table = angr # The abundance table to use for APEC thermal spectra
apec_vers = 3.0.9 # The default version of APEC to use
spex_vers = 3.07.03 # The default version of SPEX to use
bkgnd_nH = 0.018 # neutral hydrogen column for backgrounds, units of 1e22 cm**-2
bkgnd_absorb_model = tbabs # absorption model, currently either wabs or tbabs
frgnd_spec_model = default # foreground spectrum model, currently either default or halosat
frgnd_velocity = 0.0 # velocity broadening parameter for the hot halo components of the foreground model
frgnd_abund = 1.0 # abundance parameter for the hot halo components of the foreground model

If soxs_data_dir is not set in the configuration file, or is set to an invalid directory, a default directory will be chosen:

soxs : [WARNING  ] 2021-04-14 22:05:49,790 Setting 'soxs_data_dir' to /Users/jzuhone/Library/Caches/soxs for this session. Please update your configuration if you want it somewhere else.

The configuration can be changed in the file, or it can be changed from within a Python script or notebook itself, using the set_soxs_config() function:

import soxs

soxs.set_soxs_config("apec_vers", "2.0.1")

# this will now use APEC version 2.0.1 by default
agen = soxs.ApecGenerator(0.1, 10.0, 10000)

Note

Changes to the "abund_table", "apec_vers", "bkgnd_nH", "bkgnd_absorb_model", or "frgnd_spec_model" config options using set_soxs_config() will trigger a re-creation of the astrophysical foreground model.

Mission-Specific Configurations

Though not normally the case, there may be cases in which it will make sense to apply a mission-specific configuration, which will change a number of configuration values at once. For this, SOXS provides the handy function set_mission_config(). Currently, the only option is "lem" for the LEM Probe Concept:

import soxs
soxs.set_mission_config("lem")