source: LMDZ6/trunk/libf/phylmd/ecrad.v1.5.1/surdi.F90 @ 4948

Last change on this file since 4948 was 4115, checked in by idelkadi, 3 years ago

Implementation of Ecrad in LMDZ (continued) :

  • Switch to the first call only in the configuration and initializations part of Ecrad
  • Added instructions for parallelization
  • Initializations


File size: 3.7 KB
Line 
1SUBROUTINE SURDI
2
3!**** *SURDI*   - INITIALIZE COMMON YOERDI CONTROLLING RADINT
4
5!     PURPOSE.
6!     --------
7!           INITIALIZE YOERDI, THE COMMON THAT CONTROLS THE
8!           RADIATION INTERFACE
9
10!**   INTERFACE.
11!     ----------
12!        CALL *SURDI* FROM *SURAD*
13!              -----        -----
14
15!        EXPLICIT ARGUMENTS :
16!        --------------------
17!        NONE
18
19!        IMPLICIT ARGUMENTS :
20!        --------------------
21!        COMMON YOERDI
22
23!     METHOD.
24!     -------
25!        SEE DOCUMENTATION
26
27!     EXTERNALS.
28!     ----------
29!        NONE
30
31!     REFERENCE.
32!     ----------
33!        ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS MODEL
34
35!     AUTHOR.
36!     -------
37!      Original  JEAN-JACQUES MORCRETTE  *ECMWF*
38!      ORIGINAL : 88-12-15
39
40!     MODIFICATIONS.
41!     --------------
42!      M.Hamrud      01-Oct-2003 CY28 Cleaning
43!      Modified   P. Viterbo   24-05-2004  surf library
44!      JJMorcrette   2004-10-07 Gas concentrations
45!     ------------------------------------------------------------------
46
47USE PARKIND1  ,ONLY : JPRB
48USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
49
50USE YOERDI   , ONLY : RRAE     ,&
51 & RCARDI   ,RCH4     ,RN2O     ,RNO2     ,RO3      ,&
52 & RCFC11   ,RCFC12   ,RCFC22   ,RCCL4    ,&
53 & REPCLC   ,REPH2O   ,RSUNDUR  ,&
54 & RCCO2    ,RCCH4    ,RCN2O    ,RCNO2    ,RCCFC11  ,&
55 & RCCFC12  ,RCCFC22  ,RCCCL4
56USE YOMDYNCORE, ONLY : LAQUA
57
58IMPLICIT NONE
59
60REAL(KIND=JPRB) :: ZAIRMWG, ZC11MWG, ZC12MWG, ZCH4MWG, ZCO2MWG,&
61 & ZN2OMWG, ZNO2MWG, ZO3MWG, ZC22MWG, ZCL4MWG
62REAL(KIND=JPRB) :: ZHOOK_HANDLE
63
64!      ----------------------------------------------------------------
65
66!*       1.    SET DEFAULT VALUES.
67!              -------------------
68
69IF (LHOOK) CALL DR_HOOK('SURDI',0,ZHOOK_HANDLE)
70RRAE = 0.1277E-02_JPRB
71
72!* Threshold for computing sunshine duration (W/m2)
73RSUNDUR=120._JPRB
74
75!*  For sea ice, monthly values are based on Ebert and Curry, 1993, Table 2.
76!   We take dry snow albedo as the representative value for non-summer
77!   months, and bare sea-ice as the representative value for summer
78!   months. The values for Antarctic are shifted six-months.
79! All computations brought back to *SUSWN*
80
81!*  Concentration of the various trace gases (IPCC/SACC values for 1990)
82!        CO2         CH4        N2O        CFC11       CFC12
83!      353ppmv     1.72ppmv   310ppbv     280pptv     484pptv
84
85ZAIRMWG = 28.970_JPRB
86ZCO2MWG = 44.011_JPRB
87ZCH4MWG = 16.043_JPRB
88ZN2OMWG = 44.013_JPRB
89ZNO2MWG = 46.006_JPRB
90ZO3MWG  = 47.9982_JPRB
91ZC11MWG = 137.3686_JPRB
92ZC12MWG = 120.9140_JPRB
93ZC22MWG =  86.4690_JPRB
94ZCL4MWG = 153.8230_JPRB
95
96!RCARDI  = 353.E-06_JPRB*ZCO2MWG/ZAIRMWG
97!RCH4    = 1.72E-06_JPRB*ZCH4MWG/ZAIRMWG
98!RN2O    = 310.E-09_JPRB*ZN2OMWG/ZAIRMWG
99!RNO2    = 500.E-13_JPRB*ZNO2MWG/ZAIRMWG
100!RO3     =   1.E-06_JPRB*ZO3MWG /ZAIRMWG
101!RCFC11  = 280.E-12_JPRB*ZC11MWG/ZAIRMWG
102!RCFC12  = 484.E-12_JPRB*ZC12MWG/ZAIRMWG
103!RCFC22  =   1.E-12_JPRB*ZC22MWG/ZAIRMWG
104!RCCL4   =   1.E-12_JPRB*ZCL4MWG/ZAIRMWG
105
106!ATTENTION AI 02 2022
107RCCO2 = 353.E-06_JPRB
108RCCH4 = 1.72E-06_JPRB
109RCN2O = 310.E-09_JPRB
110RCCFC11 = 280.E-12_JPRB
111RCCFC12 = 484.E-12_JPRB
112RCCFC22 = 1.E-12_JPRB
113RCCCL4 = 1.E-12_JPRB
114RCNO2 = 500.E-13_JPRB
115
116IF( LAQUA ) THEN
117  RCARDI  = 348.E-06_JPRB*ZCO2MWG/ZAIRMWG
118  RCH4    = 1.65E-06_JPRB*ZCH4MWG/ZAIRMWG
119  RN2O    = 306.E-09_JPRB*ZN2OMWG/ZAIRMWG
120ELSE
121  RCARDI  = RCCO2   * ZCO2MWG/ZAIRMWG
122  RCH4    = RCCH4   * ZCH4MWG/ZAIRMWG
123  RN2O    = RCN2O   * ZN2OMWG/ZAIRMWG
124ENDIF
125
126RNO2    = RCNO2   * ZNO2MWG/ZAIRMWG
127RO3     = 1.E-06_JPRB*ZO3MWG /ZAIRMWG
128RCFC11  = RCCFC11 * ZC11MWG/ZAIRMWG
129RCFC12  = RCCFC12 * ZC12MWG/ZAIRMWG
130RCFC22  = RCCFC22 * ZC22MWG/ZAIRMWG
131RCCL4   = RCCCL4  * ZCL4MWG/ZAIRMWG
132
133REPCLC=1.E-12_JPRB
134REPH2O=1.E-12_JPRB
135
136!     -----------------------------------------------------------------
137
138IF (LHOOK) CALL DR_HOOK('SURDI',1,ZHOOK_HANDLE)
139END SUBROUTINE SURDI
Note: See TracBrowser for help on using the repository browser.