10 |
|
|
11 |
use lwbv_m, only: lwbv |
use lwbv_m, only: lwbv |
12 |
use LWU_m, only: LWU |
use LWU_m, only: LWU |
|
USE suphec_m, ONLY: md, rcpd, rday, rg, rmo3 |
|
13 |
USE raddim, ONLY: kdlon, kflev |
USE raddim, ONLY: kdlon, kflev |
14 |
USE raddimlw, ONLY: nua |
USE raddimlw, ONLY: nua |
15 |
|
USE suphec_m, ONLY: md, rcpd, rday, rg, rmo3 |
16 |
|
|
17 |
! Method. |
! Method. |
18 |
|
|
19 |
! 1. Computes the pressure and temperature weighted amounts of |
! 1. Computes the pressure and temperature weighted amounts of |
20 |
! absorbers. |
! absorbers. |
21 |
|
|
22 |
! 2. Computes the planck functions on the interfaces and the |
! 2. Computes the Planck functions on the interfaces and the |
23 |
! gradient of planck functions in the layers. |
! gradient of Planck functions in the layers. |
24 |
|
|
25 |
! 3. Performs the vertical integration distinguishing the con- |
! 3. Performs the vertical integration distinguishing the |
26 |
! tributions of the adjacent and distant layers and those from the |
! contributions of the adjacent and distant layers and those from |
27 |
! boundaries. |
! the boundaries. |
28 |
|
|
29 |
! 4. Computes the clear-sky downward and upward emissivities. |
! 4. Computes the clear-sky downward and upward emissivities. |
30 |
|
|
31 |
! 5. Introduces the effects of the clouds on the fluxes. |
! 5. Introduces the effects of the clouds on the fluxes. |
32 |
|
|
33 |
! Reference: see radiation's part of the model's documentation and |
! Reference: see radiation part of ECMWF documentation of the IFS. |
|
! ECMWF research department documentation of the IFS |
|
34 |
|
|
35 |
! Author: |
! Author: |
36 |
! Jean-Jacques Morcrette *ECMWF* |
! Jean-Jacques Morcrette ECMWF |
37 |
|
|
38 |
! Original : 89-07-14 |
! Original : July 14th, 1989 |
39 |
|
|
40 |
DOUBLE PRECISION PCLDLD(KDLON, KFLEV) ! DOWNWARD EFFECTIVE CLOUD COVER |
DOUBLE PRECISION PCLDLD(KDLON, KFLEV) ! DOWNWARD EFFECTIVE CLOUD COVER |
41 |
DOUBLE PRECISION PCLDLU(KDLON, KFLEV) ! UPWARD EFFECTIVE CLOUD COVER |
DOUBLE PRECISION PCLDLU(KDLON, KFLEV) ! UPWARD EFFECTIVE CLOUD COVER |
67 |
DOUBLE PRECISION ZABCU(KDLON, NUA, 3*KFLEV+1) |
DOUBLE PRECISION ZABCU(KDLON, NUA, 3*KFLEV+1) |
68 |
DOUBLE PRECISION ZOZ(KDLON, KFLEV) |
DOUBLE PRECISION ZOZ(KDLON, KFLEV) |
69 |
|
|
70 |
DOUBLE PRECISION ZFLUX(KDLON, 2, KFLEV+1) ! RADIATIVE FLUXES (1:up; 2:down) |
DOUBLE PRECISION, save:: ZFLUX(KDLON, 2, KFLEV+1) |
71 |
DOUBLE PRECISION ZFLUC(KDLON, 2, KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES |
! RADIATIVE FLUXES (1:up; 2:down) |
72 |
DOUBLE PRECISION ZBINT(KDLON, KFLEV+1) ! Intermediate variable |
|
73 |
DOUBLE PRECISION ZBSUI(KDLON) ! Intermediate variable |
DOUBLE PRECISION, save:: ZFLUC(KDLON, 2, KFLEV+1) |
74 |
DOUBLE PRECISION ZCTS(KDLON, KFLEV) ! Intermediate variable |
! CLEAR-SKY RADIATIVE FLUXES |
75 |
DOUBLE PRECISION ZCNTRB(KDLON, KFLEV+1, KFLEV+1) ! Intermediate variable |
|
76 |
SAVE ZFLUX, ZFLUC, ZBINT, ZBSUI, ZCTS, ZCNTRB |
! Intermediate variables: |
77 |
|
DOUBLE PRECISION, save:: ZBINT(KDLON, KFLEV+1) |
78 |
|
DOUBLE PRECISION, save:: ZBSUI(KDLON) |
79 |
|
DOUBLE PRECISION, save:: ZCTS(KDLON, KFLEV) |
80 |
|
DOUBLE PRECISION, save:: ZCNTRB(KDLON, KFLEV+1, KFLEV+1) |
81 |
|
|
82 |
INTEGER ilim, i, k, kpl1 |
INTEGER ilim, i, k, kpl1 |
83 |
|
|