source: LMDZ5/branches/testing/libf/phymar/olwv.F90 @ 5445

Last change on this file since 5445 was 2160, checked in by Laurent Fairhead, 10 years ago

Merged trunk changes -r2070:2158 into testing branch. Compilation problems introduced by revision r2155 have been corrected by hand

File size: 5.0 KB
Line 
1SUBROUTINE OLWV ( KIDIA,KFDIA,KLON,KLEV &
2     &  , KUAER,KTRAER &
3     &  , PABCU,PB,PBINT,PBSUIN,PBSUR,PBTOP,PDBSL,PEMIS &
4     &  , PGA,PGB,PGASUR,PGBSUR,PGATOP,PGBTOP &
5     &  , PCNTRB,PCOLC,PFLUC                 )
6!
7!**** *LWV*   - LONGWAVE RADIATION, VERTICAL INTEGRATION
8!
9!     PURPOSE.
10!     --------
11!           CARRIES OUT THE VERTICAL INTEGRATION TO GIVE LONGWAVE
12!           FLUXES OR RADIANCES
13!
14!**   INTERFACE.
15!     ----------
16!
17!        EXPLICIT ARGUMENTS :
18!        --------------------
19!     ==== INPUTS ===
20! PABCU : (KLON,NUA,3*KLEV+1); ABSORBER AMOUNTS
21! PB     : (KLON,NISP,KLEV+1); SPECTRAL HALF-LEVEL PLANCK FUNCTIONS
22! PBINT  : (KLON,KLEV+1)     ; HALF-LEVEL PLANCK FUNCTIONS
23! PBSUIN : (KLON)            ; SURFACE PLANCK FUNCTION
24! PBSUR  : (KLON,NISP)       ; SURFACE SPECTRAL PLANCK FUNCTION
25! PBTOP  : (KLON,NISP)       ; T.O.A. SPECTRAL PLANCK FUNCTION
26! PDBSL  : (KLON,KLEV*2)     ; SUB-LAYER PLANCK FUNCTION GRADIENT
27! PEMIS  : (KLON)            ; SURFACE EMISSIVITY
28! PGA, PGB                   ; PADE APPROXIMANTS
29! PGASUR, PGBSUR             ; SURFACE PADE APPROXIMANTS
30! PGATOP, PGBTOP             ; T.O.A. PADE APPROXIMANTS
31!     ==== OUTPUTS ===
32! PCNTRB : (KLON,KLEV+1,KLEV+1); CLEAR-SKY ENERGY EXCHANGE MATRIX
33! PFLUC(KLON,2,KLEV)         ; RADIATIVE FLUXES CLEAR-SKY:
34!                     1  ==>  UPWARD   FLUX TOTAL
35! PCOLC(KLON,KLEV)           ; LONG-WAVE TENDENCY CLEAR SKY
36!
37!        IMPLICIT ARGUMENTS :   NONE
38!        --------------------
39!
40!     METHOD.
41!     -------
42!
43!          1. PERFORMS THE VERTICAL INTEGRATION DISTINGUISHING BETWEEN
44!     CONTRIBUTIONS BY -  THE NEARBY LAYERS
45!                      -  THE DISTANT LAYERS
46!                      -  THE BOUNDARY TERMS
47!          2. COMPUTES THE CLEAR-SKY DOWNWARD AND UPWARD EMISSIVITIES.
48!
49!     EXTERNALS.
50!     ----------
51!
52!          *LWVN*, *LWVD*, *LWVB*
53!
54!     REFERENCE.
55!     ----------
56!
57!        SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND
58!        ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS
59!
60!     AUTHOR.
61!     -------
62!        JEAN-JACQUES MORCRETTE  *ECMWF*
63!
64!     MODIFICATIONS.
65!     --------------
66!        ORIGINAL : 89-07-14
67!-----------------------------------------------------------------------
68
69#include "tsmbkind.h"
70
71USE YOEOLW   , ONLY : NISP     ,NIPD     ,NUA
72
73
74IMPLICIT NONE
75
76
77!     DUMMY INTEGER SCALARS
78INTEGER_M :: KFDIA
79INTEGER_M :: KIDIA
80INTEGER_M :: KLEV
81INTEGER_M :: KLON
82INTEGER_M :: KTRAER
83INTEGER_M :: KUAER
84
85!-----------------------------------------------------------------------
86!
87!*       0.1   ARGUMENTS
88!              ---------
89!
90!
91REAL_B :: PABCU(KLON,NUA,3*KLEV+1), PB(KLON,NISP,KLEV+1) &
92     &  ,  PBINT(KLON,KLEV+1) &
93     &  ,  PBSUR(KLON,NISP), PBSUIN(KLON), PBTOP(KLON,NISP) &
94     &  ,  PDBSL(KLON,NISP,KLEV*2), PEMIS(KLON) &
95     &  ,  PGA(KLON,8,2,KLEV), PGB(KLON,8,2,KLEV) &
96     &  ,  PGASUR(KLON,8,2)  , PGBSUR(KLON,8,2) &
97     &  ,  PGATOP(KLON,8,2)  , PGBTOP(KLON,8,2)
98!
99REAL_B :: PCNTRB(KLON,KLEV+1,KLEV+1), PCOLC(KLON,KLEV) &
100     &  ,  PFLUC(KLON,2,KLEV+1)
101!
102!-----------------------------------------------------------------------
103!
104!*       0.2   LOCAL ARRAYS
105!              ------------
106!
107INTEGER_M :: ITX(KLON)
108!
109REAL_B :: ZADJD(KLON,KLEV+1), ZADJU(KLON,KLEV+1) &
110     &  ,  ZDBDT(KLON,NISP,KLEV) &
111     &  ,  ZDISD(KLON,KLEV+1), ZDISU(KLON,KLEV+1) &
112     &  ,  ZFD(KLON), ZFDN(KLON,KLEV+1), ZFU(KLON) &
113     &  ,  ZFUP(KLON,KLEV+1),ZGLAYD(KLON),ZGLAYU(KLON)
114     
115REAL_B :: ZDFNET     
116!
117!     LOCAL INTEGER SCALARS
118INTEGER_M :: JA, JK, JL, JKL
119
120!-----------------------------------------------------------------------
121!
122!*         1.    INITIALIZATION
123!                --------------
124!
125!*         1.1     INITIALIZE LAYER CONTRIBUTIONS
126!                  ------------------------------
127!
128DO JK=1,KLEV+1
129  DO JL=KIDIA,KFDIA
130    ZADJD(JL,JK)=0.
131    ZADJU(JL,JK)=0.
132    ZDISD(JL,JK)=0.
133    ZDISU(JL,JK)=0.
134  END DO
135END DO
136!
137!     ------------------------------------------------------------------
138!
139!*         2.      VERTICAL INTEGRATION
140!                  --------------------
141!
142!     ------------------------------------------------------------------
143!
144!*         2.1     CONTRIBUTION FROM ADJACENT LAYERS
145!                  ---------------------------------
146!
147CALL OLWVN ( KIDIA,KFDIA,KLON,KLEV,KUAER &
148     &  , PABCU,PDBSL,PGA,PGB &
149     &  , ZADJD,ZADJU,PCNTRB,ZDBDT )
150!
151!     ------------------------------------------------------------------
152!
153!*         2.2     CONTRIBUTION FROM DISTANT LAYERS
154!                  ---------------------------------
155!
156CALL OLWVD ( KIDIA,KFDIA,KLON,KLEV,KTRAER &
157     &  , PABCU,ZDBDT,PGA,PGB &
158     &  , PCNTRB,ZDISD,ZDISU )
159!
160!     ------------------------------------------------------------------
161!
162!*         2.3     EXCHANGE WITH THE BOUNDARIES
163!                  ----------------------------
164!
165CALL OLWVB ( KIDIA,KFDIA,KLON,KLEV,KUAER &
166     &  , PABCU,ZADJD,ZADJU,PB,PBINT,PBSUIN,PBSUR,PBTOP &
167     &  , ZDISD,ZDISU,PEMIS &
168     &  , PGA,PGB,PGASUR,PGBSUR,PGATOP,PGBTOP &
169     &  , PFLUC                     )
170!
171!
172!     ------------------------------------------------------------------
173RETURN
174END SUBROUTINE OLWV
Note: See TracBrowser for help on using the repository browser.