source: LMDZ6/trunk/libf/phylmd/ecrad/ifs/yoephy.F90 @ 4848

Last change on this file since 4848 was 4773, checked in by idelkadi, 11 months ago
  • Update of Ecrad in LMDZ The same organization of the Ecrad offline version is retained in order to facilitate the updating of Ecrad in LMDZ and the comparison between online and offline results. version 1.6.1 of Ecrad (https://github.com/lguez/ecrad.git)
  • Implementation of the double call of Ecrad in LMDZ


File size: 18.3 KB
Line 
1! (C) Copyright 1991- ECMWF.
2!
3! This software is licensed under the terms of the Apache Licence Version 2.0
4! which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
5!
6! In applying this licence, ECMWF does not waive the privileges and immunities
7! granted to it by virtue of its status as an intergovernmental organisation
8! nor does it submit to any jurisdiction.
9
10MODULE YOEPHY
11
12USE PARKIND1, ONLY : JPRB, JPIM
13USE ISO_C_BINDING
14
15IMPLICIT NONE
16
17SAVE
18
19!     -----------------------------------------------------------------
20!*    ** *YOEPHY* - SWITCHES RELATED TO DIABATIC PROCESSES
21!     -----------------------------------------------------------------
22
23!        * E.C.M.W.F. PHYSICS PACKAGE *
24
25TYPE :: TEPHY
26!!! LOGICAL :: LEPHYS
27!!! LOGICAL :: LECOND
28!!! LOGICAL :: LECUMF
29!!! LOGICAL :: LEDCLD
30!!! LOGICAL :: LEEVAP
31!!! LOGICAL :: LEGWDG
32!!! LOGICAL :: LEGWWMS
33!!! LOGICAL :: LEOZOC
34!!! LOGICAL :: LEQNGT
35!!! LOGICAL :: LERADI
36!!! LOGICAL :: LERADS
37!!! LOGICAL :: LESICE
38!!! LOGICAL :: LESURF
39!!! LOGICAL :: LEVDIF
40!!! LOGICAL :: LAGPHY
41!!! LOGICAL :: LEPCLD
42!!! LOGICAL :: LEO3CH
43!!! LOGICAL :: LO3CH_SAFE
44!!! LOGICAL :: LO3CH_OLDVER
45!!! LOGICAL :: LO3CH_BMS
46!!! LOGICAL :: LO3CH_HLO
47!!! CHARACTER(LEN=4) :: CO3CHEM
48!!! LOGICAL :: LECO2DIU
49!!! LOGICAL :: LNEEONLINE
50!!! LOGICAL :: LBUD23
51!!! LOGICAL :: LPPTILES
52!!! LOGICAL :: LBUDCYCLE
53!!! LOGICAL :: LEMETHOX
54!!! LOGICAL :: LECURR
55!!! LOGICAL :: LESURFTRAJ
56!!! LOGICAL :: LVDFTRAC
57!!! LOGICAL :: LMFTRAC
58!!! LOGICAL :: LMFSCAV
59!!! LOGICAL :: LERAIN
60!!! LOGICAL :: LEMWAVE
61!!! LOGICAL :: LEGBRAD
62!!! LOGICAL :: LERAINGG
63!!! LOGICAL :: LESMOS
64!!! LOGICAL :: LESMAP
65!!! LOGICAL :: LEOCWA
66!!! LOGICAL :: LEOCCO
67!!! LOGICAL :: LEOCSA
68!!! LOGICAL :: LEOCLA
69!!! LOGICAL :: LEVGEN
70!!! LOGICAL :: LESSRO
71!!! LOGICAL :: LEFLAKE
72!!! LOGICAL :: LEOCML
73!!! LOGICAL :: LEOBC
74!!! LOGICAL :: LEOBCMAX
75!!! REAL(KIND=JPRB) :: REOBCMAX
76!!! LOGICAL :: LEOBCICE
77!!! LOGICAL :: LEOCLAKE
78!!! LOGICAL :: LEOLAKESST
79!!! LOGICAL :: LOCMLTKE
80!!! LOGICAL :: LECLIPQT0
81!!! LOGICAL :: LECLIPCLDT0
82!!! LOGICAL :: LDUCTDIA
83!!! LOGICAL :: LDIAGTURB_EC
84!!! LOGICAL :: LDIAGTURBGRAD_EC
85! ----- split ECMWF physics:for split physics (one part at t-Dt, one part at t+Dt)
86!!! LOGICAL :: LSLPHY ! Moved from YOMCT0 /MH
87!!! LOGICAL :: LESN09
88!!! LOGICAL :: LELAIV
89!!! LOGICAL :: LECTESSEL
90!!! LOGICAL :: LEAGS
91!!! LOGICAL :: LSPCRM
92!!! LOGICAL :: LELIGHT
93!!! REAL(KIND=JPRB) :: RTHRFRTI
94!!! REAL(KIND=JPRB) :: RCIMIN
95!!! REAL(KIND=JPRB) :: RLAIINT
96!!! INTEGER (KIND=JPIM) :: NPRACCL
97!!! INTEGER (KIND=JPIM) :: NLIMODE
98!!! LOGICAL :: LECLIM10D ! 10-day clim interpolation
99!!! LOGICAL :: LESNML
100!!! INTEGER (KIND=JPIM) :: NSNMLWS
101
102!VARIABLES FOR THE FLUX ADJUSTMENT OF GPP/RECO
103!!! LOGICAL             :: LBFASCO2
104
105! SOME VARIABLES RELATED TO THE DIFFERENT NBF CO2 CLIMATOLOGIES
106
107! NCO2CLIMYY1    ===> First year in the NBF CO2 climatology
108! NCO2CLIMYY2    ===> Last year in the NBF CO2 climatology
109! NCO2CLIMN1     ===> starting time for the diurnally variable fluxes (in minutes)
110! NCO2CLIMN2     ===> end time for the diurnally variable fluxes (in minutes)
111! NCO2CLIMFRQ    ===> time frequency at which the diurnal cycle is provided (in minutes)
112
113!!! INTEGER(KIND=JPIM) :: NCO2CLIMYY1
114!!! INTEGER(KIND=JPIM) :: NCO2CLIMYY2
115!!! INTEGER(KIND=JPIM) :: NCO2CLIMN1
116!!! INTEGER(KIND=JPIM) :: NCO2CLIMN2
117!!! INTEGER(KIND=JPIM) :: NCO2CLIMFRQ
118
119! Surface albedo and emissivity scheme for radiation (needs to be
120! defined here rather than in yoerad because NALBEDOSCHEME controls
121! what albedo climatology fields are read in, which is done before
122! yoerad is initialized).
123INTEGER(KIND=JPIM) :: NALBEDOSCHEME
124INTEGER(KIND=JPIM) :: NEMISSSCHEME
125
126! Albedo of permanent snow, used in Antarctica and on glaciers
127!!! REAL(KIND=JPRB) :: RALFMINPSN
128
129!     REFERENCE.
130!     ----------
131
132!     F Vitart      E.C.M.W.F.      06/08/10
133
134! RNORTHML : northern limit domain
135! RSOUTHML : southern limit
136! RWESTML : western limit
137! REASTML : eastern limit
138! INVML:  =true: ML is applied inside the domain, =false: ML is applied outside the domain
139
140!!! REAL(KIND=JPRB) :: RNORTHML
141!!! REAL(KIND=JPRB) :: RSOUTHML
142!!! REAL(KIND=JPRB) :: RWESTML
143!!! REAL(KIND=JPRB) :: REASTML
144
145!!! LOGICAL :: INVML
146!!! LOGICAL :: LFPOS_EC_PHYS = .FALSE.
147!!! LOGICAL :: LFPOS_ACC_RESET
148
149! LRAD_CLOUD_INHOMOG: Logical:Use regime-dependent value of fractional
150! standard deviation (FSD) of condensate in radiation scheme.
151! Required to set up GFL variable to carry FSD from cloudsc to radiation
152!!! LOGICAL :: LRAD_CLOUD_INHOMOG
153
154! YSURF :  Pointer to surface package configuration
155
156!!! TYPE(C_PTR) :: YSURF
157!----------------------------------------------------------------------------
158
159CONTAINS
160
161  PROCEDURE, PASS :: PRINT => PRINT_CONFIGURATION
162
163END TYPE TEPHY
164
165TYPE(TEPHY), POINTER :: YREPHY => NULL()
166
167!     REFERENCE.
168!     ----------
169
170!     J.-J. MORCRETTE       E.C.M.W.F.      91/07/14
171
172!     MODIFICATIONS
173!     -------------
174
175!     P. Viterbo   ECMWF   03-12-2004  Include user-defined RTHRFRTI
176!     G. Balsamo   ECMWF   14-03-2007  Include LEVGEN, LESSRO switches
177!     G. Balsamo   ECMWF   07-04-2008  Include LEFLAKE switch
178!     G. Balsamo   ECMWF   13-10-2008  Include LEOCML switch
179!     F. Vitart    ECMWF   21-01-2013  Include LEOBC switch
180!     G. Balsamo   ECMWF   13-10-2008  Include LESNWD switch
181!     P. Lopez     ECMWF   24-01-2009  Include LDUCTDIA switch
182!     G. Balsamo   ECMWF   24-02-2009  Include full set of SNOW switches
183!     Y. Takaya    ECMWF   21-08-2009  Include LEOCLA switch
184!     S. Boussetta/G.Balsamo May 2009  Include variable LAI switch LELAIV
185!     E. Dutra             18-11-2009  snow 2009 cleaning of logicals - LESN09 to activate all
186!     Y. Takaya/P. de Rosnay May 2020  SSS for SMOS
187!     P. Lopez     ECMWF   14-08-2009  Include LEGBRAD switch and NPRACCL
188!     S.Boussetta/G.Balsamo  Nov 2010  Include land carbon switch LECTESSEL
189!     G.Balsamo    ECMWF   21-06-2011  Include LEAGS switch (CO2&Evap modularity)
190!     P. Lopez     ECMWF   22-08-2012  Include LERAINGG switch for rain gauge assim.
191!     S.Boussetta  Nov 2013  Include 10-day clim interpolation switch LECLIM10D
192!     F. Vana & M. Kharoutdinov 06-Feb-2015  Super-parametrization scheme.
193!     A. Agusti-Panareda   09-08-2013  Add flag for GPP/REC flux adjustment (LBFASCO2)
194!     P. Lopez     ECMWF   24-07-2015  Added LELIGHT and NLIMODE for lightning parameterization.
195!     E.Dutra/G.Arduini    Jan 2018: Include LESNML switch turn on/off snow multi-layer
196!     R. Hogan     ECMWF   14-01-2019  Replace LE4ALB with NALBEDOSCHEME, add NEMISSSCHEME
197!     P. Bechtold  ECMWF   21-02-2019  Add LDIAGTURB_EC switch for 3D Turb EDRP diagnostics
198!     R. Hogan     ECMWF   07-03-2019  Add RALFMINPSN: albedo of permanent snow
199!     ------------------------------------------------------------------
200
201!  NAME     TYPE     PURPOSE
202!  ----  :  ----   : ---------------------------------------------------
203! LEPHYS : LOGICAL : SWITCH THE FULL E.C.M.W.F. PHYSICS PACKAGE ON
204! LAGPHY : LOGICAL : IF TRUE, PHYSICS PACKAGE CALLED IN LAGGED MODE
205! LECOND : LOGICAL : TURN THE LARGE-SCALE CONDENSATION ON
206! LECUMF : LOGICAL : TURN THE MASS-FLUX CUMULUS CONVECTION SCHEME ON
207! LEDCLD : LOGICAL : TURN THE DIAGNOSTIC CLOUD SCHEME ON
208! LEPCLD : LOGICAL : TURN THE PROGNOSTIC CLOUD SCHEME ON
209! LEEVAP : LOGICAL : TURN THE EVAPORATION OF PRECIPITATION ON
210! LEGWDG : LOGICAL : TURN THE GRAVITY WAVE DRAG ON
211! LEGWWMS: LOGICAL : TURN THE WARNER-MCINTYRE-SCINOCCA NON-OROGRAPHIC GRAVITY WAVE SCHEME ON
212! LEOZOC : LOGICAL : TURN THE CLIMATOLOGICAL OZONE ON
213! LEQNGT : LOGICAL : TURN THE NEGATIVE HUMIDITY FIXER ON
214! LERADI : LOGICAL : TURN THE RADIATION SCHEME ON
215! LERADS : LOGICAL : TURN THE INTERACTIVE SURFACE RADIATIVE PROPERTIESON
216! LESICE : LOGICAL : TURN THE INTERACTIVE SEA ICE PROCESSES ON
217! LESURF : LOGICAL : TURN THE INTERACTIVE SURFACE PROCESSES ON
218! LEVDIF : LOGICAL : TURN THE VERTICAL DIFFUSION ON
219! LEO3CH : LOGICAL : TURN THE O3 CHEMISTRY ON (for EC prog. ozone)
220! LO3CH_SAFE : LOGICAL : TURN INCREASED RELAXATION TO O3 TERM
221! LO3CH_HLO  : LOGICAL : USE HYBRID LINEAR OZONE SCHEME
222! CO3CHEM    : CHARACTER(LEN=4) : OZONE CHEMISTRY VERSION
223! LO3CH_OLDVER : LOGICAL : USE OLD VERSION (v2.3) OF OZONE CHEMISTRY
224! LECO2DIU: LOGICAL: UPDATE THE NBF CO2 FLUXES CLIMATOLOGY DURING THE RUN OF THE MODEL (introduce a diurnal cycle)
225! LNEEONLINE: LOGICAL: USE ON-LINE CTESSEL IF TRUE
226! LBFASCO2 : LOGICAL : APPLY THE FLUX ADJUSTMENT TO GPP AND REC IN CTESSEL
227! LBUD23 : LOGICAL : SWITCH FOR 3 AND 2 DIMENSIONAL BUDGETS
228! LPPTILES : LOGICAL : SWITCH FOR TILE POST-PROCESSING
229! LBUDCYCLE: LOGICL: SWITCH FOR DIURNAL CYCLE DIAGNOSTICS
230! LEMETHOX: LOGICAL: TURN THE METHANE OXIDATION ON
231! LECURR : LOGICAL : IF TRUE, OCEAN CURRENT BOUNDARY CONDITION IS USED
232! LVDFTRAC: LOGICAL: TURN TRACER TRANSPORT BY VERTICAL DIFFUSION ON
233! LMFTRAC: LOGICAL : TURN TRACER TRANSPORT BY MASS FLUX CONVECTION ON
234! LMFSCAV:LOGICAL  : TURN TRACER WET SCAAVENGING IN CUMULUS CONVECTION SCHEME ON
235! LERAIN : LOGICAL : RAIN ASSIMILATION
236! LEMWAVE : LOGICAL : ALL-SKY RADIANCE ASSIMILATION
237! LEOCWA : LOGICAL : WARM OCEAN LAYER PARAMETRIZATION
238! LEOBC  : LOGICAL : SST CORRECTION
239! LEOBCMAX : LOGICAL : REMOVE ANY SST CORRECTIONS LARGER THAN REOBCMAX
240! REOBCMAX : REAL : SST CORRECTIONS ABS(VALUES) LARGER THAN THIS VALUE IS IGNORED IF LEOBCCHK
241! LEOBCICE : LOGICAL : ICE CORRECTION (IMPLIED IF LEOBC)
242! LEOCCO : LOGICAL : COOL OCEAN SKIN PARAMETRIZATION
243! LEOCSA : LOGICAL : SALINTY EFFECT ON SATURATION AT OCEAN SURFACE
244! LEOCLA : LOGICAL : LANGMUIR CIRCULATION EFFECT IN SKIN LAYER SCHEME
245! RTHRFRTI : INTEGER : MINIMUM FRACTION FOR ALL SURFACE TILES
246! PRCIMIN : REAL : MINIMUM ICE FRACTION
247! LEVGEN : LOGICAL  : VAN GENUCHTEN HYDROLOGY (with SOIL TYPE field)
248! LESSRO : LOGICAL  : OROGRAPHIC (VIC-TYPE) RUNOFF
249! LEFLAKE : LOGICAL  : LAKE MODEL FLAKE
250! LEOCML : LOGICAL  : OCEAN MIX LAYER MODEL
251! LEOCLAKE : LOGICAL  : PERSISTED LAKE SST and ICE
252! LEOLAKESST : LOGICAL : USE LAKES TEMPERATURE AND ICE AS SST AND ICE ON LAKE POINTS
253! LOCMLTKE : LOGICAL  : IF TRUE JANSSEN'S VERSION OF THE MELLOR-YAMADA SCHEME IS RUN.
254! LECLIPQT0: LOGICAL: REMOVE NEGATIVE Q AND SUPERSATURATION AT INITIAL TIME
255! LECLIPCLDT0: LOGICAL: REMOVE NEGATIVE CLOUD WATER/ICE AND BOUND CLOUD COVER AT INITIAL TIME
256! LDUCTDIA : LOGICAL  : COMPUTATIONS AND ARCHIVING OF DUCTING DIAGNOSTICS
257! LDIAGTURB_EC : LOGICAL  : ACTIVATE 3D TURBULENCE EDR PARAMETERS FOR CAT AND MWT
258! LDIAGTURBGRAD_EC : LOGICAL  : ACTIVATE HORIZONTAL GRADIENTS FOR  3D TURBULENCE EDR PARAMETERS
259! LESN09 : LOGICAL  : IF true use the snow 2009 scheme (liquid water, density, snow cover fraction, exposed and forest albedo)
260! LELAIV : LOGICAL  : IF FALSE OVERWRITE CLIMATE LAI FIELDS WITH LUT VALUES
261! LECTESSEL : LOGICAL : LAND CARBON (CTESSEL) USED FOR CO2 FLUXES
262! LEAGS   : LOGICAL : LAND CARBON (CTESSEL) USED FOR CO2 AND EVAP FLUXES
263! RLAIINT : REAL    : INTERACTIVE LAI CLIM RELAXATION (1=interactive ; 0=clim)
264! LEGBRAD : LOGICAL : ACTIVATE RADAR PRECIPITATION OBSERVATION OPERATOR
265! NPRACCL : INTEGER : ACCUMULATION LENGTH FOR RADAR PRECIPITATION OBSERVATION ASSIMILATION
266! LERAINGG : LOGICAL : ACTIVATE RAIN GAUGE OBSERVATION OPERATOR
267! LECLIM10D: Logical: IF TRUE interpolate between 10-day climate values (for albedo and LAI)
268! LSPCRM : LOGICAL : ACTIVATES SUPER-PARAMETRIZATION SCHEME REPLACING MOIST PROCESSES.
269! LELIGHT : LOGICAL : ACTIVATES LIGHTNING PARAMETRIZATION.
270! NLIMODE : LOGICAL : SELECTION OF LIGHTNING PARAMETRIZATION (see CULIGHT routine).
271! RALFMINPSN : REAL : Albedo of permanent snow, used in Antarctica and on glaciers
272! NALBEDOSCHEME : INTEGER :   Surface shortwave albedo:
273!                             0: ERBE
274!                             1: MODIS 4 comp. (UV-Vis+NIR)x(direct+diffuse), nearest neigh to SW bands
275!                             2: MODIS 6 component, weighting to SW bands
276!                             3: MODIS 2 compoent (diffuse albedo for everything, weighting to SW bands
277! NEMISSSCHEME  : INTEGER :   Surface longwave emissivity scheme:
278!                             0: 2-interval (infrared window and everything else)
279!                             1: 6-interval scheme
280
281!     -----------------------------------------------------------------
282
283CONTAINS
284
285SUBROUTINE PRINT_CONFIGURATION(SELF, KDEPTH, KOUTNO)
286  IMPLICIT NONE
287  CLASS(TEPHY), INTENT(IN) :: SELF
288  INTEGER     , INTENT(IN) :: KDEPTH
289  INTEGER     , INTENT(IN) :: KOUTNO
290
291  INTEGER :: IDEPTHLOC
292
293  IDEPTHLOC = KDEPTH+2
294
295  WRITE(KOUTNO,*) REPEAT(' ',KDEPTH   ) // 'model%yrml_phy_ec%yrephy : '
296  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEPHYS = ', SELF%LEPHYS
297  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LECOND = ', SELF%LECOND
298  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LECUMF = ', SELF%LECUMF
299  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEDCLD = ', SELF%LEDCLD
300  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEEVAP = ', SELF%LEEVAP
301  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEGWDG = ', SELF%LEGWDG
302  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEGWWMS = ', SELF%LEGWWMS
303  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEOZOC = ', SELF%LEOZOC
304  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEQNGT = ', SELF%LEQNGT
305  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LERADI = ', SELF%LERADI
306  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LERADS = ', SELF%LERADS
307  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LESICE = ', SELF%LESICE
308  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LESURF = ', SELF%LESURF
309  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEVDIF = ', SELF%LEVDIF
310  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LAGPHY = ', SELF%LAGPHY
311  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEPCLD = ', SELF%LEPCLD
312  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEO3CH = ', SELF%LEO3CH
313  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LO3CH_OLDVER = ', SELF%LO3CH_OLDVER
314  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LO3CH_BMS = ', SELF%LO3CH_BMS
315  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LO3CH_HLO = ', SELF%LO3CH_HLO
316  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'CO3CHEM = ', SELF%CO3CHEM
317  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LECO2DIU = ', SELF%LECO2DIU
318  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LNEEONLINE = ', SELF%LNEEONLINE
319  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LBUD23 = ', SELF%LBUD23
320  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LPPTILES = ', SELF%LPPTILES
321  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LBUDCYCLE = ', SELF%LBUDCYCLE
322  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEMETHOX = ', SELF%LEMETHOX
323  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LECURR = ', SELF%LECURR
324  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LVDFTRAC = ', SELF%LVDFTRAC
325  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LMFTRAC = ', SELF%LMFTRAC
326  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LMFSCAV = ', SELF%LMFSCAV
327  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LERAIN = ', SELF%LERAIN
328  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEMWAVE = ', SELF%LEMWAVE
329  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEGBRAD = ', SELF%LEGBRAD
330  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LERAINGG = ', SELF%LERAINGG
331  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LESMOS = ', SELF%LESMOS
332  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LESMAP = ', SELF%LESMAP
333  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEOCWA = ', SELF%LEOCWA
334  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEOCCO = ', SELF%LEOCCO
335  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEOCSA = ', SELF%LEOCSA
336  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEOCLA = ', SELF%LEOCLA
337  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEVGEN = ', SELF%LEVGEN
338  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LESSRO = ', SELF%LESSRO
339  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEFLAKE = ', SELF%LEFLAKE
340  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEOCML = ', SELF%LEOCML
341  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEOBC = ', SELF%LEOBC
342  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEOBCICE = ', SELF%LEOBCICE
343  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEOCLAKE = ', SELF%LEOCLAKE
344  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEOLAKESST = ', SELF%LEOLAKESST
345  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LOCMLTKE = ', SELF%LOCMLTKE
346  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LECLIPQT0 = ', SELF%LECLIPQT0
347  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LECLIPCLDT0 = ', SELF%LECLIPCLDT0
348  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LDUCTDIA = ', SELF%LDUCTDIA
349  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LDIAGTURB_EC = ', SELF%LDIAGTURB_EC
350  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LDIAGTURBGRAD_EC = ', SELF%LDIAGTURBGRAD_EC
351  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LESN09 = ', SELF%LESN09
352  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LELAIV = ', SELF%LELAIV
353  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LECTESSEL = ', SELF%LECTESSEL
354  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LEAGS = ', SELF%LEAGS
355  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LSPCRM = ', SELF%LSPCRM
356  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LELIGHT = ', SELF%LELIGHT
357  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'RTHRFRTI = ', SELF%RTHRFRTI
358  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'RCIMIN = ', SELF%RCIMIN
359  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'RLAIINT = ', SELF%RLAIINT
360  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'NPRACCL = ', SELF%NPRACCL
361  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'NLIMODE = ', SELF%NLIMODE
362  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LECLIM10D = ', SELF%LECLIM10D
363  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LESNML = ', SELF%LESNML
364  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'NSNMLWS = ', SELF%NSNMLWS
365  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LBFASCO2 = ', SELF%LBFASCO2
366  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'NCO2CLIMYY1 = ', SELF%NCO2CLIMYY1
367  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'NCO2CLIMYY2 = ', SELF%NCO2CLIMYY2
368  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'NCO2CLIMN1 = ', SELF%NCO2CLIMN1
369  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'NCO2CLIMN2 = ', SELF%NCO2CLIMN2
370  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'NCO2CLIMFRQ = ', SELF%NCO2CLIMFRQ
371  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'RNORTHML = ', SELF%RNORTHML
372  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'RSOUTHML = ', SELF%RSOUTHML
373  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'RWESTML = ', SELF%RWESTML
374  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'REASTML = ', SELF%REASTML
375  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'INVML = ', SELF%INVML
376  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LFPOS_EC_PHYS = ', SELF%LFPOS_EC_PHYS
377  ! WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'LFPOS_ACC_RESET = ', SELF%LFPOS_ACC_RESET
378  WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'NALBEDOSCHEME = ', SELF%NALBEDOSCHEME
379  WRITE(KOUTNO,*) REPEAT(' ',IDEPTHLOC) // 'NEMISSSCHEME = ', SELF%NEMISSSCHEME
380
381END SUBROUTINE PRINT_CONFIGURATION
382
383END MODULE YOEPHY
Note: See TracBrowser for help on using the repository browser.