Base file loader¶
- class rapoc.loaders.DictLoader(input_data)[source]¶
Dict loader class. The dictionary should contain the following information under certain keys:
information
default units
supported keys
molecular name
mol
pressure grid
\(Pa\)
p, P, pressure, pressure_grid
temperature grid
\(K\)
t, T, temperature, temperature_grid
wavenumber grid
\(1/cm\)
wn, wavenumber, wavenumbers, wavenumbers_grid, wavenumber_grid
opacities
\(m^2/kg\)
opacities
If the input data has no units attached, the defaults units are assume. If they have units, a simple conversion is performed by the code to match the default values.
Notes
This class is implicitly called by the model when initialised if the matched input is used.
Examples
First we prepare a data dictionary. Please be aware that this are not representative of any molecule.
>>> import numpy as np >>> data_dict = {'mol': 'None', >>> 'mol_mass':42, >>> 'pressure': np.array([1.00000000e+00, 1.00000000e+01, 1.00000000e+02, 1.00000000e+03, >>> 1.00000000e+04, 1.00000000e+05, 1.00000000e+06, 1.00000000e+07]), >>> 'temperature': np.array([500, 1000, 1500, 2000, 3000]), >>> 'wavenumber': np.array([100000, 1000])} >>> opac = np.ones((data_dict['pressure'].size,data_dict['temperature'].size,data_dict['wavenumber'].size,)) >>> data_dict['opacities'] = opac
Let’s build the Planck method using the dictionary as input
>>> from rapoc import Planck >>> model = Planck(input_data=data_dict)
Now the model is ready to be used
- Parameters:
input_data (dict) – input_data dictionary
- read_content()[source]¶
Reads the dict content and returns the needed valued for the opacity models.
- Returns:
str – molecule name
astropy.units.Quantity – molecular mass
astropy.units.Quantity – data pressure grid in si units
astropy.units.Quantity – data temperature grid in si units
astropy.units.Quantity – data wavenumber grid
astropy.units.Quantity – data opacities grid in si units