source: LMDZ6/trunk/libf/phylmd/ecrad/surdi.F90 @ 3908

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

Online implementation of the radiative transfer code ECRAD in the LMDZ model.

  • Inclusion of the ecrad directory containing the sources of the ECRAD code
    • interface routine : radiation_scheme.F90
  • Adaptation of compilation scripts :
    • compilation under CPP key CPP_ECRAD
    • compilation with option "-rad ecard" or "-ecard true"
    • The "-rad old/rtm/ecran" build option will need to replace the "-rrtm true" and "-ecrad true" options in the future.
  • Runing LMDZ simulations with ecrad, you need :
    • logical key iflag_rrtm = 2 in physiq.def
    • namelist_ecrad (DefLists?)
    • the directory "data" containing the configuration files is temporarily placed in ../libfphylmd/ecrad/
  • Compilation and execution are tested in the 1D case. The repository under svn would allow to continue the implementation work: tests, verification of the results, ...
File size: 3.5 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
106IF( LAQUA ) THEN
107  RCARDI  = 348.E-06_JPRB*ZCO2MWG/ZAIRMWG
108  RCH4    = 1.65E-06_JPRB*ZCH4MWG/ZAIRMWG
109  RN2O    = 306.E-09_JPRB*ZN2OMWG/ZAIRMWG
110ELSE
111  RCARDI  = RCCO2   * ZCO2MWG/ZAIRMWG
112  RCH4    = RCCH4   * ZCH4MWG/ZAIRMWG
113  RN2O    = RCN2O   * ZN2OMWG/ZAIRMWG
114ENDIF
115
116RNO2    = RCNO2   * ZNO2MWG/ZAIRMWG
117RO3     = 1.E-06_JPRB*ZO3MWG /ZAIRMWG
118RCFC11  = RCCFC11 * ZC11MWG/ZAIRMWG
119RCFC12  = RCCFC12 * ZC12MWG/ZAIRMWG
120RCFC22  = RCCFC22 * ZC22MWG/ZAIRMWG
121RCCL4   = RCCCL4  * ZCL4MWG/ZAIRMWG
122
123REPCLC=1.E-12_JPRB
124REPH2O=1.E-12_JPRB
125
126!     -----------------------------------------------------------------
127
128IF (LHOOK) CALL DR_HOOK('SURDI',1,ZHOOK_HANDLE)
129END SUBROUTINE SURDI
Note: See TracBrowser for help on using the repository browser.