      subroutine co2int (nlev,ir,npurp,nkkk,ntap,ratio)
C       CO2INT INTERPOLATES CARBON DIOXIDE TRANSMISSION FUNCTIONS
C  FROM THE 109 LEVEL GRID,FOR WHICH THE TRANSMISSION FUNCTIONS
C  HAVE BEEN PRE-CALCULATED, TO THE GRID STRUCTURE SPECIFIED BY THE
C  USER.
C
C        METHOD:
C
C      CO2INT IS EMPLOYABLE FOR TWO PURPOSES: 1) TO OBTAIN TRANSMIS-
C  SIVITIES BETWEEN ANY 2 OF AN ARRAY OF USER-DEFINED PRESSURES; AND
C  2) TO OBTAIN LAYER-MEAN TRANSMISSIVITIES BETWEEN ANY 2 OF AN ARRAY
C  OF USER-DEFINED PRESSURE LAYERS.TO CLARIFY THESE TWO PURPOSES,SEE
C  THE DIAGRAM AND DISCUSSION BELOW.
C      CO2INT MAY BE USED TO EXECUTE ONLY ONE PURPOSE AT ONE TIME.
C
C     LET P BE AN ARRAY OF USER-DEFINED PRESSURES
C     AND PD BE USER-DEFINED PRESSURE LAYERS.
C
C       - - - - - - - - -   PD(I-1) ---
C                                     !
C       -----------------   P(I)      !  PRESSURE LAYER I  (PLM(I))
C                                     !
C       - - - - - - - - -   PD(I)  ---
C                                     !
C       -----------------   P(I+1)    !  PRESSURE LAYER I+1 (PLM(I+1))
C                                     !
C       - - - - - - - - -   PD(I+1)---
C            ...                          (THE NOTATION USED IS
C            ...                          CONSISTENT WITH THE CODE)
C            ...
C      - - - - - - - - -    PD(J-1)
C
C      -----------------    P(J)
C
C      - - - - - - - - -    PD(J)
C
C      PURPOSE 1:   THE TRANSMISSIVITY BETWEEN SPECIFIC PRESSURES
C      P(I) AND P(J) ,TAU(P(I),P(J))  IS COMPUTED BY THIS PROGRAM.
C      IN THIS MODE,THERE IS NO REFERENCE TO LAYER PRESSURES PD
C      (PD,PLM ARE NOT INPUTTED).
C
C      PURPOSE 2:   THE LAYER-MEAN TRANSMISSIVITY BETWEEN A LAYER-
C      MEAN PRESSURE PLM(J) AND PRESSURE LAYER I IS GIVEN BY
C         TAULM(PLM(I),PLM(J)). IT IS COMPUTED BY THE INTEGRAL
C
C                           PD(I)
C                           ----
C             1             !
C        -------------  *   !   TAU ( P',PLM(J) )  DP'
C        PD(I)-PD(I-1)      !
C                        ----
C                        PD(I-1)
C
C           THE LAYER-MEAN PRESSURE PLM(I) IS SPECIFIED BY THE USER.
C        FOR MANY PURPOSES,PLM WILL BE CHOSEN TO BE THE AVERAGE
C        PRESSURE IN THE LAYER-IE,PLM(I)=0.5*(PD(I-1)+PD(I)).
C           FOR LAYER-MEAN TRANSMISSIVITIES,THE USER THUS INPUTS
C        A PRESSURE ARRAY (PD) DEFINING THE PRESSURE LAYERS AND AN
C        ARRAY (PLM) DEFINING THE LAYER-MEAN PRESSURES.THE CALCULATION
C        DOES NOT DEPEND ON THE P ARRAY USED FOR PURPOSE 1 (P IS NOT
C        INPUTTED).
C
C            THE FOLLOWING PARAGRAPHS DEPICT THE UTILIZATION OF THIS
C       CODE WHEN USED TO COMPUTE TRANSMISSIVITIES BETWEEN SPECIFIC
C       PRESSURES. LATER PARAGRAPHS DESCRIBE ADDITIONAL FEATURES NEEDED
C       FOR LAYER-MEAN TRANSMISSIVITIES.
C
C          FOR A GIVEN CO2 MIXING RATIO AND STANDARD TEMPERATURE
C      PROFILE,A TABLE OF TRANSMISSION FUNCTIONS FOR A FIXED GRID
C     OF ATMOSPHERIC PRESSURES HAS BEEN PRE-CALCULATED.
C      THE STANDARD TEMPERATURE PROFILE IS COMPUTED FROM THE US
C     STANDARD ATMOSPHERE (1977) TABLE.ADDITIONALLY, THE
C     SAME TRANSMISSION FUNCTIONS HAVE BEEN PRE-CALCULATED FOR A
C     TEMPERATURE PROFILE INCREASED AND DECREASED (AT ALL LEVELS)
C     BY 25 DEGREES.
C         THIS PROGRAM READS IN THE PRESPECIFIED TRANSMISSION FUNCTIONS
C     AND A USER-SUPPLIED PRESSURE GRID (P(I)) AND CALCULATES TRANS-
C     MISSION FUNCTIONS ,TAU(P(I),P(J)), FOR ALL P(I)'S AND P(J)'S.
C     A LOGARITHMIC INTERPOLATION SCHEME IS USED.
C         THIS METHOD IS REPEATED FOR THE THREE TEMPERATURE PROFILES
C     GIVEN ABOVE .THEREFORE OUTPUTS FROM THE PROGRAM ARE THREE TABLES
C     OF TRANSMISSION FUNCTIONS FOR THE USER-SUPPLIED PRESSURE GRID.
C     THE EXISTENCE OF THE THREE TABLES PERMITS SUBSEQUENT INTERPO-
C     LATION TO A USER-SUPPLIED TEMPERATURE PROFILE USING THE METHOD
C     DESCRIBED IN THE REFERENCE.SEE LIMITATIONS SECTION IF THE
C     USER DESIRES TO OBTAIN ONLY 1 TABLE OF TRANSMISSIVITIES.
C
C     MODIFICATIONS FOR LAYER-MEAN TRANSMISSIVITIES:
C          THE PRESSURES INPUTTED ARE THE LAYER-MEAN PRESSURES,PD,
C     AND THE LAYER-MEAN PRESSURES ,PLM. A SERIES OF TRANSMISSIVITIES
C     (TAU(P',PLM(J)) ARE COMPUTED AND THE INTEGRAL GIVEN IN THE
C     DISCUSSION OF PURPOSE 2 IS COMPUTED.FOR PLM(I) NOT EQUAL TO
C     PLM(J) SIMPSON'S RULE IS USED WITH 5 POINTS. IF PLM(I)=PLM(J)
C     (THE "NEARBY LAYER" CASE) A 49-POINT QUADRATURE IS USED FOR
C     GREATER ACCURACY.THE OUTPUT IS IN TAULM(PLM(I),PLM(J)).
C        NOTE:
C     TAULM IS NOT A SYMMETRICAL MATRIX. FOR THE ARRAY ELEMENT
C     TAULM(PLM(I),PLM(J)),THE INNER(FIRST,MOST RAPIDLY VARYING)
C     DIMENSION IS THE VARYING LAYER-MEAN PRESSURE,PLM(I);THE OUTER
C     (SECOND) DIMENSION IS THE FIXED LAYER-MEAN PRESSURE PLM(J).
C     THUS THE ELEMENT TAULM(2,3) IS THE TRANSMISSION FUNCTION BETWEEN
C     THE FIXED PRESSURE PLM(3)  AND THE PRESSURE LAYER HAVING AN AVERAGE
C     PRESSURE OF PLM(2).
C         ALSO NOTE THAT NO QUADRATURE IS PERFORMED OVER THE LAYER
C     BETWEEN THE SMALLEST NONZERO PRESSURE AND ZERO PRESSURE;
C     TAULM IS TAULM(0,PLM(J)) IN THIS CASE,AND TAULM(0,0)=1.
C
C
C             REFERENCE:
C         S.B.FELS AND M.D.SCHWARZKOPF,"AN EFFICIENT,ACCURATE
C     ALGORITHM FOR CALCULATING CO2 15 UM BAND COOLING RATES",JOURNAL
C     OF GEOPHYSICAL RESEARCH,VOL.86,NO. C2, PP.1205-1232,1981.
C        MODIFICATIONS TO THE ALGORITHM HAVE BEEN MADE BY THE AUTHORS;
C     CONTACT S.B.F.OR M.D.S. FOR FURTHER DETAILS.A NOTE TO J.G.R.
C     IS PLANNED TO DOCUMENT THESE CHANGES.
C
C            AUTHOR:    M.DANIEL SCHWARZKOPF
C
C            DATE:      14 JULY 1983
C
C            ADDRESS:
C
C                      G.F.D.L.
C                      P.O.BOX 308
C                      PRINCETON,N.J.08540
C                      U.S.A.
C            TELEPHONE:  (609) 452-6521
C
C            INFORMATION ON TAPE: THIS SOURCE IS THE FIRST FILE
C        ON THIS TAPE.THE SIX FILES THAT FOLLOW ARE CO2 TRANS-
C        MISSIVITIES FOR THE 500-850 CM-1 INTERVAL FOR CO2
C        CONCENTRATIONS OF 330 PPMV (1X) ,660 PPMV (2X), AND
C        1320 PPMV (4X). THE FILES ARE ARRANGED AS FOLLOWS:
C          FILE 2   1X,CONSOLIDATED USING B(250) WEIGHTING FCTN.
C          FILE 3   1X,CONSOLIDATED WITH NO WEIGHTING FCTN.
C          FILE 4   2X,CONSOLIDATED USING B(250) WEIGHTING FCTN.
C          FILE 5   2X,CONSOLIDATED WITH NO WEIGHTING FCTN.
C          FILE 6   4X,CONSOLIDATED USING B(250) WEIGHTING FCTN.
C          FILE 7   4X,CONSOLIDATED WITH NO WEIGHTING FCTN.
C            FILES 2,4,6 ARE RECOMMENDED FOR USE IN OBTAINING
C        TRANSMISSION FUNCTIONS FOR USE IN HEATING RATE
C        COMPUTATIONS;THEY CORRESPOND TO THE TRANSMISSIVITIES
C        DISCUSSED IN THE 1980 PAPER.FILES 3,5,7 ARE PROVIDED
C        TO FACILITATE COMPARISON WITH OBSERVATION AND WITH OTHER
C        CALCULATIONS.
C
C            PROGRAM LANGUAGE: FORTRAN 1977,INCLUDING PARAMETER
C        AND PROGRAM STATEMENTS.THE PROGRAM IS WRITTEN ON A
C        CYBER 170-730.SEE THE SECTION ON LIMITATIONS FOR
C        ADAPTATIONS TO OTHER MACHINES.
C
C          INPUT UNITS,FORMATS AND FORMAT STATEMENT NOS:
C
C   UNIT NO    VARIABLES       FORMAT      STATEMENT NO.    TYPE
C      5        P (PURPOSE 1)  (5E16.9)        201         CARDS
C      5        PD (PURPOSE 2) (5E16.9)        201         CARDS
C      5        PLM(PURPOSE 2) (5E16.9)        201         CARDS
C      5        NMETHD         (I3)            202         CARDS
C      20       TRANSA         (4F20.14)       102          TAPE
C
C         OUTPUT UNITS,FORMATS AND FORMAT STATEMENT NOS:
C
C   UNIT NO    VARIABLES       FORMAT     STATEMENT NO.
C      6         TRNFCT        (1X,8F15.8)     301         PRINT
C      22        TRNFCT        (4F20.14)       102          TAPE
C
C            PARAMETER INPUTS:
C     A) NLEVLS    : NLEVLS IS AN (INTEGER) PARAMETER DENOTING
C        THE NUMBER OF NONZERO PRESSURE LEVELS FOR PURPOSE 1
C        OR THE NUMBER OF NONZERO LAYER PRESSURES NEEDED TO
C        SPECIFY THE PRESSURE LAYERS(PURPOSE 2) IN THE OUTPUT
C        GRID. FOR EXAMPLE,IN PURPOSE 1,IF P=0,100,1000,NLEVLS=2.
C        IF,IN PURPOSE 2,PD=0,100,500,1000,THE NUMBER OF NONZERO
C        PRESSURE LAYERS=2,SO NLEVLS=2
C           IN THE CODE AS WRITTEN,NLEVLS=40; THE USER SHOULD
C        CHANGE THIS VALUE TO A USER-SPECIFIED VALUE.
C     B) NLP1,NLP2 : INTEGER PARAMETERS DEFINED AS: NLP1=NLEVLS+1;
C        NLP2=NLEVLS+2.
C           SEE LIMITATIONS FOR CODE MODIFICATIONS IF PARAMETER
C        STATEMENTS ARE NOT ALLOWED ON YOUR MACHINE.
C
C            INPUTS:
C
C     A) TRANSA    : THE 109X109 GRID OF TRANSMISSION FUNCTIONS
C            TRANSA IS A  DOUBLE PRECISION REAL ARRAY.
C
C           TRANSA  IS READ FROM FILE 20. THIS FILE CONTAINS 3
C     RECORDS,AS FOLLOWS:
C        1)   TRANSA, STANDARD TEMPERATURE PROFILE
C        3)   TRANSA, STANDARD TEMPERATURES + 25 DEG
C        5)   TRANSA, STANDARD TEMPERATURES - 25 DEG
C
C     B)   NMETHD: AN INTEGER WHOSE VALUE IS EITHER 1 (IF CO2INT IS
C       TO BE USED FOR PURPOSE 1) OR 2 (IF CO2INT IS TO BE USED FOR
C       PURPOSE 2).
C
C     C)     P,PD,PLM :
C          P IS A REAL ARRAY (LENGTH NLP1) SPECIFYING THE PRESSURE
C       GRID AT WHICH TRANSMISSION FUNCTIONS ARE TO BE COMPUTED FOR
C       PURPOSE 1.THE DIMENSION  OF P IS  IN MILLIBARS.THE
C       FOLLOWING LIMITATIONS WILL BE EXPLAINED MORE
C       IN THE SECTION ON LIMITATIONS: P(1) MUST BE ZERO; P(NLP1),THE
C       LARGEST PRESSURE, MUST NOT EXCEED 1165 MILLIBARS.
C         PD IS A REAL ARRAY (LENGTH NLP2) SPECIFYING THE PRESSURE
C       LAYERS FOR WHICH LAYER-AVERAGED TRANSMISSION FUNCTIONS ARE
C       TO BE COMPUTED.THE DIMENSION OF PD IS MILLIBARS.THE LIMITATIONS
C       FOR PD ARE THE SAME AS FOR P,AND ARE GIVEN IN THE SECTION ON
C       LIMITATIONS.
C         PLM IS A REAL ARRAY (LENGTH NLP2) SPECIFYING THE LAYER-MEAN
C       PRESSURES. THE DIMENSION OF PLM IS MILLIBARS. THE LIMITATIONS
C       FOR PLM ARE THE SAME AS FOR P,AND ARE GIVEN IN THE SECTION ON
C       LIMITATIONS.PD IS READ IN BEFORE PLM.
C
C          NOTE: AGAIN,WE NOTE THAT THE USER WILL INPUT EITHER P (FOR
C       PURPOSE 1) OR PD AND PLM(FOR PURPOSE 2) BUT NOT BOTH.
C
C
C
C
C           LIMITATIONS:
C     1)       P(1)=0.,PD(1)=0.,PLM(1)=0. THE TOP PRESSURE LEVEL
C       MUST BE ZERO,OR THE TOP PRESSURE LAYER MUST BE BOUNDED BY ZERO.
C       THE TOP LAYER-MEAN PRESSURE (PLM(1)) MUST BE ZERO; NO
C       QUADRATURE IS DONE ON THE TOP PRESSURE LAYER.EVEN IF ONE IS
C       NOT INTERESTED IN THE TRANSMISSION FUNCTION BETWEEN 0 AND P(J),
C       ONE MUST INCLUDE SUCH A LEVEL.
C     2)      PD(NLP2)=P(NLP1) IS LESS THAN OR EQUAL TO 1165 MB.
C       EXTRAPOLATION TO HIGHER PRESSURES IS NOT POSSIBLE.
C     3)      IF PROGRAM IS NOT PERMITTED ON YOUR COMPILER,
C       SIMPLY DELETE THE LINE.
C     4)      IF PARAMETER IS NOT PERMITTED,DO THE FOLLOWING:
C            1) DELETE ALL PARAMETER STATEMENTS IN CO2INT
C            2) AT THE POINT WHERE NMETHOD IS READ IN,ADD:
C                READ (5,202) NLEVLS
C                NLP1=NLEVLS+1
C                NLP2=NLEVLS+2
C            3) CHANGE DIMENSION AND/OR COMMON STATEMENTS DEFINING
C              ARRAYS TRNS,DELTA,P,PD,TRNFCT,PS,PDS,PLM IN CO2INT.
C              THE NUMERICAL VALUE OF (NLEVLS+1) SHOULD BE INSERTED
C              IN DIMENSION OR COMMON STATEMENTS FOR TRNS,DELTA,
C              P,TRNFCT,PS,PLM; THE NUMERICAL VALUE OF (NLEVLS+2)
C              IN DIMENSION OR COMMON STATEMENTS FOR PD,PDS.
C      5)    PARAMETER (NLEVLS=40) AND THE OTHER PARAMETER
C       STATEMENTS ARE WRITTEN IN CDC FORTRAN; ON OTHER MACHINES THE
C       SAME STATEMENT MAY BE WRITTEN DIFFERENTLY,FOR EXAMPLE AS
C       PARAMETER   NLEVLS=40
C      6) "DOUBLE PRECISION" IS USED INSTEAD OF "REAL*8" ,DUE TO
C       REQUIREMENTS OF CDC FORTAN.
C      7) THE STATEMENT "DO 400 KKK=1,3" CONTROLS THE NUMBER OF
C       TRANSMISSIVITY OUTPUT MATRICES PORDUCED BY THE PROGRAM.TO
C       PRODUCE 1 OUTPUT MATRIX,DELETE THIS STATEMENT.
C
C     OUTPUT:
C         A) TRNFCT IS AN (NLP1,NLP1) REAL ARRAY OF THE TRANSMISSION
C     FUNCTIONS APPROPRIATE TO YOUR ARRAY. IT IS TO BE SAVED ON FILE 22.
C     THE PROCEDURE FOR SAVING MAY BE MODIFIED; AS GIVEN HERE,THE
C     OUTPUT IS IN CARD IMAGE FORM WITH A FORMAT OF (4F20.14).
C
C         B)  PRINTED  OUTPUT IS A LISTING OF TRNFCT ON UNIT 6, IN
C     THE FORMAT (1X,8F15.8) (FORMAT STATEMENT 301). THE USER MAY
C     MODIFY OR ELIMINATE THIS AT WILL.
C
C      ************   FUNCTION INTERPOLATER ROUTINE  *****************
C
C
      implicit real(selected_real_kind(15)) (a-h,o-z)
      COMMON/INPUT/P1,P2,TRNSLO,IA,JA,N
      COMMON/PRESS/PA(109)
      COMMON/TRAN/ TRANSA(109,109)
      COMMON / OUTPUT / TRNS(200,200)
      dimension p(200),pd(200)
      dimension pdm2(200),plmm2(200),pd8m2(200),plm8m2(200)
      dimension pm1(200),p8m1(200)
      nlevls=nlev
      nlp1=nlevls+1
      nlp2=nlevls+2
