Skip to content

Commit b8f7182

Browse files
authored
Merge pull request #48 from AER-RC/jmascio_TAPE6_history_changes
changes for LBLRTM v12.16 release
2 parents 1d35edc + afb7dd7 commit b8f7182

File tree

7 files changed

+100
-49
lines changed

7 files changed

+100
-49
lines changed

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ LBLRTM uses the line parameters and [MT_CKD continuum](https://github.com/AER-RC
3434

3535
| LBLRTM Release | MT_CKD Release | Line File |
3636
| :---: | :---: | :---: |
37-
| [v12.15.1](https://github.com/AER-RC/LBLRTM/releases/tag/v12.15.1) | [4.1.1](https://github.com/AER-RC/MT_CKD/releases/tag/4.1.1) | [v3.8.1](https://zenodo.org/record/4019178/files/aer_v_3.8.1.tar.gz?download=1) |
37+
| [v12.16](https://github.com/AER-RC/LBLRTM/releases/tag/v12.16) | [4.2](https://github.com/AER-RC/MT_CKD/releases/tag/4.2) | [v3.8.1](https://zenodo.org/record/4019178/files/aer_v_3.8.1.tar.gz?download=1) |
3838

3939
If any build or run issues occur, please [create an issue](https://github.com/AER-RC/LBLRTM/issues) or contact the [AER-RC Group](https://github.com/AER-RC).
4040

@@ -65,19 +65,19 @@ git submodule update
6565

6666
in the `LBLRTM` directory.
6767

68-
Currently, the latest release is LBLRTM v12.15.1, and it is recommended that this be the version that users clone and checkout (rather than the `master` branch). To do this, one needs to simply checkout the `v12.15.1` tag:
68+
Currently, the latest release is LBLRTM v12.16, and it is recommended that this be the version that users clone and checkout (rather than the `master` branch). To do this, one needs to simply checkout the `v12.16` tag:
6969

7070
```
71-
git checkout tags/v12.15.1
71+
git checkout tags/v12.16
7272
```
7373

7474
No releases before v12.9 are available via GitHub, but they can be requested by contacting the [AER-RC Group](https://github.com/AER-RC). For information on previous releases, please visit the [What's New Wiki page](https://github.com/AER-RC/LBLRTM/wiki/What's-New).
7575

76-
Instead of cloning, users can also download an LBLRTM [tarball](https://github.com/AER-RC/LBLRTM/archive/v12.15.1.zip) and unpack it:
76+
Instead of cloning, users can also download an LBLRTM [tarball](https://github.com/AER-RC/LBLRTM/archive/v12.16.zip) and unpack it:
7777

7878
```
79-
tar xvf lblrtm_v12.15.1.tar.gz
80-
mv LBLRTM-12.15.1/ lblrtm
79+
tar xvf lblrtm_v12.16.tar.gz
80+
mv LBLRTM-12.16/ lblrtm
8181
```
8282

8383
Though not necessary, the move to `lblrtm` is for consistency with previous release packages and the associated documentation.
@@ -246,7 +246,7 @@ Unformatted optical depth files can be requested in the LBLRTM using options spe
246246

247247
# Tests <a name="tests"></a>
248248

249-
As of LBLRTM v12.10, a [run example package](https://github.com/AER-RC/LBLRTM/releases/tag/v12.15/lblrtm_v12.15.examples.tar) is provided separately from the code repository. It can be used to validate building and running of the model for select atmospheric specifications and model configurations. See `README.setup` in top level of the package for further direction.
249+
As of LBLRTM v12.10, a [run example package](https://github.com/AER-RC/LBLRTM/releases/tag/v12.16/lblrtm_v12.16.examples.tar) is provided separately from the code repository. It can be used to validate building and running of the model for select atmospheric specifications and model configurations. See `README.setup` in top level of the package for further direction.
250250

251251

252252
# Frequently Asked Questions <a name="faq"></a>

build/make_lblrtm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ include makefile.common
1212
# change those two variables from what is provided here, no need to set this variable.
1313

1414
PRODUCT = lblrtm
15-
VERSION = v12.15.1
15+
VERSION = v12.16
1616

1717
# Define makefile name
1818
MAKEFILE=make_$(PRODUCT)

data/absco-ref_wv-mt-ckd.nc

15.8 KB
Binary file not shown.

src/contnm.f90

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ SUBROUTINE CONTNM(JRAD)
2222
Use lblparams, ONLY: n_absrb, ipts, ipts2
2323
USE phys_consts, ONLY: radcn2
2424
USE mt_ckd_h2o
25+
USE read_file
2526

2627
!
2728
IMPLICIT REAL*8 (V)
@@ -49,10 +50,13 @@ SUBROUTINE CONTNM(JRAD)
4950
& NLNGTH,KFILE,KPANEL,LINFIL,NFILE,IAFIL,IEXFIL, &
5051
& NLTEFL,LNFIL4,LNGTH4
5152

53+
COMMON /CLOSURE/ FRGNX,mt_version
5254
common /cntscl/ XSELF,XFRGN,XCO2C,XO3CN,XO2CN,XN2CN,XRAYL
5355

5456
real sh2o(n_absrb),fh2o(n_absrb)
5557
logical radflag
58+
character FRGNX
59+
character*45 mt_version
5660
!
5761
!------------------------------------
5862
! for analytic derivative calculation
@@ -284,8 +288,8 @@ SUBROUTINE CONTNM(JRAD)
284288
radflag=.TRUE.
285289
endif
286290
call mt_ckd_h2o_absco(pave,tave,h2o_fac,v1abs,v2abs,dvabs,&
287-
sh2o,fh2o,radflag=radflag)
288-
291+
sh2o,fh2o,FRGNX,radflag=radflag,mt_version=mt_version)
292+
289293
! Special code just for stand alone continuum
290294

291295
v1h = v1abs
@@ -319,8 +323,6 @@ SUBROUTINE CONTNM(JRAD)
319323

320324
endif
321325

322-
323-
324326
!=======================================================================
325327

326328
! ******** CARBON DIOXIDE ********
@@ -1024,15 +1026,15 @@ SUBROUTINE PRCNTM
10241026
COMMON /CNTPR/ CINFO1,CINFO2,cnam3,CINFO3,cnam4,CINFO4,CHEADING
10251027
!
10261028
!
1027-
CHARACTER*18 cnam3(9),cnam4(45)
1028-
CHARACTER*51 CINFO1(2,12),CINFO2(2,14),CINFO3(2,9),CINFO4(2,45)
1029+
CHARACTER*18 cnam3(9),cnam4(46)
1030+
CHARACTER*51 CINFO1(2,11),CINFO2(2,14),CINFO3(2,9),CINFO4(2,46)
10291031
CHARACTER*40 CHEADING(3,2)
10301032
!
1031-
WRITE (IPR,910) ((CINFO1(I,J),I=1,2),J=1,12)
1033+
WRITE (IPR,910) ((CINFO1(I,J),I=1,2),J=1,11)
10321034
WRITE (IPR,910) ((CINFO2(I,J),I=1,2),J=1,14)
10331035
WRITE (IPR,918) ((CHEADING(I,J),I=1,3),J=1,2)
10341036
WRITE (IPR,915) (cnam3(j),(CINFO3(I,J),I=1,2),J=1,9)
1035-
WRITE (IPR,915) (cnam4(j),(CINFO4(I,J),I=1,2),J=1,45)
1037+
WRITE (IPR,915) (cnam4(j),(CINFO4(I,J),I=1,2),J=1,46)
10361038

10371039
!
10381040
910 FORMAT (18x,2A51)
@@ -1048,8 +1050,8 @@ BLOCK DATA CNTINF
10481050
! Continuum information for output to TAPE6 in SUBROUTINE PRCNTM
10491051
!
10501052
COMMON /CNTPR/ CINFO1,CINFO2,CNAM3,CINFO3,CNAM4,CINFO4,CHEADING
1051-
CHARACTER*18 cnam3(9),cnam4(45)
1052-
CHARACTER*51 CINFO1(2,12),CINFO2(2,14),CINFO3(2,9),CINFO4(2,45)
1053+
CHARACTER*18 cnam3(9),cnam4(46)
1054+
CHARACTER*51 CINFO1(2,11),CINFO2(2,14),CINFO3(2,9),CINFO4(2,46)
10531055
CHARACTER*40 CHEADING(3,2)
10541056
!
10551057
DATA cnam3/ &
@@ -1107,24 +1109,23 @@ BLOCK DATA CNTINF
11071109
& ' " ', &
11081110
& ' mt_ckd_3.6 12.13', &
11091111
& ' mt_ckd_4.0 12.14', &
1110-
& ' mt_ckd_4.0.1 ', &
1112+
& ' mt_ckd_4.0.1 - ', &
11111113
& ' mt_ckd_4.1 12.15', &
1112-
& ' mt_ckd_4.1.1 '/
1114+
& ' mt_ckd_4.1.1 - ', &
1115+
& ' mt_ckd_4.2 12.16'/
11131116
! 123456789-123456789-123456789-123456789-123456789-1
11141117
!
11151118
DATA CINFO1/ &
11161119
& ' ', &
11171120
& ' ', &
1118-
& '*** CONTINUA mt_ckd_4.1.1 ', &
1119-
& ' ', &
11201121
& ' ', &
11211122
& ' Most recent significant change ', &
1122-
& ' H2O AIR 200 - 700 CM-1 ', &
1123-
& ' mt_ckd_4.1.1 - adjust for self FIR mod(Jan 2023)', &
1124-
& ' SELF 0 - 20000 CM-1 ', &
1125-
& ' mt_ckd_4.0 - revise code/data external(Sep 2022)', &
1126-
& ' SELF (T) 0 - 20000 CM-1 ', &
1127-
& ' mt_ckd_3.6 - power law T dependence (Jan 2022)', &
1123+
& ' H2O AIR 600 - 1400 CM-1 ', &
1124+
& ' mt_ckd_4.2 - adjustment & alt. frgn (Nov 2023)', &
1125+
& ' SELF 600 - 1400 CM-1 ', &
1126+
& ' mt_ckd_4.2 - adjustment in IR window (Nov 2023)', &
1127+
& ' SELF (T) 600 - 1400 CM-1 ', &
1128+
& ' mt_ckd_4.2 - adjustment in IR window (Nov 2023)', &
11281129
& ' CO2 AIR 0 - 10000 CM-1 ', &
11291130
& ' mt_ckd_2.5 - modify 2000-3000 cm-1 (Jan 2010)', &
11301131
& ' AIR (T) 2386 - 2434 CM-1 ', &
@@ -1236,7 +1237,7 @@ BLOCK DATA CNTINF
12361237
& 'ive result depends on starting wavenumber(Aug 2008)', &
12371238
& ' H2O: modification to self and foreign continuum (', &
12381239
& 'microwave and IR ARM data 0-600 cm-1) (Nov 2008)', &
1239-
& ' CO2: modification from 2000-3200 cm-1 (AERI(ARM), ', &
1240+
& ' CO2: modification from 2000-3200 cm-1 (AERI(ARM),', &
12401241
& 'IASI AIRS measurements); Temp. dep. added(Jan 2010)', &
12411242
& ' H2O: modification to self cont. 2000-3000 cm-1 ', &
12421243
& '(IASI data, fit to near-IR results of ', &
@@ -1271,15 +1272,17 @@ BLOCK DATA CNTINF
12711272
& ' Burch/Grynvak 1979, IR - Burch/Alt 1984 and Burch', &
12721273
& '/Grynvak; H2O foreign: MW - Payne et al. ', &
12731274
& ' Water vapor self continuum temperature dependence', &
1274-
& 'computed as a power law (Mlawer, Mascio) (Jun 2022)', &
1275+
& ' computed as a power law (Mlawer, Mascio)(Jun 2022)', &
12751276
& ' Water vapor continuum code/data now external (Cad', &
12761277
& 'y-Pereira/Mlawer) (Sep 2022)', &
12771278
& ' Added changes to handle negative frequencies for ', &
12781279
& 'water vapor continuum (Nov 2022)', &
12791280
& ' Revised foreign H2O continuum in far-IR to adjust', &
12801281
& 'for v3.5 changes to self (Mlawer, Mascio)(Dec 2022)', &
12811282
& ' Minor changes to MT_CKD_4.1 and MT_CKD_H2O_4.1 ', &
1282-
& ' (Jan 2023)'/
1283+
& ' (Jan 2023)', &
1284+
& ' IR window: Derived from AERI - Self, frgn, self T', &
1285+
& '-dep; alt. frgn; Mlawer/Mascio/Turner (Dec 2023)'/
12831286
!
12841287
end block data CNTINF
12851288
!

src/lblrtm.f90

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ PROGRAM LBLRTM
398398
CHARACTER*18 HVRSOL
399399
!
400400
CHARACTER*1 CONE,CTWO,CTHREE,CFOUR,CA,CB,CC,CDOL,CPRCNT,CBLNK
401-
CHARACTER*1 CMRG(2),CXIDA(80)
401+
CHARACTER*1 IFRGNX,CMRG(2),CXIDA(80)
402402
!
403403

404404
! PARAMETER (MXFSC=600, MXLAY=MXFSC+3,MXZMD=6000, &
@@ -449,7 +449,7 @@ PROGRAM LBLRTM
449449

450450
! -------------------------
451451
!
452-
DIMENSION IDCNTL(16),IFSDID(17),IWD(2),IWD2(2),IWD3(2),IWD4(2)
452+
DIMENSION IDCNTL(17),IFSDID(17),IWD(2),IWD2(2),IWD3(2),IWD4(2)
453453
!
454454
COMMON /MANE/ P0,TEMP0,NLAYRS,DVXM,H2OSLF,WTOT,ALBAR,ADBAR,AVBAR, &
455455
& AVFIX,LAYRFX,SECNT0,SAMPLE,DVSET,ALFAL0,AVMASS, &
@@ -500,6 +500,10 @@ PROGRAM LBLRTM
500500
COMMON /RCNTRL/ ILNFLG
501501
COMMON /FLFORM/ CFORM
502502
COMMON /IODFLG/ DVOUT
503+
504+
COMMON /CLOSURE/ FRGNX
505+
character*1 FRGNX
506+
503507
COMMON /CNTSCL/ XSELF,XFRGN,XCO2C,XO3CN,XO2CN,XN2CN,XRAYL
504508
common /profil_scal/ nmol_scal,hmol_scal(64),xmol_scal(64), &
505509
& n_xs_scal,h_xs_scal(64),x_xs_scal(64)
@@ -535,10 +539,10 @@ PROGRAM LBLRTM
535539
& (IWD4(1),V1LD)
536540
EQUIVALENCE (CXID,CXIDA(1))
537541
!
538-
DATA IDCNTL / ' HIRAC',' LBLF4',' CNTNM',' AERSL',' EMISS', &
539-
& ' SCNFN',' FILTR',' PLOT',' TEST',' IATM', &
540-
& ' IMRG',' ILAS',' OPDEP',' XSECT','ISOTPL' , &
541-
& ' IBRD'/
542+
DATA IDCNTL / ' HIRAC',' LBLF4',' FRGNX',' CNTNM',' AERSL', &
543+
& ' EMISS',' SCNFN',' FILTR',' PLOT',' TEST', &
544+
& ' IATM',' IMRG',' ILAS',' OPDEP',' XSECT', &
545+
& 'ISOTPL',' IBRD'/
542546
!
543547
DATA CONE / '1'/,CTWO / '2'/,CTHREE / '3'/,CFOUR / '4'/, &
544548
& CA / 'A'/,CB / 'B'/,CC / 'C'/
@@ -667,11 +671,20 @@ PROGRAM LBLRTM
667671
CALL CPUTIM (TIME0)
668672
WRITE (IPR,920) TIME0
669673
!
670-
READ(IRD,925,END=80) IHIRAC,ILBLF4,ICNTNM,IAERSL,IEMIT, &
674+
READ(IRD,924,END=80) IHIRAC,ILBLF4,IFRGNX,ICNTNM,IAERSL,IEMIT, &
671675
& ISCAN,IFILTR,IPLOT,ITEST,IATM,CMRG,ILAS, &
672676
& IOD,IXSECT,IRAD,MPTS,NPTS,ISOTPL,IBRD
673677
!
674-
678+
679+
! Set flag for choosing foreign continuum:
680+
! ----------------------------------------
681+
! IFRGNX Value Continuum type
682+
! 0 no closure
683+
! 1 closure
684+
685+
FRGNX = IFRGNX
686+
687+
675688
ICNTNM_sav = ICNTNM
676689

677690
! Set continuum flags as needed
@@ -818,8 +831,8 @@ PROGRAM LBLRTM
818831
!
819832
JRAD = 1
820833
IF (IRAD.NE.0) JRAD = -1
821-
WRITE (IPR,935) (IDCNTL(I),I=1,16)
822-
WRITE (IPR,940) IHIRAC,ILBLF4,ICNTNM_sav,IAERSL,IEMIT,ISCAN, &
834+
WRITE (IPR,935) (IDCNTL(I),I=1,17)
835+
WRITE (IPR,939) IHIRAC,ILBLF4,FRGNX,ICNTNM_sav,IAERSL,IEMIT,ISCAN, &
823836
& IFILTR,IPLOT,ITEST,IATM,IMRG,ILAS,IOD,IXSECT,ISOTPL,IBRD
824837
!
825838
IF (IHIRAC.EQ.4) THEN
@@ -1159,11 +1172,14 @@ PROGRAM LBLRTM
11591172
910 FORMAT (10A8)
11601173
915 FORMAT ('0',10A8,2X,2(1X,A8,1X))
11611174
920 FORMAT ('0 TIME ENTERING LBLRTM ',F15.4)
1175+
924 FORMAT (2(4X,I1),1X,A1,2X,I1,7(4X,I1),3X,2A1,3(4X,I1),I1,I4,1X, &
1176+
& I4,4X,I1,4x,I1,4x,I1)
11621177
925 FORMAT (10(4X,I1),3X,2A1,3(4X,I1),I1,I4,1X,I4,4X,I1,4x,I1,4x,I1)
11631178
!
11641179
930 FORMAT (I1)
1165-
935 FORMAT (16(A6,3X))
1166-
940 FORMAT (1X,I4,15I9)
1180+
935 FORMAT (17(A6,3X))
1181+
939 FORMAT (1X,I4,I9,8X,A1,14I9)
1182+
940 FORMAT (1X,I4,16I9)
11671183
!
11681184
950 FORMAT ('0 IEMIT=0 IS NOT IMPLEMENTED FOR NLTE ',/, &
11691185
& ' CHANGE IEMIT TO 1 OR IHIRAC TO 1 ')
@@ -6152,6 +6168,9 @@ SUBROUTINE OPDPTH (MPTS)
61526168
COMMON /CONVF/ CHI(251),RDVCHI,RECPI,ZSQBND,A3,B3,JCNVF4
61536169
!
61546170
COMMON /CNTSCL/ XSELF,XFRGN,XCO2C,XO3CN,XO2CN,XN2CN,XRAYL
6171+
6172+
COMMON /CLOSURE/ FRGNX,mt_version
6173+
character*45 mt_version
61556174
!
61566175
EQUIVALENCE (FSCDID(1),IHIRAC) , (FSCDID(2),ILBLF4), &
61576176
& (FSCDID(3),IXSCNT) , (FSCDID(4),IAERSL), &
@@ -6207,6 +6226,7 @@ SUBROUTINE OPDPTH (MPTS)
62076226
10 CONTINUE
62086227
CALL CONTNM (JRAD)
62096228
ENDIF
6229+
WRITE (IPR,917) mt_version
62106230
DVR4 = 0.
62116231
!
62126232
IF (ILBLF4.GE.1) THEN
@@ -6257,7 +6277,8 @@ SUBROUTINE OPDPTH (MPTS)
62576277
910 FORMAT ('0 VLAS ',F20.8,8X,'V1 RESET ',F12.5,8X,'V2 RESET ', &
62586278
& F12.5)
62596279
915 FORMAT ('0',10A8,2X,2(1X,A8,1X),/,'0 TIME ENTERING OPDPTH ', &
6260-
& F15.3)
6280+
& F15.3)
6281+
917 FORMAT ('Using MT_CKD',A38)
62616282
920 FORMAT ('0 IPTS4 FOR LINF4 = ',I5,3X,' DV FOR LINF4 = ',F10.5, &
62626283
& 5X,'BOUND FOR LINF4 =',F10.4)
62636284
925 FORMAT ('0 TIME LEAVING OPDPTH ',F15.3,' TOTAL FOR LAYER ', &

src/mt_ckd_h2o_module.f90

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
! Description of output variables.
4848
! self_absco - computed water vapor self continuum absorption coefficients (cm2/molec)
4949
! for_absco - computed water vapor foreign continuum absorption coefficients (cm2/molec)
50+
! for_closure_absco - same as above, but allows for closure (cm2/molec)
5051

5152
Module mt_ckd_h2o
5253

@@ -65,14 +66,16 @@ Module mt_ckd_h2o
6566

6667
contains
6768
subroutine mt_ckd_h2o_absco(p_atm,t_atm,h2o_vmr,wv1abs,wv2abs,dvabs,self_absco,for_absco, &
68-
radflag)
69+
FRGNX,radflag,mt_version)
6970

7071
! Inputs
7172
real,dimension(:),intent(inout) :: self_absco,for_absco
7273
real, intent(in) :: p_atm,t_atm,h2o_vmr
7374
double precision, intent(in):: wv1abs,wv2abs
7475
real, intent(in):: dvabs
76+
character, intent(in):: FRGNX
7577
logical,optional :: radflag
78+
character(len=*),optional :: mt_version
7679

7780
! Local variables
7881
integer :: ncoeff,nptabs,i1,i2,ist,lst,i
@@ -83,8 +86,9 @@ subroutine mt_ckd_h2o_absco(p_atm,t_atm,h2o_vmr,wv1abs,wv2abs,dvabs,self_absco,f
8386
!real,dimension(:,:), allocatable,save :: coeff
8487

8588
real,dimension(:), allocatable :: sh2o_coeff,fh2o_coeff,rad
86-
integer :: iret
89+
integer :: iret,vlen
8790
logical,save :: lread=.False.
91+
character(len=85) :: version
8892

8993
if (.not. present(radflag)) then
9094
radflag = .TRUE.
@@ -93,7 +97,11 @@ subroutine mt_ckd_h2o_absco(p_atm,t_atm,h2o_vmr,wv1abs,wv2abs,dvabs,self_absco,f
9397
! Read in spectral range and coefficients
9498
if (.not. lread) then
9599
lread = .True.
96-
if (getData(fDataname,dat)) STOP
100+
if (getData(fDataname,FRGNX,dat,version)) STOP
101+
if ( present(mt_version)) then
102+
vlen = len(version)
103+
mt_version=version(4:50)
104+
endif
97105

98106
ncoeffin = size(dat%wavenumber)
99107
if (allocated(wvn)) deallocate(wvn)

0 commit comments

Comments
 (0)