Cross sections

LTE/Non-LTE: Choose LTE or Non-LTE.
If you choose LTE, please ignore # Calculate non-LTE # section.
If you choose Non-LTE, more details can be found from Non-LTE.

WnWlUnit: Choose to provide the range of wavenumber wn in unit of cm-1 (cm⁻¹), or wavelength in unit of um (μm) or nm.

Range: Give two values as the minimum and maximum of the wavenumber range in unit of cm⁻¹ or wavelength range in unit of μm or nm. Please use the same unit as WnWlUnit. Don’t use , or ; between these two numbers, just leave blank here.

Absorption/Emission: Choose Absorption or Emission.

Npoints/BinSize: Npoints is the number of the points in grid. BinSiza is the interval size of the grid , use the same unit as WnWlUnit.

PredissocXsec(Y/N): If PredissocXsec(Y/N) is yes, predissociation lifetimes will be used or calculated when calculating cross sections with Voigt profile.

Cutoff(Y/N): If Cutoff(Y/N) is yes, you can provide wing cutoff here in unit of cm⁻¹.

Temperatures and pressures

Temperatures: Please provide temperatures in unit of K.

Temperatures

T = ?

296

296 K

300,1000,3000,8000

300 K, 1000 K, 3000 K, 8000 K

1000:5000:1000

1000 K, 2000 K, 3000 K, 4000 K, 5000 K

300, 3000

1000: 3000: 500

[300,3000]

[300, 3000]

Pressures: Please provide pressures in unit bar.

Pressures

P = ?

1

1 bar

1.0

1.0 bar

0.5,1.0,5.0,10.0

0.5 bar, 1.0 bar, 5.0 bar, 10.0 bar

1:5:1

1 bar, 2 bar, 3 bar, 4 bar, 5 bar

1, 10

1: 5: 1

[1,10]

[1, 10]

\(N_T\) and \(N_P\) can be different. The total number of result files should be:

\[N_\textrm{Total} = N_T \times N_P\]

Filters

UncFilter(Y/N), Threshold(Y/N), and QNsFilter(Y/N) are filters, please see Filters.

Broadeners

Default means:

  1. Default value of temperature exponent for all lines is 0.5.

  2. Default value of Lorentzian half-width for all lines is 0.07.

If you want to use the default values of the broadeners, please set the Ratios of Broadeners under Default as 1.0.

The broadening types and ratio values are corresponding, please write them in order.

Example

Broadeners                              Default   
Ratios                                  1.0  
Broadeners                              Air      Self  
Ratios                                  0.7      0.3  
Broadeners                              H2       He   
Ratios                                  0.9      0.1   

Line profiles

Choose line profile from:

Doppler, Gaussian, Lorentzian, SciPyVoigt, SciPyWofzVoigt, HumlicekVoigt, ThompsonPseudoVoigt, KielkopfPseudoVoigt, OliveroPseudoVoigt, LiuLinPseudoVoigt, RoccoPseudoVoigt, BinnedDoppler, BinnedGaussian, BinnedLorentzian, BinnedVoigt. Please note: no blank when you write the line profile name.

DopplerHWHM(Y/N):

  1. Doppler profile uses Doppler HWHM calculated by program, if you want to use Doppler profile, set N after DopplerHWHM(Y/N).

  2. If you use Gaussian profile, please set Y or U after DopplerHWHM(Y/N), your Doppler HWHM value will be used for calculating Gaussian profile.

  3. If you prefer to provide a Doppler HWHM as a constant, write Y here and give the HWHM value.

  4. If you want to use your own Doppler HWHM list, please add them to the transitions file(s) as a new column on the right. Write U here and give this new column index (count start from 0).

  5. If you need the program to calculate tempertaure-dependent Doppler HWHM, please write N here.

LorentzianHWHM(Y/N):

  1. If you prefer to provide a Lorentzian HWHM as a constant, write Y here and give the HWHM value.

  2. If you want to use your own Lorentzian HWHM list, please add them to the transitions file(s) as a new column on the right. Write U here and give this new column index (count start from 0).

  3. If you need the program to calculate tempertaure and pressure-dependent Loretzian HWHM, please write N here.

Example