C***********************************
C   THE FOLLOWING ARE THE INPUT FORMATS
100   FORMAT (4F20.14)
201   FORMAT (5E16.9)
C    THE FOLLOWING ARE THE OUTPUT FORMATS
102   FORMAT (4F20.14)
301   FORMAT (1X,8F15.8)
C
C
C     CALCULATION OF PA -THE "TABLE" OF 109 GRID PRESSURES
C     NOTE-THIS CODE MUST NOT BE CHANGED BY THE USER!!!!!!!!!
      PA(1)=0.
      FACT15=10.d0**(1.d0/15.d0)
      FACT30=10.d0**(1.d0/30.d0)
      PA(2)=1.0d-3
      DO 231 I=2,76
      PA(I+1)=PA(I)*FACT15
231   CONTINUE
      DO 232 I=77,108
      PA(I+1)=PA(I)*FACT30
232   CONTINUE
C
      if (npurp.eq.1) then
        read (41,201) (pdm2(i),i=1,nlp2)
        read (41,201) (plmm2(i),i=1,nlp1)
        read (42,201) (pm1(i),i=1,nlp1)
        read (43,201) (pd8m2(i),i=1,nlp2)
        read (43,201) (plm8m2(i),i=1,nlp1)
        read (44,201) (p8m1(i),i=1,nlp1)
        ncalcs=4
      endif
      if (npurp.eq.2) then
        read (42,201) (pm1(i),i=1,nlp1)
        read (44,201) (p8m1(i),i=1,nlp1)
        ncalcs=2
      endif
      if (npurp.eq.3) then
        read (41,201) (pdm2(i),i=1,nlp2)
        read (41,201) (plmm2(i),i=1,nlp1)
        read (43,201) (pd8m2(i),i=1,nlp2)
        read (43,201) (plm8m2(i),i=1,nlp1)
        ncalcs=2
      endif

