SURFEX v8.1
General documentation of Surfex
mode_write_surf_bin.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 ! ######spl
7 !
8 INTERFACE write_surf0_bin
9  MODULE PROCEDURE write_surfx0_bin
10  MODULE PROCEDURE write_surfn0_bin
11  MODULE PROCEDURE write_surfl0_bin
12  MODULE PROCEDURE write_surfc0_bin
13 END INTERFACE
14 INTERFACE write_surfx_bin
15  MODULE PROCEDURE write_surfx1_bin
16  MODULE PROCEDURE write_surfx2_bin
17 END INTERFACE
18 INTERFACE write_surfn_bin
19  MODULE PROCEDURE write_surfn1_bin
20  MODULE PROCEDURE write_surfl1_bin
21 END INTERFACE
22 INTERFACE write_surft_bin
23  MODULE PROCEDURE write_surft0_bin
24  MODULE PROCEDURE write_surft2_bin
25 END INTERFACE
26 !
27 CONTAINS
28 !
29 ! #############################################################
30  SUBROUTINE write_surfx0_bin(HREC,PFIELD,KRESP,HCOMMENT)
31 ! #############################################################
32 !
33 !!**** * - routine to write a real scalar
34 !
35 USE modi_error_write_surf_bin
36 !
37 USE yomhook ,ONLY : lhook, dr_hook
38 USE parkind1 ,ONLY : jprb
39 !
40 IMPLICIT NONE
41 !
42 !* 0.1 Declarations of arguments
43 !
44  CHARACTER(LEN=12), INTENT(IN) :: HREC ! name of the article to be read
45 REAL, INTENT(IN) :: PFIELD ! the real scalar to be read
46 INTEGER, INTENT(OUT):: KRESP ! KRESP : return-code if a problem appears
47  CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! comment string
48 !
49 !* 0.2 Declarations of local variables
50 !
51 REAL(KIND=JPRB) :: ZHOOK_HANDLE
52 !
53 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFX0_BIN',0,zhook_handle)
54 !
55 kresp=0
56 !
57 !plm WRITE(NUNIT,FMT=*,ERR=100) '&'//CMASK//' '//HREC
58 !plm WRITE(NUNIT,FMT='(A50)',ERR=100) HCOMMENT(1:50)
59 !plm WRITE(NUNIT,FMT=*,ERR=100) PFIELD
60 
61 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFX0_BIN',1,zhook_handle)
62 RETURN
63 !
64 100 CONTINUE
65  CALL error_write_surf_bin(hrec,kresp)
66 !
67 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFX0_BIN',1,zhook_handle)
68 !
69 END SUBROUTINE write_surfx0_bin
70 !
71 ! #############################################################
72  SUBROUTINE write_surfn0_bin(HREC,KFIELD,KRESP,HCOMMENT)
73 ! #############################################################
74 !
75 !!**** * - routine to write an integer
76 !
77 USE modi_error_write_surf_bin
78 !
79 USE yomhook ,ONLY : lhook, dr_hook
80 USE parkind1 ,ONLY : jprb
81 !
82 IMPLICIT NONE
83 !
84 !* 0.1 Declarations of arguments
85 !
86  CHARACTER(LEN=12), INTENT(IN) :: HREC ! name of the article to be read
87 INTEGER, INTENT(IN) :: KFIELD ! the integer to be read
88 INTEGER, INTENT(OUT):: KRESP ! KRESP : return-code if a problem appears
89  CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! comment string
90 !
91 !* 0.2 Declarations of local variables
92 !
93 REAL(KIND=JPRB) :: ZHOOK_HANDLE
94 !
95 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFN0_BIN',0,zhook_handle)
96 !
97 kresp=0
98 !
99 !plm WRITE(NUNIT,FMT=*,ERR=100) '&'//CMASK//' '//HREC
100 !plm WRITE(NUNIT,FMT='(A50)',ERR=100) HCOMMENT(1:50)
101 !plm WRITE(NUNIT,FMT=*,ERR=100) KFIELD
102 !
103 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFN0_BIN',1,zhook_handle)
104 RETURN
105 !
106 100 CONTINUE
107  CALL error_write_surf_bin(hrec,kresp)
108 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFN0_BIN',1,zhook_handle)
109 !
110 END SUBROUTINE write_surfn0_bin
111 !
112 ! #############################################################
113  SUBROUTINE write_surfl0_bin(HREC,OFIELD,KRESP,HCOMMENT)
114 ! #############################################################
115 !
116 !!**** * - routine to write a logical
117 !
118 USE modi_error_write_surf_bin
119 !
120 USE yomhook ,ONLY : lhook, dr_hook
121 USE parkind1 ,ONLY : jprb
122 !
123 IMPLICIT NONE
124 !
125 !* 0.1 Declarations of arguments
126 !
127  CHARACTER(LEN=12), INTENT(IN) :: HREC ! name of the article to be read
128 LOGICAL, INTENT(IN) :: OFIELD ! array containing the data field
129 INTEGER, INTENT(OUT):: KRESP ! KRESP : return-code if a problem appears
130  CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! comment string
131 !
132 !* 0.2 Declarations of local variables
133 !
134 REAL(KIND=JPRB) :: ZHOOK_HANDLE
135 !
136 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFL0_BIN',0,zhook_handle)
137 !
138 kresp=0
139 !
140 !plm WRITE(NUNIT,FMT=*,ERR=100) '&'//CMASK//' '//HREC
141 !plm WRITE(NUNIT,FMT='(A50)',ERR=100) HCOMMENT(1:50)
142 !plm WRITE(NUNIT,FMT=*,ERR=100) OFIELD
143 
144 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFL0_BIN',1,zhook_handle)
145 RETURN
146 !
147 100 CONTINUE
148  CALL error_write_surf_bin(hrec,kresp)
149 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFL0_BIN',1,zhook_handle)
150 !
151 END SUBROUTINE write_surfl0_bin
152 !
153 ! #############################################################
154  SUBROUTINE write_surfc0_bin(HREC,HFIELD,KRESP,HCOMMENT)
155 ! #############################################################
156 !
157 !!**** * - routine to write a character
158 !
159 USE modi_error_write_surf_bin
160 !
161 USE yomhook ,ONLY : lhook, dr_hook
162 USE parkind1 ,ONLY : jprb
163 !
164 IMPLICIT NONE
165 !
166 !* 0.1 Declarations of arguments
167 !
168  CHARACTER(LEN=12), INTENT(IN) :: HREC ! name of the article to be read
169  CHARACTER(LEN=40), INTENT(IN) :: HFIELD ! the integer to be read
170 INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem appears
171  CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! comment string
172 !
173 !* 0.2 Declarations of local variables
174 !
175 REAL(KIND=JPRB) :: ZHOOK_HANDLE
176 !
177 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFC0_BIN',0,zhook_handle)
178 !
179 kresp=0
180 !
181 !plm WRITE(NUNIT,FMT=*,ERR=100) '&'//CMASK//' '//HREC
182 !plm WRITE(NUNIT,FMT='(A50)',ERR=100) HCOMMENT(1:50)
183 !plm WRITE(NUNIT,FMT='(A40)',ERR=100) HFIELD
184 
185 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFC0_BIN',1,zhook_handle)
186 RETURN
187 !
188 100 CONTINUE
189  CALL error_write_surf_bin(hrec,kresp)
190 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFC0_BIN',1,zhook_handle)
191 !
192 END SUBROUTINE write_surfc0_bin
193 !
194 ! #############################################################
195  SUBROUTINE write_surfx1_bin (HSELECT, HREC,PFIELD,KRESP,HCOMMENT,HDIR)
196 ! #############################################################
197 !
198 !!**** * - routine to fill a write 1D array for the externalised surface
199 !
200 !
201 !
202 !
203 !
205 !
206 USE modd_io_surf_bin, ONLY : nmask, nfull, cmask
207 USE modd_write_bin, ONLY : cvar, nvar, nind, nwrite
208 !
209 USE modi_error_write_surf_bin
211 USE modi_init_write_bin
212 !
213 USE yomhook ,ONLY : lhook, dr_hook
214 USE parkind1 ,ONLY : jprb
215 !
216 IMPLICIT NONE
217 !
218 #ifdef SFX_MPI
219 include "mpif.h"
220 #endif
221 !
222 !* 0.1 Declarations of arguments
223 !
224 !
225  CHARACTER(LEN=*), DIMENSION(:), INTENT(IN) :: HSELECT
226 !
227  CHARACTER(LEN=12), INTENT(IN) :: HREC ! name of the article to be read
228 REAL, DIMENSION(:), INTENT(IN) :: PFIELD ! array containing the data field
229 INTEGER, INTENT(OUT):: KRESP ! KRESP : return-code if a problem appears
230  CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! comment string
231  CHARACTER(LEN=1), INTENT(IN) :: HDIR ! type of field :
232  ! 'H' : field with
233  ! horizontal spatial dim.
234  ! '-' : no horizontal dim.
235 !* 0.2 Declarations of local variables
236 !
237 LOGICAL :: LWFL=.false.
238 REAL(KIND=4), DIMENSION(MAX(NFULL,SIZE(PFIELD))) :: ZWORK ! work array read in the file
239 DOUBLE PRECISION :: XTIME0
240 REAL(KIND=JPRB) :: ZHOOK_HANDLE
241 !
242 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFX1_BIN',0,zhook_handle)
243 !
244 kresp=0
245 !
246  CALL gather_and_write_mpi(pfield,zwork,nmask)
247 !
248 IF (nrank==npio) THEN
249  !
250 #ifdef SFX_MPI
251  xtime0 = mpi_wtime()
252 #endif
253  !
254  CALL init_write_bin(hselect, nfull, hrec,1,lwfl)
255  !
256  IF (lwfl) THEN
257  WRITE(nind,rec=nwrite,iostat=kresp) zwork
258  ENDIF
259  !
260  IF (kresp/=0) CALL error_write_surf_bin(hrec,kresp)
261  !
262 #ifdef SFX_MPI
263  xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
264 #endif
265  !
266 ENDIF
267 !
268 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFX1_BIN',1,zhook_handle)
269 !
270 END SUBROUTINE write_surfx1_bin
271 !
272 ! #############################################################
273  SUBROUTINE write_surfx2_bin (HSELECT, HREC,PFIELD,KRESP,HCOMMENT,HDIR)
274 ! #############################################################
275 !
276 !!**** * - routine to fill a write 2D array for the externalised surface
277 !
278 !
279 !
280 !
282 !
283 USE modd_io_surf_bin, ONLY : nmask, nfull
284 USE modd_write_bin, ONLY : cvar, nvar, nind, nwrite
285 !
286 USE modi_error_write_surf_bin
288 USE modi_init_write_bin
289 !
290 USE yomhook ,ONLY : lhook, dr_hook
291 USE parkind1 ,ONLY : jprb
292 !
293 IMPLICIT NONE
294 !
295 #ifdef SFX_MPI
296 include "mpif.h"
297 #endif
298 !
299 !* 0.1 Declarations of arguments
300 !
301 !
302  CHARACTER(LEN=*), DIMENSION(:), INTENT(IN) :: HSELECT
303 !
304  CHARACTER(LEN=12), INTENT(IN) :: HREC ! name of the article to be read
305 REAL, DIMENSION(:,:), INTENT(IN) :: PFIELD ! array containing the data field
306 INTEGER, INTENT(OUT):: KRESP ! KRESP : return-code if a problem appears
307  CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! comment string
308  CHARACTER(LEN=1), INTENT(IN) :: HDIR ! type of field :
309  ! 'H' : field with
310  ! horizontal spatial dim.
311  ! '-' : no horizontal dim.
312 !* 0.2 Declarations of local variables
313 !
314 LOGICAL :: LWFL=.false.
315 REAL(KIND=4), DIMENSION(MAX(NFULL,SIZE(PFIELD,1)),SIZE(PFIELD,2)) :: ZWORK ! work array read in the file
316 DOUBLE PRECISION :: XTIME0
317 REAL(KIND=JPRB) :: ZHOOK_HANDLE
318 !
319 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFX2_BIN',0,zhook_handle)
320 !
321 kresp=0
322 !
323  CALL gather_and_write_mpi(pfield,zwork,nmask)
324 !
325 IF (nrank==npio) THEN
326  !
327 #ifdef SFX_MPI
328  xtime0 = mpi_wtime()
329 #endif
330  !
331  CALL init_write_bin(hselect, nfull, hrec,SIZE(pfield,2),lwfl)
332  !
333  IF (lwfl) THEN
334  WRITE(nind,rec=nwrite,iostat=kresp) zwork
335  ENDIF
336  !
337  IF (kresp/=0) CALL error_write_surf_bin(hrec,kresp)
338  !
339 #ifdef SFX_MPI
340  xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
341 #endif
342  !
343 ENDIF
344 !
345 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFX2_BIN',1,zhook_handle)
346 !
347 END SUBROUTINE write_surfx2_bin
348 !
349 ! #############################################################
350  SUBROUTINE write_surfn1_bin(HREC,KFIELD,KRESP,HCOMMENT,HDIR)
351 ! #############################################################
352 !
353 !!**** * - routine to write an integer array
354 !
355 USE modi_error_write_surf_bin
356 !
357 USE yomhook ,ONLY : lhook, dr_hook
358 USE parkind1 ,ONLY : jprb
359 !
360 IMPLICIT NONE
361 !
362 !* 0.1 Declarations of arguments
363 !
364  CHARACTER(LEN=12), INTENT(IN) :: HREC ! name of the article to be read
365 INTEGER, DIMENSION(:), INTENT(IN) :: KFIELD ! the integer to be read
366 INTEGER, INTENT(OUT):: KRESP ! KRESP : return-code if a problem appears
367  CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! comment string
368  CHARACTER(LEN=1), INTENT(IN) :: HDIR ! type of field :
369  ! 'H' : field with
370  ! horizontal spatial dim.
371  ! '-' : no horizontal dim.
372 !* 0.2 Declarations of local variables
373 !
374 !INTEGER, DIMENSION(NFULL) :: IWORK ! work array read in the file
375 REAL(KIND=JPRB) :: ZHOOK_HANDLE
376 !
377 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFN1_BIN',0,zhook_handle)
378 !
379 kresp = 0
380 !
381 !plm IF (HREC(1:8)=="EMISTIME") THEN
382  !plm WRITE(NUNIT,FMT=*,ERR=100) '&'//CMASK//' '//HREC
383  !plm WRITE(NUNIT,FMT='(A50)',ERR=100) HCOMMENT(1:50)
384  !plm WRITE(NUNIT,FMT='(100I8)',ERR=100) KFIELD
385 
386 !plm ELSE
387  !plm CALL UNPACK_SAME_RANK(NMASK,KFIELD,IWORK(:))
388 
389  !plm WRITE(NUNIT,FMT=*,ERR=100) '&'//CMASK//' '//HREC
390  !plm WRITE(NUNIT,FMT='(A50)',ERR=100) HCOMMENT(1:50)
391  !plm WRITE(NUNIT,FMT='(100I8)',ERR=100) IWORK
392  !
393 !plm ENDIF
394 !
395 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFN1_BIN',1,zhook_handle)
396 RETURN
397 !
398 100 CONTINUE
399  CALL error_write_surf_bin(hrec,kresp)
400 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFN1_BIN',1,zhook_handle)
401 !
402 END SUBROUTINE write_surfn1_bin
403 !
404 ! #############################################################
405  SUBROUTINE write_surfl1_bin(HREC,OFIELD,KRESP,HCOMMENT,HDIR)
406 ! #############################################################
407 !
408 !!**** * - routine to write a logical array
409 !
410 USE modi_error_write_surf_bin
411 !
412 USE yomhook ,ONLY : lhook, dr_hook
413 USE parkind1 ,ONLY : jprb
414 !
415 IMPLICIT NONE
416 !
417 !* 0.1 Declarations of arguments
418 !
419  CHARACTER(LEN=12), INTENT(IN) :: HREC ! name of the article to be read
420 LOGICAL, DIMENSION(:), INTENT(IN) :: OFIELD ! array containing the data field
421 INTEGER, INTENT(OUT):: KRESP ! KRESP : return-code if a problem appears
422  CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! comment string
423  CHARACTER(LEN=1), INTENT(IN) :: HDIR ! type of field :
424  ! 'H' : field with
425  ! horizontal spatial dim.
426  ! '-' : no horizontal dim.
427 !* 0.2 Declarations of local variables
428 !
429 REAL(KIND=JPRB) :: ZHOOK_HANDLE
430 !
431 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFL1_BIN',0,zhook_handle)
432 !
433 kresp=0
434 !
435 !plm WRITE(NUNIT,FMT=*,ERR=100) '&'//CMASK//' '//HREC
436 !plm WRITE(NUNIT,FMT='(A50)',ERR=100) HCOMMENT(1:50)
437 !plm WRITE(NUNIT,FMT=*,ERR=100) OFIELD
438 
439 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFL1_BIN',1,zhook_handle)
440 RETURN
441 !
442 100 CONTINUE
443  CALL error_write_surf_bin(hrec,kresp)
444 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFL1_BIN',1,zhook_handle)
445 !
446 END SUBROUTINE write_surfl1_bin
447 !
448 ! #############################################################
449  SUBROUTINE write_surft0_bin(HREC,KYEAR,KMONTH,KDAY,PTIME,KRESP,HCOMMENT)
450 ! #############################################################
451 !
452 !!**** * - routine to write a date
453 !
454 USE modi_error_write_surf_bin
455 !
456 USE yomhook ,ONLY : lhook, dr_hook
457 USE parkind1 ,ONLY : jprb
458 !
459 IMPLICIT NONE
460 !
461 !* 0.1 Declarations of arguments
462 !
463  CHARACTER(LEN=12), INTENT(IN) :: HREC ! name of the article to be read
464 INTEGER, INTENT(IN) :: KYEAR ! year
465 INTEGER, INTENT(IN) :: KMONTH ! month
466 INTEGER, INTENT(IN) :: KDAY ! day
467 REAL, INTENT(IN) :: PTIME ! time
468 INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem appears
469  CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! comment string
470 
471 !* 0.2 Declarations of local variables
472 !
473 INTEGER, DIMENSION(3) :: ITDATE
474 REAL(KIND=JPRB) :: ZHOOK_HANDLE
475 !
476 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFT0_BIN',0,zhook_handle)
477 kresp=0
478 !
479 !plm ITDATE(1) = KYEAR
480 !plm ITDATE(2) = KMONTH
481 !plm ITDATE(3) = KDAY
482 
483 !plm WRITE(NUNIT,FMT=*,ERR=100) '&'//CMASK//' '//TRIM(HREC)//'%TDATE'
484 !plm WRITE(NUNIT,FMT='(A50)',ERR=100) HCOMMENT(1:50)
485 !plm WRITE(NUNIT,FMT=*,ERR=100) ITDATE(:)
486 
487 !-------------------------------------------------------------------------------
488 !
489 !plm WRITE(NUNIT,FMT=*,ERR=100) '&'//CMASK//' '//TRIM(HREC)//'%TIME'
490 !plm WRITE(NUNIT,FMT='(A50)',ERR=100) HCOMMENT(1:50)
491 !plm WRITE(NUNIT,FMT=*,ERR=100) PTIME
492 
493 !-------------------------------------------------------------------------------
494 !
495 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFT0_BIN',1,zhook_handle)
496 RETURN
497 !
498 100 CONTINUE
499  CALL error_write_surf_bin(hrec,kresp)
500 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFT0_BIN',1,zhook_handle)
501 !
502 END SUBROUTINE write_surft0_bin
503 !
504 ! #############################################################
505  SUBROUTINE write_surft2_bin(HREC,KYEAR,KMONTH,KDAY,PTIME,KRESP,HCOMMENT)
506 ! #############################################################
507 !
508 !!**** * - routine to write a date
509 !
510 USE modi_error_write_surf_bin
511 !
512 USE yomhook ,ONLY : lhook, dr_hook
513 USE parkind1 ,ONLY : jprb
514 !
515 IMPLICIT NONE
516 !
517 !* 0.1 Declarations of arguments
518 !
519  CHARACTER(LEN=12), INTENT(IN) :: HREC ! name of the article to be read
520 INTEGER, DIMENSION(:,:), INTENT(IN) :: KYEAR ! year
521 INTEGER, DIMENSION(:,:), INTENT(IN) :: KMONTH ! month
522 INTEGER, DIMENSION(:,:), INTENT(IN) :: KDAY ! day
523 REAL, DIMENSION(:,:), INTENT(IN) :: PTIME ! time
524 INTEGER, INTENT(OUT) :: KRESP ! KRESP : return-code if a problem appears
525  CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! comment string
526 !
527 !* 0.2 Declarations of local variables
528 !
529 INTEGER, DIMENSION(3,SIZE(KYEAR,1),SIZE(KYEAR,2)) :: ITDATE
530 REAL(KIND=JPRB) :: ZHOOK_HANDLE
531 !
532 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFT2_BIN',0,zhook_handle)
533 kresp=0
534 !
535 !plm ITDATE(1,:,:) = KYEAR (:,:)
536 !plm ITDATE(2,:,:) = KMONTH (:,:)
537 !plm ITDATE(3,:,:) = KDAY (:,:)
538 
539 !plm WRITE(NUNIT,FMT=*,ERR=100) '&'//CMASK//' '//TRIM(HREC)//'%TDATE'
540 !plm WRITE(NUNIT,FMT='(A50)',ERR=100) HCOMMENT(1:50)
541 !plm WRITE(NUNIT,FMT=*,ERR=100) ITDATE(:,:,:)
542 
543 !-------------------------------------------------------------------------------
544 !
545 !plm WRITE(NUNIT,FMT=*,ERR=100) '&'//CMASK//' '//TRIM(HREC)//'%TIME'
546 !plm WRITE(NUNIT,FMT='(A50)',ERR=100) HCOMMENT(1:50)
547 !plm WRITE(NUNIT,FMT=*,ERR=100) PTIME
548 
549 !-------------------------------------------------------------------------------
550 !
551 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFT2_BIN',1,zhook_handle)
552 RETURN
553 !
554 100 CONTINUE
555  CALL error_write_surf_bin(hrec,kresp)
556 IF (lhook) CALL dr_hook('MODE_WRITE_SURF_BIN:WRITE_SURFT2_BIN',1,zhook_handle)
557 !
558 END SUBROUTINE write_surft2_bin
559 
560 END MODULE mode_write_surf_bin
character(len=12), dimension(jpvar) cvar
subroutine write_surfl0_bin(HREC, OFIELD, KRESP, HCOMMENT)
subroutine write_surft0_bin(HREC, KYEAR, KMONTH, KDAY, PTIME, KRESP, HCOMMENT)
subroutine write_surfn0_bin(HREC, KFIELD, KRESP, HCOMMENT)
subroutine write_surfx2_bin(HSELECT, HREC, PFIELD, KRESP, HCOMMENT, HDIR)
subroutine write_surfc0_bin(HREC, HFIELD, KRESP, HCOMMENT)
subroutine write_surfx0_bin(HREC, PFIELD, KRESP, HCOMMENT)
subroutine init_write_bin(HSELECT, KDIM_FULL, HREC, KPATCH, OWFL)
subroutine error_write_surf_bin(HREC, KRESP)
integer, parameter jprb
Definition: parkind1.F90:32
subroutine write_surfl1_bin(HREC, OFIELD, KRESP, HCOMMENT, HDIR)
subroutine write_surfx1_bin(HSELECT, HREC, PFIELD, KRESP, HCOMMENT, HDIR)
logical lhook
Definition: yomhook.F90:15
integer, dimension(jpvar) nvar
character(len=6) cmask
subroutine write_surfn1_bin(HREC, KFIELD, KRESP, HCOMMENT, HDIR)
integer, dimension(:), pointer nmask
subroutine write_surft2_bin(HREC, KYEAR, KMONTH, KDAY, PTIME, KRESP, HCOMMENT)