!**********************************************************************
      Block Data phys_consts
!
      COMMON /CONSTS/ PI,PLANCK,BOLTZ,CLIGHT,AVOGAD,ALOSMT,GASCON,&
                      RADCN1,RADCN2,GRAV,CPDAIR,AIRMWT,SECDY
!
      DATA PI /3.1415926535898 /
!
!    Constants from NIST 01/11/2002
!
      DATA PLANCK / 6.62606876E-27 /, BOLTZ  / 1.3806503E-16 /,&
           CLIGHT / 2.99792458E+10 /,&
           AVOGAD / 6.02214199E+23 /, ALOSMT / 2.6867775E+19 /,&
           GASCON / 8.314472E+07 /&
           RADCN1 / 1.191042722E-12 /, RADCN2 / 1.4387752    /
!
!     Pi was obtained from   PI = 2.*ASIN(1.)                             A03980
!
!     units are generally cgs
!
!     The first and second radiation constants are taken from NIST.
!     They were previously obtained from the relations:
!                            RADCN1 = 2.*PLANCK*CLIGHT*CLIGHT*1.E-07      A03990
!                            RADCN2 = PLANCK*CLIGHT/BOLTZ                 A04000
      end
!
      BLOCK DATA                                                          
!
      COMMON /LAMCHN/ ONEPL,ONEMI,EXPMIN,ARGMIN                           
!
      DATA ONEPL/1.001/, ONEMI/0.999/, ARGMIN/34./
!                                                                         A07710

      END                                                                 
      BLOCK DATA cntnm
!
      IMPLICIT REAL*8           (V)                                     
!
      COMMON /FILHDR/ XID(10),SECANT,PAVE,TAVE,HMOLID(60),XALTZ(4),&
                      WK(60),PZL,PZU,TZL,TZU,WBROAD,DV ,V1 ,V2 ,TBOUND,&
                      EMISIV,FSCDID(17),NMOL,LAYER ,YI1,YID(10),LSTWDF    
!
      Common /share/ HOLN2
!                                                                         F00100
      CHARACTER*8      XID,       HMOLID,      YID
      REAL*8               SECANT,       XALTZ
!
      character*8 holn2
!
      DATA HMOlid/ '  H2O   ' , '  CO2   ' , '   O3   ' , '  N2O   ' ,&
                   '   CO   ' , '  CH4   ' , '   O2   ' , 53*'        '/
!
      DATA HOLN2 / ' OTHER'/                                              
!
      end
      SUBROUTINE XINT (V1A,V2A,DVA,A,AFACT,VFT,DVR3,R3,N1R3,N2R3)         
!                                                                         B17530
!                                                                         B17870
      IMPLICIT REAL*8           (V)                                     
!                                                                         B17550
!     THIS SUBROUTINE INTERPOLATES THE A ARRAY STORED                     B17560
!     FROM V1A TO V2A IN INCREMENTS OF DVA USING A MULTIPLICATIVE         B17570
!     FACTOR AFACT, INTO THE R3 ARRAY FROM LOCATION N1R3 TO N2R3 IN       B17580
!     INCREMENTS OF DVR3                                                  B17590
!                                                                         B17600
      COMMON /LAMCHN/ ONEPL,ONEMI,EXPMIN,ARGMIN                           
      DIMENSION A(*),R3(*)                                                
!                                                                         B17630
      RECDVA = 1./DVA                                                     
      ILO = (V1A+DVA-VFT)/DVR3+1.+ONEMI                                   
      ILO = MAX(ILO,N1R3)                                                 
      IHI = (V2A-DVA-VFT)/DVR3+ONEMI                                      
      IHI = MIN(IHI,N2R3)                                                 
!                                                                         B17690
      DO 10 I = ILO, IHI                                                  
         VI = VFT+DVR3*FLOAT(I-1)                                         
         J = (VI-V1A)*RECDVA+ONEPL                                        
         VJ = V1A+DVA*FLOAT(J-1)                                          
         P = RECDVA*(VI-VJ)                                               
         C = (3.-2.*P)*P*P                                                
         B = 0.5*P*(1.-P)                                                 
         B1 = B*(1.-P)                                                    
         B2 = B*P                                                         
         CONTI = -A(J-1)*B1+A(J)*(1.-C+B2)+A(J+1)*(C+B1)-A(J+2)*B2        
         R3(I) = R3(I)+CONTI*AFACT                                        
   10 CONTINUE                                                            
!                                                                         B17820
      RETURN                                                              
!                                                                         B17840
      END                                                                 
      FUNCTION RADFN (VI,XKT)                                             
!                                                                         B17870
      IMPLICIT REAL*8           (V)                                     
!                                                                         B17890
!     FUNCTION RADFN CALCULATES THE RADIATION TERM FOR THE LINE SHAPE     B17900
!                                                                         B17910
!CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   B17920
!                                                                         B17930
!               LAST MODIFICATION:    12 AUGUST 1991                      B17940
!                                                                         B17950
!                  IMPLEMENTATION:    R.D. WORSHAM                        B17960
!                                                                         B17970
!             ALGORITHM REVISIONS:    S.A. CLOUGH                         B17980
!                                     R.D. WORSHAM                        B17990
!                                     J.L. MONCET                         B18000
!                                                                         B18010
!                                                                         B18020
!                     ATMOSPHERIC AND ENVIRONMENTAL RESEARCH INC.         B18030
!                     840 MEMORIAL DRIVE,  CAMBRIDGE, MA   02139          B18040
!                                                                         B18050
!----------------------------------------------------------------------   B18060
!                                                                         B18070
!               WORK SUPPORTED BY:    THE ARM PROGRAM                     B18080
!                                     OFFICE OF ENERGY RESEARCH           B18090
!                                     DEPARTMENT OF ENERGY                B18100
!                                                                         B18110
!                                                                         B18120
!      SOURCE OF ORIGINAL ROUTINE:    AFGL LINE-BY-LINE MODEL             B18130
!                                                                         B18140
!                                             FASCOD3                     B18150
!                                                                         B18160
!                                                                         B18170
!CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   B18180
!                                                                         B18190
      COMMON /LAMCHN/ ONEPL,ONEMI,EXPMIN,ARGMIN                           
!                                                                         B18210
!      IN THE SMALL XVIOKT REGION 0.5 IS REQUIRED                         B18220
!                                                                         B18230
      XVI = VI                                                            
!                                                                         B18250
      IF (XKT.GT.0.0) THEN                                                
!                                                                         B18270
         XVIOKT = XVI/XKT                                                 
!                                                                         B18290
         IF (XVIOKT.LE.0.01) THEN                                         
            RADFN = 0.5*XVIOKT*XVI                                        
!                                                                         B18320
         ELSEIF (XVIOKT.LE.10.0) THEN                                     
            EXPVKT = EXP(-XVIOKT)                                         
            RADFN = XVI*(1.-EXPVKT)/(1.+EXPVKT)                           
!                                                                         B18360
         ELSE                                                             
            RADFN = XVI                                                   
         ENDIF                                                            
!                                                                         B18400
      ELSE                                                                
         RADFN = XVI                                                      
      ENDIF                                                               
!                                                                         B18440
      RETURN                                                              
!                                                                         B18460
      END                                                                 
!*******
!*******
!*******
      Include 'contnm.f90'
