/[lmdze]/trunk/phylmd/Radlwsw/lwbv.f
ViewVC logotype

Diff of /trunk/phylmd/Radlwsw/lwbv.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/libf/phylmd/Radlwsw/lwbv.f revision 24 by guez, Wed Mar 3 13:23:49 2010 UTC trunk/Sources/phylmd/Radlwsw/lwbv.f revision 155 by guez, Wed Jul 8 17:03:45 2015 UTC
# Line 1  Line 1 
1        SUBROUTINE LWBV(KLIM,PDP,PDT0,PEMIS,PPMB,PTL,PTAVE,PABCU,  module lwbv_m
2       S                PFLUC,PBINT,PBSUI,PCTS,PCNTRB)  
3        use dimens_m    IMPLICIT NONE
4        use dimphy  
5        use YOMCST  contains
6        use raddim  
7              use raddimlw    SUBROUTINE lwbv(klim, pdt0, pemis, ppmb, ptl, ptave, pabcu, pfluc, &
8        IMPLICIT none         pbint, pbsui, pcts, pcntrb)
9  C      USE dimens_m
10  C     PURPOSE.      USE dimphy
11  C     --------      use lwv_m, only: lwv
12  C           TO COMPUTE THE PLANCK FUNCTION AND PERFORM THE      USE suphec_m
13  C           VERTICAL INTEGRATION. SPLIT OUT FROM LW FOR MEMORY      USE raddim
14  C           SAVING      USE raddimlw
15  C  
16  C     METHOD.      ! PURPOSE.
17  C     -------      ! --------
18  C      ! TO COMPUTE THE PLANCK FUNCTION AND PERFORM THE
19  C          1. COMPUTES THE PLANCK FUNCTIONS ON THE INTERFACES AND THE      ! VERTICAL INTEGRATION. SPLIT OUT FROM LW FOR MEMORY
20  C     GRADIENT OF PLANCK FUNCTIONS IN THE LAYERS.      ! SAVING
21  C          2. PERFORMS THE VERTICAL INTEGRATION DISTINGUISHING THE CON-  
22  C     TRIBUTIONS OF THE ADJACENT AND DISTANT LAYERS AND THOSE FROM THE      ! METHOD.
23  C     BOUNDARIES.      ! -------
24  C          3. COMPUTES THE CLEAR-SKY COOLING RATES.  
25  C      ! 1. COMPUTES THE PLANCK FUNCTIONS ON THE INTERFACES AND THE
26  C     REFERENCE.      ! GRADIENT OF PLANCK FUNCTIONS IN THE LAYERS.
27  C     ----------      ! 2. PERFORMS THE VERTICAL INTEGRATION DISTINGUISHING THE CON-
28  C      ! TRIBUTIONS OF THE ADJACENT AND DISTANT LAYERS AND THOSE FROM THE
29  C        SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND      ! BOUNDARIES.
30  C        ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS      ! 3. COMPUTES THE CLEAR-SKY COOLING RATES.
31  C  
32  C     AUTHOR.      ! REFERENCE.
33  C     -------      ! ----------
34  C        JEAN-JACQUES MORCRETTE  *ECMWF*  
35  C      ! SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND
36  C     MODIFICATIONS.      ! ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS
37  C     --------------  
38  C        ORIGINAL : 89-07-14      ! AUTHOR.
39  C        MODIFICATION : 93-10-15 M.HAMRUD (SPLIT OUT FROM LW TO SAVE      ! -------
40  C                                          MEMORY)      ! JEAN-JACQUES MORCRETTE  *ECMWF*
41  C-----------------------------------------------------------------------  
42  C* ARGUMENTS:      ! MODIFICATIONS.
43        INTEGER KLIM      ! --------------
44  C      ! ORIGINAL : 89-07-14
45        REAL*8 PDP(KDLON,KFLEV)      ! MODIFICATION : 93-10-15 M.HAMRUD (SPLIT OUT FROM LW TO SAVE
46        REAL*8 PDT0(KDLON)      ! MEMORY)
47        REAL*8 PEMIS(KDLON)      ! -----------------------------------------------------------------------
48        REAL*8 PPMB(KDLON,KFLEV+1)      ! * ARGUMENTS:
49        REAL*8 PTL(KDLON,KFLEV+1)      INTEGER klim
50        REAL*8 PTAVE(KDLON,KFLEV)  
51  C      DOUBLE PRECISION pdt0(kdlon)
52        REAL*8 PFLUC(KDLON,2,KFLEV+1)      DOUBLE PRECISION pemis(kdlon)
53  C          DOUBLE PRECISION ppmb(kdlon, kflev+1)
54        REAL*8 PABCU(KDLON,NUA,3*KFLEV+1)      DOUBLE PRECISION ptl(kdlon, kflev+1)
55        REAL*8 PBINT(KDLON,KFLEV+1)      DOUBLE PRECISION ptave(kdlon, kflev)
56        REAL*8 PBSUI(KDLON)  
57        REAL*8 PCTS(KDLON,KFLEV)      DOUBLE PRECISION pfluc(kdlon, 2, kflev+1)
58        REAL*8 PCNTRB(KDLON,KFLEV+1,KFLEV+1)  
59  C      DOUBLE PRECISION pabcu(kdlon, nua, 3*kflev+1)
60  C-------------------------------------------------------------------------      DOUBLE PRECISION pbint(kdlon, kflev+1)
61  C      DOUBLE PRECISION pbsui(kdlon)
62  C* LOCAL VARIABLES:      DOUBLE PRECISION pcts(kdlon, kflev)
63        REAL*8 ZB(KDLON,Ninter,KFLEV+1)      DOUBLE PRECISION pcntrb(kdlon, kflev+1, kflev+1)
64        REAL*8 ZBSUR(KDLON,Ninter)  
65        REAL*8 ZBTOP(KDLON,Ninter)      ! -------------------------------------------------------------------------
66        REAL*8 ZDBSL(KDLON,Ninter,KFLEV*2)  
67        REAL*8 ZGA(KDLON,8,2,KFLEV)      ! * LOCAL VARIABLES:
68        REAL*8 ZGB(KDLON,8,2,KFLEV)      DOUBLE PRECISION zb(kdlon, ninter, kflev+1)
69        REAL*8 ZGASUR(KDLON,8,2)      DOUBLE PRECISION zbsur(kdlon, ninter)
70        REAL*8 ZGBSUR(KDLON,8,2)      DOUBLE PRECISION zbtop(kdlon, ninter)
71        REAL*8 ZGATOP(KDLON,8,2)      DOUBLE PRECISION zdbsl(kdlon, ninter, kflev*2)
72        REAL*8 ZGBTOP(KDLON,8,2)      DOUBLE PRECISION zga(kdlon, 8, 2, kflev)
73  C      DOUBLE PRECISION zgb(kdlon, 8, 2, kflev)
74        INTEGER nuaer, ntraer      DOUBLE PRECISION zgasur(kdlon, 8, 2)
75  C     ------------------------------------------------------------------      DOUBLE PRECISION zgbsur(kdlon, 8, 2)
76  C* COMPUTES PLANCK FUNCTIONS:      DOUBLE PRECISION zgatop(kdlon, 8, 2)
77         CALL LWB(PDT0,PTAVE,PTL,      DOUBLE PRECISION zgbtop(kdlon, 8, 2)
78       S          ZB,PBINT,PBSUI,ZBSUR,ZBTOP,ZDBSL,  
79       S          ZGA,ZGB,ZGASUR,ZGBSUR,ZGATOP,ZGBTOP)      INTEGER nuaer, ntraer
80  C     ------------------------------------------------------------------      ! ------------------------------------------------------------------
81  C* PERFORMS THE VERTICAL INTEGRATION:      ! * COMPUTES PLANCK FUNCTIONS:
82        NUAER = NUA      CALL lwb(pdt0, ptave, ptl, zb, pbint, pbsui, zbsur, zbtop, zdbsl, zga, zgb, &
83        NTRAER = NTRA           zgasur, zgbsur, zgatop, zgbtop)
84        CALL LWV(NUAER,NTRAER, KLIM      ! ------------------------------------------------------------------
85       R  , PABCU,ZB,PBINT,PBSUI,ZBSUR,ZBTOP,ZDBSL,PEMIS,PPMB,PTAVE      ! * PERFORMS THE VERTICAL INTEGRATION:
86       R  , ZGA,ZGB,ZGASUR,ZGBSUR,ZGATOP,ZGBTOP      nuaer = nua
87       S  , PCNTRB,PCTS,PFLUC)      ntraer = ntra
88  C     ------------------------------------------------------------------      CALL lwv(nuaer, ntraer, klim, pabcu, zb, pbint, pbsui, zbsur, zbtop, &
89        RETURN           zdbsl, pemis, ppmb, zga, zgb, zgasur, zgbsur, zgatop, zgbtop, pcntrb, &
90        END           pcts, pfluc)
91    
92      END SUBROUTINE lwbv
93    
94    end module lwbv_m

Legend:
Removed from v.24  
changed lines
  Added in v.155

  ViewVC Help
Powered by ViewVC 1.1.21