Profile                                 SciPyVoigt
DopplerHWHM(Y/N)                        Y          0.1            # Set Doppler HWHM as a constant 
LorentzianHWHM(Y/N)                     Y          0.5            # Set Lorentzian HWHM as a constant
Profile                                 Doppler
DopplerHWHM(Y/N)                        N          0.3            # Set Doppler HWHM as a constant 
LorentzianHWHM(Y/N)                     N          0.5            # Set Lorentzian HWHM as a constant
Profile                                 Gaussian
DopplerHWHM(Y/N)                        U          4              # Set Doppler HWHM as a constant 
LorentzianHWHM(Y/N)                     N          0.5            # Set Lorentzian HWHM as a constant
Profile                                 SciPyVoigt
DopplerHWHM(Y/N)                        U          4              # Set Doppler HWHM as a constant 
LorentzianHWHM(Y/N)                     U          5              # Set Lorentzian HWHM as a constant

Plot cross sections

PlotCrossSection(Y/N): If you want a figure of corss sections, please set Y, otherwise, please write N.

PlotCrossSectionMethod: Choose to plot y-axis in linear lin or logarithm log.

PlotCrossSectionWnWl: Choose to plot x-axis with wavenumber wn in unit of cm-1 (cm⁻¹), or wavelength wl in unit of um (μm) or nm.

Y-axisLimitXsec: If you want set the lower limit of y-axis for plotting, please write after Y-axisLimitXsec, otherwise, the default lower limit y-axis is 1e-30 (\(=10^{-30}\)) cm²/molecule.

Example

Save wavenumber in unit of cm⁻¹ in the file and plot logarithm cross sections in unit of cm²/molecule and wavenumber in unit of cm⁻¹.

# Calculate stick spectra or cross sections #
LTE/Non-LTE                             LTE                       # 'LTE' or 'Non-LTE'
Temperatures                            2000,5000                 # Temperatures in unit of K
WnWlUnit                                wn         cm-1           # Wavenumber (wn in unit of cm-1) or wavelength (wl in unit of um or nm)
Range                                   0          30000          # Same unit as WnWlUnit
Absorption/Emission                     Absorption                # 'Absorption' or 'Emission'
UncFilter(Y/N)                          Y          0.01           # If Y, default value 0.01 cm-1
Threshold(Y/N)                          Y          1e-30          # If Y, default value 1e-30 cm/molecule
QNsFilter(Y/N)                          N          v[0,;1,;2,;3,;4,;,0;,1;,2;,3;,4] 


# Calculate cross sections #
Pressures                               0.1,1,10                  # Pressures in unit bar
Npoints/BinSize                         BinSize    0.1            # Same unit as WnWlUnit
Broadeners                              Default    
Ratios                                  1.0        
Profile                                 SciPyVoigt      
PredissocXsec(Y/N)                      N
Cutoff(Y/N)                             Y          25             # If Y, default value 25 cm-1
DopplerHWHM(Y/N)                        N          0.1            # Set Doppler HWHM as a constant 
LorentzianHWHM(Y/N)                     N          0.5            # Set Lorentzian HWHM as a constant
PlotCrossSection(Y/N)                   Y          
PlotCrossSectionMethod                  log                       # Plot in linear (lin) or logarithm (log)
PlotCrossSectionWnWl                    wn         cm-1           # Wavenumber (wn in unit cm-1) or wavelength (wl in unit[nm or um])
Y-axisLimitXsec                         1e-25                     # Default value is 1e-30 cm2/molecule

Save wavenumber in unit of cm⁻¹ in the file and plot logarithm cross sections in unit of cm²/molecule and wavelength in unit of nm.

# Calculate stick spectra or cross sections #
LTE/Non-LTE                             LTE                       # 'LTE' or 'Non-LTE'
Temperatures                            1000:3000:1000            # Temperatures in unit of K
WnWlUnit                                wn         cm-1           # Wavenumber (wn in unit of cm-1) or wavelength (wl in unit of um or nm)
Range                                   0          30000          # Same unit as WnWlUnit
Absorption/Emission                     Absorption                # 'Absorption' or 'Emission'
UncFilter(Y/N)                          Y          0.01           # If Y, default value 0.01 cm-1
Threshold(Y/N)                          Y          1e-30          # If Y, default value 1e-30 cm/molecule
QNsFilter(Y/N)                          N          v[0,;1,;2,;3,;4,;,0;,1;,2;,3;,4] 