c***do loop on no. of temp profiles for each output calc (controlled
c   by nkkk,a function of freq. range)
      do 410 kkk=1,nkkk
c
c***read input lbl transmission fctn tapes (the no. depends on the
c   co2 amount and is controlled by ntap, a function of ratio)
c
      if (ntap.eq.1) then
         read (20,100) ((transa(i,j),i=1,109),j=1,109)
      else
         itap1=20
         if (ratio.gt.0.5.and.ratio.lt.1.0) then
             ratsm=0.5
             ratstd=1.0
         endif
         if (ratio.gt.1.0.and.ratio.lt.2.0) then
             ratsm=1.0
             ratstd=2.0
         endif
         if (ratio.gt.2.0.and.ratio.lt.4.0) then
             ratsm=2.0
             ratstd=4.0
         endif
!        Old code for when I didn't have the 165 data.
!	 if ( ratio.lt.1.0 ) then
!c           In this case the normal interpolation won't work. Instead
!c           do an extrapolation from the lower value.  mrd 9/12/92
!            CALL RCTRNS1(ITAP1,RATSTD,RATSM,RATIO,IR)
!	 else
!            CALL RCTRNS(ITAP1,RATSTD,RATSM,RATIO,IR)
!	 end if
         CALL RCTRNS(ITAP1,RATSTD,RATSM,RATIO,IR)
      endif
c
c***define interpolation coefficients in coeint
c
      DO 4 I=1,109
      TRANSA(I,I)=1.0
    4 CONTINUE
      CALL COEINT(RATIO,IR)
c
c***do loop on number of output calculations (controlled by ncalcs,
c   a function of calculation purpose)
      do 400 kk=1,ncalcs
c---initialize transmission fctn array
      DO 805 I=1,NLP1
      DO 805 J=1,NLP1
      TRNS(J,I)=1.00
805   CONTINUE
c***define output units to save co2 interp fctns
      iout=21+kk
c
c***define pressure arrays pd,p according to the calc. no. kk and
c   npurp.define nmeth (interp method to be used)
      if (kk.eq.1) then
        if (npurp.eq.1.or.npurp.eq.3) then
           do 431 i=1,nlp1
           pd(i)=pdm2(i+1)
           p(i)=plmm2(i)
431        continue
           nmeth=2
        else
          do 432 i=1,nlp1
          p(i)=pm1(i)
432       continue
          nmeth=1
        endif
      endif
      if (kk.eq.2) then
        if (npurp.eq.1) then
          do 441 i=1,nlp1
          p(i)=pm1(i)
441       continue
          nmeth=1
        endif
        if (npurp.eq.2) then
          do 442 i=1,nlp1
          p(i)=p8m1(i)
