{ "cells": [ { "cell_type": "markdown", "id": "VSC-d0c81406", "metadata": { "language": "markdown" }, "source": [ "# Getting Started: Opacity and CIA Data\n", "\n", "Every TauREx simulation is driven by tabulated molecular data — cross-sections that encode how strongly each gas absorbs at each wavelength, and CIA tables for the continuum opacity of background gases. This notebook gets those files in place so that the rest of the series can focus entirely on building and interpreting atmospheric models.\n", "\n", "Two kinds of external data are needed:\n", "- **Molecular cross-sections (opacities)** — wavelength-dependent absorption coefficients for each gas species (e.g., H₂O, CH₄), distributed in HDF5 format by communities such as [ExoMol](https://www.exomol.com) and [HITRAN](https://hitran.org/).\n", "- **Collision-Induced Absorption (CIA) files** — continuum opacity from molecular pairs (e.g., H₂–H₂, H₂–He), important for the spectral baseline in hydrogen-dominated atmospheres.\n", "\n", "TauREx supports several cross-section formats: [ExoMolOP](https://www.aanda.org/articles/aa/full_html/2021/02/aa38350-20/aa38350-20.html) HDF5, legacy TauREx 2 pickle, and [ExoTransmit](https://github.com/elizakempton/Exo_Transmit). For CIA, both HITRAN `.cia` and legacy `.db` formats are accepted, and additional formats can be added through plugins.\n", "\n", "> **A note on data provenance.** TauREx provides software to read and analyse these datasets, but the files themselves are third-party products. The opacity files downloaded below come from [ExoMol](https://www.exomol.com) and the CIA files from [HITRAN](https://hitran.org/); they are not created, owned, or warranted by the TauREx team.\n", "\n", "Once the files are in place, TauREx's caching system discovers them automatically — path configuration is a one-time step. More information about input-file conventions is [here](../user/taurex/inputfile.rst), and global path settings are [here](../user/taurex/global.rst)." ] }, { "cell_type": "code", "execution_count": 1, "id": "VSC-b73c2951", "metadata": { "language": "python" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Project root: /home/simone/Dropbox/eScience_projects/TauRex/taurex3\n", "Source directory: /home/simone/Dropbox/eScience_projects/TauRex/taurex3/src\n", "Temporary data directory: /home/simone/Dropbox/eScience_projects/TauRex/taurex3/examples/tmp\n", "Cross-sections directory: /home/simone/Dropbox/eScience_projects/TauRex/taurex3/examples/tmp/xsec\n", "CIA directory: /home/simone/Dropbox/eScience_projects/TauRex/taurex3/examples/tmp/cia\n" ] } ], "source": [ "from _shared import CIA_DIR, PROJECT_ROOT, SRC_DIR, TMP_DIR, XSEC_DIR, ensure_opacity_data\n", "\n", "print(f'Project root: {PROJECT_ROOT}')\n", "print(f'Source directory: {SRC_DIR}')\n", "print(f'Temporary data directory: {TMP_DIR}')\n", "print(f'Cross-sections directory: {XSEC_DIR}')\n", "print(f'CIA directory: {CIA_DIR}')" ] }, { "cell_type": "markdown", "id": "VSC-3dbb1e98", "metadata": { "language": "markdown" }, "source": [ "## Downloading Opacity Files\n", "\n", "The `ensure_opacity_data` helper fetches a small example dataset if it is not already present locally, then registers the download directory with the TauREx caches. Existing files are reused rather than re-downloaded, so running this cell a second time is instant." ] }, { "cell_type": "code", "execution_count": 2, "id": "VSC-8d0db190", "metadata": { "language": "python" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Opacity data are available and the TauREx caches are configured.\n", "Found 4 cross-section files: ['12C-16O2__UCL-4000.R15000_0.3-50mu.xsec.TauREx.h5', '12C-1H4__MM.R15000_0.3-50mu.xsec.TauREx.h5', '14N-1H3__CoYuTe.R15000_0.3-50mu.xsec.TauREx.h5', '1H2-16O__POKAZATEL__R15000_0.3-50mu.xsec.TauREx.h5']\n", "Found 2 CIA files: ['H2-H2_eq_2018.cia', 'H2-He_eq_2011.cia']\n" ] } ], "source": [ "ensure_opacity_data(download=True)\n", "\n", "xsec_files = sorted(path.name for path in XSEC_DIR.glob('*.h5'))\n", "cia_files = sorted(path.name for path in CIA_DIR.glob('*.cia'))\n", "\n", "print('Opacity data are available and the TauREx caches are configured.')\n", "print(f'Found {len(xsec_files)} cross-section files: {xsec_files}')\n", "print(f'Found {len(cia_files)} CIA files: {cia_files}')" ] }, { "cell_type": "markdown", "id": "91fa4d08", "metadata": {}, "source": [ "## Verifying the Cache\n", "\n", "Once the cache is configured, `OpacityCache` reports the molecules it found. This is a useful sanity check before building a model — if a molecule does not appear here, it will not be available as an active gas in [Temperature, pressure, and chemistry](https://escience-taurex.github.io/taurex3/examples/02_atmosphere_components.html)." ] }, { "cell_type": "code", "execution_count": 3, "id": "VSC-28125187", "metadata": { "language": "python" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Molecules discovered by the opacity cache:\n" ] }, { "data": { "text/plain": [ "{'CH4', 'CO2', 'H2O', 'NH3'}" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from taurex.cache import OpacityCache\n", "\n", "print('Molecules discovered by the opacity cache:')\n", "OpacityCache().find_list_of_molecules()" ] }, { "cell_type": "markdown", "id": "eb6ea801", "metadata": {}, "source": [ "## Inspecting a Cross-Section\n", "\n", "Retrieving a cross-section object from the cache gives direct access to the raw opacity data. The `opacity(temperature, pressure)` method evaluates the absorption at a chosen temperature and pressure and returns it on the native wavenumber grid in units of cm$^2$/molecule." ] }, { "cell_type": "code", "execution_count": 4, "id": "61db02cd", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "h2o_xsec = OpacityCache()['H2O']\n", "wlgrid = 10000 / h2o_xsec.wavenumberGrid\n", "\n", "plt.figure(figsize=(7, 4))\n", "plt.plot(wlgrid, h2o_xsec.opacity(2000, 1e1), lw=0.3)\n", "plt.xscale('log')\n", "plt.yscale('log')\n", "plt.xlabel('Wavelength (um)')\n", "plt.ylabel('Cross-section (cm$^2$/molecule)')\n", "plt.title('H$_2$O opacity at T = 2000 K, P = 10 Pa')\n", "plt.grid(alpha=0.2)" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }