@author: jeremy leconte
Module containing a class to handle a database of CIA tables to compute opacities with it.
Adatabase(*str_filters, filenames=None, remove_zeros=False, **kwargs)¶
Class to group
Atableobjects and combine them in radiative transfer
Initializes aerosol tables and supporting data from a list of filenames.
filenames (list) – List of names (not full path) of the input cia files. The files must be in the global search path.
A local search path can be specified with ‘search_path=’
See the options of
Atableobjects to a Adatabase.
Atable) – As many Atables as you want.
Gives the names of the aerosols in the database
Creates a new instance of
CIAdatabaseobject and (deep) copies data into it
sample(self, wngrid, remove_zeros=True, use_grid_filter=True, sample_all_vars=False)¶
Samples all the Atables in the database on the same wavenumber grid to be able to use them in radiative transfer modules.
For this method, the default options are remove_zeros=True and use_grid_filter=True. This ensures that you do not count several contributinns twice when you use two different aerosol tables to represent the same aerosol type over two different spectral window (typically VI and IR)
wngrid (array) – new wavenumber grid (cm-1)
See :func:`exo_k.atable.Atable.sample for further details on options.
Converts units of all Cia_tables to MKS.
absorption_coefficient(self, aer_reffs_densities, wngrid_limit=None, log_interp=None)¶
Computes the absorption coefficient in m^-1 for the whole mix specified (assumes data in MKS).
aer_reffs_densities (dict) – A dictionary with aerosol names as keys and lists containing 2 floats (or arrays) as values. The values are the particle effective radii and number densities.
wngrid_limit (array, optional) – Smaller and bigger wavenumbers inside which to perform the calculation.
The effective cross section coefficient profile for the aerosols (in m^2).
- Return type