SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
modd_diag_surf_atmn.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! ######################
7 ! ######################
8 !
9 !!**** *MODD_DIAG_SURF_ATM - declaration of diagnostics for the surface
10 !!
11 !! PURPOSE
12 !! -------
13 !
14 !!
15 !!** IMPLICIT ARGUMENTS
16 !! ------------------
17 !! None
18 !!
19 !! REFERENCE
20 !! ---------
21 !!
22 !! AUTHOR
23 !! ------
24 !! V. Masson *Meteo France*
25 !!
26 !! MODIFICATIONS
27 !! -------------
28 !! Original 01/2004
29 !! Modified 01/2006 : sea flux parameterization.
30 !! Modified 04/2009 : precip for/from restart file.
31 !! Modified 08/2009 : BUDGETC for all tiles
32 !
33 !* 0. DECLARATIONS
34 ! ------------
35 !
37 !
38 !
39 USE yomhook ,ONLY : lhook, dr_hook
40 USE parkind1 ,ONLY : jprb
41 !
42 IMPLICIT NONE
43 
45 !------------------------------------------------------------------------------
46 !
47  REAL :: XDIAG_TSTEP ! time step for diagnostics writing
48 !
49  INTEGER :: N2M ! flag for 2 meters (and 10 meters) quantities
50  LOGICAL :: LT2MMW ! flag to perform modified weighting of 2m temperature
51  LOGICAL :: L2M_MIN_ZS ! flag for 2 meters quantities evaluated on
52 ! ! the minimum orographyy of the grid
53  LOGICAL :: LSURF_BUDGET ! flag for surface energy budget
54  LOGICAL :: LRAD_BUDGET ! flag for radiative energy budget
55  LOGICAL :: LCOEF ! flag for transfer coefficients
56  LOGICAL :: LSURF_VARS ! flag for surface variables
57  LOGICAL :: LFRAC ! flag for writing fractions of each four tiles
58  LOGICAL :: LDIAG_GRID ! flag for mean grid diag
59  LOGICAL :: LSURF_BUDGETC ! flag for surface cumulated energy budget
60  LOGICAL :: LRESET_BUDGETC ! flag for surface cumulated energy budget
61  LOGICAL :: LREAD_BUDGETC ! flag for surface cumulated energy budget
62  LOGICAL :: LPROVAR_TO_DIAG ! switch to write (or not) prognostic variable
63  ! and allows puting field in diagnostics
64  LOGICAL :: LSELECT ! switch to control which fields are written
65  ! (only those whose naem appears in in text array)
66 !
67  TYPE(date_time):: TIME_BUDGETC
68 !
69  CHARACTER(LEN=12), POINTER, DIMENSION(:) :: CSELECT ! Name of ouput fields if LSELECT=true
70 !
71 !* variables for each tile
72 !
73  REAL, POINTER, DIMENSION(:,:) :: XRI_TILE ! Bulk-Richardson number (-)
74  REAL, POINTER, DIMENSION(:,:) :: XCD_TILE ! drag coefficient for wind (W/s2)
75  REAL, POINTER, DIMENSION(:,:) :: XCH_TILE ! drag coefficient for heat (W/s)
76  REAL, POINTER, DIMENSION(:,:) :: XCE_TILE ! drag coefficient for vapor (W/s/K)
77  REAL, POINTER, DIMENSION(:,:) :: XRN_TILE ! net radiation at surface (W/m2)
78  REAL, POINTER, DIMENSION(:,:) :: XH_TILE ! sensible heat flux (W/m2)
79  REAL, POINTER, DIMENSION(:,:) :: XLE_TILE ! total latent heat flux (W/m2)
80  REAL, POINTER, DIMENSION(:,:) :: XLEI_TILE ! sublimation latent heat flux (W/m2)
81  REAL, POINTER, DIMENSION(:,:) :: XGFLUX_TILE ! net soil-vegetation flux (W/m2)
82  REAL, POINTER, DIMENSION(:,:) :: XEVAP_TILE ! total evapotranspiration (kg/m2/s)
83  REAL, POINTER, DIMENSION(:,:) :: XSUBL_TILE ! sublimation (kg/m2/s)
84  REAL, POINTER, DIMENSION(:,:) :: XTS_TILE ! surface temperature (K)
85  REAL, POINTER, DIMENSION(:,:) :: XT2M_TILE ! air temperature at 2 meters (K)
86  REAL, POINTER, DIMENSION(:,:) :: XT2M_MIN_TILE! Minimum air temperature at 2 meters (K)
87  REAL, POINTER, DIMENSION(:,:) :: XT2M_MAX_TILE! Maximum air temperature at 2 meters (K)
88  REAL, POINTER, DIMENSION(:,:) :: XQ2M_TILE ! air humidity at 2 meters (kg/kg)
89  REAL, POINTER, DIMENSION(:,:) :: XHU2M_TILE ! air relative humidity at 2 meters(-)
90  REAL, POINTER, DIMENSION(:,:) :: XHU2M_MIN_TILE! Minimum air relative humidity at 2 meters(-)
91  REAL, POINTER, DIMENSION(:,:) :: XHU2M_MAX_TILE! Maximum air relative humidity at 2 meters(-)
92  REAL, POINTER, DIMENSION(:,:) :: XZON10M_TILE ! zonal wind at 10 meters (m/s)
93  REAL, POINTER, DIMENSION(:,:) :: XMER10M_TILE ! meridian wind at 10 meters (m/s)
94  REAL, POINTER, DIMENSION(:,:) :: XWIND10M_TILE! wind at 10 meters (m/s)
95  REAL, POINTER, DIMENSION(:,:) :: XWIND10M_MAX_TILE ! Maximumwind at 10 meters (m/s)
96  REAL, POINTER, DIMENSION(:,:) :: XQS_TILE
97  REAL, POINTER, DIMENSION(:,:) :: XZ0_TILE ! roughness length for momentum (m)
98  REAL, POINTER, DIMENSION(:,:) :: XZ0H_TILE ! roughness length for heat (m)
99  REAL, POINTER, DIMENSION(:,:) :: XSWD_TILE ! short wave downward radiation (W/m2)
100  REAL, POINTER, DIMENSION(:,:) :: XSWU_TILE ! short wave upward radiation (W/m2)
101  REAL, POINTER, DIMENSION(:,:) :: XLWD_TILE ! longt wave downward radiation (W/m2)
102  REAL, POINTER, DIMENSION(:,:) :: XLWU_TILE ! longt wave upward radiation (W/m2)
103  REAL, POINTER, DIMENSION(:,:,:) :: XSWBD_TILE ! short wave downward radiation by spectral band(W/m2)
104  REAL, POINTER, DIMENSION(:,:,:) :: XSWBU_TILE ! short wave upward radiation by spectral band(W/m2)
105  REAL, POINTER, DIMENSION(:,:) :: XFMU_TILE ! zonal friction
106  REAL, POINTER, DIMENSION(:,:) :: XFMV_TILE ! meridian friction
107 !
108 !* Cumulated variables for each tile
109 !
110  REAL, POINTER, DIMENSION(:,:) :: XRNC_TILE ! net radiation at surface (J/m2)
111  REAL, POINTER, DIMENSION(:,:) :: XHC_TILE ! sensible heat flux (J/m2)
112  REAL, POINTER, DIMENSION(:,:) :: XLEC_TILE ! total latent heat flux (J/m2)
113  REAL, POINTER, DIMENSION(:,:) :: XLEIC_TILE ! sublimation latent heat flux (J/m2)
114  REAL, POINTER, DIMENSION(:,:) :: XGFLUXC_TILE ! net soil-vegetation flux (J/m2)
115  REAL, POINTER, DIMENSION(:,:) :: XEVAPC_TILE ! total evapotranspiration (kg/m2)
116  REAL, POINTER, DIMENSION(:,:) :: XSUBLC_TILE ! sublimation (kg/m2)
117  REAL, POINTER, DIMENSION(:,:) :: XSWDC_TILE ! short wave downward radiation (J/m2)
118  REAL, POINTER, DIMENSION(:,:) :: XSWUC_TILE ! short wave upward radiation (J/m2)
119  REAL, POINTER, DIMENSION(:,:) :: XLWDC_TILE ! longt wave downward radiation (J/m2)
120  REAL, POINTER, DIMENSION(:,:) :: XLWUC_TILE ! longt wave upward radiation (J/m2)
121  REAL, POINTER, DIMENSION(:,:) :: XFMUC_TILE ! zonal friction
122  REAL, POINTER, DIMENSION(:,:) :: XFMVC_TILE ! meridian friction
123 !
124 !* averaged variables
125 !
126  REAL, POINTER, DIMENSION(:) :: XAVG_RI ! Bulk-Richardson number (-)
127  REAL, POINTER, DIMENSION(:) :: XAVG_CD ! drag coefficient for wind (W/s2)
128  REAL, POINTER, DIMENSION(:) :: XAVG_CH ! drag coefficient for heat (W/s)
129  REAL, POINTER, DIMENSION(:) :: XAVG_CE ! drag coefficient for vapor (W/s/K)
130  REAL, POINTER, DIMENSION(:) :: XAVG_RN ! net radiation at surface (W/m2)
131  REAL, POINTER, DIMENSION(:) :: XAVG_H ! sensible heat flux (W/m2)
132  REAL, POINTER, DIMENSION(:) :: XAVG_LE ! total latent heat flux (W/m2)
133  REAL, POINTER, DIMENSION(:) :: XAVG_LEI ! sublimation latent heat flux (W/m2)
134  REAL, POINTER, DIMENSION(:) :: XAVG_GFLUX ! net soil-vegetation flux (W/m2)
135  REAL, POINTER, DIMENSION(:) :: XAVG_EVAP ! total evapotranspiration (kg/m2/s)
136  REAL, POINTER, DIMENSION(:) :: XAVG_SUBL ! sublimation (kg/m2/s)
137  REAL, POINTER, DIMENSION(:) :: XAVG_TS ! surface temperature (K)
138  REAL, POINTER, DIMENSION(:) :: XAVG_T2M ! air temperature at 2 meters (K)
139  REAL, POINTER, DIMENSION(:) :: XAVG_Q2M ! air humidity at 2 meters (kg/kg)
140  REAL, POINTER, DIMENSION(:) :: XAVG_HU2M ! air relative humidity at 2 meters(-)
141  REAL, POINTER, DIMENSION(:) :: XAVG_ZON10M ! zonal wind at 10 meters (m/s)
142  REAL, POINTER, DIMENSION(:) :: XAVG_MER10M ! meridian wind at 10 meters (m/s)
143  REAL, POINTER, DIMENSION(:) :: XAVG_SFCO2 ! CO2 flux (m/s*kg_CO2/kg_air)
144  REAL, POINTER, DIMENSION(:) :: XAVG_T2M_MIN_ZS ! air temperature at 2 meters (K)
145  REAL, POINTER, DIMENSION(:) :: XAVG_Q2M_MIN_ZS ! air humidity at 2 meters (kg/kg)
146  REAL, POINTER, DIMENSION(:) :: XAVG_HU2M_MIN_ZS! air relative humidity at 2 m (-)
147  REAL, POINTER, DIMENSION(:) :: XPS ! air pressure at the surface (Pa)
148  REAL, POINTER, DIMENSION(:) :: XRHOA ! air density at the surface (kg/m3)
149  REAL, POINTER, DIMENSION(:) :: XAVG_QS
150  REAL, POINTER, DIMENSION(:) :: XAVG_Z0 ! roughness length for momentum (m)
151  REAL, POINTER, DIMENSION(:) :: XAVG_Z0H ! roughness length for heat (m)
152  REAL, POINTER, DIMENSION(:) :: XAVG_SWD ! short wave downward radiation (W/m2)
153  REAL, POINTER, DIMENSION(:) :: XAVG_SWU ! short wave upward radiation (W/m2)
154  REAL, POINTER, DIMENSION(:) :: XAVG_LWD ! longt wave downward radiation (W/m2)
155  REAL, POINTER, DIMENSION(:) :: XAVG_LWU ! longt wave upward radiation (W/m2)
156  REAL, POINTER, DIMENSION(:,:) :: XAVG_SWBD ! short wave downward radiation by spectral band(W/m2)
157  REAL, POINTER, DIMENSION(:,:) :: XAVG_SWBU ! short wave upward radiation by spectral band(W/m2)
158  REAL, POINTER, DIMENSION(:) :: XAVG_FMU ! zonal friction
159  REAL, POINTER, DIMENSION(:) :: XAVG_FMV ! meridian friction
160  REAL, POINTER, DIMENSION(:) :: XSSO_FMU ! zonal friction (with SSO) (Pa)
161  REAL, POINTER, DIMENSION(:) :: XSSO_FMV ! meridian friction (with SSO) (Pa)
162 !
163  REAL, POINTER, DIMENSION(:) :: XDIAG_UREF ! reference height for momentum (m)
164  REAL, POINTER, DIMENSION(:) :: XDIAG_ZREF ! reference height for heat (m)
165  REAL, POINTER, DIMENSION(:) :: XDIAG_TRAD ! radiative temperature at t (K)
166  REAL, POINTER, DIMENSION(:) :: XDIAG_EMIS ! surface emissivity at t (-)
167 !
168  REAL, POINTER, DIMENSION(:) :: XAVG_T2M_MIN ! Minimun air temperature at 2 meters (K)
169  REAL, POINTER, DIMENSION(:) :: XAVG_T2M_MAX ! Maximum air temperature at 2 meters (K)
170  REAL, POINTER, DIMENSION(:) :: XAVG_HU2M_MIN! Minimun air relative humidity at 2 meters(-)
171  REAL, POINTER, DIMENSION(:) :: XAVG_HU2M_MAX! Maximum air relative humidity at 2 meters(-)
172  REAL, POINTER, DIMENSION(:) :: XAVG_WIND10M ! wind at 10 meters (m/s)
173  REAL, POINTER, DIMENSION(:) :: XAVG_WIND10M_MAX ! Maximum wind at 10 meters (m/s)
174 !
175 !* cumulated averaged variables
176 !
177  REAL, POINTER, DIMENSION(:) :: XAVG_RNC ! net radiation at surface (J/m2)
178  REAL, POINTER, DIMENSION(:) :: XAVG_HC ! sensible heat flux (J/m2)
179  REAL, POINTER, DIMENSION(:) :: XAVG_LEC ! total latent heat flux (J/m2)
180  REAL, POINTER, DIMENSION(:) :: XAVG_LEIC ! sublimation latent heat flux (J/m2)
181  REAL, POINTER, DIMENSION(:) :: XAVG_GFLUXC ! net soil-vegetation flux (J/m2)
182  REAL, POINTER, DIMENSION(:) :: XAVG_EVAPC ! total evapotranspiration (kg/m2)
183  REAL, POINTER, DIMENSION(:) :: XAVG_SUBLC ! sublimation (kg/m2)
184  REAL, POINTER, DIMENSION(:) :: XAVG_SWDC ! short wave downward radiation (J/m2)
185  REAL, POINTER, DIMENSION(:) :: XAVG_SWUC ! short wave upward radiation (J/m2)
186  REAL, POINTER, DIMENSION(:) :: XAVG_LWDC ! longt wave downward radiation (J/m2)
187  REAL, POINTER, DIMENSION(:) :: XAVG_LWUC ! longt wave upward radiation (J/m2)
188  REAL, POINTER, DIMENSION(:) :: XAVG_FMUC ! zonal friction
189  REAL, POINTER, DIMENSION(:) :: XAVG_FMVC ! meridian friction
190 !
191 !------------------------------------------------------------------------------
192 !
193 
194 END TYPE diag_surf_atm_t
195 
196 
197 
198  CONTAINS
199 
200 !
201 
202 
203 !
204 
205 SUBROUTINE diag_surf_atm_init(YDIAG_SURF_ATM)
206 TYPE(diag_surf_atm_t), INTENT(INOUT) :: ydiag_surf_atm
207 REAL(KIND=JPRB) :: zhook_handle
208 IF (lhook) CALL dr_hook("MODD_DIAG_SURF_ATM_N:DIAG_SURF_ATM_INIT",0,zhook_handle)
209  nullify(ydiag_surf_atm%XRI_TILE)
210  nullify(ydiag_surf_atm%XCD_TILE)
211  nullify(ydiag_surf_atm%XCH_TILE)
212  nullify(ydiag_surf_atm%XCE_TILE)
213  nullify(ydiag_surf_atm%XRN_TILE)
214  nullify(ydiag_surf_atm%XH_TILE)
215  nullify(ydiag_surf_atm%XLE_TILE)
216  nullify(ydiag_surf_atm%XLEI_TILE)
217  nullify(ydiag_surf_atm%XGFLUX_TILE)
218  nullify(ydiag_surf_atm%XEVAP_TILE)
219  nullify(ydiag_surf_atm%XSUBL_TILE)
220  nullify(ydiag_surf_atm%XTS_TILE)
221  nullify(ydiag_surf_atm%XT2M_TILE)
222  nullify(ydiag_surf_atm%XT2M_MIN_TILE)
223  nullify(ydiag_surf_atm%XT2M_MAX_TILE)
224  nullify(ydiag_surf_atm%XQ2M_TILE)
225  nullify(ydiag_surf_atm%XHU2M_TILE)
226  nullify(ydiag_surf_atm%XHU2M_MIN_TILE)
227  nullify(ydiag_surf_atm%XHU2M_MAX_TILE)
228  nullify(ydiag_surf_atm%XZON10M_TILE)
229  nullify(ydiag_surf_atm%XMER10M_TILE)
230  nullify(ydiag_surf_atm%XWIND10M_TILE)
231  nullify(ydiag_surf_atm%XWIND10M_MAX_TILE)
232  nullify(ydiag_surf_atm%XQS_TILE)
233  nullify(ydiag_surf_atm%XZ0_TILE)
234  nullify(ydiag_surf_atm%XZ0H_TILE)
235  nullify(ydiag_surf_atm%XSWD_TILE)
236  nullify(ydiag_surf_atm%XSWU_TILE)
237  nullify(ydiag_surf_atm%XLWD_TILE)
238  nullify(ydiag_surf_atm%XLWU_TILE)
239  nullify(ydiag_surf_atm%XSWBD_TILE)
240  nullify(ydiag_surf_atm%XSWBU_TILE)
241  nullify(ydiag_surf_atm%XFMU_TILE)
242  nullify(ydiag_surf_atm%XFMV_TILE)
243  nullify(ydiag_surf_atm%XRNC_TILE)
244  nullify(ydiag_surf_atm%XHC_TILE)
245  nullify(ydiag_surf_atm%XLEC_TILE)
246  nullify(ydiag_surf_atm%XLEIC_TILE)
247  nullify(ydiag_surf_atm%XGFLUXC_TILE)
248  nullify(ydiag_surf_atm%XEVAPC_TILE)
249  nullify(ydiag_surf_atm%XSUBLC_TILE)
250  nullify(ydiag_surf_atm%XSWDC_TILE)
251  nullify(ydiag_surf_atm%XSWUC_TILE)
252  nullify(ydiag_surf_atm%XLWDC_TILE)
253  nullify(ydiag_surf_atm%XLWUC_TILE)
254  nullify(ydiag_surf_atm%XFMUC_TILE)
255  nullify(ydiag_surf_atm%XFMVC_TILE)
256  nullify(ydiag_surf_atm%XAVG_RI)
257  nullify(ydiag_surf_atm%XAVG_CD)
258  nullify(ydiag_surf_atm%XAVG_CH)
259  nullify(ydiag_surf_atm%XAVG_CE)
260  nullify(ydiag_surf_atm%XAVG_RN)
261  nullify(ydiag_surf_atm%XAVG_H)
262  nullify(ydiag_surf_atm%XAVG_LE)
263  nullify(ydiag_surf_atm%XAVG_LEI)
264  nullify(ydiag_surf_atm%XAVG_GFLUX)
265  nullify(ydiag_surf_atm%XAVG_EVAP)
266  nullify(ydiag_surf_atm%XAVG_SUBL)
267  nullify(ydiag_surf_atm%XAVG_TS)
268  nullify(ydiag_surf_atm%XAVG_T2M)
269  nullify(ydiag_surf_atm%XAVG_Q2M)
270  nullify(ydiag_surf_atm%XAVG_HU2M)
271  nullify(ydiag_surf_atm%XAVG_ZON10M)
272  nullify(ydiag_surf_atm%XAVG_MER10M)
273  nullify(ydiag_surf_atm%XAVG_SFCO2)
274  nullify(ydiag_surf_atm%XAVG_T2M_MIN_ZS)
275  nullify(ydiag_surf_atm%XAVG_Q2M_MIN_ZS)
276  nullify(ydiag_surf_atm%XAVG_HU2M_MIN_ZS)
277  nullify(ydiag_surf_atm%XPS)
278  nullify(ydiag_surf_atm%XRHOA)
279  nullify(ydiag_surf_atm%XAVG_QS)
280  nullify(ydiag_surf_atm%XAVG_Z0)
281  nullify(ydiag_surf_atm%XAVG_Z0H)
282  nullify(ydiag_surf_atm%XAVG_SWD)
283  nullify(ydiag_surf_atm%XAVG_SWU)
284  nullify(ydiag_surf_atm%XAVG_LWD)
285  nullify(ydiag_surf_atm%XAVG_LWU)
286  nullify(ydiag_surf_atm%XAVG_SWBD)
287  nullify(ydiag_surf_atm%XAVG_SWBU)
288  nullify(ydiag_surf_atm%XAVG_FMU)
289  nullify(ydiag_surf_atm%XAVG_FMV)
290  nullify(ydiag_surf_atm%XSSO_FMU)
291  nullify(ydiag_surf_atm%XSSO_FMV)
292  nullify(ydiag_surf_atm%XDIAG_UREF)
293  nullify(ydiag_surf_atm%XDIAG_ZREF)
294  nullify(ydiag_surf_atm%XDIAG_TRAD)
295  nullify(ydiag_surf_atm%XDIAG_EMIS)
296  nullify(ydiag_surf_atm%XAVG_T2M_MIN)
297  nullify(ydiag_surf_atm%XAVG_T2M_MAX)
298  nullify(ydiag_surf_atm%XAVG_HU2M_MIN)
299  nullify(ydiag_surf_atm%XAVG_HU2M_MAX)
300  nullify(ydiag_surf_atm%XAVG_WIND10M)
301  nullify(ydiag_surf_atm%XAVG_WIND10M_MAX)
302  nullify(ydiag_surf_atm%XAVG_RNC)
303  nullify(ydiag_surf_atm%XAVG_HC)
304  nullify(ydiag_surf_atm%XAVG_LEC)
305  nullify(ydiag_surf_atm%XAVG_LEIC)
306  nullify(ydiag_surf_atm%XAVG_GFLUXC)
307  nullify(ydiag_surf_atm%XAVG_EVAPC)
308  nullify(ydiag_surf_atm%XAVG_SUBLC)
309  nullify(ydiag_surf_atm%XAVG_SWDC)
310  nullify(ydiag_surf_atm%XAVG_SWUC)
311  nullify(ydiag_surf_atm%XAVG_LWDC)
312  nullify(ydiag_surf_atm%XAVG_LWUC)
313  nullify(ydiag_surf_atm%XAVG_FMUC)
314  nullify(ydiag_surf_atm%XAVG_FMVC)
315  nullify(ydiag_surf_atm%CSELECT)
316 ydiag_surf_atm%XDIAG_TSTEP=0.
317 ydiag_surf_atm%N2M=0
318 ydiag_surf_atm%LT2MMW=.false.
319 ydiag_surf_atm%L2M_MIN_ZS=.false.
320 ydiag_surf_atm%LSURF_BUDGET=.false.
321 ydiag_surf_atm%LRAD_BUDGET=.false.
322 ydiag_surf_atm%LCOEF=.false.
323 ydiag_surf_atm%LSURF_VARS=.false.
324 ydiag_surf_atm%LFRAC=.false.
325 ydiag_surf_atm%LDIAG_GRID=.false.
326 ydiag_surf_atm%LSURF_BUDGETC=.false.
327 ydiag_surf_atm%LRESET_BUDGETC=.false.
328 ydiag_surf_atm%LREAD_BUDGETC=.false.
329 ydiag_surf_atm%LPROVAR_TO_DIAG=.false.
330 ydiag_surf_atm%LSELECT=.false.
331 IF (lhook) CALL dr_hook("MODD_DIAG_SURF_ATM_N:DIAG_SURF_ATM_INIT",1,zhook_handle)
332 END SUBROUTINE diag_surf_atm_init
333 
334 
335 END MODULE modd_diag_surf_atm_n
subroutine diag_surf_atm_init(YDIAG_SURF_ATM)