# Calculate cross sections #
Pressures                               1                         # Pressures in unit bar
Npoints/BinSize                         Npoint     30001          # Same unit as WnWlUnit
Broadeners                              Default    
Ratios                                  1.0        
Profile                                 SciPyVoigt      
PredissocXsec(Y/N)                      N
Cutoff(Y/N)                             Y          25             # If Y, default value 25 cm-1
DopplerHWHM(Y/N)                        N          0.1            # Set Doppler HWHM as a constant 
LorentzianHWHM(Y/N)                     N          0.5            # Set Lorentzian HWHM as a constant
PlotCrossSection(Y/N)                   Y          
PlotCrossSectionMethod                  log                       # Plot in linear (lin) or logarithm (log)
PlotCrossSectionWnWl                    wl         nm             # Wavenumber (wn in unit cm-1) or wavelength (wl in unit[nm or um])
Y-axisLimitXsec                         1e-25                     # Default value is 1e-30 cm2/molecule

Save wavelength in unit of μm in the file and plot linear cross sections in unit of cm²/molecule and wavelength in unit of nm.

# Calculate stick spectra or cross sections #
LTE/Non-LTE                             LTE                       # 'LTE' or 'Non-LTE'
Temperatures                            2000                      # Temperatures in unit of K
WnWlUnit                                wl         um             # Wavenumber (wn in unit of cm-1) or wavelength (wl in unit of um or nm)
Range                                   6          10             # Same unit as WnWlUnit
Absorption/Emission                     Absorption                # 'Absorption' or 'Emission'
UncFilter(Y/N)                          Y          0.01           # If Y, default value 0.01 cm-1
Threshold(Y/N)                          Y          1e-30          # If Y, default value 1e-30 cm/molecule
QNsFilter(Y/N)                          N          


# Calculate cross sections #
Pressures                               1                         # Pressure in unit bar
Npoints/BinSize                         BinSize    0.001          # Same unit as WnWlUnit
Broadeners                              Default    
Ratios                                  1.0        
Profile                                 SciPyVoigt      
PredissocXsec(Y/N)                      N
Cutoff(Y/N)                             Y          25             # If Y, default value 25 cm-1
DopplerHWHM(Y/N)                        N          0.1            # Set Doppler HWHM as a constant 
LorentzianHWHM(Y/N)                     N          0.5            # Set Lorentzian HWHM as a constant
PlotCrossSection(Y/N)                   Y          
PlotCrossSectionMethod                  lin                       # Plot in linear (lin) or logarithm (log)
PlotCrossSectionWnWl                    wl         nm             # Wavenumber (wn in unit cm-1) or wavelength (wl in unit[nm or um])
Y-axisLimitXsec                         1e-25                     # Default value is 1e-30 cm2/molecule

Example

# Data source #
Database                                ExoMol
Molecule                                H2O
Isotopologue                            1H2-16O
Dataset                                 POKAZATEL
SpeciesID                               11


# File path #
ReadPath                                /mnt/data/exomol/exomol3_data/
SavePath                                /home/jingxin/data/pyexocross/
LogFilePath                             /home/jingxin/data/pyexocross/log/H2O_ExoMol_xsec.log


# Functions #
Conversion                              0
PartitionFunctions                      0
SpecificHeats                           0
CoolingFunctions                        0
Lifetimes                               0
OscillatorStrengths                     0
StickSpectra                            0
CrossSections                           1


# Cores and chunks #
NCPUtrans                               32
NCPUfiles                               32
ChunkSize                               1000000
RunMode                                 CPU                       # CPU(default) or GPU
GPUBackend                              AUTO                      # AUTO(default), CUDA, PyTorch-CUDA, CuPy-CUDA, or MPS (used only when RunMode=GPU)
GPUBatchLines                           8192                      # GPU line-batch size (only used when RunMode=GPU)
GPUBatchGrid                            256                       # GPU grid-batch size (only used when RunMode=GPU)


