SURFEX v8.1
General documentation of Surfex
pgd_teb_irrig.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 ! #########
6  SUBROUTINE pgd_teb_irrig (DTCO, UG, U, USS, KDIM, TIR, HPROGRAM)
7 ! ##############################################################
8 !
9 !!**** *PGD_TEB_IRRIG* monitor for averaging and interpolations of cover fractions
10 !!
11 !! PURPOSE
12 !! -------
13 !!
14 !! METHOD
15 !! ------
16 !!
17 !
18 !! EXTERNAL
19 !! --------
20 !!
21 !! IMPLICIT ARGUMENTS
22 !! ------------------
23 !!
24 !! REFERENCE
25 !! ---------
26 !!
27 !! AUTHOR
28 !! ------
29 !!
30 !! V. Masson Meteo-France
31 !!
32 !! MODIFICATION
33 !! ------------
34 !!
35 !! Original 05/2013
36 !!
37 !----------------------------------------------------------------------------
38 !
39 !* 0. DECLARATION
40 ! -----------
41 !
42 !
43 !
46 USE modd_surf_atm_n, ONLY : surf_atm_t
47 USE modd_sso_n, ONLY : sso_t
48 USE modd_teb_irrig_n, ONLY : teb_irrig_t
49 !
50 USE modd_surf_par, ONLY : xundef
51 !
52 USE modd_pgdwork, ONLY : catype
53 !
54 USE modi_get_luout
55 USE modi_open_namelist
56 USE modi_close_namelist
58 USE modi_abor1_sfx
59 !
60 USE mode_pos_surf
61 !
62 !
63 USE yomhook ,ONLY : lhook, dr_hook
64 USE parkind1 ,ONLY : jprb
65 !
66 IMPLICIT NONE
67 !
68 !* 0.1 Declaration of arguments
69 ! ------------------------
70 !
71 !
72 TYPE(data_cover_t), INTENT(INOUT) :: DTCO
73 TYPE(surf_atm_grid_t), INTENT(INOUT) :: UG
74 TYPE(surf_atm_t), INTENT(INOUT) :: U
75 TYPE(sso_t), INTENT(INOUT) :: USS
76 INTEGER, INTENT(IN) :: KDIM
77 TYPE(teb_irrig_t), INTENT(INOUT) :: TIR
78 !
79  CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! Type of program
80 !
81 !
82 !* 0.2 Declaration of local variables
83 ! ------------------------------
84 !
85 INTEGER :: ILUOUT ! output listing logical unit
86 INTEGER :: ILUNAM ! namelist file logical unit
87 LOGICAL :: GFOUND ! true if namelist is found
88 LOGICAL :: GNO_PAR_GD_IRRIG ! flag if no irrigation is prescribed for gardens
89 LOGICAL :: GNO_PAR_GR_IRRIG ! flag if no irrigation is prescribed for greenroofs
90 LOGICAL :: GNO_PAR_RD_IRRIG ! flag if no irrigation is prescribed for roads
91 !
92 !* 0.3 Declaration of namelists
93 ! ------------------------
94 !
95 !
96 !
97 ! uniform value
98 !
99 REAL :: XUNIF_GD_START_MONTH ! start month for irrigation for gardens
100 REAL :: XUNIF_GD_END_MONTH ! end month for irrigation for gardens
101 REAL :: XUNIF_GD_START_HOUR ! start solar hour for irrigation for gardens
102 REAL :: XUNIF_GD_END_HOUR ! end solar hour for irrigation for gardens
103 REAL :: XUNIF_GD_24H_IRRIG ! total irrigation over 24h for gardens (kg/m2)
104 REAL :: XUNIF_GR_START_MONTH ! start month for irrigation for greenroofs
105 REAL :: XUNIF_GR_END_MONTH ! end month for irrigation for greenroofs
106 REAL :: XUNIF_GR_START_HOUR ! start solar hour for irrigation for greenroofs
107 REAL :: XUNIF_GR_END_HOUR ! end solar hour for irrigation for greenroofs
108 REAL :: XUNIF_GR_24H_IRRIG ! total irrigation over 24h for greenroofs (kg/m2)
109 REAL :: XUNIF_RD_START_MONTH ! start month for irrigation for roads
110 REAL :: XUNIF_RD_END_MONTH ! end month for irrigation for roads
111 REAL :: XUNIF_RD_START_HOUR ! start solar hour for irrigation for roads
112 REAL :: XUNIF_RD_END_HOUR ! end solar hour for irrigation for roads
113 REAL :: XUNIF_RD_24H_IRRIG ! total irrigation over 24h for roads (kg/m2)
114 !
115 ! name of files containing data
116 !
117  CHARACTER(LEN=28) :: CFNAM_GD_START_MONTH
118  CHARACTER(LEN=28) :: CFNAM_GD_END_MONTH
119  CHARACTER(LEN=28) :: CFNAM_GD_START_HOUR
120  CHARACTER(LEN=28) :: CFNAM_GD_END_HOUR
121  CHARACTER(LEN=28) :: CFNAM_GD_24H_IRRIG
122  CHARACTER(LEN=28) :: CFNAM_GR_START_MONTH
123  CHARACTER(LEN=28) :: CFNAM_GR_END_MONTH
124  CHARACTER(LEN=28) :: CFNAM_GR_START_HOUR
125  CHARACTER(LEN=28) :: CFNAM_GR_END_HOUR
126  CHARACTER(LEN=28) :: CFNAM_GR_24H_IRRIG
127  CHARACTER(LEN=28) :: CFNAM_RD_START_MONTH
128  CHARACTER(LEN=28) :: CFNAM_RD_END_MONTH
129  CHARACTER(LEN=28) :: CFNAM_RD_START_HOUR
130  CHARACTER(LEN=28) :: CFNAM_RD_END_HOUR
131  CHARACTER(LEN=28) :: CFNAM_RD_24H_IRRIG
132 !
133 ! type of files containing data
134 !
135  CHARACTER(LEN=28) :: CFTYP_GD_START_MONTH
136  CHARACTER(LEN=28) :: CFTYP_GD_END_MONTH
137  CHARACTER(LEN=28) :: CFTYP_GD_START_HOUR
138  CHARACTER(LEN=28) :: CFTYP_GD_END_HOUR
139  CHARACTER(LEN=28) :: CFTYP_GD_24H_IRRIG
140  CHARACTER(LEN=28) :: CFTYP_GR_START_MONTH
141  CHARACTER(LEN=28) :: CFTYP_GR_END_MONTH
142  CHARACTER(LEN=28) :: CFTYP_GR_START_HOUR
143  CHARACTER(LEN=28) :: CFTYP_GR_END_HOUR
144  CHARACTER(LEN=28) :: CFTYP_GR_24H_IRRIG
145  CHARACTER(LEN=28) :: CFTYP_RD_START_MONTH
146  CHARACTER(LEN=28) :: CFTYP_RD_END_MONTH
147  CHARACTER(LEN=28) :: CFTYP_RD_START_HOUR
148  CHARACTER(LEN=28) :: CFTYP_RD_END_HOUR
149  CHARACTER(LEN=28) :: CFTYP_RD_24H_IRRIG
150 !
151 REAL(KIND=JPRB) :: ZHOOK_HANDLE
152 !
153 NAMELIST/nam_data_teb_irrig / xunif_gd_start_month, &
154  xunif_gd_end_month, &
155  xunif_gd_start_hour, &
156  xunif_gd_end_hour, &
157  xunif_gd_24h_irrig, &
158  xunif_gr_start_month, &
159  xunif_gr_end_month, &
160  xunif_gr_start_hour, &
161  xunif_gr_end_hour, &
162  xunif_gr_24h_irrig, &
163  xunif_rd_start_month, &
164  xunif_rd_end_month, &
165  xunif_rd_start_hour, &
166  xunif_rd_end_hour, &
167  xunif_rd_24h_irrig, &
168  cfnam_gd_start_month, &
169  cfnam_gd_end_month , &
170  cfnam_gd_start_hour, &
171  cfnam_gd_end_hour, &
172  cfnam_gd_24h_irrig, &
173  cfnam_gr_start_month, &
174  cfnam_gr_end_month , &
175  cfnam_gr_start_hour, &
176  cfnam_gr_end_hour, &
177  cfnam_gr_24h_irrig, &
178  cfnam_rd_start_month, &
179  cfnam_rd_end_month , &
180  cfnam_rd_start_hour, &
181  cfnam_rd_end_hour, &
182  cfnam_rd_24h_irrig, &
183  cftyp_gd_start_month, &
184  cftyp_gd_end_month, &
185  cftyp_gd_start_hour, &
186  cftyp_gd_end_hour, &
187  cftyp_gd_24h_irrig, &
188  cftyp_gr_start_month, &
189  cftyp_gr_end_month, &
190  cftyp_gr_start_hour, &
191  cftyp_gr_end_hour, &
192  cftyp_gr_24h_irrig, &
193  cftyp_rd_start_month, &
194  cftyp_rd_end_month, &
195  cftyp_rd_start_hour, &
196  cftyp_rd_end_hour, &
197  cftyp_rd_24h_irrig
198 
199 !-------------------------------------------------------------------------------
200 !
201 !* 1. Initializations
202 ! ---------------
203 !
204 IF (lhook) CALL dr_hook('PGD_TEB_IRRIG',0,zhook_handle)
205 !
206 !
207 xunif_gd_start_month= xundef
208 xunif_gd_end_month = xundef
209 xunif_gd_start_hour = xundef
210 xunif_gd_end_hour = xundef
211 xunif_gd_24h_irrig = xundef
212 xunif_gr_start_month= xundef
213 xunif_gr_end_month = xundef
214 xunif_gr_start_hour = xundef
215 xunif_gr_end_hour = xundef
216 xunif_gr_24h_irrig = xundef
217 xunif_rd_start_month= xundef
218 xunif_rd_end_month = xundef
219 xunif_rd_start_hour = xundef
220 xunif_rd_end_hour = xundef
221 xunif_rd_24h_irrig = xundef
222 !
223 CFNAM_GD_START_MONTH = ' '
224 CFNAM_GD_END_MONTH = ' '
225 CFNAM_GD_START_HOUR = ' '
226 CFNAM_GD_END_HOUR = ' '
227 CFNAM_GD_24H_IRRIG = ' '
228 CFNAM_GR_START_MONTH = ' '
229 CFNAM_GR_END_MONTH = ' '
230 CFNAM_GR_START_HOUR = ' '
231 CFNAM_GR_END_HOUR = ' '
232 CFNAM_GR_24H_IRRIG = ' '
233 CFNAM_RD_START_MONTH = ' '
234 CFNAM_RD_END_MONTH = ' '
235 CFNAM_RD_START_HOUR = ' '
236 CFNAM_RD_END_HOUR = ' '
237 CFNAM_RD_24H_IRRIG = ' '
238 !
239 CFTYP_GD_START_MONTH = ' '
240 CFTYP_GD_END_MONTH = ' '
241 CFTYP_GD_START_HOUR = ' '
242 CFTYP_GD_END_HOUR = ' '
243 CFTYP_GD_24H_IRRIG = ' '
244 CFTYP_GR_START_MONTH = ' '
245 CFTYP_GR_END_MONTH = ' '
246 CFTYP_GR_START_HOUR = ' '
247 CFTYP_GR_END_HOUR = ' '
248 CFTYP_GR_24H_IRRIG = ' '
249 CFTYP_RD_START_MONTH = ' '
250 CFTYP_RD_END_MONTH = ' '
251 CFTYP_RD_START_HOUR = ' '
252 CFTYP_RD_END_HOUR = ' '
253 CFTYP_RD_24H_IRRIG = ' '
254 !-------------------------------------------------------------------------------
255 !
256 !* 2. Input file for cover types
257 ! --------------------------
258 !
259  CALL get_luout(hprogram,iluout)
260  CALL open_namelist(hprogram,ilunam)
261 !
262  CALL posnam(ilunam,'NAM_DATA_TEB_IRRIG',gfound,iluout)
263 IF (gfound) READ(unit=ilunam,nml=nam_data_teb_irrig)
264 !
265  CALL close_namelist(hprogram,ilunam)
266 !
267 !-------------------------------------------------------------------------------
268 !
269 !* 3. Coherence check for gardens
270 ! ---------------------------
271 !
272 tir%LPAR_GD_IRRIG = (xunif_gd_start_month /= xundef .OR. len_trim(cfnam_gd_start_month) >0 )&
273  .AND. (xunif_gd_end_month /= xundef .OR. len_trim(cfnam_gd_end_month ) >0 )&
274  .AND. (xunif_gd_start_hour /= xundef .OR. len_trim(cfnam_gd_start_hour ) >0 )&
275  .AND. (xunif_gd_end_hour /= xundef .OR. len_trim(cfnam_gd_end_hour ) >0 )&
276  .AND. (xunif_gd_24h_irrig /= xundef .OR. len_trim(cfnam_gd_24h_irrig ) >0 )
277 
278 gno_par_gd_irrig = (xunif_gd_start_month == xundef .AND. len_trim(cfnam_gd_start_month)==0 )&
279  .AND. (xunif_gd_end_month == xundef .AND. len_trim(cfnam_gd_end_month )==0 )&
280  .AND. (xunif_gd_start_hour == xundef .AND. len_trim(cfnam_gd_start_hour )==0 )&
281  .AND. (xunif_gd_end_hour == xundef .AND. len_trim(cfnam_gd_end_hour )==0 )&
282  .AND. (xunif_gd_24h_irrig == xundef .AND. len_trim(cfnam_gd_24h_irrig )==0 )
283 
284 IF ( .NOT. tir%LPAR_GD_IRRIG .AND. .NOT. gno_par_gd_irrig) THEN
285  WRITE(iluout,*) ' Error for prescription of irrigation in gardens '
286  WRITE(iluout,*) ' You need to specify the five parameters ... or none. '
287  CALL abor1_sfx( 'Namelist NAM_DATA_TEB_IRRIG: you need to specify ALL of parameters for GARDEN or NONE of them')
288 END IF
289 !
290 !-------------------------------------------------------------------------------
291 IF (tir%LPAR_GD_IRRIG) THEN
292 !
293 ALLOCATE(tir%XGD_START_MONTH (kdim ))
294 ALLOCATE(tir%XGD_END_MONTH (kdim ))
295 ALLOCATE(tir%XGD_START_HOUR (kdim ))
296 ALLOCATE(tir%XGD_END_HOUR (kdim ))
297 ALLOCATE(tir%XGD_24H_IRRIG (kdim ))
298 !
299 !-------------------------------------------------------------------------------
300 !
301 !* 4. Fields are prescribed for gardens
302 ! ---------------------------------
303 !
304 CATYPE = 'MAJ'
305 !
306  CALL pgd_field(dtco, ug, u, uss, &
307  hprogram,'GD_START_MONTH : start month for irrigation of gardens','TWN',cfnam_gd_start_month, &
308  cftyp_gd_start_month,xunif_gd_start_month,tir%XGD_START_MONTH(:))
309  CALL pgd_field(dtco, ug, u, uss, &
310  hprogram,'GD_END_MONTH : end month for irrigation of gardens','TWN',cfnam_gd_end_month, &
311  cftyp_gd_end_month ,xunif_gd_end_month ,tir%XGD_END_MONTH (:))
312  CALL pgd_field(dtco, ug, u, uss, &
313  hprogram,'GD_START_HOUR : start HOUR for irrigation of gardens','TWN',cfnam_gd_start_hour , &
314  cftyp_gd_start_hour ,xunif_gd_start_hour ,tir%XGD_START_HOUR (:))
315  CALL pgd_field(dtco, ug, u, uss, &
316  hprogram,'GD_END_HOUR : end HOUR for irrigation of gardens','TWN',cfnam_gd_end_hour , &
317  cftyp_gd_end_hour ,xunif_gd_end_hour ,tir%XGD_END_HOUR (:))
318 CATYPE = 'ARI'
319  CALL pgd_field(dtco, ug, u, uss, &
320  hprogram,'GD_24H_IRRIG : total irrigation over 24h for gardens','TWN',cfnam_gd_24h_irrig , &
321  cftyp_gd_24h_irrig ,xunif_gd_24h_irrig ,tir%XGD_24H_IRRIG (:))
322 !
323 !
324 END IF
325 !-------------------------------------------------------------------------------
326 !
327 !* 5. Coherence check for greenroofs
328 ! ------------------------------
329 !
330 tir%LPAR_GR_IRRIG = (xunif_gr_start_month /= xundef .OR. len_trim(cfnam_gr_start_month) >0 )&
331  .AND. (xunif_gr_end_month /= xundef .OR. len_trim(cfnam_gr_end_month ) >0 )&
332  .AND. (xunif_gr_start_hour /= xundef .OR. len_trim(cfnam_gr_start_hour ) >0 )&
333  .AND. (xunif_gr_end_hour /= xundef .OR. len_trim(cfnam_gr_end_hour ) >0 )&
334  .AND. (xunif_gr_24h_irrig /= xundef .OR. len_trim(cfnam_gr_24h_irrig ) >0 )
335 
336 gno_par_gr_irrig = (xunif_gr_start_month == xundef .AND. len_trim(cfnam_gr_start_month)==0 )&
337  .AND. (xunif_gr_end_month == xundef .AND. len_trim(cfnam_gr_end_month )==0 )&
338  .AND. (xunif_gr_start_hour == xundef .AND. len_trim(cfnam_gr_start_hour )==0 )&
339  .AND. (xunif_gr_end_hour == xundef .AND. len_trim(cfnam_gr_end_hour )==0 )&
340  .AND. (xunif_gr_24h_irrig == xundef .AND. len_trim(cfnam_gr_24h_irrig )==0 )
341 
342 IF ( .NOT. tir%LPAR_GR_IRRIG .AND. .NOT. gno_par_gr_irrig) THEN
343  WRITE(iluout,*) ' Error for prescription of irrigation in greenroofs '
344  WRITE(iluout,*) ' You need to specify the five parameters ... or none. '
345  CALL abor1_sfx( 'Namelist NAM_DATA_TEB_IRRIG: you need to specify ALL of parameters for GREENROOFS or NONE of them')
346 END IF
347 !
348 !-------------------------------------------------------------------------------
349 IF (tir%LPAR_GR_IRRIG) THEN
350 !
351 ALLOCATE(tir%XGR_START_MONTH (kdim ))
352 ALLOCATE(tir%XGR_END_MONTH (kdim ))
353 ALLOCATE(tir%XGR_START_HOUR (kdim ))
354 ALLOCATE(tir%XGR_END_HOUR (kdim ))
355 ALLOCATE(tir%XGR_24H_IRRIG (kdim ))
356 !
357 !-------------------------------------------------------------------------------
358 !
359 !* 6. fields are prescribed for greenroofs
360 ! ------------------------------------
361 !
362 CATYPE = 'MAJ'
363 !
364  CALL pgd_field(dtco, ug, u, uss, &
365  hprogram,'GR_START_MONTH : start month for irrigation of greenroofs','TWN',cfnam_gr_start_month, &
366  cftyp_gr_start_month,xunif_gr_start_month,tir%XGR_START_MONTH(:))
367  CALL pgd_field(dtco, ug, u, uss, &
368  hprogram,'GR_END_MONTH : end month for irrigation of greenroofs','TWN',cfnam_gr_end_month, &
369  cftyp_gr_end_month ,xunif_gr_end_month ,tir%XGR_END_MONTH (:))
370  CALL pgd_field(dtco, ug, u, uss, &
371  hprogram,'GR_START_HOUR : start HOUR for irrigation of greenroofs','TWN',cfnam_gr_start_hour , &
372  cftyp_gr_start_hour ,xunif_gr_start_hour ,tir%XGR_START_HOUR (:))
373  CALL pgd_field(dtco, ug, u, uss, &
374  hprogram,'GR_END_HOUR : end HOUR for irrigation of greenroofs','TWN',cfnam_gr_end_hour , &
375  cftyp_gr_end_hour ,xunif_gr_end_hour ,tir%XGR_END_HOUR (:))
376 CATYPE = 'ARI'
377  CALL pgd_field(dtco, ug, u, uss, &
378  hprogram,'GR_24H_IRRIG : total irrigation over 24h for greenroofs','TWN',cfnam_gr_24h_irrig , &
379  cftyp_gr_24h_irrig ,xunif_gr_24h_irrig ,tir%XGR_24H_IRRIG (:))
380 !
381 END IF
382 !-------------------------------------------------------------------------------
383 !
384 !* 7. Coherence check for roads
385 ! -------------------------
386 !
387 tir%LPAR_RD_IRRIG = (xunif_rd_start_month /= xundef .OR. len_trim(cfnam_rd_start_month) >0 )&
388  .AND. (xunif_rd_end_month /= xundef .OR. len_trim(cfnam_rd_end_month ) >0 )&
389  .AND. (xunif_rd_start_hour /= xundef .OR. len_trim(cfnam_rd_start_hour ) >0 )&
390  .AND. (xunif_rd_end_hour /= xundef .OR. len_trim(cfnam_rd_end_hour ) >0 )&
391  .AND. (xunif_rd_24h_irrig /= xundef .OR. len_trim(cfnam_rd_24h_irrig ) >0 )
392 
393 gno_par_rd_irrig = (xunif_rd_start_month == xundef .AND. len_trim(cfnam_rd_start_month)==0 )&
394  .AND. (xunif_rd_end_month == xundef .AND. len_trim(cfnam_rd_end_month )==0 )&
395  .AND. (xunif_rd_start_hour == xundef .AND. len_trim(cfnam_rd_start_hour )==0 )&
396  .AND. (xunif_rd_end_hour == xundef .AND. len_trim(cfnam_rd_end_hour )==0 )&
397  .AND. (xunif_rd_24h_irrig == xundef .AND. len_trim(cfnam_rd_24h_irrig )==0 )
398 
399 IF ( .NOT. tir%LPAR_RD_IRRIG .AND. .NOT. gno_par_rd_irrig) THEN
400  WRITE(iluout,*) ' Error for prescription of irrigation on roads '
401  WRITE(iluout,*) ' You need to specify the five parameters ... or none. '
402  CALL abor1_sfx( 'Namelist NAM_DATA_TEB_IRRIG: you need to specify ALL of parameters for ROADS or NONE of them')
403 END IF
404 !
405 !-------------------------------------------------------------------------------
406 IF (tir%LPAR_RD_IRRIG) THEN
407 !
408 ALLOCATE(tir%XRD_START_MONTH (kdim ))
409 ALLOCATE(tir%XRD_END_MONTH (kdim ))
410 ALLOCATE(tir%XRD_START_HOUR (kdim ))
411 ALLOCATE(tir%XRD_END_HOUR (kdim ))
412 ALLOCATE(tir%XRD_24H_IRRIG (kdim ))
413 !
414 !-------------------------------------------------------------------------------
415 !
416 !* 8. fields are prescribed for roads
417 ! -------------------------------
418 !
419 CATYPE = 'MAJ'
420 !
421  CALL pgd_field(dtco, ug, u, uss, &
422  hprogram,'RD_START_MONTH : start month for irrigation of roads','TWN',cfnam_rd_start_month, &
423  cftyp_rd_start_month,xunif_rd_start_month,tir%XRD_START_MONTH(:))
424  CALL pgd_field(dtco, ug, u, uss, &
425  hprogram,'RD_END_MONTH : end month for irrigation of roads','TWN',cfnam_rd_end_month, &
426  cftyp_rd_end_month ,xunif_rd_end_month ,tir%XRD_END_MONTH (:))
427  CALL pgd_field(dtco, ug, u, uss, &
428  hprogram,'RD_START_HOUR : start HOUR for irrigation of roads','TWN',cfnam_rd_start_hour , &
429  cftyp_rd_start_hour ,xunif_rd_start_hour ,tir%XRD_START_HOUR (:))
430  CALL pgd_field(dtco, ug, u, uss, &
431  hprogram,'RD_END_HOUR : end HOUR for irrigation of roads','TWN',cfnam_rd_end_hour , &
432  cftyp_rd_end_hour ,xunif_rd_end_hour ,tir%XRD_END_HOUR (:))
433 CATYPE = 'ARI'
434  CALL pgd_field(dtco, ug, u, uss, &
435  hprogram,'RD_24H_IRRIG : total irrigation over 24h for roads','TWN',cfnam_rd_24h_irrig , &
436  cftyp_rd_24h_irrig ,xunif_rd_24h_irrig ,tir%XRD_24H_IRRIG (:))
437 !
438 END IF
439 !
440 !-------------------------------------------------------------------------------
441 !
442 IF (lhook) CALL dr_hook('PGD_TEB_IRRIG',1,zhook_handle)
443 !
444 !-------------------------------------------------------------------------------
445 !
446 END SUBROUTINE pgd_teb_irrig
character(len=3) catype
subroutine posnam(KULNAM, HDNAML, OFOUND, KLUOUT)
subroutine abor1_sfx(YTEXT)
Definition: abor1_sfx.F90:7
real, parameter xundef
integer, parameter jprb
Definition: parkind1.F90:32
subroutine close_namelist(HPROGRAM, KLUNAM)
subroutine pgd_teb_irrig(DTCO, UG, U, USS, KDIM, TIR, HPROGRAM)
subroutine get_luout(HPROGRAM, KLUOUT)
Definition: get_luout.F90:7
logical lhook
Definition: yomhook.F90:15
subroutine open_namelist(HPROGRAM, KLUNAM, HFILE)