Skip to content

Technical Feedback on LBLRTM v12.17: "Isotope 0" Exception for CO_2 in the 4032-4762 cm^{-1} Band #88

@satpyscene

Description

@satpyscene

Dear LBLRTM Development Team,

I am writing to report a specific issue regarding CO_2 (Molecule 2) line parameter exceptions encountered while running LBLRTM v12.17. (TAPE3 from LNFL v3.2).

Problem Description: During a spectral simulation in the band 4032.258 - 4761.905 cm^{-1}, LBLRTM consistently encounters 88 instances of a line file exception. The TAPE6 output displays: "tape3: molecule number 2 tape3: isotope number 0 greater than 10 encountered and skipped"

In the original source code, the isotope exception is printed only once due to the iso_max_pr_1 flag logic. To observe the full extent of the error, I inserted a diagnostic write statement outside the if block (near line 6409 of src/lblrtm.f90 is as follows).

else if (ind .eq. 2) then 
             ! Diagnostic line added to bypass the "print-once" restriction
             write(*,*) 'DEBUG INFO: Molecule=', mol, ' Isotope_Read=', iso, ' Limit=', iso_max(mol)
             if (iso_max_pr_1 .lt. 0) then 
                iso_max_pr_1 = 11 
                write (*,*) 
                write (*,*)   ' tape3: molecule number ', mol 
                write (ipr,*) ' tape3: molecule number ', mol

As a result, the program reported exactly 88 instances of the exception. This leads me to hypothesize that the issue is localized to 88 specific spectral lines within this band that have invalid isotope indices (iso=0).

Upon discovering that the issue is limited to only 88 specific lines within a band containing thousands of transitions, my concerns regarding the overall simulation precision have been largely alleviated. However, I believe that identifying and resolving the root cause of this anomaly could contribute to the further refinement of this esteemed open-source model.

I have provided my configuration files and version details in the hope that they might assist anyone interested in reproducing this behavior to uncover the underlying cause. Solving this small puzzle would not only resolve my personal confusion but also potentially benefit the wider community that relies on the robustness of LBLRTM.

I am truly grateful for your time and for the immense effort your team puts into maintaining this vital scientific tool.

Reproducing Details / Environment Info
To facilitate the reproduction of this issue, I have provided the detailed configuration and file sources below:

  • LBLRTM Version: v12.17
  • LNFL Version:v3.2
  • Line Database:aer_v3.8.1
  • Compiler: Intel Fortran Compiler (ifort)

LNFL_TAPE5:
'
$ f160 format
3000. 15000.
11111110000000000000000000000000000000000000000 LNOUT EXBRD
%%%%%%%%%%%%%%%%%%
12345678901234567890123456789012345678901234567890123456789012345678901234567890
'

LBLRTM_TAPE5:
'
$Gas=CO2 P=2.41e+01Pa T=202.15K
HI=1 F4=2 CN=1 AE=0 EM=0 SC=0 FI=0 PL=0 TS=0 AM=1 MG=0 LA=0 OD=1 XS=0 0 0 0 0
4032.258 4761.905 REJ=0 1.000E-02
0 2 -2 1 1 7 1 0 0.000 0.000
0.238 0.243 180.000
0.243 0.238
-2 GENERATED PROFILE
0.000 0.243 202.150 AA L AAAAAAA
1.00000000E+02 1.00000000E+02 1.00000000E+02 1.00000000E+02 0.00000000E+00 0.00000000E+00 0.00000000E+00
0.000 0.238 202.150 AA L AAAAAAA
1.00000000E+02 1.00000000E+02 1.00000000E+02 1.00000000E+02 0.00000000E+00 0.00000000E+00 0.00000000E+00
-1.0
'

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions