bytran -|- spectral calculations for portable devices using the HITRAN database


Upcoming bytran 1.2

bytran 1.2 will support SensorTag - a keychain size coin battery operated Bluetooth device containing temperature, pressure and humidity sensors.

Mobile versions

Android™ 4.1 and above, iOS 6 and above, or Windows Phone 8.1 and 10.
The Windows Phone version does not currently offer Image and Data sharing and may experience occasional hangs during the HITRAN database download.

Desktop versions

Current desktop versions do not include an installer and contain the unmodified mobile interface.   To run bytran under Ubuntu Linux a script file supplied should be used as outlined in the readme file within the archive.

Raspberry Pi board

To run bytran under Raspbian Jessie a script file supplied should be used as outlined in the readme file within the archive.   The Sense HAT board is not yet supported pending Qt environment update (see QTBUG-60309) or custom code modifications.   The binary for Raspbian Jessie has a known bug related to spectral lines color overlay.

Source code

Distributed under the MIT license.   Cross-platform source code, written in Qt/C++.   Mobile and desktop operating systems supported.

Version 1.1

Read this note to compile the source code for Raspberry Pi.


Distributed under the MIT license

bytran source code and binary are provided under the terms of the MIT license. The bytran distribution also includes dynamically linked Qt libraries it relies on which are distributed under the LGPL (Version 3) license, more information is available here.

Menu options in bytran

Menu options available in bytran version 1.2

The old bytran version 1.0 Alpha video is available here

About bytran

bytran is an application for calculating atmospheric and molecular absorption spectra using the HITRAN database data and the line-by-line method.   The concentrations of molecules, optical pathlength, total pressure, temperature, and other input parameters are used to model the gas mixture optical transmission spectra as a function of wavelength.



Automatic HITRAN database downloads (from or manual placement of the database onto the portable device.   Temperature, total pressure, wavelengths and molecular concentrations may be specified.   Optional usage of SensorTag and Cell phone sensors for empirical readings of total pressure, temperature and humidity (H2O vapor concentration) .   Built in atmospheric models.   Voigt, Lorentzian and Doppler lineshapes.   Instrument functions.   Sharing calculation results (images and data) from within the application.   Absorption, Transmission or Optical Depth spectra.   Units selection.   Currently limited to horizontal path mode.

The usage of cell phone sensors is currenly limited to the Android operating system due to the limitations of the Qt environment.


Individual molecules or Total spectra

Absorption, Transmission or Optical depth -|- Radiance

HITRANonline downloads -|- SensorTag & Cell phone sensors

Data from HITRANonline ( is saved locally for later offline use -|- Barometer, Thermometer, Humidity sensor -|- Calculations based on location specific sensor measured input values

HITRAN options

There are 3 options for the usage of the HITRAN database by bytran.

( 1 )   By default HITRAN is downloaded on a need-to basis in small segments totalling around 5Mbytes each and stored locally for later reuse ("Downloads/bytran/HITRAN-downloads" folder under Android).   Repeated calls with the same spectral regions requested use locally stored data as opposed to

( 2 )   Complete download of the entire HITRAN database from to completely eliminate the need to connect to the HITRAN server later.   Optional manual placement of the cumulative HITRAN database file (i.e. HITRAN2012.par) into the "Downloads/bytran" folder is also possible under Android.

( 3 )   The third HITRAN database option will access the every time the program runs without saving any data to the portable device.



bytran 1.2 will support SensorTag - a keychain size coin battery operated bluetooth device containing temperature, pressure and humidity sensors.   The sensors may be used to provide empirical values of total pressure, temperature and water vapor partial pressure for line-by-line calculations instead of manual entry to generate absorption spectra based on measured ambient conditions.   The SensorTag may be purchased directly from Texas Instruments or its distributors.


Cell phone sensors

Due to the current limitations of the Qt environment the usage of cell phone sensors is limited to the Android operating system.   Additionally even though some cell phones such as the Samsung "Galaxy S4" and "Galaxy Note 3" are equipped with a humidity sensor, cell phone built in humidity sensors are not currently supported by Qt.   A search of cell phones with a barometer, thermometer and/or humidity sensor may be performed here.

Molecular concentrations -|- Sharing results

Molecular concentrations -|- Water vapor absorption calculation based on humidity sensor input -|- Sharing results as plots and data


Selecting all molecules with default atmospheric model concentrations will generate atmospehric transmission specta corresponding to the atmospheric model used.   Partial selection of molecules is possible to simulate transmission of individual molecules or custom mixtures.   If the molecules are deselected after the calculation is performed, their corresponding contribution will be removed from the molecular and total spectra.



Concentrations of individual molecules may be modified.   They are stored in the application in the units of parts per million by volume (ppmv).   As such changing the total pressure will also change molecular absolute partial pressures which are used in line-by-line calculations subsequently resulting in changed computed spectra.   Due to the above, for fixed absolute partial pressure calculations it is recommended to specify the total atmospheric pressure first, and then change the molecular concentrations.


Sharing results

Calculation results may be shared over email, text messages etc. from within bytran.   Shared files will also be locally stored under OS specific "Documents/bytran" folder.

Atmospheres, Lineshapes and Instrument functions

Standard atmospheres -|- Voigt, Lorentz or Doppler lineshapes -|- Instrument functions based on HAPI

Atmosphere model

The bytran program contains the US Standard 1986 atmospheric models built in and allows usage of the ground level atmospheric model parameters in horizontal path calculations.   Other atmospheric models and emperical databases such as MERRA are being considered.


Lineshape options

Basic spectral line calculation parameters such as the lineshape may be specified.   Currently the Voigt profile is used by default, however the implementations of Hartmann-Trann and other derivative profiles are being considered.   The wing contribution of the individual absorption lines may be specified in either absolute units of cm-1 or the saturated half widths.   The larger of the 2 specified values will be used in calculations.   Specifying the intensity threshold will cut-off weak lines below the threshold specified from the calculations.


Instrument functions

The instrument functions are added to emulate the performance of a spectral instrument.   This capability is based on the Python source code made available with the HAPI (HITRAN application programming interface).   The instrument functions available include: Rectangular (boxcar), Triangular, Gaussian, Dispersion (Lorentz), Diffraction, and Michelson.

Planned future features

Bluetooth and Serial port communication -|- Remote execution to allow integration into custom systems -|- Raspberry Pi Sense HAT support

Communication capability

Planned feature:   Bluetooth and seral port communication capability for remote control and retrieval of bytran calculation results to facilitate simplified integration of bytran running on dedicated hardware into customized systems.


Raspberry Pi Sense HAT

Planned feature:   The optional usage of Raspberry Pi with the Sense HAT add-on board is planned to measure ambient total pressure, temperature and humidity (water vapor concentration) to provide input for line-by-line calculations instead of manual entry.

Raspberry Pi's Sense HAT typical sensor accuracies: barometer - 10 to 100 Pa (STMicroelectronics LPS25HB), thermometer - < 0.5 °C, humidity - 3.5% (STMicroelectronics HTS221).

Website developed with Skeleton: Responsive CSS Boilerplate