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