# Quantum numbers for conversion, stick spectra and cross sections #
QNslabel                                Ka      Kc      v1      v2      v3      Gamma_rve
QNsformat                               %2d     %2d     %2d     %2d     %2d     %2s


# Calculate stick spectra or cross sections #
LTE/Non-LTE                             LTE                       # 'LTE' or 'Non-LTE'
Temperatures                            300                       # Temperatures in unit of K
WnWlUnit                                wn         cm-1           # Wavenumber (wn in unit of cm-1) or wavelength (wl in unit of um or nm)
Range                                   0          41200          # Same unit as WnWlUnit
Absorption/Emission                     Absorption                # 'Absorption' or 'Emission'
UncFilter(Y/N)                          Y          0.01           # If Y, default value 0.01 cm-1
Threshold(Y/N)                          Y          1e-30          # If Y, default value 1e-30 cm/molecule
QNsFilter(Y/N)                          N          Ka[]  Kc[]  v1[]  v2[1,;,0]  v3[]  Gamma_rve[]


# Calculate cross sections #
Pressures                               0.1,1                     # Pressures in unit bar
Npoints/BinSize                         BinSize    0.1            # Same unit as WnWlUnit
Broadeners                              H2       He  
Ratios                                  0.75     0.15  
Profile                                 SciPyVoigt   
PredissocXsec(Y/N)                      N
Cutoff(Y/N)                             Y          25             # If Y, default value 25 cm-1
DopplerHWHM(Y/N)                        N          0.1            # Set Doppler HWHM as a constant 
LorentzianHWHM(Y/N)                     N          0.5            # Set Lorentzian HWHM as a constant
PlotCrossSection(Y/N)                   N
PlotCrossSectionMethod                  log                       # Plot in linear (lin) or logarithm (log)
PlotCrossSectionWnWl                    wn         cm-1           # Wavenumber (wn in unit cm-1) or wavelength (wl in unit[nm or um])
Y-axisLimitXsec                         1e-30                     # Default value is 1e-30 cm2/molecule
# Data source #
Database                                ExoMol
Molecule                                NO
Isotopologue                            14N-16O
Dataset                                 XABC
SpeciesID                               81


# File path #
ReadPath                                /mnt/data/exomol/exomol3_data/
SavePath                                /home/jingxin/data/pyexocross/
LogFilePath                             /home/jingxin/data/pyexocross/log/NO_HITRAN_xsec_T2000_wl150-1000.log


# Functions #
Conversion                              0
PartitionFunctions                      0
SpecificHeats                           0
CoolingFunctions                        0
Lifetimes                               0
OscillatorStrengths                     0
StickSpectra                            0
CrossSections                           1


# Cores and chunks #
NCPUtrans                               8
NCPUfiles                               1
ChunkSize                               1000000
RunMode                                 CPU                       # CPU(default) or GPU
GPUBackend                              AUTO                      # AUTO(default), CUDA, PyTorch-CUDA, CuPy-CUDA, or MPS (used only when RunMode=GPU)
GPUBatchLines                           8192                      # GPU line-batch size (only used when RunMode=GPU)
GPUBatchGrid                            256                       # GPU grid-batch size (only used when RunMode=GPU)


# Quantum numbers for conversion, stick spectra and cross sections #
QNslabel                                +/-    e/f     ElecState    v     Lambda   Sigma    Omega
QNsformat                               %1s    %1s     %12s         %3d   %3d      %5.1f    %5.1f


# Calculate stick spectra or cross sections #
LTE/Non-LTE                             LTE                       # 'LTE' or 'Non-LTE'
Temperatures                            300,2000,5000             # Temperatures in unit of K
WnWlUnit                                wl         nm             # Wavenumber (wn in unit of cm-1) or wavelength (wl in unit of um or nm)
Range                                   150        1000           # Same unit as WnWlUnit
Absorption/Emission                     Emission                  # 'Absorption' or 'Emission'
UncFilter(Y/N)                          Y          0.01           # If Y, default value 0.01 cm-1
Threshold(Y/N)                          Y          1e-30          # If Y, default value 1e-30 cm/molecule
QNsFilter(Y/N)                          N          State[]  v[]  Lambda[]  Sigma[]  Omega[]


