exo_k.settings
@author: jeremy leconte
A class based on a singleton to store global options only once for every instance.
Module Contents
- class exo_k.settings.Settings[source]
Bases:
exo_k.util.singleton.Singleton
A class based on a singleton to store global options only once for every instance.
So all the following methods can be called using the following syntax:
>>> exo_k.Settings().method_name(agrs)
In gerneal, they will change internal global attributes that change the global behavior of some routines in the library.
- reset_search_path(path_type='all', no_path=False)[source]
Set default search path.
- Parameters:
path_type (
str
) – What type of path to reset. Possibilities are ‘all’ (default), ‘kdata’, ‘cia’, and ‘aerosol’no_path (
bool (optional)
) – If False (default), the search path is reset to ‘.’. If True, empties the search path.
- add_search_path(*search_paths, path_type='kdata')[source]
Add path(s) to the list of paths that will be searched for various files.
- Parameters:
search_path (
string
orlist
ofstrings
) – Search path(s) to look for opacities.path_type (
str
) –- What type of path to change. Possibilities are:
’kdata’ (default): global xsec and corr-k search path
’ktable’ : only corr-k files
’xtable’ : only cross section files
’cia’: search path for CIA files
’aerosol’: search path for Aerosol optical property files
Examples
>>> exo_k.Settings().add_search_path('data/xsec','data/corrk') >>> exo_k.Settings().search_path() ['/your/path/to/exo_k', '/your/path/to/exo_k/data/xsec', '/your/path/to/exo_k/data/corrk']
- add_cia_search_path(*search_paths)[source]
Add path(s) to the list of paths that will be searched for cia files.
- Parameters:
search_path (
string
orlist
ofstrings
) – Search path(s) to look for opacities.
- add_aerosol_search_path(*search_paths)[source]
Add path(s) to the list of paths that will be searched for aerosol files.
- Parameters:
search_path (
string
orlist
ofstrings
) – Search path(s) to look for opacities.
- set_search_path(*search_paths, path_type='kdata')[source]
Like :func:~`exo_k.settings.Settings.add_search_path` except for the fact that the path is reset first.
- set_cia_search_path(*search_paths)[source]
Like :func:~`exo_k.settings.Settings.add_cia_search_path` except for the fact that the path is reset first.
- set_aerosol_search_path(*search_paths)[source]
Like :func:~`exo_k.settings.Settings.add_aerosol_search_path` except for the fact that the path is reset first.
- property search_path
- Returns the current value of the global search path (_search_path)
- aerosol_search_path()[source]
Returns the current value of the aerosol search path (_aerosol_search_path)
- set_delimiter(newdelimiter)[source]
Sets the delimiter string used to separate molecule names in filenames.
- Parameters:
newdelimiter (
string
) – New delimiter to use. Default is ‘_’.
Example
If I have a file named ‘H2O.R10000_xsec.hdf5’ that I want to load in a Kdatabase, the default settings will result in an error:
>>> database=xk.Kdatabase(['H2O'],'R10000') No file was found with these filters: ('H2O_', 'R1000') in the following directories: ['/home/falco/xsec/xsec_sampled_R10000_0.3-15']
Using
>>> xk.Settings().set_delimiter('.') >>> database=xk.Kdatabase(['H2O'],'R10000')
finds the file.
- set_delimiters(newdelimiters)[source]
Sets the delimiter string used to separate molecule names in filenames. If you want to include the ‘-’ character, you must put a ‘' before to avoid it being interpreted as a special character by the re module.
- Parameters:
newdelimiters (
string
) – New delimiters to use. Default is ‘_.-’.
- set_log_interp(log_interp)[source]
Sets the default interpolation mode for kdata. Default is Log.
- Parameters:
log_interp (
boolean
) – If True, log interpolation. Linear if False.
- set_log_interp_aerosol(log_interp)[source]
Sets the default interpolation mode for aerosols. Default is Linear.
- Parameters:
log_interp (
boolean
) – If True, log interpolation. Linear if False.
- set_case_sensitive(case_sensitive)[source]
Set whether name matching is case sensitive. Default is False.
- Parameters:
case_sensitive (
boolean
) – If True, name matching is case sensitive.
- set_mks(set_mks)[source]
Forces conversion to mks system.
- Parameters:
set_mks (
boolean
) – If True, all datasets are converted to mks upon loading.
- list_files(*str_filters, molecule=None, only_one=False, search_path=None, path_type='kdata')[source]
A routine that provides a list of all filenames containing a set of string filters in one of the global _search_path or a local one.
Whether the search is case sensitive is specified through the Settings.set_case_sensitive() method.
Warning
The pattern matching with the str_filters is done using regular expressions. If you want to match special characters (like a dot in a filename), do not forget to put a backslash in front of it.
- Parameters:
*str_filters (
str
) – A set of strings that need to be contained in the name of the filemolecule (
str
) – The name of a molecule to be looked for in the filename. It must be followed by one of the characters in self._delimiters and either at the begining of the name or just after one of the characters in self._delimiters.only_one (
boolean
, optional) – If true, only one filename is returned (the first one). If false, a list is returned. Default is False.search_path (
str
, optional) – If search_path is provided, it locally overrides the global _search_path settings and only files in search_path are returned.
- Returns:
- list of strings
List of filenames corresponding to all the str_filters
- list_cia_files(*str_filters, molecule_pair=None, only_one=False, search_path=None)[source]
A routine that provides a list of all filenames containing a set of string filters in the global _search_path or a local one.
Whether the search is case sensitive is specified through the Settings.set_case_sensitive() method.
Warning
The pattern matching with the str_filters is done using regular expressions. If you want to match special characters (like a dot in a filename), do not forget to put a backslash in front of it.
- Parameters:
*str_filters (
str
) – A set of strings that need to be contained in the name of the filemolecule_pair (
list
of2 str
) – The name of the 2 molecules in the cia pair.only_one (
boolean
, optional) – If true, only one filename is returned (the first one). If false, a list is returned. Default is False.search_path (
str
, optional) – If search_path is provided, it locally overrides the global _search_path settings and only files in search_path are returned.
- Returns:
- list of strings
List of filenames corresponding to all the str_filters