29 hrec,pfield,kresp,hcomment)
42 USE modi_error_write_surf_asc
44 USE yomhook
,ONLY : lhook, dr_hook
45 USE parkind1
,ONLY : jprb
53 CHARACTER(LEN=12),
INTENT(IN) :: hrec
54 REAL,
INTENT(IN) :: pfield
55 INTEGER,
INTENT(OUT):: kresp
56 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
60 REAL(KIND=JPRB) :: zhook_handle
62 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFX0_ASC',0,zhook_handle)
68 IF (lwork0 .AND. lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFX0_ASC',1,zhook_handle)
71 WRITE(nunit,fmt=*,err=100)
'&'//cmask//
' '//hrec
72 WRITE(nunit,fmt=
'(A50)',err=100) hcomment(1:50)
73 WRITE(nunit,fmt=*,err=100) pfield
75 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFX0_ASC',1,zhook_handle)
80 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFX0_ASC',1,zhook_handle)
86 hrec,kfield,kresp,hcomment)
99 USE modi_error_write_surf_asc
101 USE yomhook
,ONLY : lhook, dr_hook
102 USE parkind1
,ONLY : jprb
110 CHARACTER(LEN=12),
INTENT(IN) :: hrec
111 INTEGER,
INTENT(IN) :: kfield
112 INTEGER,
INTENT(OUT):: kresp
113 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
117 REAL(KIND=JPRB) :: zhook_handle
119 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFN0_ASC',0,zhook_handle)
125 IF (lwork0 .AND. lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFN0_ASC',1,zhook_handle)
128 WRITE(nunit,fmt=*,err=100)
'&'//cmask//
' '//hrec
129 WRITE(nunit,fmt=
'(A50)',err=100) hcomment(1:50)
130 WRITE(nunit,fmt=*,err=100) kfield
132 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFN0_ASC',1,zhook_handle)
137 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFN0_ASC',1,zhook_handle)
143 hrec,ofield,kresp,hcomment)
156 USE modi_error_write_surf_asc
158 USE yomhook
,ONLY : lhook, dr_hook
159 USE parkind1
,ONLY : jprb
167 CHARACTER(LEN=12),
INTENT(IN) :: hrec
168 LOGICAL,
INTENT(IN) :: ofield
169 INTEGER,
INTENT(OUT):: kresp
170 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
174 REAL(KIND=JPRB) :: zhook_handle
176 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFL0_ASC',0,zhook_handle)
182 IF (lwork0 .AND. lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFL0_ASC',1,zhook_handle)
185 WRITE(nunit,fmt=*,err=100)
'&'//cmask//
' '//hrec
186 WRITE(nunit,fmt=
'(A50)',err=100) hcomment(1:50)
187 WRITE(nunit,fmt=*,err=100) ofield
189 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFL0_ASC',1,zhook_handle)
194 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFL0_ASC',1,zhook_handle)
200 hrec,hfield,kresp,hcomment)
213 USE modi_error_write_surf_asc
215 USE yomhook
,ONLY : lhook, dr_hook
216 USE parkind1
,ONLY : jprb
224 CHARACTER(LEN=12),
INTENT(IN) :: hrec
225 CHARACTER(LEN=40),
INTENT(IN) :: hfield
226 INTEGER,
INTENT(OUT) :: kresp
227 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
231 REAL(KIND=JPRB) :: zhook_handle
233 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFC0_ASC',0,zhook_handle)
239 IF (lwork0 .AND. lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFC0_ASC',1,zhook_handle)
242 WRITE(nunit,fmt=*,err=100)
'&'//cmask//
' '//hrec
243 WRITE(nunit,fmt=
'(A50)',err=100) hcomment(1:50)
244 WRITE(nunit,fmt=
'(A40)',err=100) hfield
246 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFC0_ASC',1,zhook_handle)
251 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFC0_ASC',1,zhook_handle)
257 hrec,pfield,kresp,hcomment,hdir)
272 USE modi_error_write_surf_asc
275 USE yomhook
,ONLY : lhook, dr_hook
276 USE parkind1
,ONLY : jprb
288 CHARACTER(LEN=12),
INTENT(IN) :: hrec
289 REAL,
DIMENSION(:),
INTENT(IN) :: pfield
290 INTEGER,
INTENT(OUT):: kresp
291 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
292 CHARACTER(LEN=1),
INTENT(IN) :: hdir
300 REAL,
DIMENSION(MAX(NFULL,SIZE(PFIELD))) :: zwork
301 REAL(KIND=JPRB) :: zhook_handle
303 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFX1_ASC',0,zhook_handle)
316 IF (lwork0 .AND. lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFX1_ASC',1,zhook_handle)
321 zwork(1:isize) = pfield
327 IF (nrank==npio)
THEN
335 WRITE(nunit,fmt=*,iostat=nworkb)
'&'//cmask//
' '//hrec
336 WRITE(nunit,fmt=
'(A50)',iostat=nworkb) hcomment(1:50)
337 WRITE(nunit,fmt=
'(50D20.8)',iostat=nworkb) zwork(1:isize)
344 xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
351 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFX1_ASC',1,zhook_handle)
357 hrec,pfield,kresp,hcomment,hdir)
372 USE modi_error_write_surf_asc
375 USE yomhook
,ONLY : lhook, dr_hook
376 USE parkind1
,ONLY : jprb
388 CHARACTER(LEN=12),
INTENT(IN) :: hrec
389 REAL,
DIMENSION(:,:),
INTENT(IN) :: pfield
390 INTEGER,
INTENT(OUT):: kresp
391 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
392 CHARACTER(LEN=1),
INTENT(IN) :: hdir
400 REAL,
DIMENSION(MAX(NFULL,SIZE(PFIELD,1)),SIZE(PFIELD,2)) :: zwork
401 REAL(KIND=JPRB) :: zhook_handle
403 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFX2_ASC',0,zhook_handle)
416 IF (lwork0 .AND. lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFX2_ASC',1,zhook_handle)
420 isize =
SIZE(pfield,1)
421 zwork(1:isize,:) = pfield(:,:)
423 isize =
SIZE(zwork,1)
427 IF (nrank==npio)
THEN
435 WRITE(nunit,fmt=*,iostat=nworkb)
'&'//cmask//
' '//hrec
436 WRITE(nunit,fmt=
'(A50)',iostat=nworkb) hcomment(1:50)
437 WRITE(nunit,fmt=
'(50D20.8)',iostat=nworkb) zwork(1:isize,:)
444 xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
451 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFX2_ASC',1,zhook_handle)
457 hrec,kfield,kresp,hcomment,hdir)
472 USE modi_error_write_surf_asc
475 USE yomhook
,ONLY : lhook, dr_hook
476 USE parkind1
,ONLY : jprb
488 CHARACTER(LEN=12),
INTENT(IN) :: hrec
489 INTEGER,
DIMENSION(:),
INTENT(IN) :: kfield
490 INTEGER,
INTENT(OUT):: kresp
491 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
492 CHARACTER(LEN=1),
INTENT(IN) :: hdir
499 INTEGER,
DIMENSION(MAX(NFULL,SIZE(KFIELD))) :: iwork
501 REAL(KIND=JPRB) :: zhook_handle
503 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFN1_ASC',0,zhook_handle)
514 IF (lwork0 .AND. lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFN1_ASC',1,zhook_handle)
517 IF (hdir==
'-' .OR. hrec==
'-')
THEN
519 iwork(1:isize) = kfield
525 IF (nrank==npio)
THEN
533 WRITE(nunit,fmt=*,iostat=nworkb)
'&'//cmask//
' '//hrec
534 WRITE(nunit,fmt=
'(A50)',iostat=nworkb) hcomment(1:50)
535 WRITE(nunit,fmt=
'(100I8)',iostat=nworkb) iwork(1:isize)
542 xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
549 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFN1_ASC',1,zhook_handle)
555 hrec,ofield,kresp,hcomment,hdir)
570 USE modi_error_write_surf_asc
572 USE yomhook
,ONLY : lhook, dr_hook
573 USE parkind1
,ONLY : jprb
585 CHARACTER(LEN=12),
INTENT(IN) :: hrec
586 LOGICAL,
DIMENSION(:),
INTENT(IN) :: ofield
587 INTEGER,
INTENT(OUT):: kresp
588 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
589 CHARACTER(LEN=1),
INTENT(IN) :: hdir
596 REAL(KIND=JPRB) :: zhook_handle
598 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFL1_ASC',0,zhook_handle)
609 IF (lwork0 .AND. lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFL1_ASC',1,zhook_handle)
612 IF (nrank==npio)
THEN
620 WRITE(nunit,fmt=*,iostat=nworkb)
'&'//cmask//
' '//hrec
621 WRITE(nunit,fmt=
'(A50)',iostat=nworkb) hcomment(1:50)
622 WRITE(nunit,fmt=*,iostat=nworkb) ofield
629 xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
636 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFL1_ASC',1,zhook_handle)
642 hrec,kyear,kmonth,kday,ptime,kresp,hcomment)
655 USE modi_error_write_surf_asc
657 USE yomhook
,ONLY : lhook, dr_hook
658 USE parkind1
,ONLY : jprb
666 CHARACTER(LEN=12),
INTENT(IN) :: hrec
667 INTEGER,
INTENT(IN) :: kyear
668 INTEGER,
INTENT(IN) :: kmonth
669 INTEGER,
INTENT(IN) :: kday
670 REAL,
INTENT(IN) :: ptime
671 INTEGER,
INTENT(OUT) :: kresp
672 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
676 INTEGER,
DIMENSION(3) :: itdate
677 REAL(KIND=JPRB) :: zhook_handle
679 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFT0_ASC',0,zhook_handle)
685 IF (lwork0 .AND. lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFT0_ASC',1,zhook_handle)
692 WRITE(nunit,fmt=*,err=100)
'&'//cmask//
' '//trim(hrec)//
'%TDATE'
693 WRITE(nunit,fmt=
'(A50)',err=100) hcomment(1:50)
694 WRITE(nunit,fmt=*,err=100) itdate(:)
696 WRITE(nunit,fmt=*,err=100)
'&'//cmask//
' '//trim(hrec)//
'%TIME'
697 WRITE(nunit,fmt=
'(A50)',err=100) hcomment(1:50)
698 WRITE(nunit,fmt=*,err=100) ptime
700 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFT0_ASC',1,zhook_handle)
705 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFT0_ASC',1,zhook_handle)
711 hrec,kyear,kmonth,kday,ptime,kresp,hcomment)
726 USE modi_error_write_surf_asc
728 USE yomhook
,ONLY : lhook, dr_hook
729 USE parkind1
,ONLY : jprb
741 CHARACTER(LEN=12),
INTENT(IN) :: hrec
742 INTEGER,
DIMENSION(:),
INTENT(IN) :: kyear
743 INTEGER,
DIMENSION(:),
INTENT(IN) :: kmonth
744 INTEGER,
DIMENSION(:),
INTENT(IN) :: kday
745 REAL,
DIMENSION(:),
INTENT(IN) :: ptime
746 INTEGER,
INTENT(OUT):: kresp
747 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
751 INTEGER,
DIMENSION(3,SIZE(KYEAR)) :: itdate
753 REAL(KIND=JPRB) :: zhook_handle
755 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFT1_ASC',0,zhook_handle)
766 IF (lwork0 .AND. lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFT1_ASC',1,zhook_handle)
769 IF (nrank==npio)
THEN
777 itdate(1,:) = kyear(:)
778 itdate(2,:) = kmonth(:)
779 itdate(3,:) = kday(:)
781 WRITE(nunit,fmt=*,iostat=nworkb)
'&'//cmask//
' '//trim(hrec)//
'%TDATE'
782 WRITE(nunit,fmt=
'(A50)',iostat=nworkb) hcomment(1:50)
783 WRITE(nunit,fmt=*,iostat=nworkb) itdate(:,:)
785 WRITE(nunit,fmt=*,iostat=nworkb)
'&'//cmask//
' '//trim(hrec)//
'%TIME'
786 WRITE(nunit,fmt=
'(A50)',iostat=nworkb) hcomment(1:50)
787 WRITE(nunit,fmt=*,iostat=nworkb) ptime
794 xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
801 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFT1_ASC',1,zhook_handle)
807 hrec,kyear,kmonth,kday,ptime,kresp,hcomment)
822 USE modi_error_write_surf_asc
824 USE yomhook
,ONLY : lhook, dr_hook
825 USE parkind1
,ONLY : jprb
837 CHARACTER(LEN=12),
INTENT(IN) :: hrec
838 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: kyear
839 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: kmonth
840 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: kday
841 REAL,
DIMENSION(:,:),
INTENT(IN) :: ptime
842 INTEGER,
INTENT(OUT) :: kresp
843 CHARACTER(LEN=100),
INTENT(IN) :: hcomment
847 INTEGER,
DIMENSION(3,SIZE(KYEAR,1),SIZE(KYEAR,2)) :: itdate
849 REAL(KIND=JPRB) :: zhook_handle
851 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFT2_ASC',0,zhook_handle)
860 IF (lwork0 .AND. lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFT2_ASC',1,zhook_handle)
863 IF (nrank==npio)
THEN
871 itdate(1,:,:) = kyear(:,:)
872 itdate(2,:,:) = kmonth(:,:)
873 itdate(3,:,:) = kday(:,:)
875 WRITE(nunit,fmt=*,iostat=nworkb)
'&'//cmask//
' '//trim(hrec)//
'%TDATE'
876 WRITE(nunit,fmt=
'(A50)',iostat=nworkb) hcomment(1:50)
877 WRITE(nunit,fmt=*,iostat=nworkb) itdate(:,:,:)
879 WRITE(nunit,fmt=*,iostat=nworkb)
'&'//cmask//
' '//trim(hrec)//
'%TIME'
880 WRITE(nunit,fmt=
'(A50)',iostat=nworkb) hcomment(1:50)
881 WRITE(nunit,fmt=*,iostat=nworkb) ptime
888 xtime_npio_write = xtime_npio_write + (mpi_wtime() - xtime0)
895 IF (lhook) CALL dr_hook(
'MODE_WRITE_SURF_ASC:WRITE_SURFT2_ASC',1,zhook_handle)
subroutine write_surfl1_asc(HREC, OFIELD, KRESP, HCOMMENT, HDIR)
subroutine write_surfl0_asc(HREC, OFIELD, KRESP, HCOMMENT)
subroutine write_surft2_asc(HREC, KYEAR, KMONTH, KDAY, PTIME, KRESP, HCOMMENT)
subroutine write_surfx2_asc(HREC, PFIELD, KRESP, HCOMMENT, HDIR)
subroutine write_surft0_asc(HREC, KYEAR, KMONTH, KDAY, PTIME, KRESP, HCOMMENT)
subroutine write_surft1_asc(HREC, KYEAR, KMONTH, KDAY, PTIME, KRESP, HCOMMENT)
subroutine wlog_mpi(HLOG, PLOG, KLOG, KLOG2, OLOG)
subroutine write_surfx1_asc(HREC, PFIELD, KRESP, HCOMMENT, HDIR)
subroutine write_surfx0_asc(HREC, PFIELD, KRESP, HCOMMENT)
subroutine write_surfn0_asc(HREC, KFIELD, KRESP, HCOMMENT)
subroutine io_buff(HREC, HACTION, OKNOWN)
subroutine write_surfn1_asc(HREC, KFIELD, KRESP, HCOMMENT, HDIR)
subroutine write_surfc0_asc(HREC, HFIELD, KRESP, HCOMMENT)
subroutine error_write_surf_asc(HREC, KRESP)