# Calculate cross sections #
Pressures                               1,10                      # Pressures in unit bar
Npoints/BinSize                         BinSize    0.1            # Same unit as WnWlUnit
Broadeners                              air    
Ratios                                  1.0        
Profile                                 Gaussian       
PredissocXsec(Y/N)                      N
Cutoff(Y/N)                             Y          100            # If Y, default value 25 cm-1
DopplerHWHM(Y/N)                        Y          3              # Set Doppler HWHM as a constant 
LorentzianHWHM(Y/N)                     N          0.5            # Set Lorentzian HWHM as a constant
PlotCrossSection(Y/N)                   Y          
PlotCrossSectionMethod                  lin                       # Plot in linear (lin) or logarithm (log)
PlotCrossSectionWnWl                    wl         nm             # Wavenumber (wn in unit cm-1) or wavelength (wl in unit[nm or um])
Y-axisLimitXsec                         1e-30                     # Default value is 1e-30 cm2/molecule
# Data source #
Database                                HITRAN
Molecule                                NO
Isotopologue                            14N-16O
Dataset                                 NO-HITRAN
SpeciesID                               81


# File path #
ReadPath                                /home/jingxin/data/HITRAN/
SavePath                                /home/jingxin/data/pyexocross/
LogFilePath                             /home/jingxin/data/pyexocross/log/NO_HITRAN_xsec_T1000_wn1000-5000.log


# Functions #
Conversion                              0
PartitionFunctions                      0
SpecificHeats                           0
CoolingFunctions                        0
Lifetimes                               0
OscillatorStrengths                     0
StickSpectra                            0
CrossSections                           1


# Cores and chunks #
NCPUtrans                               32
NCPUfiles                               1
ChunkSize                               1000000
RunMode                                 CPU                       # CPU(default) or GPU
GPUBackend                              AUTO                      # AUTO(default), CUDA, PyTorch-CUDA, CuPy-CUDA, or MPS (used only when RunMode=GPU)
GPUBatchLines                           8192                      # GPU line-batch size (only used when RunMode=GPU)
GPUBatchGrid                            256                       # GPU grid-batch size (only used when RunMode=GPU)


# Quantum numbers for conversion, stick spectra and cross sections #
QNslabel                                J       X     Omega   v1      Sym    F
QNsformat                               %5.1f   %2s   %3s     %2d     %1s    %5s


# Calculate stick spectra or cross sections #
LTE/Non-LTE                             LTE                      # 'LTE' or 'Non-LTE'
Temperatures                            1000:4000:1000           # Temperatures in unit of K
WnWlUnit                                wn         cm-1          # Wavenumber (wn in unit of cm-1) or wavelength (wl in unit of um or nm)
Range                                   1000       5000          # Same unit as WnWlUnit
Absorption/Emission                     Emission                 # 'Absorption' or 'Emission'
UncFilter(Y/N)                          No         0.01          # If Y, default value 0.01 cm-1
Threshold(Y/N)                          NO         1e-30         # If Y, default value 1e-30 cm/molecule
QNsFilter(Y/N)                          N          X[]       Omega[]       v1[1,0;2,]


# Calculate cross sections #
Pressures                               0.1                       # Pressures in unit bar
Npoints/BinSize                         BinSize    0.1            # Same unit as WnWlUnit
Broadeners                              Air        Self  
Ratios                                  0.7        0.3   
Profile                                 SciPyVoigt  
PredissocXsec(Y/N)                      no
Cutoff(Y/N)                             N          100            # If Y, default value 25 cm-1
DopplerHWHM(Y/N)                        n          0.1            # Set Doppler HWHM as a constant 
LorentzianHWHM(Y/N)                     n          0.5            # Set Lorentzian HWHM as a constant
PlotCrossSection(Y/N)                   NO
PlotCrossSectionMethod                  log                       # Plot in linear (lin) or logarithm (log)
PlotCrossSectionWnWl                    wn         cm-1           # Wavenumber (wn in unit cm-1) or wavelength (wl in unit[nm or um])
Y-axisLimitXsec                         1e-30                     # Default value is 1e-30 cm2/molecule