GATIAB
GATIAB (Gasous Absorption Transmissions at Instrument Averaged Bands).
This module provides gaseous transmissions base on CKDMIP idealized Look-Up tables and sensor spectral response functions.
Mustapha Moulana
HYGEOS
CKDMIP data
The CKDMIP (the Correlated K-Distribution Model Intercomparison Project) Idealized Look-Up tables are necessary to use the gatiab module. See: Hogan et al. -> https://gmd.copernicus.org/articles/13/6501/2020/
The CKDMIP documentation and data are available here: https://confluence.ecmwf.int/display/CKDMIP
AFGL atmophere LUTs
The gatiab module needs afgl atmosphere profils. Those atmophere look-up tables can be dowloaded from SMART-G (Speed-up Monte Carlo Advanced Radiative Transfer Code using GPU) -> https://github.com/hygeos/smartg
The SMART-G makefile can be used:
$ make auxdata_atm
Installation
The module can be installed using one the following commands:
$ conda install -c conda-forge gatiab
$ pip install gatiab
$ pip install git+https://github.com/hygeos/gatiab.git
Testing
Example of pytest.ini file:
[pytest]
addopts=
--dir-ckdmip="/path/to/ckdmip/dir/"
--dir-atm="path/to/atm/dir/"
-s -v
Run the command pytest tests/ to check that everything is running correctly.
Exemples
from gatiab import ckdmip2od, Gatiab
import xarray as xr
import glob
# Specify the ckdmip and atmophere directory paths
dir_ckdmip = "path/to/ckdmip/dir/"
dir_atm = "path/to/atm/dir/"
# First create optical depth LUTs of a given atmosphere
# wavenumber units -> cm-1
ds = ckdmip2od(gas='O3', dir_ckdmip=dir_ckdmip, dir_atm=dir_atm, atm='afglus',
wvn_min = 4000., wvn_max=26000., save=True)
# Second we need the instrument spectral response
# Here we use the LUTs we have created for testing of Sentinel 3A OLCI
# Other SRF intruments -> https://nwp-saf.eumetsat.int/site/software/rttov/download/coefficients/spectral-response-functions/
rsrf_files = sorted(glob.glob("./tests/S3A_OLCI_rsrf/*.nc"))
nbands = len(rsrf_files)
rsrf = [] # iband list with relative spectral response as function of wavelength
srf_wvl = [] # iband list with wavelength in nanometer
for i in range (0, nbands):
with xr.open_dataset(rsrf_files[i]) as ds:
rsrf.append(ds['rsrf'].values)
srf_wvl.append(ds['wvl'].values)
# Third compute the gas transmission as function of gas content, airmass, ground pressure and wavelength
gt = Gatiab(ds)
gt.print_gas_content() # print the standard afgl total column content of O3
gas_content = np.array([250., 300., 350.]) # in DU
air_mass = np.array([3., 4., 5.])
p0 = gt.od['P_hl'][-2:].data*1e-2 # ground pressure in hectopascal
ds_gt = gt.calc(gas_content, air_mass, p0, srf_wvl, rsrf)
print(ds_gt)
Metadata
Release files for gatiab 1.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gatiab-1.1.2.tar.gz | 64.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gatiab-1.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 88.4 kB
Release files / gatiab-1.1.2.tar.gz
| Download URL | gatiab-1.1.2.tar.gz |
|---|---|
| Size | 64.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
147ea0bb5673a90bb45738462e11888021fd5a04ce7c4d6ead856b959e49634d
|
|
BLAKE2b-256 checksum How to use checksums |
088c5e469e2bfe8347f4088c47873fbc19bde3d4961ce7ba756fe94c1a40a5c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.
Transparency logRelease files / gatiab-1.1.2-py3-none-any.whl
| Download URL | gatiab-1.1.2-py3-none-any.whl |
|---|---|
| Size | 23.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
887d78190ab51474daad1ee4604971c90a473bc4d8b493014e488bfe13489b2e
|
|
BLAKE2b-256 checksum How to use checksums |
2a1d2ab1287eb464f346f3fc4d8e7c9130eb82e2942ac707e2ef63b29458b42e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.
Transparency log