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

Contents of /trunk/Sources/phylmd/Radlwsw/lwbv.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 155 - (show annotations)
Wed Jul 8 17:03:45 2015 UTC (8 years, 10 months ago) by guez
File size: 2871 byte(s)
Do not write any longer to startphy.nc nor read from restartphy.nc the
NetCDF variable ALBLW: it was the same than ALBE. ALBE was for the
visible and ALBLW for the near infrared. In physiq, use only variables
falbe and albsol, removed falblw and albsollw. See revision 888 of
LMDZ.

Removed unused arguments pdp of SUBROUTINE lwbv, ptave of SUBROUTINE
lwv, kuaer of SUBROUTINE lwvd, nq of SUBROUTINE initphysto.

1 module lwbv_m
2
3 IMPLICIT NONE
4
5 contains
6
7 SUBROUTINE lwbv(klim, pdt0, pemis, ppmb, ptl, ptave, pabcu, pfluc, &
8 pbint, pbsui, pcts, pcntrb)
9 USE dimens_m
10 USE dimphy
11 use lwv_m, only: lwv
12 USE suphec_m
13 USE raddim
14 USE raddimlw
15
16 ! PURPOSE.
17 ! --------
18 ! TO COMPUTE THE PLANCK FUNCTION AND PERFORM THE
19 ! VERTICAL INTEGRATION. SPLIT OUT FROM LW FOR MEMORY
20 ! SAVING
21
22 ! METHOD.
23 ! -------
24
25 ! 1. COMPUTES THE PLANCK FUNCTIONS ON THE INTERFACES AND THE
26 ! GRADIENT OF PLANCK FUNCTIONS IN THE LAYERS.
27 ! 2. PERFORMS THE VERTICAL INTEGRATION DISTINGUISHING THE CON-
28 ! TRIBUTIONS OF THE ADJACENT AND DISTANT LAYERS AND THOSE FROM THE
29 ! BOUNDARIES.
30 ! 3. COMPUTES THE CLEAR-SKY COOLING RATES.
31
32 ! REFERENCE.
33 ! ----------
34
35 ! SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND
36 ! ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS
37
38 ! AUTHOR.
39 ! -------
40 ! JEAN-JACQUES MORCRETTE *ECMWF*
41
42 ! MODIFICATIONS.
43 ! --------------
44 ! ORIGINAL : 89-07-14
45 ! MODIFICATION : 93-10-15 M.HAMRUD (SPLIT OUT FROM LW TO SAVE
46 ! MEMORY)
47 ! -----------------------------------------------------------------------
48 ! * ARGUMENTS:
49 INTEGER klim
50
51 DOUBLE PRECISION pdt0(kdlon)
52 DOUBLE PRECISION pemis(kdlon)
53 DOUBLE PRECISION ppmb(kdlon, kflev+1)
54 DOUBLE PRECISION ptl(kdlon, kflev+1)
55 DOUBLE PRECISION ptave(kdlon, kflev)
56
57 DOUBLE PRECISION pfluc(kdlon, 2, kflev+1)
58
59 DOUBLE PRECISION pabcu(kdlon, nua, 3*kflev+1)
60 DOUBLE PRECISION pbint(kdlon, kflev+1)
61 DOUBLE PRECISION pbsui(kdlon)
62 DOUBLE PRECISION pcts(kdlon, kflev)
63 DOUBLE PRECISION pcntrb(kdlon, kflev+1, kflev+1)
64
65 ! -------------------------------------------------------------------------
66
67 ! * LOCAL VARIABLES:
68 DOUBLE PRECISION zb(kdlon, ninter, kflev+1)
69 DOUBLE PRECISION zbsur(kdlon, ninter)
70 DOUBLE PRECISION zbtop(kdlon, ninter)
71 DOUBLE PRECISION zdbsl(kdlon, ninter, kflev*2)
72 DOUBLE PRECISION zga(kdlon, 8, 2, kflev)
73 DOUBLE PRECISION zgb(kdlon, 8, 2, kflev)
74 DOUBLE PRECISION zgasur(kdlon, 8, 2)
75 DOUBLE PRECISION zgbsur(kdlon, 8, 2)
76 DOUBLE PRECISION zgatop(kdlon, 8, 2)
77 DOUBLE PRECISION zgbtop(kdlon, 8, 2)
78
79 INTEGER nuaer, ntraer
80 ! ------------------------------------------------------------------
81 ! * COMPUTES PLANCK FUNCTIONS:
82 CALL lwb(pdt0, ptave, ptl, zb, pbint, pbsui, zbsur, zbtop, zdbsl, zga, zgb, &
83 zgasur, zgbsur, zgatop, zgbtop)
84 ! ------------------------------------------------------------------
85 ! * PERFORMS THE VERTICAL INTEGRATION:
86 nuaer = nua
87 ntraer = ntra
88 CALL lwv(nuaer, ntraer, klim, pabcu, zb, pbint, pbsui, zbsur, zbtop, &
89 zdbsl, pemis, ppmb, zga, zgb, zgasur, zgbsur, zgatop, zgbtop, pcntrb, &
90 pcts, pfluc)
91
92 END SUBROUTINE lwbv
93
94 end module lwbv_m

  ViewVC Help
Powered by ViewVC 1.1.21