source: trunk/LMDZ.MARS/libf/phymars/swr_fouquart.F @ 292

Last change on this file since 292 was 38, checked in by emillour, 14 years ago

Ajout du modè Martien (mon LMDZ.MARS.BETA, du 28/01/2011) dans le rértoire mars, pour pouvoir suivre plus facilement les modifs.
EM

File size: 16.4 KB
Line 
1      SUBROUTINE SWR_FOUQUART ( KDLON, KFLEV, KNU
2     S     ,  aerosol,QVISsQREF3d,omegaVIS3d,gVIS3d
3     &     ,  albedo,PDSIG,PPSOL,PRMU,PSEC
4     S     ,  PFD,PFU )
5
6      IMPLICIT NONE
7C     
8#include "dimensions.h"
9#include "dimphys.h"
10#include "dimradmars.h"
11#include "callkeys.h"
12
13#include "yomaer.h"
14#include "yomlw.h"
15
16C     
17C   SWR - Continuum scattering computations
18C     
19C     PURPOSE.
20C     --------
21C     Computes the reflectivity and transmissivity in case oF
22C     Continuum scattering
23c     F. Forget (1999)
24c
25c      BASED ON MORCRETTE EARTH MODEL
26C     (See radiation's part of the ecmwf research department
27C     documentation, and Fouquart and BonneL (1980)
28C     
29C     IMPLICIT ARGUMENTS :
30C     --------------------
31C     
32C     ==== INPUTS ===
33c
34c    KDLON :  number of horizontal grid points
35c    KFLEV :  number of vertical layers
36c    KNU   :   Solar band # (1 or 2)
37c   aerosol               aerosol extinction optical depth
38c                         at reference wavelength "longrefvis" set
39c                         in dimradmars.h , in each layer, for one of
40c                         the "naerkind" kind of aerosol optical properties.
41c    albedo   hemispheric surface albedo
42c                         albedo (i,1) : mean albedo for solar band#1
43c                                        (see below)
44c                         albedo (i,2) : mean albedo for solar band#2
45c                                        (see below)
46c    PDSIG      layer thickness in sigma coordinates
47c    PPSOL       Surface pressure (Pa)
48c    PRMU:  cos of solar zenith angle (=1 when sun at zenith)
49c           (CORRECTED for high zenith angle (atmosphere), unlike mu0)
50c    PSEC   =1./PRMU
51
52C     ==== OUTPUTS ===
53c
54c    PFD : downward flux in spectral band #INU in a given mesh
55c         (normalized to the total incident flux at the top of the atmosphere)
56c    PFU : upward flux in specatral band #INU in a given mesh
57c         (normalized to the total incident flux at the top of the atmosphere)
58C
59C     
60C     METHOD.
61C     -------
62C     
63C     Computes continuum fluxes corresponding to aerosoL
64C     Or/and rayleigh scattering (no molecular gas absorption)
65C     
66C-----------------------------------------------------------------------
67C     
68C     
69C-----------------------------------------------------------------------
70C     
71     
72C     ARGUMENTS
73C     ---------
74      INTEGER KDLON, KFLEV, KNU
75      REAL aerosol(NDLO2,KFLEV,naerkind), albedo(NDLO2,2),
76     S     PDSIG(NDLO2,KFLEV),PSEC(NDLO2)
77
78      REAL QVISsQREF3d(NDLO2,KFLEV,nsun,naerkind)
79      REAL omegaVIS3d(NDLO2,KFLEV,nsun,naerkind)
80      REAL gVIS3d(NDLO2,KFLEV,nsun,naerkind)
81
82      REAL PPSOL(NDLO2)
83      REAL PFD(NDLO2,KFLEV+1),PFU(NDLO2,KFLEV+1)
84      REAL PRMU(NDLO2)
85
86C     LOCAL ARRAYS
87C     ------------
88 
89      INTEGER jk,ja,jl,jae, jkl,jklp1,jkm1,jaj
90      REAL ZTRAY, ZRATIO,ZGAR, ZFF
91      real zfacoa,zcorae
92      real ZMUE, zgap,zbmu0, zww,zto,zden,zmu1,zbmu1,zden1,zre11
93
94      REAL ZC1I(NDLON,NFLEV+1), ZGG(NDLON), ZREF(NDLON)
95     S ,  ZRE1(NDLON), ZRE2(NDLON)
96     S ,  ZRMUZ(NDLON), ZRNEB(NDLON), ZR21(NDLON)
97     S ,  ZR23(NDLON),  ZSS1(NDLON), ZTO1(NDLON), ZTR(NDLON,2,NFLEV+1)
98     S ,  ZTR1(NDLON), ZTR2(NDLON), ZW(NDLON)
99
100      REAL ZRAY1(NDLO2,NFLEV+1), ZRAY2(NDLO2,NFLEV+1)
101     s   ,  ZREFZ(NDLO2,2,NFLEV+1)
102     S   ,  ZRMUE(NDLO2,NFLEV+1)
103     S   ,  ZCGAZ(NDLO2,NFLEV),ZPIZAZ(NDLO2,NFLEV),ZTAUAZ(NDLO2,NFLEV)
104
105      REAL  ZRAYL(NDLON)
106     S     ,   ZRJ(NDLON,6,NFLEV+1)
107     S     ,  ZRK(NDLON,6,NFLEV+1)
108     S     ,  ZTRA1(NDLON,NFLEV+1), ZTRA2(NDLON,NFLEV+1)
109
110c     Function
111c     --------
112      real CVMGT
113
114C    --------------------------------
115C     OPTICAL PARAMETERS FOR AEROSOLS
116C     -------------------------------
117C     
118      DO  JK = 1 , nlaylte+1
119         DO  JA = 1 , 6
120            DO JL = 1 , KDLON
121               ZRJ(JL,JA,JK) = 0.
122               ZRK(JL,JA,JK) = 0.
123            END DO
124         END DO
125      END DO
126
127c Computing TOTAL single scattering parameters by adding
128c  properties of all the NAERKIND kind of aerosols
129
130      DO JK = 1 , nlaylte
131         DO  JL = 1 , KDLON
132            ZCGAZ(JL,JK) = 0.
133            ZPIZAZ(JL,JK) =  0.
134            ZTAUAZ(JL,JK) = 0.
135         END DO
136         DO 106 JAE=1,naerkind
137            DO 105 JL = 1 , KDLON
138c              Mean Extinction optical depth in the spectral band
139c              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
140               ZTAUAZ(JL,JK)=ZTAUAZ(JL,JK)
141     S              +aerosol(JL,JK,JAE)*QVISsQREF3d(JL,JK,KNU,JAE)
142c              Single scattering albedo
143c              ~~~~~~~~~~~~~~~~~~~~~~~~
144               ZPIZAZ(JL,JK)=ZPIZAZ(JL,JK)+aerosol(JL,JK,JAE)*
145     S           QVISsQREF3d(JL,JK,KNU,JAE)*
146     &           omegaVIS3d(JL,JK,KNU,JAE)
147c              Assymetry factor
148c              ~~~~~~~~~~~~~~~~
149               ZCGAZ(JL,JK) =  ZCGAZ(JL,JK) +aerosol(JL,JK,JAE)*
150     S           QVISsQREF3d(JL,JK,KNU,JAE)*
151     &           omegaVIS3d(JL,JK,KNU,JAE)*gVIS3d(JL,JK,KNU,JAE)
152 105        CONTINUE
153 106     CONTINUE
154      END DO
155C     
156      DO JK = 1 , nlaylte
157         DO JL = 1 , KDLON
158            ZCGAZ(JL,JK) = CVMGT( 0., ZCGAZ(JL,JK) / ZPIZAZ(JL,JK),
159     S            (ZPIZAZ(JL,JK).EQ.0) )
160            ZPIZAZ(JL,JK) = CVMGT( 1., ZPIZAZ(JL,JK) / ZTAUAZ(JL,JK),
161     S           (ZTAUAZ(JL,JK).EQ.0) )
162         END DO
163      END DO
164
165C     --------------------------------
166C     INCLUDING RAYLEIGH SCATERRING
167C     -------------------------------
168      if (rayleigh) then
169
170        call swrayleigh(kdlon,knu,ppsol,prmu,ZRAYL)
171
172c       Modifying mean aerosol parameters to account rayleigh scat by gas:
173
174        DO JK = 1 , nlaylte
175           DO JL = 1 , KDLON
176c             Rayleigh opacity in each layer :
177              ZTRAY = ZRAYL(JL) * PDSIG(JL,JK)
178c             ratio Tau(rayleigh) / Tau (total)
179              ZRATIO = ZTRAY / (ZTRAY + ZTAUAZ(JL,JK))
180              ZGAR = ZCGAZ(JL,JK)
181              ZFF = ZGAR * ZGAR
182                ZTAUAZ(JL,JK)=ZTRAY+ZTAUAZ(JL,JK)*(1.-ZPIZAZ(JL,JK)*ZFF)
183              ZCGAZ(JL,JK) = ZGAR * (1. - ZRATIO) / (1. + ZGAR)
184              ZPIZAZ(JL,JK) =ZRATIO+(1.-ZRATIO)*ZPIZAZ(JL,JK)*(1.-ZFF)
185     S           / (1. -ZPIZAZ(JL,JK) * ZFF)
186           END DO
187        END DO
188      end if
189
190     
191C     ----------------------------------------------
192C     TOTAL EFFECTIVE CLOUDINESS ABOVE A GIVEN LEVEL
193C     ----------------------------------------------
194C     
195 200  CONTINUE
196     
197      DO JL = 1 , KDLON
198         ZR23(JL) = 0.
199         ZC1I(JL,nlaylte+1) = 0.
200      END DO
201     
202      DO JK = 1 , nlaylte
203         JKL = nlaylte+1 - JK
204         JKLP1 = JKL + 1
205         DO JL = 1 , KDLON
206            ZFACOA = 1.-ZPIZAZ(JL,JKL)*ZCGAZ(JL,JKL)*ZCGAZ(JL,JKL)
207            ZCORAE = ZFACOA * ZTAUAZ(JL,JKL) * PSEC(JL)
208            ZR21(JL) = EXP(-ZCORAE   )
209            ZSS1(JL) =  1.0-ZR21(JL)
210            ZC1I(JL,JKL) = 1.0-(1.0-ZSS1(JL))*(1.0-ZC1I(JL,JKLP1))
211         END DO
212      END DO
213
214C     -----------------------------------------------
215C     REFLECTIVITY/TRANSMISSIVITY FOR PURE SCATTERING
216C     -----------------------------------------------
217C     
218      DO JL = 1 , KDLON
219         ZRAY1(JL,nlaylte+1) = 0.
220         ZRAY2(JL,nlaylte+1) = 0.
221         ZREFZ(JL,2,1) = albedo(JL,KNU)
222         ZREFZ(JL,1,1) = albedo(JL,KNU)
223         ZTRA1(JL,nlaylte+1) = 1.
224         ZTRA2(JL,nlaylte+1) = 1.
225      END DO
226
227      DO JK = 2 , nlaylte+1
228         JKM1 = JK-1
229         DO 342 JL = 1 , KDLON
230            ZRNEB(JL)= 1.e-5   ! used to be "cloudiness" (PCLDSW in Morcrette)
231
232            ZRE1(JL)=0.
233            ZTR1(JL)=0.
234            ZRE2(JL)=0.
235            ZTR2(JL)=0.
236     
237C           EQUIVALENT ZENITH ANGLE
238c           ~~~~~~~~~~~~~~~~~~~~~~~
239            ZMUE = (1.-ZC1I(JL,JK)) * PSEC(JL)
240     S           + ZC1I(JL,JK) * 1.66
241            ZRMUE(JL,JK) = 1./ZMUE
242
243C     ------------------------------------------------------------------
244C          REFLECT./TRANSMISSIVITY DUE TO AEROSOLS (and rayleigh ?)
245C     ------------------------------------------------------------------
246
247            ZGAP = ZCGAZ(JL,JKM1)
248            ZBMU0 = 0.5 - 0.75 * ZGAP / ZMUE
249            ZWW =ZPIZAZ(JL,JKM1)
250            ZTO = ZTAUAZ(JL,JKM1)
251            ZDEN = 1. + (1. - ZWW + ZBMU0 * ZWW) * ZTO * ZMUE
252     S           + (1-ZWW) * (1. - ZWW +2.*ZBMU0*ZWW)*ZTO*ZTO*ZMUE*ZMUE
253            ZRAY1(JL,JKM1) = ZBMU0 * ZWW * ZTO * ZMUE / ZDEN
254            ZTRA1(JL,JKM1) = 1. / ZDEN
255C     
256            ZMU1 = 0.5
257            ZBMU1 = 0.5 - 0.75 * ZGAP * ZMU1
258            ZDEN1= 1. + (1. - ZWW + ZBMU1 * ZWW) * ZTO / ZMU1
259     S         + (1-ZWW) * (1. - ZWW +2.*ZBMU1*ZWW)*ZTO*ZTO/ZMU1/ZMU1
260            ZRAY2(JL,JKM1) = ZBMU1 * ZWW * ZTO / ZMU1 / ZDEN1
261            ZTRA2(JL,JKM1) = 1. / ZDEN1
262
263            ZGG(JL) =  ZCGAZ(JL,JKM1)
264            ZW(JL) =ZPIZAZ(JL,JKM1)
265            ZREF(JL) = ZREFZ(JL,1,JKM1)
266            ZRMUZ(JL) = ZRMUE(JL,JK)
267            ZTO1(JL) =  ZTAUAZ(JL,JKM1)/ZPIZAZ(JL,JKM1)
268
269 342     CONTINUE
270
271C     
272         CALL DEDD ( KDLON
273     S        , ZGG,ZREF,ZRMUZ,ZTO1,ZW
274     S        , ZRE1,ZRE2,ZTR1,ZTR2     )
275C     
276         DO JL = 1 , KDLON
277C     
278            ZREFZ(JL,1,JK) = (1.-ZRNEB(JL)) * (ZRAY1(JL,JKM1)
279     S           + ZREFZ(JL,1,JKM1) * ZTRA1(JL,JKM1)
280     S           * ZTRA2(JL,JKM1)
281     S           / (1.-ZRAY2(JL,JKM1)*ZREFZ(JL,1,JKM1)))
282     S           + ZRNEB(JL) * ZRE2(JL)
283C     
284            ZTR(JL,1,JKM1) = ZRNEB(JL) * ZTR2(JL) + (ZTRA1(JL,JKM1)
285     S           / (1.-ZRAY2(JL,JKM1)*ZREFZ(JL,1,JKM1)))
286     S           * (1.-ZRNEB(JL))
287C     
288            ZREFZ(JL,2,JK) = (1.-ZRNEB(JL)) * (ZRAY1(JL,JKM1)
289     S           + ZREFZ(JL,2,JKM1) * ZTRA1(JL,JKM1)
290     S           * ZTRA2(JL,JKM1) )
291     S           + ZRNEB(JL) * ZRE1(JL)
292C     
293            ZTR(JL,2,JKM1) = ZRNEB(JL) * ZTR1(JL)
294     S           + ZTRA1(JL,JKM1) * (1.-ZRNEB(JL))
295C     
296         END DO
297      END DO
298C     
299C     
300C     ------------------------------------------------------------------
301C     
302C     *         3.5    REFLECT./TRANSMISSIVITY BETWEEN SURFACE AND LEVEL
303C     -------------------------------------------------
304C     
305 350  CONTINUE
306C     
307      IF (KNU.EQ.1) THEN
308         JAJ = 2
309         DO 351 JL = 1 , KDLON
310            ZRJ(JL,JAJ,nlaylte+1) = 1.
311            ZRK(JL,JAJ,nlaylte+1) = ZREFZ(JL, 1,nlaylte+1)
312 351     CONTINUE
313C     
314         DO 353 JK = 1 , nlaylte
315            JKL = nlaylte+1 - JK
316            JKLP1 = JKL + 1
317            DO 352 JL = 1 , KDLON
318               ZRE11= ZRJ(JL,JAJ,JKLP1) * ZTR(JL,  1,JKL)
319               ZRJ(JL,JAJ,JKL) = ZRE11
320               ZRK(JL,JAJ,JKL) = ZRE11 * ZREFZ(JL,  1,JKL)
321 352        CONTINUE
322 353     CONTINUE
323 354     CONTINUE
324C     
325      ELSE
326C     
327         DO 358 JAJ = 1 , 2
328            DO 355 JL = 1 , KDLON
329               ZRJ(JL,JAJ,nlaylte+1) = 1.
330               ZRK(JL,JAJ,nlaylte+1) = ZREFZ(JL,JAJ,nlaylte+1)
331 355        CONTINUE
332C     
333            DO 357 JK = 1 , nlaylte
334               JKL = nlaylte+1 - JK
335               JKLP1 = JKL + 1
336               DO 356 JL = 1 , KDLON
337                  ZRE11= ZRJ(JL,JAJ,JKLP1) * ZTR(JL,JAJ,JKL)
338                  ZRJ(JL,JAJ,JKL) = ZRE11
339                  ZRK(JL,JAJ,JKL) = ZRE11 * ZREFZ(JL,JAJ,JKL)
340 356           CONTINUE
341 357        CONTINUE
342 358     CONTINUE
343      END IF
344
345C     
346C     
347C     
348C     ------------------------------------------------------------------
349C     ---------------
350C     DOWNWARD FLUXES
351C     ---------------
352C   
353      JAJ = 2
354
355      do JK = 1 , nlaylte+1
356        JKL = nlaylte+1 - JK + 1
357        DO  JL = 1 , KDLON
358            PFD(JL,JKL) =   ZRJ(JL,JAJ,JKL) * sunfr(KNU)
359        end do
360      end do
361C   
362C  -------------
363C  UPWARD FLUXES
364C  -------------
365      DO JK = 1 , nlaylte+1
366         DO  JL = 1 , KDLON
367c           ZRK = upward flux / incident top flux
368            PFU(JL,JK) =    ZRK(JL,JAJ,JK) * sunfr(KNU)
369         END DO
370      END DO
371
372C     
373      RETURN
374      END
375
376CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
377
378      SUBROUTINE DEDD (KDLON,PGG,PREF,PRMUZ,PTO1,PW
379     S                ,      PRE1,PRE2,PTR1,PTR2         )
380      implicit none
381C
382#include "dimensions.h"
383#include "dimphys.h"
384#include "dimradmars.h"
385C
386C**** *DEDD* - DELTA-EDDINGTON IN A CLOUDY LAYER
387C
388C     PURPOSE.
389C     --------
390C           COMPUTES THE REFLECTIVITY AND TRANSMISSIVITY OF A CLOUDY
391C     LAYER USING THE DELTA-EDDINGTON'S APPROXIMATION.
392C
393C**   INTERFACE.
394C     ----------
395C          *DEDD* IS CALLED BY *SW*.
396C
397C     SUBROUTINE DEDD (KDLON,PGG,PREF,PRMUZ,PTO1,PW
398C    S                ,      PRE1,PRE2,PTR1,PTR2         )
399C
400C        EXPLICIT ARGUMENTS :
401C        --------------------
402C PGG    : (NDLON)             ; ASSYMETRY FACTOR
403C PREF   : (NDLON)             ; REFLECTIVITY OF THE UNDERLYING LAYER
404C PRMUZ  : (NDLON)             ; COSINE OF SOLAR ZENITH ANGLE
405C PTO1   : (NDLON)             ; OPTICAL THICKNESS
406C PW     : (NDLON)             ; SINGLE SCATTERING ALBEDO
407C     ==== OUTPUTS ===
408C PRE1   : (NDLON)             ; LAYER REFLECTIVITY ASSUMING NO
409C                              ; REFLECTION FROM UNDERLYING LAYER
410C PTR1   : (NDLON)             ; LAYER TRANSMISSIVITY ASSUMING NO
411C                              ; REFLECTION FROM UNDERLYING LAYER
412C PRE2   : (NDLON)             ; LAYER REFLECTIVITY ASSUMING
413C                              ; REFLECTION FROM UNDERLYING LAYER
414C PTR2   : (NDLON)             ; LAYER TRANSMISSIVITY ASSUMING
415C                              ; REFLECTION FROM UNDERLYING LAYER
416C
417C        IMPLICIT ARGUMENTS :   NONE
418C        --------------------
419C
420C     METHOD.
421C     -------
422C
423C          STANDARD DELTA-EDDINGTON LAYER CALCULATIONS.
424C
425C     EXTERNALS.
426C     ----------
427C
428C          NONE
429C
430C     REFERENCE.
431C     ----------
432C
433C        SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND
434C        ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE "IN CORE MODEL"
435C
436C     AUTHOR.
437C     -------
438C        JEAN-JACQUES MORCRETTE  *ECMWF*
439C
440C     MODIFICATIONS.
441C     --------------
442C        ORIGINAL : 88-12-15
443C     ------------------------------------------------------------------
444C
445C*       0.1   ARGUMENTS
446C              ---------
447      INTEGER KDLON
448C
449      REAL PGG(NDLO2),PREF(NDLO2),PRMUZ(NDLO2),PTO1(NDLO2),PW(NDLO2)
450      REAL PRE1(NDLO2),PRE2(NDLO2),PTR1(NDLO2),PTR2(NDLO2)
451
452c   local
453      integer jl
454      real*8 ZFF,ZGP,ZTOP,ZWCP,ZDT,ZX1,ZWM,ZRM2,ZRK,ZX2,ZRP,ZALPHA
455      real*8 ZBETA,ZEXMU0,ZEXKP,ZEXKM,ZXP2P,ZXM2P,ZAP2B,ZAM2B
456      real*8 ZA11,ZA12,ZA13,ZA22,ZA21,ZA23,ZDENA,ZC1A,ZC2A
457      real*8 ZRI0A,ZRI1A,ZRI0B,ZRI1B
458      real*8 ZB21,ZB22,ZB23,ZDENB,ZC1B,ZC2B
459      real*8 ZRI0C,ZRI1C,ZRI0D,ZRI1D
460C
461C     ------------------------------------------------------------------
462C
463C*         1.      DELTA-EDDINGTON CALCULATIONS
464C
465 100  CONTINUE
466C
467      DO 131 JL   =   1 , KDLON
468C
469C*         1.1     SET UP THE DELTA-MODIFIED PARAMETERS
470C
471 110  CONTINUE
472C
473      ZFF = PGG(JL)*PGG(JL)
474      ZGP = PGG(JL)/(1.+PGG(JL))
475      ZTOP = (1.- PW(JL) * ZFF) * PTO1(JL)
476      ZWCP = (1-ZFF)* PW(JL) /(1.- PW(JL) * ZFF)
477      ZDT = 2./3.
478      ZX1 = 1.-ZWCP*ZGP
479      ZWM = 1.-ZWCP
480      ZRM2 =  PRMUZ(JL) * PRMUZ(JL)
481      ZRK = SQRT(3.*ZWM*ZX1)
482      ZX2 = 4.*(1.-ZRK*ZRK*ZRM2)
483      ZRP = SQRT(3.*ZWM/ZX1)
484      ZALPHA = 3.*ZWCP*ZRM2*(1.+ZGP*ZWM)/ZX2
485      ZBETA = 3.*ZWCP* PRMUZ(JL) *(1.+3.*ZGP*ZRM2*ZWM)/ZX2
486      ZEXMU0 = EXP(-ZTOP/ PRMUZ(JL) )
487      ZEXKP = EXP(ZRK*ZTOP)
488      ZEXKM = 1./ZEXKP
489      ZXP2P = 1.+ZDT*ZRP
490      ZXM2P = 1.-ZDT*ZRP
491      ZAP2B = ZALPHA+ZDT*ZBETA
492      ZAM2B = ZALPHA-ZDT*ZBETA
493C
494C*         1.2     WITHOUT REFLECTION FROM THE UNDERLYING LAYER
495C
496 120  CONTINUE
497C
498      ZA11 = ZXP2P
499      ZA12 = ZXM2P
500      ZA13 = ZAP2B
501      ZA22 = ZXP2P*ZEXKP
502      ZA21 = ZXM2P*ZEXKM
503      ZA23 = ZAM2B*ZEXMU0
504      ZDENA = ZA11 * ZA22 - ZA21 * ZA12
505      ZC1A = (ZA22*ZA13-ZA12*ZA23)/ZDENA
506      ZC2A = (ZA11*ZA23-ZA21*ZA13)/ZDENA
507      ZRI0A = ZC1A+ZC2A-ZALPHA
508      ZRI1A = ZRP*(ZC1A-ZC2A)-ZBETA
509      PRE1(JL) = (ZRI0A-ZDT*ZRI1A)/ PRMUZ(JL)
510      ZRI0B = ZC1A*ZEXKM+ZC2A*ZEXKP-ZALPHA*ZEXMU0
511      ZRI1B = ZRP*(ZC1A*ZEXKM-ZC2A*ZEXKP)-ZBETA*ZEXMU0
512      PTR1(JL) = ZEXMU0+(ZRI0B+ZDT*ZRI1B)/ PRMUZ(JL)
513C
514C*         1.3     WITH REFLECTION FROM THE UNDERLYING LAYER
515C
516 130  CONTINUE
517C
518      ZB21 = ZA21- PREF(JL) *ZXP2P*ZEXKM
519      ZB22 = ZA22- PREF(JL) *ZXM2P*ZEXKP
520      ZB23 = ZA23- PREF(JL) *ZEXMU0*(ZAP2B - PRMUZ(JL) )
521      ZDENB = ZA11 * ZB22 - ZB21 * ZA12
522      ZC1B = (ZB22*ZA13-ZA12*ZB23)/ZDENB
523      ZC2B = (ZA11*ZB23-ZB21*ZA13)/ZDENB
524      ZRI0C = ZC1B+ZC2B-ZALPHA
525      ZRI1C = ZRP*(ZC1B-ZC2B)-ZBETA
526      PRE2(JL) = (ZRI0C-ZDT*ZRI1C) / PRMUZ(JL)
527      ZRI0D = ZC1B*ZEXKM + ZC2B*ZEXKP - ZALPHA*ZEXMU0
528      ZRI1D = ZRP * (ZC1B*ZEXKM - ZC2B*ZEXKP) - ZBETA*ZEXMU0
529      PTR2(JL) = ZEXMU0 + (ZRI0D + ZDT*ZRI1D) / PRMUZ(JL)
530C
531 131  CONTINUE
532      RETURN
533      END
534
Note: See TracBrowser for help on using the repository browser.