39 USE yomhook
,ONLY : lhook, dr_hook
40 USE parkind1
,ONLY : jprb
45 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NINDEX
46 INTEGER,
DIMENSION(:),
ALLOCATABLE :: NSIZE_TASK
58 REAL,
DIMENSION(5) :: XTIME_WRITE
60 REAL,
DIMENSION(6) :: XTIME_CALC
62 REAL :: XTIME_NPIO_READ=0
64 REAL :: XTIME_NPIO_WRITE=0
66 REAL :: XTIME_COMM_READ=0
68 REAL :: XTIME_CALC_READ=0
70 REAL :: XTIME_COMM_WRITE=0
72 REAL :: XTIME_CALC_WRITE=0
74 REAL :: XTIME_OMP_BARR=0
77 REAL :: XTIME_INIT_SEA=0
79 REAL :: XTIME_INIT_WATER=0
81 REAL :: XTIME_INIT_NATURE=0
83 REAL :: XTIME_INIT_TOWN=0
90 REAL :: XTIME_NATURE=0
101 CHARACTER(LEN=*),
INTENT(IN) :: hlog
102 REAL,
INTENT(IN),
OPTIONAL :: plog
103 INTEGER,
INTENT(IN),
OPTIONAL :: klog
104 INTEGER,
INTENT(IN),
OPTIONAL :: klog2
105 LOGICAL,
INTENT(IN),
OPTIONAL :: olog
109 REAL(KIND=JPRB) :: zhook_handle
111 IF (lhook) CALL dr_hook(
'MODD_SURFEX_MPI:WLOG_MPI',0,zhook_handle)
117 IF (present(olog))
THEN
118 IF (present(plog))
THEN
119 IF (present(klog))
THEN
120 IF (present(klog2))
THEN
121 WRITE(iunit,*) nblock, hlog, klog, klog2, plog, olog
123 WRITE(iunit,*) nblock, hlog, klog, plog, olog
126 WRITE(iunit,*) nblock, hlog, plog, olog
128 ELSEIF (present(klog))
THEN
129 IF (present(klog2))
THEN
130 WRITE(iunit,*) nblock, hlog, klog, klog2, olog
132 WRITE(iunit,*) nblock, hlog, klog, olog
135 WRITE(iunit,*) nblock, hlog, olog
137 ELSEIF (present(plog))
THEN
138 IF (present(klog))
THEN
139 IF (present(klog2))
THEN
140 WRITE(iunit,*) nblock, hlog, klog, klog2, plog
142 WRITE(iunit,*) nblock, hlog, klog, plog
145 WRITE(iunit,*) nblock, hlog, plog
147 ELSEIF (present(klog))
THEN
148 IF (present(klog2))
THEN
149 WRITE(iunit,*) nblock, hlog, klog, klog2
151 WRITE(iunit,*) nblock, hlog, klog
154 WRITE(iunit,*) nblock, hlog
159 IF (lhook) CALL dr_hook(
'MODD_SURFEX_MPI:WLOG_MPI',1,zhook_handle)
165 CHARACTER(LEN=100) :: yname
166 CHARACTER(LEN=10) :: yrank
169 REAL(KIND=JPRB) :: zhook_handle
171 IF (lhook) CALL dr_hook(
'MODD_SURFEX_MPI:PREP_LOG_MPI',0,zhook_handle)
173 WRITE(yrank,fmt=
'(I10)') nrank
174 yname=
'log'//adjustl(yrank)
179 OPEN(unit=iunit,file=trim(yname),form=
'FORMATTED')
180 WRITE(iunit,*)
"Log offline pour proc ",nrank
183 IF (lhook) CALL dr_hook(
'MODD_SURFEX_MPI:PREP_LOG_MPI',1,zhook_handle)
191 REAL(KIND=JPRB) :: zhook_handle
193 IF (lhook) CALL dr_hook(
'MODD_SURFEX_MPI:END_LOG_MPI',0,zhook_handle)
198 WRITE(iunit,*)
"End log offline pour proc ",nrank
202 IF (lhook) CALL dr_hook(
'MODD_SURFEX_MPI:END_LOG_MPI',1,zhook_handle)
subroutine wlog_mpi(HLOG, PLOG, KLOG, KLOG2, OLOG)