442       continue
          nmeth=1
        endif
        if (npurp.eq.3) then
          do 443 i=1,nlp1
          pd(i)=pd8m2(i+1)
          p(i)=plm8m2(i)
443       continue
          nmeth=2
        endif
      endif
      if (kk.eq.3) then
        do 451 i=1,nlp1
        pd(i)=pd8m2(i+1)
        p(i)=plm8m2(i)
451     continue
        nmeth=2
      endif
      if (kk.eq.4) then
        do 461 i=1,nlp1
        p(i)=p8m1(i)
461     continue
        nmeth=1
      endif
c
      if (nmeth.eq.1) then
        DO 10 I=1,NLP1
        DO 20 J=1,I
        IF (I.EQ.J) GO TO 20
        P1=P(J)
        P2=P(I)
        CALL SINTR2
        TRNS(J,I)=TRNSLO
20      CONTINUE
10      CONTINUE
        DO 47 I=1,NLP1
        DO 47 J=I,NLP1
        TRNS(J,I)=TRNS(I,J)
47      CONTINUE
      else
c   perform method 1(point) calculations for (1,i) array elements. this
c   element will be used for cts calculations and is unneeded for other
c   aspects of radiation calcs, since we assume isothermal conditions
c   above the top pressure level.
        trns(1,1)=1.0d0
        DO 53 J=2,nlp1
        p1=0.
        P2=P(J)
        CALL SINTR2
        TRNS(1,J)=TRNSLO
53      CONTINUE
        DO 51 J=1,NLP1
        DO 52 I=2,NLP1
        IA=I
        JA=J
        N=25
        IF (I.NE.J) N=3
        call quadsr(nlevls,nlp1,nlp2,p,pd)
52      CONTINUE
51      CONTINUE
      endif
C
c     WRITE (10,301) ((TRNS(I,J),I=1,NLP1),J=1,NLP1)
      WRITE (iout,102) ((TRNS(I,J),I=1,NLP1),J=1,NLP1)
c
400   continue
410   continue
      return
      END