SURFEX v8.1
General documentation of Surfex
mpi4to8_m.F90
Go to the documentation of this file.
1 MODULE mpi4to8_m
2 #ifdef USE_8_BYTE_WORDS
3 
4 USE parkind1, ONLY : jpim, jprm, jprb
5 USE mpl_mpif
6 
7 IMPLICIT NONE
8 
9 PRIVATE :: status8
10  INTEGER(KIND=8), DIMENSION(MPI_STATUS_SIZE) :: status8
11 
12 INTERFACE mpi_allgatherv8
13  MODULE PROCEDURE mpi_allgatherv8_r4, mpi_allgatherv8_r8, &
15 END INTERFACE mpi_allgatherv8
16 
17 INTERFACE mpi_allreduce8
18  MODULE PROCEDURE mpi_allreduce8_r4, mpi_allreduce8_r8, &
20 END INTERFACE mpi_allreduce8
21 
22 INTERFACE mpi_alltoallv8
23  MODULE PROCEDURE mpi_alltoallv8_r8, mpi_alltoallv8_i4
24 END INTERFACE mpi_alltoallv8
25 
26 INTERFACE mpi_bcast8
27  MODULE PROCEDURE mpi_bcast8_r4, mpi_bcast8_r8, &
30 END INTERFACE mpi_bcast8
31 
32 INTERFACE mpi_bsend8
33  MODULE PROCEDURE mpi_bsend8_r4, mpi_bsend8_r8, &
38 END INTERFACE mpi_bsend8
39 
40 INTERFACE mpi_isend8
41  MODULE PROCEDURE mpi_isend8_r4, mpi_isend8_r8, &
46 END INTERFACE mpi_isend8
47 
48 INTERFACE mpi_send8
49  MODULE PROCEDURE mpi_send8_r4, mpi_send8_r8, &
54 END INTERFACE mpi_send8
55 
58 END INTERFACE mpi_file_iread_shared8
59 
62 END INTERFACE mpi_file_iwrite_shared8
63 
66 END INTERFACE mpi_file_read_ordered8
67 
70 END INTERFACE mpi_file_read_ordered_begin8
71 
74 END INTERFACE mpi_file_read_ordered_end8
75 
78 END INTERFACE mpi_file_read_shared8
79 
82 END INTERFACE mpi_file_write_ordered8
83 
87 
90 END INTERFACE mpi_file_write_ordered_end8
91 
94 END INTERFACE mpi_file_write_shared8
95 
96 INTERFACE mpi_gather8
97  MODULE PROCEDURE mpi_gather8_i1, mpi_gather8_r8_1
98 END INTERFACE mpi_gather8
99 
100 INTERFACE mpi_gatherv8
101  MODULE PROCEDURE mpi_gatherv8_r4, mpi_gatherv8_r8, &
106 END INTERFACE mpi_gatherv8
107 
108 INTERFACE mpi_recv8
109  MODULE PROCEDURE mpi_recv8_r4, mpi_recv8_r8, &
114 END INTERFACE mpi_recv8
115 
116 INTERFACE mpi_irecv8
117  MODULE PROCEDURE mpi_irecv8_r4, mpi_irecv8_r8, &
120  mpi_irecv8_i42, &
123 END INTERFACE mpi_irecv8
124 
125 INTERFACE mpi_scatterv8
126  MODULE PROCEDURE mpi_scatterv8_r8, mpi_scatterv8_i4, &
128 END INTERFACE mpi_scatterv8
129 
130 PUBLIC
131 
132 CONTAINS
133 
134 ! =========================================================
135 ! ---------------------------------------------------------
136 SUBROUTINE mpi_allreduce8_r4(SENDDATA, RECVDATA, COUNT, DATATYPE, OP, &
137  COMM, IERROR)
139  REAL(KIND=JPRM), DIMENSION(:), INTENT(IN) :: &
140  SENDDATA(:)
141  INTEGER(KIND=JPIM), INTENT(IN) :: &
142  COUNT, DATATYPE, OP, COMM
143  REAL(KIND=JPRM), DIMENSION(:), INTENT(OUT) :: &
144  RECVDATA(:)
145  INTEGER(KIND=JPIM), INTENT(OUT) :: &
146  IERROR
147 
148  REAL(KIND=8), DIMENSION(:), ALLOCATABLE :: &
149  SENDDATA8, RECVDATA8
150  INTEGER(KIND=8) :: &
151  COUNT8, DATATYPE8, OP8, COMM8, IERROR8
152 
153  ALLOCATE(senddata8(SIZE(senddata)))
154  ALLOCATE(recvdata8(SIZE(recvdata)))
155 
156  senddata8 = senddata
157  count8 = count
158  datatype8 = datatype
159  op8 = op
160  comm8 = comm
161 
162  CALL mpi_allreduce(senddata8, recvdata8, count8, datatype8, op8, comm8, ierror8)
163 
164  recvdata = recvdata8
165  ierror = ierror8
166 
167  DEALLOCATE(senddata8)
168  DEALLOCATE(recvdata8)
169 
170 END SUBROUTINE mpi_allreduce8_r4
171 
172 ! ---------------------------------------------------------
173 SUBROUTINE mpi_allreduce8_r8(SENDDATA, RECVDATA, COUNT, DATATYPE, OP, &
174  COMM, IERROR)
176  REAL(KIND=JPRB), DIMENSION(:), INTENT(IN) :: &
177  SENDDATA(:)
178  INTEGER(KIND=JPIM), INTENT(IN) :: &
179  COUNT, DATATYPE, OP, COMM
180  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
181  RECVDATA(:)
182  INTEGER(KIND=JPIM), INTENT(OUT) :: &
183  IERROR
184 
185  INTEGER(KIND=8) :: &
186  COUNT8, DATATYPE8, OP8, COMM8, IERROR8
187 
188  count8 = count
189  datatype8 = datatype
190  op8 = op
191  comm8 = comm
192 
193  CALL mpi_allreduce(senddata, recvdata, count8, datatype8, op8, comm8, ierror8)
194 
195  ierror = ierror8
196 
197 END SUBROUTINE mpi_allreduce8_r8
198 
199 ! ---------------------------------------------------------
200 SUBROUTINE mpi_allreduce8_i4(SENDDATA, RECVDATA, COUNT, DATATYPE, OP, &
201  COMM, IERROR)
203  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
204  SENDDATA(:)
205  INTEGER(KIND=JPIM), INTENT(IN) :: &
206  COUNT, DATATYPE, OP, COMM
207  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
208  RECVDATA(:)
209  INTEGER(KIND=JPIM), INTENT(OUT) :: &
210  IERROR
211 
212  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
213  SENDDATA8, RECVDATA8
214  INTEGER(KIND=8) :: &
215  COUNT8, DATATYPE8, OP8, COMM8, IERROR8
216 
217  ALLOCATE(senddata8(SIZE(senddata)))
218  ALLOCATE(recvdata8(SIZE(recvdata)))
219 
220  senddata8 = senddata
221  count8 = count
222  datatype8 = datatype
223  op8 = op
224  comm8 = comm
225 
226  CALL mpi_allreduce(senddata8, recvdata8, count8, datatype8, op8, comm8, ierror8)
227 
228  recvdata = recvdata8
229  ierror = ierror8
230 
231  DEALLOCATE(senddata8)
232  DEALLOCATE(recvdata8)
233 
234 END SUBROUTINE mpi_allreduce8_i4
235 
236 ! =========================================================
237 ! ---------------------------------------------------------
238 SUBROUTINE mpi_allgatherv8_r4(SENDAREA, SENDCOUNT, SENDTYPE, RECVAREA, &
239  RECVCOUNTS, DISPLS, RECVTYPE, COMM, IERROR)
241  REAL(KIND=JPRM), DIMENSION(:), INTENT(IN) :: &
242  SENDAREA
243  INTEGER(KIND=JPIM), INTENT(IN) :: &
244  SENDCOUNT, SENDTYPE, RECVTYPE, COMM
245  REAL(KIND=JPRM), DIMENSION(:), INTENT(OUT) :: &
246  RECVAREA
247  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
248  RECVCOUNTS, DISPLS
249  INTEGER(KIND=JPIM), INTENT(OUT) :: &
250  IERROR
251 
252  REAL(KIND=8), DIMENSION(:), ALLOCATABLE :: &
253  SENDAREA8, RECVAREA8
254  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
255  RECVCOUNTS8, DISPLS8
256  INTEGER(KIND=8) :: &
257  SENDCOUNT8, SENDTYPE8, RECVTYPE8, COMM8, IERROR8
258 
259  ALLOCATE(sendarea8(SIZE(sendarea)))
260  ALLOCATE(recvarea8(SIZE(recvarea)))
261  ALLOCATE(recvcounts8(SIZE(recvcounts)))
262  ALLOCATE(displs8(SIZE(displs)))
263 
264  sendarea8 = sendarea
265  sendcount8 = sendcount
266  sendtype8 = sendtype
267  recvcounts8 = recvcounts
268  displs8 = displs
269  recvtype8 = recvtype
270  comm8 = comm
271 
272  CALL mpi_allgatherv(sendarea8, sendcount8, sendtype8, recvarea8, &
273  recvcounts8, displs8, recvtype8, comm8, ierror8)
274 
275  recvarea = recvarea8
276  ierror = ierror8
277 
278  DEALLOCATE(sendarea8)
279  DEALLOCATE(recvarea8)
280  DEALLOCATE(recvcounts8)
281  DEALLOCATE(displs8)
282 
283 END SUBROUTINE mpi_allgatherv8_r4
284 
285 ! ---------------------------------------------------------
286 SUBROUTINE mpi_allgatherv8_r8(SENDAREA, SENDCOUNT, SENDTYPE, RECVAREA, &
287  RECVCOUNTS, DISPLS, RECVTYPE, COMM, IERROR)
289  REAL(KIND=JPRB), DIMENSION(:), INTENT(IN) :: &
290  SENDAREA
291  INTEGER(KIND=JPIM), INTENT(IN) :: &
292  SENDCOUNT, SENDTYPE, RECVTYPE, COMM
293  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
294  RECVAREA
295  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
296  RECVCOUNTS, DISPLS
297  INTEGER(KIND=JPIM), INTENT(OUT) :: &
298  IERROR
299 
300  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
301  RECVCOUNTS8, DISPLS8
302  INTEGER(KIND=8) :: &
303  SENDCOUNT8, SENDTYPE8, RECVTYPE8, COMM8, IERROR8
304 
305  ALLOCATE(recvcounts8(SIZE(recvcounts)))
306  ALLOCATE(displs8(SIZE(displs)))
307 
308  sendcount8 = sendcount
309  sendtype8 = sendtype
310  recvcounts8 = recvcounts
311  displs8 = displs
312  recvtype8 = recvtype
313  comm8 = comm
314 
315  CALL mpi_allgatherv(sendarea, sendcount8, sendtype8, recvarea, &
316  recvcounts8, displs8, recvtype8, comm8, ierror8)
317 
318  ierror = ierror8
319 
320  DEALLOCATE(recvcounts8)
321  DEALLOCATE(displs8)
322 
323 END SUBROUTINE mpi_allgatherv8_r8
324 
325 ! ---------------------------------------------------------
326 SUBROUTINE mpi_allgatherv8_i4(SENDAREA, SENDCOUNT, SENDTYPE, RECVAREA, &
327  RECVCOUNTS, DISPLS, RECVTYPE, COMM, IERROR)
329  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
330  SENDAREA, RECVCOUNTS, DISPLS
331  INTEGER(KIND=JPIM), INTENT(IN) :: &
332  SENDCOUNT, SENDTYPE, RECVTYPE, COMM
333  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
334  RECVAREA
335  INTEGER(KIND=JPIM), INTENT(OUT) :: &
336  IERROR
337 
338  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
339  SENDAREA8, RECVAREA8, RECVCOUNTS8, DISPLS8
340  INTEGER(KIND=8) :: &
341  SENDCOUNT8, SENDTYPE8, RECVTYPE8, COMM8, IERROR8
342 
343  ALLOCATE(sendarea8(SIZE(sendarea)))
344  ALLOCATE(recvarea8(SIZE(recvarea)))
345  ALLOCATE(recvcounts8(SIZE(recvcounts)))
346  ALLOCATE(displs8(SIZE(displs)))
347 
348  sendarea8 = sendarea
349  sendcount8 = sendcount
350  sendtype8 = sendtype
351  recvcounts8 = recvcounts
352  displs8 = displs
353  recvtype8 = recvtype
354  comm8 = comm
355 
356  CALL mpi_allgatherv(sendarea8, sendcount8, sendtype8, recvarea8, &
357  recvcounts8, displs8, recvtype8, comm8, ierror8)
358 
359  recvarea = recvarea8
360  ierror = ierror8
361 
362  DEALLOCATE(sendarea8)
363  DEALLOCATE(recvarea8)
364  DEALLOCATE(recvcounts8)
365  DEALLOCATE(displs8)
366 
367 END SUBROUTINE mpi_allgatherv8_i4
368 
369 ! ---------------------------------------------------------
370 SUBROUTINE mpi_allgatherv8_i1(SENDAREA, SENDCOUNT, SENDTYPE, RECVAREA, &
371  RECVCOUNTS, DISPLS, RECVTYPE, COMM, IERROR)
373  INTEGER(KIND=JPIM), INTENT(IN) :: &
374  SENDAREA
375  INTEGER(KIND=JPIM), INTENT(IN) :: &
376  SENDCOUNT, SENDTYPE, RECVTYPE, COMM
377  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
378  RECVCOUNTS, DISPLS
379  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
380  RECVAREA
381  INTEGER(KIND=JPIM), INTENT(OUT) :: &
382  IERROR
383 
384  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
385  RECVAREA8, RECVCOUNTS8, DISPLS8
386  INTEGER(KIND=8) :: &
387  SENDAREA8, SENDCOUNT8, SENDTYPE8, RECVTYPE8, COMM8, IERROR8
388 
389  ALLOCATE(recvarea8(SIZE(recvarea)))
390  ALLOCATE(recvcounts8(SIZE(recvcounts)))
391  ALLOCATE(displs8(SIZE(displs)))
392 
393  sendarea8 = sendarea
394  sendcount8 = sendcount
395  sendtype8 = sendtype
396  recvcounts8 = recvcounts
397  displs8 = displs
398  recvtype8 = recvtype
399  comm8 = comm
400 
401  CALL mpi_allgatherv(sendarea8, sendcount8, sendtype8, recvarea8, &
402  recvcounts8, displs8, recvtype8, comm8, ierror8)
403 
404  recvarea = recvarea8
405  ierror = ierror8
406 
407  DEALLOCATE(recvarea8)
408  DEALLOCATE(recvcounts8)
409  DEALLOCATE(displs8)
410 
411 END SUBROUTINE mpi_allgatherv8_i1
412 
413 ! =========================================================
414 ! ---------------------------------------------------------
415 SUBROUTINE mpi_alltoallv8_r8(SENDAREA, SENDCOUNTS, SDISPLS, SENDTYPE, &
416  RECVAREA, RECVCOUNTS, RDISPLS, RECVTYPE, &
417  COMM, IERROR)
419  REAL(KIND=JPRB), DIMENSION(:), INTENT(IN) :: &
420  SENDAREA
421  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
422  SENDCOUNTS, SDISPLS, RECVCOUNTS, RDISPLS
423  INTEGER(KIND=JPIM), INTENT(IN) :: &
424  SENDTYPE, RECVTYPE, COMM
425  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
426  RECVAREA
427  INTEGER(KIND=JPIM), INTENT(OUT) :: &
428  IERROR
429 
430  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
431  SENDCOUNTS8, SDISPLS8, RECVCOUNTS8, RDISPLS8
432  INTEGER(KIND=8) :: &
433  SENDTYPE8, RECVTYPE8, COMM8, IERROR8
434 
435  ALLOCATE(sendcounts8(SIZE(sendcounts)))
436  ALLOCATE(sdispls8(SIZE(sdispls)))
437  ALLOCATE(recvcounts8(SIZE(recvcounts)))
438  ALLOCATE(rdispls8(SIZE(rdispls)))
439 
440  sendcounts8 = sendcounts
441  sdispls8 = sdispls
442  sendtype8 = sendtype
443  recvcounts8 = recvcounts
444  rdispls8 = rdispls
445  recvtype8 = recvtype
446  comm8 = comm
447 
448  CALL mpi_alltoallv(sendarea, sendcounts8, sdispls8, sendtype8, recvarea, &
449  recvcounts8, rdispls8, recvtype8, comm8, ierror8)
450 
451  ierror = ierror8
452 
453  DEALLOCATE(sendcounts8)
454  DEALLOCATE(sdispls8)
455  DEALLOCATE(recvcounts8)
456  DEALLOCATE(rdispls8)
457 
458 END SUBROUTINE mpi_alltoallv8_r8
459 
460 ! ---------------------------------------------------------
461 SUBROUTINE mpi_alltoallv8_i4(SENDAREA, SENDCOUNTS, SDISPLS, SENDTYPE, &
462  RECVAREA, RECVCOUNTS, RDISPLS, RECVTYPE, &
463  COMM, IERROR)
465  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
466  SENDAREA, SENDCOUNTS, SDISPLS, RECVCOUNTS, RDISPLS
467  INTEGER(KIND=JPIM), INTENT(IN) :: &
468  SENDTYPE, RECVTYPE, COMM
469  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
470  RECVAREA
471  INTEGER(KIND=JPIM), INTENT(OUT) :: &
472  IERROR
473 
474  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
475  SENDAREA8, SENDCOUNTS8, SDISPLS8, RECVAREA8, RECVCOUNTS8, RDISPLS8
476  INTEGER(KIND=8) :: &
477  SENDTYPE8, RECVTYPE8, COMM8, IERROR8
478 
479  ALLOCATE(sendarea8(SIZE(sendarea)))
480  ALLOCATE(sendcounts8(SIZE(sendcounts)))
481  ALLOCATE(sdispls8(SIZE(sdispls)))
482  ALLOCATE(recvarea8(SIZE(recvarea)))
483  ALLOCATE(recvcounts8(SIZE(recvcounts)))
484  ALLOCATE(rdispls8(SIZE(rdispls)))
485 
486  sendarea8 = sendarea
487  sendcounts8 = sendcounts
488  sdispls8 = sdispls
489  sendtype8 = sendtype
490  recvcounts8 = recvcounts
491  rdispls8 = rdispls
492  recvtype8 = recvtype
493  comm8 = comm
494 
495  CALL mpi_alltoallv(sendarea8, sendcounts8, sdispls8, sendtype8, recvarea8, &
496  recvcounts8, rdispls8, recvtype8, comm8, ierror8)
497 
498  recvarea = recvarea8
499  ierror = ierror8
500 
501  DEALLOCATE(sendarea8)
502  DEALLOCATE(sendcounts8)
503  DEALLOCATE(sdispls8)
504  DEALLOCATE(recvarea8)
505  DEALLOCATE(recvcounts8)
506  DEALLOCATE(rdispls8)
507 
508 END SUBROUTINE mpi_alltoallv8_i4
509 
510 ! =========================================================
511 ! ---------------------------------------------------------
512 SUBROUTINE mpi_bcast8_r4(DATA, COUNT, DATATYPE, ROOT, COMM, IERROR)
514  REAL(KIND=JPRM), DIMENSION(:), INTENT(INOUT) :: &
515  DATA
516  INTEGER(KIND=JPIM), INTENT(IN) :: &
517  COUNT, DATATYPE, ROOT, COMM
518  INTEGER(KIND=JPIM), INTENT(OUT) :: &
519  IERROR
520 
521  REAL(KIND=8), DIMENSION(:), ALLOCATABLE :: &
522  DATA8
523  INTEGER(KIND=8) :: &
524  COUNT8, DATATYPE8, ROOT8, COMM8, IERROR8
525 
526  ALLOCATE(data8(SIZE(data)))
527 
528  data8 = DATA
529  count8 = count
530  datatype8 = datatype
531  root8 = root
532  comm8 = comm
533 
534  CALL mpi_bcast(data8, count8, datatype8, root8, comm8, ierror8)
535 
536  DATA = data8
537  ierror = ierror8
538 
539  DEALLOCATE(data8)
540 
541 END SUBROUTINE mpi_bcast8_r4
542 
543 ! ---------------------------------------------------------
544 SUBROUTINE mpi_bcast8_r8(DATA, COUNT, DATATYPE, ROOT, COMM, IERROR)
546  REAL(KIND=JPRB), DIMENSION(:), INTENT(INOUT) :: &
547  DATA
548  INTEGER(KIND=JPIM), INTENT(IN) :: &
549  COUNT, DATATYPE, ROOT, COMM
550  INTEGER(KIND=JPIM), INTENT(OUT) :: &
551  IERROR
552 
553  INTEGER(KIND=8) :: &
554  COUNT8, DATATYPE8, ROOT8, COMM8, IERROR8
555 
556  count8 = count
557  datatype8 = datatype
558  root8 = root
559  comm8 = comm
560 
561  CALL mpi_bcast(DATA, count8, datatype8, root8, comm8, ierror8)
562 
563  ierror = ierror8
564 
565 END SUBROUTINE mpi_bcast8_r8
566 
567 ! ---------------------------------------------------------
568 SUBROUTINE mpi_bcast8_i4(DATA, COUNT, DATATYPE, ROOT, COMM, IERROR)
570  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(INOUT) :: &
571  DATA
572  INTEGER(KIND=JPIM), INTENT(IN) :: &
573  COUNT, DATATYPE, ROOT, COMM
574  INTEGER(KIND=JPIM), INTENT(OUT) :: &
575  IERROR
576 
577  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
578  DATA8
579  INTEGER(KIND=8) :: &
580  COUNT8, DATATYPE8, ROOT8, COMM8, IERROR8
581 
582  ALLOCATE(data8(SIZE(data)))
583 
584  data8 = DATA
585  count8 = count
586  datatype8 = datatype
587  root8 = root
588  comm8 = comm
589 
590  CALL mpi_bcast(data8, count8, datatype8, root8, comm8, ierror8)
591 
592  DATA = data8
593  ierror = ierror8
594 
595  DEALLOCATE(data8)
596 
597 END SUBROUTINE mpi_bcast8_i4
598 
599 ! ---------------------------------------------------------
600 SUBROUTINE mpi_bcast8_i1(DATA, COUNT, DATATYPE, ROOT, COMM, IERROR)
602  INTEGER(KIND=JPIM), INTENT(INOUT) :: &
603  DATA
604  INTEGER(KIND=JPIM), INTENT(IN) :: &
605  COUNT, DATATYPE, ROOT, COMM
606  INTEGER(KIND=JPIM), INTENT(OUT) :: &
607  IERROR
608 
609  INTEGER(KIND=8) :: &
610  DATA8, COUNT8, DATATYPE8, ROOT8, COMM8, IERROR8
611 
612  data8 = DATA
613  count8 = count
614  datatype8 = datatype
615  root8 = root
616  comm8 = comm
617 
618  CALL mpi_bcast(data8, count8, datatype8, root8, comm8, ierror8)
619 
620  DATA = data8
621  ierror = ierror8
622 
623 END SUBROUTINE mpi_bcast8_i1
624 
625 ! ---------------------------------------------------------
626 SUBROUTINE mpi_bcast8_ch(DATA, COUNT, DATATYPE, ROOT, COMM, IERROR)
628  CHARACTER(LEN=*), INTENT(INOUT) :: &
629  DATA
630  INTEGER(KIND=JPIM), INTENT(IN) :: &
631  COUNT, DATATYPE, ROOT, COMM
632  INTEGER(KIND=JPIM), INTENT(OUT) :: &
633  IERROR
634 
635  INTEGER(KIND=8) :: &
636  COUNT8, DATATYPE8, ROOT8, COMM8, IERROR8
637 
638  count8 = count
639  datatype8 = datatype
640  root8 = root
641  comm8 = comm
642 
643  CALL mpi_bcast(DATA, count8, datatype8, root8, comm8, ierror8)
644 
645  ierror = ierror8
646 
647 END SUBROUTINE mpi_bcast8_ch
648 
649 ! =========================================================
650 ! ---------------------------------------------------------
651 SUBROUTINE mpi_bsend8_r4(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
653  REAL(KIND=JPRM), DIMENSION(:), INTENT(IN) :: &
654  DATA
655  INTEGER(KIND=JPIM), INTENT(IN) :: &
656  COUNT, DATATYPE, DEST, TAG, COMM
657  INTEGER(KIND=JPIM), INTENT(OUT) :: &
658  IERROR
659 
660  REAL(KIND=8), DIMENSION(:), ALLOCATABLE :: &
661  DATA8
662  INTEGER(KIND=8) :: &
663  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
664 
665  ALLOCATE(data8(SIZE(data)))
666 
667  data8 = DATA
668  count8 = count
669  datatype8 = datatype
670  dest8 = dest
671  tag8 = tag
672  comm8 = comm
673 
674  CALL mpi_bsend(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
675 
676  ierror = ierror8
677 
678  DEALLOCATE(data8)
679 
680 END SUBROUTINE mpi_bsend8_r4
681 
682 ! =========================================================
683 ! ---------------------------------------------------------
684 SUBROUTINE mpi_bsend8_r8(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
686  REAL(KIND=JPRB), DIMENSION(:), INTENT(IN) :: &
687  DATA
688  INTEGER(KIND=JPIM), INTENT(IN) :: &
689  COUNT, DATATYPE, DEST, TAG, COMM
690  INTEGER(KIND=JPIM), INTENT(OUT) :: &
691  IERROR
692 
693  INTEGER(KIND=8) :: &
694  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
695 
696  count8 = count
697  datatype8 = datatype
698  dest8 = dest
699  tag8 = tag
700  comm8 = comm
701 
702  CALL mpi_bsend(DATA, count8, datatype8, dest8, tag8, comm8, ierror8)
703 
704  ierror = ierror8
705 
706 END SUBROUTINE mpi_bsend8_r8
707 
708 ! ---------------------------------------------------------
709 SUBROUTINE mpi_bsend8_r42(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
711  REAL(KIND=JPRM), DIMENSION(:,:), INTENT(IN) :: &
712  DATA
713  INTEGER(KIND=JPIM), INTENT(IN) :: &
714  COUNT, DATATYPE, DEST, TAG, COMM
715  INTEGER(KIND=JPIM), INTENT(OUT) :: &
716  IERROR
717 
718  REAL(KIND=8), DIMENSION(:,:), ALLOCATABLE :: &
719  DATA8
720  INTEGER(KIND=8) :: &
721  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
722 
723  ALLOCATE(data8(SIZE(DATA,dim=1),SIZE(DATA,dim=2)))
724 
725  data8 = DATA
726  count8 = count
727  datatype8 = datatype
728  dest8 = dest
729  tag8 = tag
730  comm8 = comm
731 
732  CALL mpi_bsend(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
733 
734  ierror = ierror8
735 
736  DEALLOCATE(data8)
737 
738 END SUBROUTINE mpi_bsend8_r42
739 
740 ! =========================================================
741 SUBROUTINE mpi_bsend8_i42(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
743  INTEGER(KIND=JPRM), DIMENSION(:,:), INTENT(IN) :: &
744  DATA
745  INTEGER(KIND=JPIM), INTENT(IN) :: &
746  COUNT, DATATYPE, DEST, TAG, COMM
747  INTEGER(KIND=JPIM), INTENT(OUT) :: &
748  IERROR
749 
750  INTEGER(KIND=8), DIMENSION(:,:), ALLOCATABLE :: &
751  DATA8
752  INTEGER(KIND=8) :: &
753  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
754 
755  ALLOCATE(data8(SIZE(DATA,dim=1),SIZE(DATA,dim=2)))
756 
757  data8 = DATA
758  count8 = count
759  datatype8 = datatype
760  dest8 = dest
761  tag8 = tag
762  comm8 = comm
763 
764  CALL mpi_bsend(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
765 
766  ierror = ierror8
767 
768  DEALLOCATE(data8)
769 
770 END SUBROUTINE mpi_bsend8_i42
771 
772 ! =========================================================
773 ! ---------------------------------------------------------
774 SUBROUTINE mpi_bsend8_r82(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
776  REAL(KIND=JPRB), DIMENSION(:,:), INTENT(IN) :: &
777  DATA
778  INTEGER(KIND=JPIM), INTENT(IN) :: &
779  COUNT, DATATYPE, DEST, TAG, COMM
780  INTEGER(KIND=JPIM), INTENT(OUT) :: &
781  IERROR
782 
783  INTEGER(KIND=8) :: &
784  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
785 
786  count8 = count
787  datatype8 = datatype
788  dest8 = dest
789  tag8 = tag
790  comm8 = comm
791 
792  CALL mpi_bsend(DATA, count8, datatype8, dest8, tag8, comm8, ierror8)
793 
794  ierror = ierror8
795 
796 END SUBROUTINE mpi_bsend8_r82
797 
798 ! =========================================================
799 ! ---------------------------------------------------------
800 SUBROUTINE mpi_bsend8_i4(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
802  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
803  DATA
804  INTEGER(KIND=JPIM), INTENT(IN) :: &
805  COUNT, DATATYPE, DEST, TAG, COMM
806  INTEGER(KIND=JPIM), INTENT(OUT) :: &
807  IERROR
808 
809  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
810  DATA8
811  INTEGER(KIND=8) :: &
812  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
813 
814  ALLOCATE(data8(SIZE(data)))
815 
816  data8 = DATA
817  count8 = count
818  datatype8 = datatype
819  dest8 = dest
820  tag8 = tag
821  comm8 = comm
822 
823  CALL mpi_bsend(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
824 
825  ierror = ierror8
826 
827  DEALLOCATE(data8)
828 
829 END SUBROUTINE mpi_bsend8_i4
830 
831 ! =========================================================
832 ! ---------------------------------------------------------
833 SUBROUTINE mpi_bsend8_i1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
835  INTEGER(KIND=JPIM), INTENT(IN) :: &
836  DATA
837  INTEGER(KIND=JPIM), INTENT(IN) :: &
838  COUNT, DATATYPE, DEST, TAG, COMM
839  INTEGER(KIND=JPIM), INTENT(OUT) :: &
840  IERROR
841 
842  INTEGER(KIND=8) :: &
843  DATA8, COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
844 
845  data8 = DATA
846  count8 = count
847  datatype8 = datatype
848  dest8 = dest
849  tag8 = tag
850  comm8 = comm
851 
852  CALL mpi_bsend(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
853 
854  ierror = ierror8
855 
856 END SUBROUTINE mpi_bsend8_i1
857 
858 ! =========================================================
859 SUBROUTINE mpi_bsend8_r4_1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
861  REAL(KIND=JPRM), INTENT(IN) :: &
862  DATA
863  INTEGER(KIND=JPIM), INTENT(IN) :: &
864  COUNT, DATATYPE, DEST, TAG, COMM
865  INTEGER(KIND=JPIM), INTENT(OUT) :: &
866  IERROR
867 
868  INTEGER(KIND=8) :: DATA8
869  INTEGER(KIND=8) :: &
870  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
871 
872  data8 = DATA
873  count8 = count
874  datatype8 = datatype
875  dest8 = dest
876  tag8 = tag
877  comm8 = comm
878 
879  CALL mpi_bsend(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
880 
881  ierror = ierror8
882 
883 END SUBROUTINE mpi_bsend8_r4_1
884 
885 ! =========================================================
886 SUBROUTINE mpi_bsend8_r8_1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
888  REAL(KIND=JPRB), INTENT(IN) :: &
889  DATA
890  INTEGER(KIND=JPIM), INTENT(IN) :: &
891  COUNT, DATATYPE, DEST, TAG, COMM
892  INTEGER(KIND=JPIM), INTENT(OUT) :: &
893  IERROR
894 
895  INTEGER(KIND=8) :: DATA8
896  INTEGER(KIND=8) :: &
897  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
898 
899  data8 = DATA
900  count8 = count
901  datatype8 = datatype
902  dest8 = dest
903  tag8 = tag
904  comm8 = comm
905 
906  CALL mpi_bsend(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
907 
908  ierror = ierror8
909 
910 END SUBROUTINE mpi_bsend8_r8_1
911 
912 ! =========================================================
913 ! ---------------------------------------------------------
914 SUBROUTINE mpi_bsend8_ch(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
916  CHARACTER(LEN=*), INTENT(IN) :: &
917  DATA
918  INTEGER(KIND=JPIM), INTENT(IN) :: &
919  COUNT, DATATYPE, DEST, TAG, COMM
920  INTEGER(KIND=JPIM), INTENT(OUT) :: &
921  IERROR
922 
923  INTEGER(KIND=8) :: &
924  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
925 
926  count8 = count
927  datatype8 = datatype
928  dest8 = dest
929  tag8 = tag
930  comm8 = comm
931 
932  CALL mpi_bsend(DATA, count8, datatype8, dest8, tag8, comm8, ierror8)
933 
934  ierror = ierror8
935 
936 END SUBROUTINE mpi_bsend8_ch
937 
938 ! =========================================================
939 ! ---------------------------------------------------------
940 SUBROUTINE mpi_isend8_r4(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
942  REAL(KIND=JPRM), DIMENSION(:), INTENT(IN) :: &
943  DATA
944  INTEGER(KIND=JPIM), INTENT(IN) :: &
945  COUNT, DATATYPE, DEST, TAG, COMM
946  INTEGER(KIND=JPIM), INTENT(OUT) :: &
947  REQUEST, IERROR
948 
949  REAL(KIND=8), DIMENSION(:), ALLOCATABLE :: &
950  DATA8
951  INTEGER(KIND=8) :: &
952  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, REQUEST8, IERROR8
953 
954  ALLOCATE(data8(SIZE(data)))
955 
956  data8 = DATA
957  count8 = count
958  datatype8 = datatype
959  dest8 = dest
960  tag8 = tag
961  comm8 = comm
962 
963  CALL mpi_isend(data8, count8, datatype8, dest8, tag8, comm8, request8, ierror8)
964 
965  request = request8
966  ierror = ierror8
967 
968  DEALLOCATE(data8)
969 
970 END SUBROUTINE mpi_isend8_r4
971 
972 ! =========================================================
973 ! ---------------------------------------------------------
974 SUBROUTINE mpi_isend8_r8(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
976  REAL(KIND=JPRB), DIMENSION(:), INTENT(IN) :: &
977  DATA
978  INTEGER(KIND=JPIM), INTENT(IN) :: &
979  COUNT, DATATYPE, DEST, TAG, COMM
980  INTEGER(KIND=JPIM), INTENT(OUT) :: &
981  REQUEST, IERROR
982 
983  INTEGER(KIND=8) :: &
984  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, REQUEST8, IERROR8
985 
986  count8 = count
987  datatype8 = datatype
988  dest8 = dest
989  tag8 = tag
990  comm8 = comm
991 
992  CALL mpi_isend(DATA, count8, datatype8, dest8, tag8, comm8, request8, ierror8)
993 
994  request = request8
995  ierror = ierror8
996 
997 END SUBROUTINE mpi_isend8_r8
998 
999 ! ---------------------------------------------------------
1000 SUBROUTINE mpi_isend8_r42(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
1002  REAL(KIND=JPRM), DIMENSION(:,:), INTENT(IN) :: &
1003  DATA
1004  INTEGER(KIND=JPIM), INTENT(IN) :: &
1005  COUNT, DATATYPE, DEST, TAG, COMM
1006  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1007  REQUEST, IERROR
1008 
1009  REAL(KIND=8), DIMENSION(:,:), ALLOCATABLE :: &
1010  DATA8
1011  INTEGER(KIND=8) :: &
1012  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, REQUEST8, IERROR8
1013 
1014  ALLOCATE(data8(SIZE(DATA,dim=1),SIZE(DATA,dim=2)))
1015 
1016  data8 = DATA
1017  count8 = count
1018  datatype8 = datatype
1019  dest8 = dest
1020  tag8 = tag
1021  comm8 = comm
1022 
1023  CALL mpi_isend(data8, count8, datatype8, dest8, tag8, comm8, request8, ierror8)
1024 
1025  request = request8
1026  ierror = ierror8
1027 
1028  DEALLOCATE(data8)
1029 
1030 END SUBROUTINE mpi_isend8_r42
1031 
1032 ! =========================================================
1033 SUBROUTINE mpi_isend8_i42(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
1035  INTEGER(KIND=JPRM), DIMENSION(:,:), INTENT(IN) :: &
1036  DATA
1037  INTEGER(KIND=JPIM), INTENT(IN) :: &
1038  COUNT, DATATYPE, DEST, TAG, COMM
1039  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1040  REQUEST, IERROR
1041 
1042  INTEGER(KIND=8), DIMENSION(:,:), ALLOCATABLE :: &
1043  DATA8
1044  INTEGER(KIND=8) :: &
1045  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, REQUEST8, IERROR8
1046 
1047  ALLOCATE(data8(SIZE(DATA,dim=1),SIZE(DATA,dim=2)))
1048 
1049  data8 = DATA
1050  count8 = count
1051  datatype8 = datatype
1052  dest8 = dest
1053  tag8 = tag
1054  comm8 = comm
1055 
1056  CALL mpi_isend(data8, count8, datatype8, dest8, tag8, comm8, request8, ierror8)
1057 
1058  request = request8
1059  ierror = ierror8
1060 
1061  DEALLOCATE(data8)
1062 
1063 END SUBROUTINE mpi_isend8_i42
1064 
1065 ! =========================================================
1066 ! ---------------------------------------------------------
1067 SUBROUTINE mpi_isend8_r82(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
1069  REAL(KIND=JPRB), DIMENSION(:,:), INTENT(IN) :: &
1070  DATA
1071  INTEGER(KIND=JPIM), INTENT(IN) :: &
1072  COUNT, DATATYPE, DEST, TAG, COMM
1073  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1074  REQUEST, IERROR
1075 
1076  INTEGER(KIND=8) :: &
1077  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, REQUEST8, IERROR8
1078 
1079  count8 = count
1080  datatype8 = datatype
1081  dest8 = dest
1082  tag8 = tag
1083  comm8 = comm
1084 
1085  CALL mpi_isend(DATA, count8, datatype8, dest8, tag8, comm8, request8, ierror8)
1086 
1087  request = request8
1088  ierror = ierror8
1089 
1090 END SUBROUTINE mpi_isend8_r82
1091 
1092 ! =========================================================
1093 ! ---------------------------------------------------------
1094 SUBROUTINE mpi_isend8_i4(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
1096  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
1097  DATA
1098  INTEGER(KIND=JPIM), INTENT(IN) :: &
1099  COUNT, DATATYPE, DEST, TAG, COMM
1100  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1101  REQUEST, IERROR
1102 
1103  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
1104  DATA8
1105  INTEGER(KIND=8) :: &
1106  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, REQUEST8, IERROR8
1107 
1108  ALLOCATE(data8(SIZE(data)))
1109 
1110  data8 = DATA
1111  count8 = count
1112  datatype8 = datatype
1113  dest8 = dest
1114  tag8 = tag
1115  comm8 = comm
1116 
1117  CALL mpi_isend(data8, count8, datatype8, dest8, tag8, comm8, request8, ierror8)
1118 
1119  request = request8
1120  ierror = ierror8
1121 
1122  DEALLOCATE(data8)
1123 
1124 END SUBROUTINE mpi_isend8_i4
1125 
1126 ! =========================================================
1127 SUBROUTINE mpi_isend8_r4_1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
1129  REAL(KIND=JPRM), INTENT(IN) :: &
1130  DATA
1131  INTEGER(KIND=JPIM), INTENT(IN) :: &
1132  COUNT, DATATYPE, DEST, TAG, COMM
1133  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1134  REQUEST, IERROR
1135 
1136  REAL(KIND=8):: &
1137  DATA8
1138  INTEGER(KIND=8) :: &
1139  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, REQUEST8, IERROR8
1140 
1141  data8 = DATA
1142  count8 = count
1143  datatype8 = datatype
1144  dest8 = dest
1145  tag8 = tag
1146  comm8 = comm
1147 
1148  CALL mpi_isend(data8, count8, datatype8, dest8, tag8, comm8, request8, ierror8)
1149 
1150  request = request8
1151  ierror = ierror8
1152 
1153 END SUBROUTINE mpi_isend8_r4_1
1154 
1155 ! =========================================================
1156 SUBROUTINE mpi_isend8_r8_1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
1158  REAL(KIND=JPRB), INTENT(IN) :: &
1159  DATA
1160  INTEGER(KIND=JPIM), INTENT(IN) :: &
1161  COUNT, DATATYPE, DEST, TAG, COMM
1162  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1163  REQUEST, IERROR
1164 
1165  REAL(KIND=8) :: &
1166  DATA8
1167  INTEGER(KIND=8) :: &
1168  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, REQUEST8, IERROR8
1169 
1170  data8 = DATA
1171  count8 = count
1172  datatype8 = datatype
1173  dest8 = dest
1174  tag8 = tag
1175  comm8 = comm
1176 
1177  CALL mpi_isend(data8, count8, datatype8, dest8, tag8, comm8, request8, ierror8)
1178 
1179  request = request8
1180  ierror = ierror8
1181 
1182 END SUBROUTINE mpi_isend8_r8_1
1183 
1184 ! =========================================================
1185 ! ---------------------------------------------------------
1186 SUBROUTINE mpi_isend8_i1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
1188  INTEGER(KIND=JPIM), INTENT(IN) :: &
1189  DATA
1190  INTEGER(KIND=JPIM), INTENT(IN) :: &
1191  COUNT, DATATYPE, DEST, TAG, COMM
1192  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1193  REQUEST, IERROR
1194 
1195  INTEGER(KIND=8) :: &
1196  DATA8, COUNT8, DATATYPE8, DEST8, TAG8, COMM8, REQUEST8, IERROR8
1197 
1198  data8 = DATA
1199  count8 = count
1200  datatype8 = datatype
1201  dest8 = dest
1202  tag8 = tag
1203  comm8 = comm
1204 
1205  CALL mpi_isend(data8, count8, datatype8, dest8, tag8, comm8, request8, ierror8)
1206 
1207  request = request8
1208  ierror = ierror8
1209 
1210 END SUBROUTINE mpi_isend8_i1
1211 
1212 ! =========================================================
1213 ! ---------------------------------------------------------
1214 SUBROUTINE mpi_isend8_ch(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
1216  CHARACTER(LEN=*), INTENT(IN) :: &
1217  DATA
1218  INTEGER(KIND=JPIM), INTENT(IN) :: &
1219  COUNT, DATATYPE, DEST, TAG, COMM
1220  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1221  REQUEST, IERROR
1222 
1223  INTEGER(KIND=8) :: &
1224  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, REQUEST8, IERROR8
1225 
1226  count8 = count
1227  datatype8 = datatype
1228  dest8 = dest
1229  tag8 = tag
1230  comm8 = comm
1231 
1232  CALL mpi_isend(DATA, count8, datatype8, dest8, tag8, comm8, request8, ierror8)
1233 
1234  request = request8
1235  ierror = ierror8
1236 
1237 END SUBROUTINE mpi_isend8_ch
1238 
1239 ! =========================================================
1240 ! ---------------------------------------------------------
1241 SUBROUTINE mpi_send8_r4(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
1243  REAL(KIND=JPRM), DIMENSION(:), INTENT(IN) :: &
1244  DATA
1245  INTEGER(KIND=JPIM), INTENT(IN) :: &
1246  COUNT, DATATYPE, DEST, TAG, COMM
1247  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1248  IERROR
1249 
1250  REAL(KIND=8), DIMENSION(:), ALLOCATABLE :: &
1251  DATA8
1252  INTEGER(KIND=8) :: &
1253  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
1254 
1255  ALLOCATE(data8(SIZE(data)))
1256 
1257  data8 = DATA
1258  count8 = count
1259  datatype8 = datatype
1260  dest8 = dest
1261  tag8 = tag
1262  comm8 = comm
1263 
1264  CALL mpi_send(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
1265 
1266  ierror = ierror8
1267 
1268  DEALLOCATE(data8)
1269 
1270 END SUBROUTINE mpi_send8_r4
1271 
1272 ! =========================================================
1273 ! ---------------------------------------------------------
1274 SUBROUTINE mpi_send8_r8(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
1276  REAL(KIND=JPRB), DIMENSION(:), INTENT(IN) :: &
1277  DATA
1278  INTEGER(KIND=JPIM), INTENT(IN) :: &
1279  COUNT, DATATYPE, DEST, TAG, COMM
1280  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1281  IERROR
1282 
1283  INTEGER(KIND=8) :: &
1284  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
1285 
1286  count8 = count
1287  datatype8 = datatype
1288  dest8 = dest
1289  tag8 = tag
1290  comm8 = comm
1291 
1292  CALL mpi_send(DATA, count8, datatype8, dest8, tag8, comm8, ierror8)
1293 
1294  ierror = ierror8
1295 
1296 END SUBROUTINE mpi_send8_r8
1297 
1298 ! ---------------------------------------------------------
1299 SUBROUTINE mpi_send8_r42(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
1301  REAL(KIND=JPRM), DIMENSION(:,:), INTENT(IN) :: &
1302  DATA
1303  INTEGER(KIND=JPIM), INTENT(IN) :: &
1304  COUNT, DATATYPE, DEST, TAG, COMM
1305  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1306  IERROR
1307 
1308  REAL(KIND=8), DIMENSION(:,:), ALLOCATABLE :: &
1309  DATA8
1310  INTEGER(KIND=8) :: &
1311  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
1312 
1313  ALLOCATE(data8(SIZE(DATA,dim=1),SIZE(DATA,dim=2)))
1314 
1315  data8 = DATA
1316  count8 = count
1317  datatype8 = datatype
1318  dest8 = dest
1319  tag8 = tag
1320  comm8 = comm
1321 
1322  CALL mpi_send(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
1323 
1324  ierror = ierror8
1325 
1326  DEALLOCATE(data8)
1327 
1328 END SUBROUTINE mpi_send8_r42
1329 
1330 ! ---------------------------------------------------------
1331 SUBROUTINE mpi_send8_i42(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
1333  INTEGER(KIND=JPIM), DIMENSION(:,:), INTENT(IN) :: &
1334  DATA
1335  INTEGER(KIND=JPIM), INTENT(IN) :: &
1336  COUNT, DATATYPE, DEST, TAG, COMM
1337  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1338  IERROR
1339 
1340  INTEGER(KIND=8), DIMENSION(:,:), ALLOCATABLE :: &
1341  DATA8
1342  INTEGER(KIND=8) :: &
1343  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
1344 
1345  ALLOCATE(data8(SIZE(DATA,dim=1),SIZE(DATA,dim=2)))
1346 
1347  data8 = DATA
1348  count8 = count
1349  datatype8 = datatype
1350  dest8 = dest
1351  tag8 = tag
1352  comm8 = comm
1353 
1354  CALL mpi_send(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
1355 
1356  ierror = ierror8
1357 
1358  DEALLOCATE(data8)
1359 
1360 END SUBROUTINE mpi_send8_i42
1361 
1362 ! =========================================================
1363 ! ---------------------------------------------------------
1364 SUBROUTINE mpi_send8_r82(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
1366  REAL(KIND=JPRB), DIMENSION(:,:), INTENT(IN) :: &
1367  DATA
1368  INTEGER(KIND=JPIM), INTENT(IN) :: &
1369  COUNT, DATATYPE, DEST, TAG, COMM
1370  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1371  IERROR
1372 
1373  INTEGER(KIND=8) :: &
1374  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
1375 
1376  count8 = count
1377  datatype8 = datatype
1378  dest8 = dest
1379  tag8 = tag
1380  comm8 = comm
1381 
1382  CALL mpi_send(DATA, count8, datatype8, dest8, tag8, comm8, ierror8)
1383 
1384  ierror = ierror8
1385 
1386 END SUBROUTINE mpi_send8_r82
1387 
1388 ! =========================================================
1389 ! ---------------------------------------------------------
1390 SUBROUTINE mpi_send8_i4(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
1392  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
1393  DATA
1394  INTEGER(KIND=JPIM), INTENT(IN) :: &
1395  COUNT, DATATYPE, DEST, TAG, COMM
1396  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1397  IERROR
1398 
1399  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
1400  DATA8
1401  INTEGER(KIND=8) :: &
1402  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
1403 
1404  ALLOCATE(data8(SIZE(data)))
1405 
1406  data8 = DATA
1407  count8 = count
1408  datatype8 = datatype
1409  dest8 = dest
1410  tag8 = tag
1411  comm8 = comm
1412 
1413  CALL mpi_send(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
1414 
1415  ierror = ierror8
1416 
1417  DEALLOCATE(data8)
1418 
1419 END SUBROUTINE mpi_send8_i4
1420 
1421 ! =========================================================
1422 ! ---------------------------------------------------------
1423 SUBROUTINE mpi_send8_i1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
1425  INTEGER(KIND=JPIM), INTENT(IN) :: &
1426  DATA
1427  INTEGER(KIND=JPIM), INTENT(IN) :: &
1428  COUNT, DATATYPE, DEST, TAG, COMM
1429  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1430  IERROR
1431 
1432  INTEGER(KIND=8) :: &
1433  DATA8, COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
1434 
1435  data8 = DATA
1436  count8 = count
1437  datatype8 = datatype
1438  dest8 = dest
1439  tag8 = tag
1440  comm8 = comm
1441 
1442  CALL mpi_send(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
1443 
1444  ierror = ierror8
1445 
1446 END SUBROUTINE mpi_send8_i1
1447 
1448 ! =========================================================
1449 SUBROUTINE mpi_send8_r4_1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
1451  REAL(KIND=JPRM), INTENT(IN) :: &
1452  DATA
1453  INTEGER(KIND=JPIM), INTENT(IN) :: &
1454  COUNT, DATATYPE, DEST, TAG, COMM
1455  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1456  IERROR
1457 
1458  REAL(KIND=8) :: DATA8
1459  INTEGER(KIND=8) :: &
1460  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
1461 
1462  data8 = DATA
1463  count8 = count
1464  datatype8 = datatype
1465  dest8 = dest
1466  tag8 = tag
1467  comm8 = comm
1468 
1469  CALL mpi_send(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
1470 
1471  ierror = ierror8
1472 
1473 END SUBROUTINE mpi_send8_r4_1
1474 
1475 ! =========================================================
1476 SUBROUTINE mpi_send8_r8_1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
1478  REAL(KIND=JPRB), INTENT(IN) :: &
1479  DATA
1480  INTEGER(KIND=JPIM), INTENT(IN) :: &
1481  COUNT, DATATYPE, DEST, TAG, COMM
1482  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1483  IERROR
1484 
1485  REAL(KIND=8) :: DATA8
1486  INTEGER(KIND=8) :: &
1487  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
1488 
1489  data8 = DATA
1490  count8 = count
1491  datatype8 = datatype
1492  dest8 = dest
1493  tag8 = tag
1494  comm8 = comm
1495 
1496  CALL mpi_send(data8, count8, datatype8, dest8, tag8, comm8, ierror8)
1497 
1498  ierror = ierror8
1499 
1500 END SUBROUTINE mpi_send8_r8_1
1501 
1502 ! =========================================================
1503 ! ---------------------------------------------------------
1504 SUBROUTINE mpi_send8_ch(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
1506  CHARACTER(LEN=*), INTENT(IN) :: &
1507  DATA
1508  INTEGER(KIND=JPIM), INTENT(IN) :: &
1509  COUNT, DATATYPE, DEST, TAG, COMM
1510  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1511  IERROR
1512 
1513  INTEGER(KIND=8) :: &
1514  COUNT8, DATATYPE8, DEST8, TAG8, COMM8, IERROR8
1515 
1516  count8 = count
1517  datatype8 = datatype
1518  dest8 = dest
1519  tag8 = tag
1520  comm8 = comm
1521 
1522  CALL mpi_send(DATA, count8, datatype8, dest8, tag8, comm8, ierror8)
1523 
1524  ierror = ierror8
1525 
1526 END SUBROUTINE mpi_send8_ch
1527 
1528 ! =========================================================
1529 ! ---------------------------------------------------------
1530 SUBROUTINE mpi_file_iread_shared8_r8(FH, BUF, COUNT, DATATYPE, REQUEST, IERROR)
1532  INTEGER(KIND=JPIM), INTENT(IN) :: &
1533  FH, COUNT, DATATYPE
1534  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
1535  BUF
1536  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1537  REQUEST, IERROR
1538 
1539  INTEGER(KIND=8) :: &
1540  FH8, COUNT8, DATATYPE8, REQUEST8, IERROR8
1541 
1542  fh8 = fh
1543  count8 = count
1544  datatype8 = datatype
1545 
1546  CALL mpi_file_iread_shared(fh8, buf, count8, datatype8, request8, ierror8)
1547 
1548  request = request8
1549  ierror = ierror8
1550 
1551 END SUBROUTINE mpi_file_iread_shared8_r8
1552 
1553 ! ---------------------------------------------------------
1554 SUBROUTINE mpi_file_iread_shared8_i4(FH, BUF, COUNT, DATATYPE, REQUEST, IERROR)
1556  INTEGER(KIND=JPIM), INTENT(IN) :: &
1557  FH, COUNT, DATATYPE
1558  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1559  BUF(:), REQUEST, IERROR
1560 
1561  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
1562  BUF8
1563  INTEGER(KIND=8) :: &
1564  FH8, COUNT8, DATATYPE8, REQUEST8, IERROR8
1565 
1566  ALLOCATE(buf8(SIZE(buf)))
1567 
1568  fh8 = fh
1569  count8 = count
1570  datatype8 = datatype
1571 
1572  CALL mpi_file_iread_shared(fh8, buf8, count8, datatype8, request8, ierror8)
1573 
1574  buf = buf8
1575  request = request8
1576  ierror = ierror8
1577 
1578  DEALLOCATE(buf8)
1579 
1580 END SUBROUTINE mpi_file_iread_shared8_i4
1581 
1582 ! =========================================================
1583 ! ---------------------------------------------------------
1584 SUBROUTINE mpi_file_iwrite_shared8_r8(FH, BUF, COUNT, DATATYPE, REQUEST, IERROR)
1586  REAL(KIND=JPRB), DIMENSION(:), INTENT(IN) :: &
1587  BUF
1588  INTEGER(KIND=JPIM), INTENT(IN) :: &
1589  FH, COUNT, DATATYPE
1590  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1591  REQUEST, IERROR
1592 
1593  INTEGER(KIND=8) :: &
1594  FH8, COUNT8, DATATYPE8, REQUEST8, IERROR8
1595 
1596  fh8 = fh
1597  count8 = count
1598  datatype8 = datatype
1599 
1600  CALL mpi_file_iwrite_shared(fh8, buf, count8, datatype8, request8, ierror8)
1601 
1602  request = request8
1603  ierror = ierror8
1604 
1605 END SUBROUTINE mpi_file_iwrite_shared8_r8
1606 
1607 ! ---------------------------------------------------------
1608 SUBROUTINE mpi_file_iwrite_shared8_i4(FH, BUF, COUNT, DATATYPE, REQUEST, IERROR)
1610  INTEGER(KIND=JPIM), INTENT(IN) :: &
1611  FH, BUF(:), COUNT, DATATYPE
1612  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1613  REQUEST, IERROR
1614 
1615  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
1616  BUF8
1617  INTEGER(KIND=8) :: &
1618  FH8, COUNT8, DATATYPE8, REQUEST8, IERROR8
1619 
1620  ALLOCATE(buf8(SIZE(buf)))
1621 
1622  fh8 = fh
1623  buf8 = buf
1624  count8 = count
1625  datatype8 = datatype
1626 
1627  CALL mpi_file_iwrite_shared(fh8, buf8, count8, datatype8, request8, ierror8)
1628 
1629  request = request8
1630  ierror = ierror8
1631 
1632  DEALLOCATE(buf8)
1633 
1634 END SUBROUTINE mpi_file_iwrite_shared8_i4
1635 
1636 ! =========================================================
1637 ! ---------------------------------------------------------
1638 SUBROUTINE mpi_file_read_ordered8_r8(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
1640  INTEGER(KIND=JPIM), INTENT(IN) :: &
1641  FH, COUNT, DATATYPE
1642  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
1643  BUF
1644  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1645  STATUS(:), IERROR
1646 
1647  INTEGER(KIND=8) :: &
1648  FH8, COUNT8, DATATYPE8, IERROR8
1649 
1650  fh8 = fh
1651  count8 = count
1652  datatype8 = datatype
1653 
1654  CALL mpi_file_read_ordered(fh8, buf, count8, datatype8, status8, ierror8)
1655 
1656  status = status8
1657  ierror = ierror8
1658 
1659 END SUBROUTINE mpi_file_read_ordered8_r8
1660 
1661 ! ---------------------------------------------------------
1662 SUBROUTINE mpi_file_read_ordered8_i4(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
1664  INTEGER(KIND=JPIM), INTENT(IN) :: &
1665  FH, COUNT, DATATYPE
1666  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1667  BUF(:), STATUS(:), IERROR
1668 
1669  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
1670  BUF8
1671  INTEGER(KIND=8) :: &
1672  FH8, COUNT8, DATATYPE8, IERROR8
1673 
1674  ALLOCATE(buf8(SIZE(buf)))
1675 
1676  fh8 = fh
1677  count8 = count
1678  datatype8 = datatype
1679 
1680  CALL mpi_file_read_ordered(fh8, buf8, count8, datatype8, status8, ierror8)
1681 
1682  buf = buf8
1683  status = status8
1684  ierror = ierror8
1685 
1686  DEALLOCATE(buf8)
1687 
1688 END SUBROUTINE mpi_file_read_ordered8_i4
1689 
1690 ! =========================================================
1691 ! ---------------------------------------------------------
1692 SUBROUTINE mpi_fread_ordered_begin8_r8(FH, BUF, COUNT, DATATYPE, IERROR)
1694  INTEGER(KIND=JPIM), INTENT(IN) :: &
1695  FH, COUNT, DATATYPE
1696  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
1697  BUF
1698  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1699  IERROR
1700 
1701  INTEGER(KIND=8) :: &
1702  FH8, COUNT8, DATATYPE8, IERROR8
1703 
1704  fh8 = fh
1705  count8 = count
1706  datatype8 = datatype
1707 
1708  CALL mpi_file_read_ordered_begin(fh8, buf, count8, datatype8, ierror8)
1709 
1710  ierror = ierror8
1711 
1712 END SUBROUTINE mpi_fread_ordered_begin8_r8
1713 
1714 ! ---------------------------------------------------------
1715 SUBROUTINE mpi_fread_ordered_begin8_i4(FH, BUF, COUNT, DATATYPE, IERROR)
1717  INTEGER(KIND=JPIM), INTENT(IN) :: &
1718  FH, COUNT, DATATYPE
1719  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1720  BUF(:), IERROR
1721 
1722  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
1723  BUF8
1724  INTEGER(KIND=8) :: &
1725  FH8, COUNT8, DATATYPE8, IERROR8
1726 
1727  ALLOCATE(buf8(SIZE(buf)))
1728 
1729  fh8 = fh
1730  count8 = count
1731  datatype8 = datatype
1732 
1733  CALL mpi_file_read_ordered_begin(fh8, buf8, count8, datatype8, ierror8)
1734 
1735  buf = buf8
1736  ierror = ierror8
1737 
1738  DEALLOCATE(buf8)
1739 
1740 END SUBROUTINE mpi_fread_ordered_begin8_i4
1741 
1742 ! =========================================================
1743 ! ---------------------------------------------------------
1744 SUBROUTINE mpi_fread_ordered_end8_r8(FH, BUF, STATUS, IERROR)
1746  INTEGER(KIND=JPIM), INTENT(IN) :: &
1747  FH
1748  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
1749  BUF
1750  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1751  STATUS(:), IERROR
1752 
1753  INTEGER(KIND=8) :: &
1754  FH8, IERROR8
1755 
1756  fh8 = fh
1757 
1758  CALL mpi_file_read_ordered_end(fh8, buf, status8, ierror8)
1759 
1760  status = status8
1761  ierror = ierror8
1762 
1763 END SUBROUTINE mpi_fread_ordered_end8_r8
1764 
1765 ! ---------------------------------------------------------
1766 SUBROUTINE mpi_fread_ordered_end8_i4(FH, BUF, STATUS, IERROR)
1768  INTEGER(KIND=JPIM), INTENT(IN) :: &
1769  FH
1770  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1771  BUF(:), STATUS(:), IERROR
1772 
1773  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
1774  BUF8
1775  INTEGER(KIND=8) :: &
1776  FH8, IERROR8
1777 
1778  ALLOCATE(buf8(SIZE(buf)))
1779 
1780  fh8 = fh
1781 
1782  CALL mpi_file_read_ordered_end(fh8, buf8, status8, ierror8)
1783 
1784  buf = buf8
1785  status = status8
1786  ierror = ierror8
1787 
1788  DEALLOCATE(buf8)
1789 
1790 END SUBROUTINE mpi_fread_ordered_end8_i4
1791 
1792 ! =========================================================
1793 ! ---------------------------------------------------------
1794 SUBROUTINE mpi_file_read_shared8_r8(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
1796  INTEGER(KIND=JPIM), INTENT(IN) :: &
1797  FH, COUNT, DATATYPE
1798  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
1799  BUF
1800  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1801  STATUS(:), IERROR
1802 
1803  INTEGER(KIND=8) :: &
1804  FH8, COUNT8, DATATYPE8, IERROR8
1805 
1806  fh8 = fh
1807  count8 = count
1808  datatype8 = datatype
1809 
1810  CALL mpi_file_read_shared(fh8, buf, count8, datatype8, status8, ierror8)
1811 
1812  status = status8
1813  ierror = ierror8
1814 
1815 END SUBROUTINE mpi_file_read_shared8_r8
1816 
1817 ! ---------------------------------------------------------
1818 SUBROUTINE mpi_file_read_shared8_i4(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
1820  INTEGER(KIND=JPIM), INTENT(IN) :: &
1821  FH, COUNT, DATATYPE
1822  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1823  BUF(:), STATUS(:), IERROR
1824 
1825  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
1826  BUF8
1827  INTEGER(KIND=8) :: &
1828  FH8, COUNT8, DATATYPE8, IERROR8
1829 
1830  ALLOCATE(buf8(SIZE(buf)))
1831 
1832  fh8 = fh
1833  count8 = count
1834  datatype8 = datatype
1835 
1836  CALL mpi_file_read_shared(fh8, buf8, count8, datatype8, status8, ierror8)
1837 
1838  buf = buf8
1839  status = status8
1840  ierror = ierror8
1841 
1842  DEALLOCATE(buf8)
1843 
1844 END SUBROUTINE mpi_file_read_shared8_i4
1845 
1846 ! =========================================================
1847 ! ---------------------------------------------------------
1848 SUBROUTINE mpi_file_write_ordered8_r8(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
1850  REAL(KIND=JPRB), DIMENSION(:), INTENT(IN) :: &
1851  BUF
1852  INTEGER(KIND=JPIM), INTENT(IN) :: &
1853  FH, COUNT, DATATYPE
1854  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1855  STATUS(:), IERROR
1856 
1857  INTEGER(KIND=8) :: &
1858  FH8, COUNT8, DATATYPE8, IERROR8
1859 
1860  fh8 = fh
1861  count8 = count
1862  datatype8 = datatype
1863 
1864  CALL mpi_file_write_ordered(fh8, buf, count8, datatype8, status8, ierror8)
1865 
1866  status = status8
1867  ierror = ierror8
1868 
1869 END SUBROUTINE mpi_file_write_ordered8_r8
1870 
1871 ! ---------------------------------------------------------
1872 SUBROUTINE mpi_file_write_ordered8_i4(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
1874  INTEGER(KIND=JPIM), INTENT(IN) :: &
1875  FH, BUF(:), COUNT, DATATYPE
1876  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1877  STATUS(:), IERROR
1878 
1879  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
1880  BUF8
1881  INTEGER(KIND=8) :: &
1882  FH8, COUNT8, DATATYPE8, IERROR8
1883 
1884  ALLOCATE(buf8(SIZE(buf)))
1885 
1886  fh8 = fh
1887  buf8 = buf
1888  count8 = count
1889  datatype8 = datatype
1890 
1891  CALL mpi_file_write_ordered(fh8, buf8, count8, datatype8, status8, ierror8)
1892 
1893  status = status8
1894  ierror = ierror8
1895 
1896  DEALLOCATE(buf8)
1897 
1898 END SUBROUTINE mpi_file_write_ordered8_i4
1899 
1900 ! =========================================================
1901 ! ---------------------------------------------------------
1902 SUBROUTINE mpi_fwrite_ordered_begin8_r8(FH, BUF, COUNT, DATATYPE, IERROR)
1904  INTEGER(KIND=JPIM), INTENT(IN) :: &
1905  FH, COUNT, DATATYPE
1906  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
1907  BUF
1908  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1909  IERROR
1910 
1911  INTEGER(KIND=8) :: &
1912  FH8, COUNT8, DATATYPE8, IERROR8
1913 
1914  fh8 = fh
1915  count8 = count
1916  datatype8 = datatype
1917 
1918  CALL mpi_file_write_ordered_begin(fh8, buf, count8, datatype8, ierror8)
1919 
1920  ierror = ierror8
1921 
1922 END SUBROUTINE mpi_fwrite_ordered_begin8_r8
1923 
1924 ! ---------------------------------------------------------
1925 SUBROUTINE mpi_fwrite_ordered_begin8_i4(FH, BUF, COUNT, DATATYPE, IERROR)
1927  INTEGER(KIND=JPIM), INTENT(IN) :: &
1928  FH, COUNT, DATATYPE
1929  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1930  BUF(:), IERROR
1931 
1932  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
1933  BUF8
1934  INTEGER(KIND=8) :: &
1935  FH8, COUNT8, DATATYPE8, IERROR8
1936 
1937  ALLOCATE(buf8(SIZE(buf)))
1938 
1939  fh8 = fh
1940  count8 = count
1941  datatype8 = datatype
1942 
1943  CALL mpi_file_write_ordered_begin(fh8, buf8, count8, datatype8, ierror8)
1944 
1945  buf = buf8
1946  ierror = ierror8
1947 
1948  DEALLOCATE(buf8)
1949 
1950 END SUBROUTINE mpi_fwrite_ordered_begin8_i4
1951 
1952 ! =========================================================
1953 ! ---------------------------------------------------------
1954 SUBROUTINE mpi_fwrite_ordered_end8_r8(FH, BUF, STATUS, IERROR)
1956  INTEGER(KIND=JPIM), INTENT(IN) :: &
1957  FH, STATUS(:)
1958  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
1959  BUF
1960  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1961  IERROR
1962 
1963  INTEGER(KIND=8) :: &
1964  FH8, IERROR8
1965 
1966  fh8 = fh
1967  status8 = status
1968 
1969  CALL mpi_file_write_ordered_end(fh8, buf, status8, ierror8)
1970 
1971  ierror = ierror8
1972 
1973 END SUBROUTINE mpi_fwrite_ordered_end8_r8
1974 
1975 ! ---------------------------------------------------------
1976 SUBROUTINE mpi_fwrite_ordered_end8_i4(FH, BUF, STATUS, IERROR)
1978  INTEGER(KIND=JPIM), INTENT(IN) :: &
1979  FH, STATUS(:)
1980  INTEGER(KIND=JPIM), INTENT(OUT) :: &
1981  BUF(:), IERROR
1982 
1983  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
1984  BUF8
1985  INTEGER(KIND=8) :: &
1986  FH8, IERROR8
1987 
1988  ALLOCATE(buf8(SIZE(buf)))
1989 
1990  fh8 = fh
1991  status8 = status
1992 
1993  CALL mpi_file_write_ordered_end(fh8, buf8, status8, ierror8)
1994 
1995  buf = buf8
1996  ierror = ierror8
1997 
1998  DEALLOCATE(buf8)
1999 
2000 END SUBROUTINE mpi_fwrite_ordered_end8_i4
2001 
2002 ! =========================================================
2003 ! ---------------------------------------------------------
2004 SUBROUTINE mpi_file_write_shared8_r8(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
2006  REAL(KIND=JPRB), DIMENSION(:), INTENT(IN) :: &
2007  BUF
2008  INTEGER(KIND=JPIM), INTENT(IN) :: &
2009  FH, COUNT, DATATYPE
2010  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2011  STATUS(:), IERROR
2012 
2013  INTEGER(KIND=8) :: &
2014  FH8, COUNT8, DATATYPE8, IERROR8
2015 
2016  fh8 = fh
2017  count8 = count
2018  datatype8 = datatype
2019 
2020  CALL mpi_file_write_shared(fh8, buf, count8, datatype8, status8, ierror8)
2021 
2022  status = status8
2023  ierror = ierror8
2024 
2025 END SUBROUTINE mpi_file_write_shared8_r8
2026 
2027 ! ---------------------------------------------------------
2028 SUBROUTINE mpi_file_write_shared8_i4(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
2030  INTEGER(KIND=JPIM), INTENT(IN) :: &
2031  FH, BUF(:), COUNT, DATATYPE
2032  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2033  STATUS(:), IERROR
2034 
2035  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2036  BUF8
2037  INTEGER(KIND=8) :: &
2038  FH8, COUNT8, DATATYPE8, IERROR8
2039 
2040  ALLOCATE(buf8(SIZE(buf)))
2041 
2042  fh8 = fh
2043  buf8 = buf
2044  count8 = count
2045  datatype8 = datatype
2046 
2047  CALL mpi_file_write_shared(fh8, buf8, count8, datatype8, status8, ierror8)
2048 
2049  status = status8
2050  ierror = ierror8
2051 
2052  DEALLOCATE(buf8)
2053 
2054 END SUBROUTINE mpi_file_write_shared8_i4
2055 
2056 ! =========================================================
2057 ! ---------------------------------------------------------
2058 SUBROUTINE mpi_gather8_r8_1(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, &
2059  RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
2061  REAL(KIND=JPRB), INTENT(IN) :: &
2062  SENDDATA
2063  INTEGER(KIND=JPIM), INTENT(IN) :: &
2064  SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM
2065  REAL(KIND=JPRB), INTENT(OUT) :: &
2066  RECVAREA
2067  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2068  IERROR
2069 
2070  INTEGER(KIND=8) :: &
2071  SENDCOUNT8, SENDTYPE8, RECVCOUNT8, RECVTYPE8, ROOT8, COMM8, IERROR8
2072 
2073  sendcount8 = sendcount
2074  sendtype8 = sendtype
2075  recvcount8 = recvcount
2076  recvtype8 = recvtype
2077  root8 = root
2078  comm8 = comm
2079 
2080  CALL mpi_gather(senddata, sendcount8, sendtype8, recvarea, &
2081  recvcount8, recvtype8, root8, comm8, ierror8)
2082 
2083  ierror = ierror8
2084 
2085 END SUBROUTINE mpi_gather8_r8_1
2086 
2087 ! ---------------------------------------------------------
2088 SUBROUTINE mpi_gather8_i1(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, &
2089  RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
2091  INTEGER(KIND=JPIM), INTENT(IN) :: &
2092  SENDDATA, SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM
2093  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2094  RECVAREA, IERROR
2095 
2096  INTEGER(KIND=8) :: &
2097  SENDDATA8, RECVAREA8
2098  INTEGER(KIND=8) :: &
2099  SENDCOUNT8, SENDTYPE8, RECVCOUNT8, RECVTYPE8, ROOT8, COMM8, IERROR8
2100 
2101  senddata8 = senddata
2102  sendcount8 = sendcount
2103  sendtype8 = sendtype
2104  recvcount8 = recvcount
2105  recvtype8 = recvtype
2106  root8 = root
2107  comm8 = comm
2108 
2109  CALL mpi_gather(senddata8, sendcount8, sendtype8, recvarea8, &
2110  recvcount8, recvtype8, root8, comm8, ierror8)
2111 
2112  recvarea = recvarea8
2113  ierror = ierror8
2114 
2115 END SUBROUTINE mpi_gather8_i1
2116 
2117 ! =========================================================
2118 ! ---------------------------------------------------------
2119 SUBROUTINE mpi_gatherv8_r8(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, &
2120  RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
2122  REAL(KIND=JPRB), DIMENSION(:), INTENT(IN) :: &
2123  SENDDATA
2124  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
2125  RECVCOUNTS, DISPLS
2126  INTEGER(KIND=JPIM), INTENT(IN) :: &
2127  SENDCOUNT, SENDTYPE, RECVTYPE, ROOT, COMM
2128  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
2129  RECVAREA
2130  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2131  IERROR
2132 
2133  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2134  RECVCOUNTS8, DISPLS8
2135  INTEGER(KIND=8) :: &
2136  SENDCOUNT8, SENDTYPE8, RECVTYPE8, ROOT8, COMM8, IERROR8
2137 
2138  ALLOCATE(recvcounts8(SIZE(recvcounts)))
2139  ALLOCATE(displs8(SIZE(displs)))
2140 
2141  sendcount8 = sendcount
2142  sendtype8 = sendtype
2143  recvcounts8 = recvcounts
2144  displs8 = displs
2145  recvtype8 = recvtype
2146  root8 = root
2147  comm8 = comm
2148 
2149  CALL mpi_gatherv(senddata, sendcount8, sendtype8, recvarea, &
2150  recvcounts8, displs8, recvtype8, root8, comm8, ierror8)
2151 
2152  ierror = ierror8
2153 
2154  DEALLOCATE(recvcounts8)
2155  DEALLOCATE(displs8)
2156 
2157 END SUBROUTINE mpi_gatherv8_r8
2158 
2159 ! ---------------------------------------------------------
2160 SUBROUTINE mpi_gatherv8_r8s(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, &
2161  RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
2163  REAL(KIND=JPRB), DIMENSION(:), INTENT(IN) :: &
2164  SENDDATA
2165  INTEGER(KIND=JPIM), INTENT(IN) :: &
2166  RECVCOUNTS, DISPLS
2167  INTEGER(KIND=JPIM), INTENT(IN) :: &
2168  SENDCOUNT, SENDTYPE, RECVTYPE, ROOT, COMM
2169  REAL(KIND=JPRB), INTENT(OUT) :: &
2170  RECVAREA
2171  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2172  IERROR
2173 
2174  INTEGER(KIND=8) :: RECVCOUNTS8, DISPLS8
2175  INTEGER(KIND=8) :: &
2176  SENDCOUNT8, SENDTYPE8, RECVTYPE8, ROOT8, COMM8, IERROR8
2177 
2178  sendcount8 = sendcount
2179  sendtype8 = sendtype
2180  recvcounts8 = recvcounts
2181  displs8 = displs
2182  recvtype8 = recvtype
2183  root8 = root
2184  comm8 = comm
2185 
2186  CALL mpi_gatherv(senddata, sendcount8, sendtype8, recvarea, &
2187  recvcounts8, displs8, recvtype8, root8, comm8, ierror8)
2188 
2189  ierror = ierror8
2190 
2191 END SUBROUTINE mpi_gatherv8_r8s
2192 
2193 ! ---------------------------------------------------------
2194 SUBROUTINE mpi_gatherv8_r4(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, &
2195  RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
2197  REAL(KIND=JPRM), DIMENSION(:), INTENT(IN) :: &
2198  SENDDATA
2199  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
2200  RECVCOUNTS, DISPLS
2201  INTEGER(KIND=JPIM), INTENT(IN) :: &
2202  SENDCOUNT, SENDTYPE, RECVTYPE, ROOT, COMM
2203  REAL(KIND=JPRM), DIMENSION(:), INTENT(OUT) :: &
2204  RECVAREA
2205  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2206  IERROR
2207 
2208  REAL(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2209  SENDDATA8, RECVAREA8
2210  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2211  RECVCOUNTS8, DISPLS8
2212  INTEGER(KIND=8) :: &
2213  SENDCOUNT8, SENDTYPE8, RECVTYPE8, ROOT8, COMM8, IERROR8
2214 
2215  ALLOCATE(senddata8(SIZE(senddata)))
2216  ALLOCATE(recvarea8(SIZE(recvarea)))
2217  ALLOCATE(recvcounts8(SIZE(recvcounts)))
2218  ALLOCATE(displs8(SIZE(displs)))
2219 
2220  senddata8 = senddata
2221  sendcount8 = sendcount
2222  sendtype8 = sendtype
2223  recvcounts8 = recvcounts
2224  displs8 = displs
2225  recvtype8 = recvtype
2226  root8 = root
2227  comm8 = comm
2228 
2229  CALL mpi_gatherv(senddata8, sendcount8, sendtype8, recvarea8, &
2230  recvcounts8, displs8, recvtype8, root8, comm8, ierror8)
2231 
2232  recvarea = recvarea8
2233  ierror = ierror8
2234 
2235  DEALLOCATE(senddata8)
2236  DEALLOCATE(recvarea8)
2237  DEALLOCATE(recvcounts8)
2238  DEALLOCATE(displs8)
2239 
2240 END SUBROUTINE mpi_gatherv8_r4
2241 
2242 ! ---------------------------------------------------------
2243 SUBROUTINE mpi_gatherv8_r4s(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, &
2244  RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
2246  REAL(KIND=JPRM), DIMENSION(:), INTENT(IN) :: &
2247  SENDDATA
2248  INTEGER(KIND=JPIM), INTENT(IN) :: &
2249  RECVCOUNTS, DISPLS
2250  INTEGER(KIND=JPIM), INTENT(IN) :: &
2251  SENDCOUNT, SENDTYPE, RECVTYPE, ROOT, COMM
2252  REAL(KIND=JPRM), INTENT(OUT) :: &
2253  RECVAREA
2254  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2255  IERROR
2256 
2257  REAL(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2258  SENDDATA8
2259  REAL(KIND=8) :: RECVAREA8
2260  INTEGER(KIND=8) :: RECVCOUNTS8, DISPLS8
2261  INTEGER(KIND=8) :: &
2262  SENDCOUNT8, SENDTYPE8, RECVTYPE8, ROOT8, COMM8, IERROR8
2263 
2264  ALLOCATE(senddata8(SIZE(senddata)))
2265 
2266  senddata8 = senddata
2267  sendcount8 = sendcount
2268  sendtype8 = sendtype
2269  recvcounts8 = recvcounts
2270  displs8 = displs
2271  recvtype8 = recvtype
2272  root8 = root
2273  comm8 = comm
2274 
2275  CALL mpi_gatherv(senddata8, sendcount8, sendtype8, recvarea8, &
2276  recvcounts8, displs8, recvtype8, root8, comm8, ierror8)
2277 
2278  recvarea = recvarea8
2279  ierror = ierror8
2280 
2281  DEALLOCATE(senddata8)
2282 
2283 END SUBROUTINE mpi_gatherv8_r4s
2284 
2285 ! ---------------------------------------------------------
2286 SUBROUTINE mpi_gatherv8_i4(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, &
2287  RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
2289  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
2290  SENDDATA, RECVCOUNTS, DISPLS
2291  INTEGER(KIND=JPIM), INTENT(IN) :: &
2292  SENDCOUNT, SENDTYPE, RECVTYPE, ROOT, COMM
2293  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2294  RECVAREA(:), IERROR
2295 
2296  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2297  SENDDATA8, RECVAREA8, RECVCOUNTS8, DISPLS8
2298  INTEGER(KIND=8) :: &
2299  SENDCOUNT8, SENDTYPE8, RECVTYPE8, ROOT8, COMM8, IERROR8
2300 
2301  ALLOCATE(senddata8(SIZE(senddata)))
2302  ALLOCATE(recvarea8(SIZE(recvarea)))
2303  ALLOCATE(recvcounts8(SIZE(recvcounts)))
2304  ALLOCATE(displs8(SIZE(displs)))
2305 
2306  senddata8 = senddata
2307  sendcount8 = sendcount
2308  sendtype8 = sendtype
2309  recvcounts8 = recvcounts
2310  displs8 = displs
2311  recvtype8 = recvtype
2312  root8 = root
2313  comm8 = comm
2314 
2315  CALL mpi_gatherv(senddata8, sendcount8, sendtype8, recvarea8, &
2316  recvcounts8, displs8, recvtype8, root8, comm8, ierror8)
2317 
2318  recvarea = recvarea8
2319  ierror = ierror8
2320 
2321  DEALLOCATE(senddata8)
2322  DEALLOCATE(recvarea8)
2323  DEALLOCATE(recvcounts8)
2324  DEALLOCATE(displs8)
2325 
2326 END SUBROUTINE mpi_gatherv8_i4
2327 
2328 ! ---------------------------------------------------------
2329 SUBROUTINE mpi_gatherv8_i4s(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, &
2330  RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
2332  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
2333  SENDDATA
2334  INTEGER(KIND=JPIM), INTENT(IN) :: &
2335  SENDCOUNT, SENDTYPE, RECVTYPE, ROOT, COMM, RECVCOUNTS, DISPLS
2336  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2337  RECVAREA, IERROR
2338 
2339  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2340  SENDDATA8
2341  INTEGER(KIND=8) :: &
2342  RECVAREA8, RECVCOUNTS8, DISPLS8
2343  INTEGER(KIND=8) :: &
2344  SENDCOUNT8, SENDTYPE8, RECVTYPE8, ROOT8, COMM8, IERROR8
2345 
2346  ALLOCATE(senddata8(SIZE(senddata)))
2347 
2348  senddata8 = senddata
2349  sendcount8 = sendcount
2350  sendtype8 = sendtype
2351  recvcounts8 = recvcounts
2352  displs8 = displs
2353  recvtype8 = recvtype
2354  root8 = root
2355  comm8 = comm
2356 
2357  CALL mpi_gatherv(senddata8, sendcount8, sendtype8, recvarea8, &
2358  recvcounts8, displs8, recvtype8, root8, comm8, ierror8)
2359 
2360  recvarea = recvarea8
2361  ierror = ierror8
2362 
2363  DEALLOCATE(senddata8)
2364 
2365 END SUBROUTINE mpi_gatherv8_i4s
2366 
2367 ! ---------------------------------------------------------
2368 SUBROUTINE mpi_gatherv8_i4s_1(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, &
2369  RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
2371  INTEGER(KIND=JPIM), INTENT(IN) :: &
2372  SENDDATA
2373  INTEGER(KIND=JPIM), INTENT(IN) :: &
2374  SENDCOUNT, SENDTYPE, RECVTYPE, ROOT, COMM, RECVCOUNTS, DISPLS
2375  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2376  RECVAREA, IERROR
2377 
2378  INTEGER(KIND=8) :: &
2379  SENDDATA8
2380  INTEGER(KIND=8) :: &
2381  RECVAREA8, RECVCOUNTS8, DISPLS8
2382  INTEGER(KIND=8) :: &
2383  SENDCOUNT8, SENDTYPE8, RECVTYPE8, ROOT8, COMM8, IERROR8
2384 
2385  senddata8 = senddata
2386  sendcount8 = sendcount
2387  sendtype8 = sendtype
2388  recvcounts8 = recvcounts
2389  displs8 = displs
2390  recvtype8 = recvtype
2391  root8 = root
2392  comm8 = comm
2393 
2394  CALL mpi_gatherv(senddata8, sendcount8, sendtype8, recvarea8, &
2395  recvcounts8, displs8, recvtype8, root8, comm8, ierror8)
2396 
2397  recvarea = recvarea8
2398  ierror = ierror8
2399 
2400 END SUBROUTINE mpi_gatherv8_i4s_1
2401 
2402 ! ---------------------------------------------------------
2403 SUBROUTINE mpi_gatherv8_i1(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, &
2404  RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
2406  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
2407  RECVCOUNTS, DISPLS
2408  INTEGER(KIND=JPIM), INTENT(IN) :: &
2409  SENDDATA, SENDCOUNT, SENDTYPE, RECVTYPE, ROOT, COMM
2410  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2411  RECVAREA, IERROR
2412 
2413  INTEGER(KIND=8) :: &
2414  SENDDATA8, RECVAREA8
2415  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2416  RECVCOUNTS8, DISPLS8
2417  INTEGER(KIND=8) :: &
2418  SENDCOUNT8, SENDTYPE8, RECVTYPE8, ROOT8, COMM8, IERROR8
2419 
2420  ALLOCATE(recvcounts8(SIZE(recvcounts)))
2421  ALLOCATE(displs8(SIZE(displs)))
2422 
2423  senddata8 = senddata
2424  sendcount8 = sendcount
2425  sendtype8 = sendtype
2426  recvcounts8 = recvcounts
2427  displs8 = displs
2428  recvtype8 = recvtype
2429  root8 = root
2430  comm8 = comm
2431 
2432  CALL mpi_gatherv(senddata8, sendcount8, sendtype8, recvarea8, &
2433  recvcounts8, displs8, recvtype8, root8, comm8, ierror8)
2434 
2435  recvarea = recvarea8
2436  ierror = ierror8
2437 
2438  DEALLOCATE(recvcounts8)
2439  DEALLOCATE(displs8)
2440 
2441 END SUBROUTINE mpi_gatherv8_i1
2442 
2443 ! ---------------------------------------------------------
2444 SUBROUTINE mpi_gatherv8_r8_1(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, &
2445  RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
2447  REAL(KIND=JPRB), INTENT(IN) :: &
2448  SENDDATA
2449  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
2450  RECVCOUNTS, DISPLS
2451  INTEGER(KIND=JPIM), INTENT(IN) :: &
2452  SENDCOUNT, SENDTYPE, RECVTYPE, ROOT, COMM
2453  REAL(KIND=JPRB), INTENT(OUT) :: &
2454  RECVAREA
2455  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2456  IERROR
2457 
2458  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2459  RECVCOUNTS8, DISPLS8
2460  INTEGER(KIND=8) :: &
2461  SENDCOUNT8, SENDTYPE8, RECVTYPE8, ROOT8, COMM8, IERROR8
2462 
2463  ALLOCATE(recvcounts8(SIZE(recvcounts)))
2464  ALLOCATE(displs8(SIZE(displs)))
2465 
2466  sendcount8 = sendcount
2467  sendtype8 = sendtype
2468  recvcounts8 = recvcounts
2469  displs8 = displs
2470  recvtype8 = recvtype
2471  root8 = root
2472  comm8 = comm
2473 
2474  CALL mpi_gatherv(senddata, sendcount8, sendtype8, recvarea, &
2475  recvcounts8, displs8, recvtype8, root8, comm8, ierror8)
2476 
2477  ierror = ierror8
2478 
2479  DEALLOCATE(recvcounts8)
2480  DEALLOCATE(displs8)
2481 
2482 END SUBROUTINE mpi_gatherv8_r8_1
2483 
2484 ! =========================================================
2485 SUBROUTINE mpi_gatherv8_r8s_1(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, &
2486  RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
2488  REAL(KIND=JPRB), INTENT(IN) :: &
2489  SENDDATA
2490  INTEGER(KIND=JPIM), INTENT(IN) :: &
2491  RECVCOUNTS, DISPLS
2492  INTEGER(KIND=JPIM), INTENT(IN) :: &
2493  SENDCOUNT, SENDTYPE, RECVTYPE, ROOT, COMM
2494  REAL(KIND=JPRB), INTENT(OUT) :: &
2495  RECVAREA
2496  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2497  IERROR
2498 
2499  INTEGER(KIND=8) :: &
2500  RECVCOUNTS8, DISPLS8
2501  INTEGER(KIND=8) :: &
2502  SENDCOUNT8, SENDTYPE8, RECVTYPE8, ROOT8, COMM8, IERROR8
2503 
2504  sendcount8 = sendcount
2505  sendtype8 = sendtype
2506  recvcounts8 = recvcounts
2507  displs8 = displs
2508  recvtype8 = recvtype
2509  root8 = root
2510  comm8 = comm
2511 
2512  CALL mpi_gatherv(senddata, sendcount8, sendtype8, recvarea, &
2513  recvcounts8, displs8, recvtype8, root8, comm8, ierror8)
2514 
2515  ierror = ierror8
2516 
2517 END SUBROUTINE mpi_gatherv8_r8s_1
2518 
2519 ! =========================================================
2520 ! ---------------------------------------------------------
2521 SUBROUTINE mpi_recv8_r4(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
2523  INTEGER(KIND=JPIM), INTENT(IN) :: &
2524  COUNT, DATATYPE, SOURCE, TAG, COMM
2525  REAL(KIND=JPRM), DIMENSION(:), INTENT(OUT) :: &
2526  DATA
2527  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
2528  STATUS
2529  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2530  IERROR
2531 
2532  REAL(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2533  DATA8
2534  INTEGER(KIND=8) :: &
2535  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, IERROR8
2536 
2537  ALLOCATE(data8(SIZE(data)))
2538 
2539  count8 = count
2540  datatype8 = datatype
2541  source8 = source
2542  tag8 = tag
2543  comm8 = comm
2544 
2545  CALL mpi_recv(data8, count8, datatype8, source8, tag8, comm8, status8, ierror8)
2546 
2547  DATA = data8
2548  status = status8
2549  ierror = ierror8
2550 
2551  DEALLOCATE(data8)
2552 
2553 END SUBROUTINE mpi_recv8_r4
2554 
2555 ! ---------------------------------------------------------
2556 SUBROUTINE mpi_recv8_r8(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
2558  INTEGER(KIND=JPIM), INTENT(IN) :: &
2559  COUNT, DATATYPE, SOURCE, TAG, COMM
2560  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
2561  DATA
2562  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
2563  STATUS
2564  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2565  IERROR
2566 
2567  INTEGER(KIND=8) :: &
2568  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, IERROR8
2569 
2570  count8 = count
2571  datatype8 = datatype
2572  source8 = source
2573  tag8 = tag
2574  comm8 = comm
2575 
2576  CALL mpi_recv(DATA, count8, datatype8, source8, tag8, comm8, status8, ierror8)
2577 
2578  status = status8
2579  ierror = ierror8
2580 
2581 END SUBROUTINE mpi_recv8_r8
2582 
2583 ! ---------------------------------------------------------
2584 SUBROUTINE mpi_recv8_r42(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
2586  INTEGER(KIND=JPIM), INTENT(IN) :: &
2587  COUNT, DATATYPE, SOURCE, TAG, COMM
2588  REAL(KIND=JPRM), DIMENSION(:,:), INTENT(OUT) :: &
2589  DATA
2590  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
2591  STATUS
2592  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2593  IERROR
2594 
2595  REAL(KIND=8), DIMENSION(:,:), ALLOCATABLE :: &
2596  DATA8
2597  INTEGER(KIND=8) :: &
2598  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, IERROR8
2599 
2600  ALLOCATE(data8(SIZE(DATA,dim=1),SIZE(DATA,dim=2)))
2601 
2602  count8 = count
2603  datatype8 = datatype
2604  source8 = source
2605  tag8 = tag
2606  comm8 = comm
2607 
2608  CALL mpi_recv(data8, count8, datatype8, source8, tag8, comm8, status8, ierror8)
2609 
2610  DATA = data8
2611  status = status8
2612  ierror = ierror8
2613 
2614  DEALLOCATE(data8)
2615 
2616 END SUBROUTINE mpi_recv8_r42
2617 
2618 ! ---------------------------------------------------------
2619 SUBROUTINE mpi_recv8_i42(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
2621  INTEGER(KIND=JPIM), INTENT(IN) :: &
2622  COUNT, DATATYPE, SOURCE, TAG, COMM
2623  INTEGER(KIND=JPIM), DIMENSION(:,:), INTENT(OUT) :: &
2624  DATA
2625  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
2626  STATUS
2627  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2628  IERROR
2629 
2630  INTEGER(KIND=8), DIMENSION(:,:), ALLOCATABLE :: &
2631  DATA8
2632  INTEGER(KIND=8) :: &
2633  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, IERROR8
2634 
2635  ALLOCATE(data8(SIZE(DATA,dim=1),SIZE(DATA,dim=2)))
2636 
2637  count8 = count
2638  datatype8 = datatype
2639  source8 = source
2640  tag8 = tag
2641  comm8 = comm
2642 
2643  CALL mpi_recv(data8, count8, datatype8, source8, tag8, comm8, status8, ierror8)
2644 
2645  DATA = data8
2646  status = status8
2647  ierror = ierror8
2648 
2649  DEALLOCATE(data8)
2650 
2651 END SUBROUTINE mpi_recv8_i42
2652 
2653 ! ---------------------------------------------------------
2654 SUBROUTINE mpi_recv8_r82(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
2656  INTEGER(KIND=JPIM), INTENT(IN) :: &
2657  COUNT, DATATYPE, SOURCE, TAG, COMM
2658  REAL(KIND=JPRB), DIMENSION(:,:), INTENT(OUT) :: &
2659  DATA
2660  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
2661  STATUS
2662  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2663  IERROR
2664 
2665  INTEGER(KIND=8) :: &
2666  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, IERROR8
2667 
2668  count8 = count
2669  datatype8 = datatype
2670  source8 = source
2671  tag8 = tag
2672  comm8 = comm
2673 
2674  CALL mpi_recv(DATA, count8, datatype8, source8, tag8, comm8, status8, ierror8)
2675 
2676  status = status8
2677  ierror = ierror8
2678 
2679 END SUBROUTINE mpi_recv8_r82
2680 
2681 ! ---------------------------------------------------------
2682 SUBROUTINE mpi_recv8_i4(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
2684  INTEGER(KIND=JPIM), INTENT(IN) :: &
2685  COUNT, DATATYPE, SOURCE, TAG, COMM
2686  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
2687  DATA, STATUS
2688  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2689  IERROR
2690 
2691  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2692  DATA8
2693  INTEGER(KIND=8) :: &
2694  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, IERROR8
2695 
2696  ALLOCATE(data8(SIZE(data)))
2697 
2698  count8 = count
2699  datatype8 = datatype
2700  source8 = source
2701  tag8 = tag
2702  comm8 = comm
2703 
2704  CALL mpi_recv(data8, count8, datatype8, source8, tag8, comm8, status8, ierror8)
2705 
2706  DATA = data8
2707  status = status8
2708  ierror = ierror8
2709 
2710  DEALLOCATE(data8)
2711 
2712 END SUBROUTINE mpi_recv8_i4
2713 
2714 ! ---------------------------------------------------------
2715 SUBROUTINE mpi_recv8_i1(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
2717  INTEGER(KIND=JPIM), INTENT(IN) :: &
2718  COUNT, DATATYPE, SOURCE, TAG, COMM
2719  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
2720  STATUS
2721  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2722  DATA, IERROR
2723 
2724  INTEGER(KIND=8) :: &
2725  DATA8, COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, IERROR8
2726 
2727  count8 = count
2728  datatype8 = datatype
2729  source8 = source
2730  tag8 = tag
2731  comm8 = comm
2732 
2733  CALL mpi_recv(data8, count8, datatype8, source8, tag8, comm8, status8, ierror8)
2734 
2735  DATA = data8
2736  status = status8
2737  ierror = ierror8
2738 
2739 END SUBROUTINE mpi_recv8_i1
2740 
2741 ! ---------------------------------------------------------
2742 SUBROUTINE mpi_recv8_r4_1(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
2744  INTEGER(KIND=JPIM), INTENT(IN) :: &
2745  COUNT, DATATYPE, SOURCE, TAG, COMM
2746  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
2747  STATUS
2748  REAL(KIND=JPRM), INTENT(OUT) :: &
2749  DATA
2750  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2751  IERROR
2752 
2753  REAL(KIND=8) :: &
2754  DATA8
2755  INTEGER(KIND=8) :: &
2756  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, IERROR8
2757 
2758  count8 = count
2759  datatype8 = datatype
2760  source8 = source
2761  tag8 = tag
2762  comm8 = comm
2763 
2764  CALL mpi_recv(data8, count8, datatype8, source8, tag8, comm8, status8, ierror8)
2765 
2766  DATA = data8
2767  status = status8
2768  ierror = ierror8
2769 
2770 END SUBROUTINE mpi_recv8_r4_1
2771 
2772 ! ---------------------------------------------------------
2773 SUBROUTINE mpi_recv8_r8_1(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
2775  INTEGER(KIND=JPIM), INTENT(IN) :: &
2776  COUNT, DATATYPE, SOURCE, TAG, COMM
2777  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
2778  STATUS
2779  REAL(KIND=JPRB), INTENT(OUT) :: &
2780  DATA
2781  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2782  IERROR
2783 
2784  INTEGER(KIND=8) :: &
2785  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, IERROR8
2786 
2787  count8 = count
2788  datatype8 = datatype
2789  source8 = source
2790  tag8 = tag
2791  comm8 = comm
2792 
2793  CALL mpi_recv(DATA, count8, datatype8, source8, tag8, comm8, status8, ierror8)
2794 
2795  status = status8
2796  ierror = ierror8
2797 
2798 END SUBROUTINE mpi_recv8_r8_1
2799 
2800 ! ---------------------------------------------------------
2801 SUBROUTINE mpi_recv8_ch(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
2803  INTEGER(KIND=JPIM), INTENT(IN) :: &
2804  COUNT, DATATYPE, SOURCE, TAG, COMM
2805  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
2806  STATUS
2807  CHARACTER(LEN=*), INTENT(OUT) :: &
2808  DATA
2809  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2810  IERROR
2811 
2812  INTEGER(KIND=8) :: &
2813  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, IERROR8
2814 
2815  count8 = count
2816  datatype8 = datatype
2817  source8 = source
2818  tag8 = tag
2819  comm8 = comm
2820 
2821  CALL mpi_recv(DATA, count8, datatype8, source8, tag8, comm8, status8, ierror8)
2822 
2823  status = status8
2824  ierror = ierror8
2825 
2826 END SUBROUTINE mpi_recv8_ch
2827 
2828 ! ---------------------------------------------------------
2829 SUBROUTINE mpi_irecv8_r4(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
2831  INTEGER(KIND=JPIM), INTENT(IN) :: &
2832  COUNT, DATATYPE, SOURCE, TAG, COMM
2833  REAL(KIND=JPRM), DIMENSION(:), INTENT(OUT) :: &
2834  DATA
2835  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2836  REQUEST, IERROR
2837 
2838  REAL(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2839  DATA8
2840  INTEGER(KIND=8) :: &
2841  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, REQUEST8, IERROR8
2842 
2843  ALLOCATE(data8(SIZE(data)))
2844 
2845  count8 = count
2846  datatype8 = datatype
2847  source8 = source
2848  tag8 = tag
2849  comm8 = comm
2850 
2851  CALL mpi_irecv(data8, count8, datatype8, source8, tag8, comm8, request8, ierror8)
2852 
2853  DATA = data8
2854  request = request8
2855  ierror = ierror8
2856 
2857  DEALLOCATE(data8)
2858 
2859 END SUBROUTINE mpi_irecv8_r4
2860 
2861 ! ---------------------------------------------------------
2862 SUBROUTINE mpi_irecv8_r8(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
2864  INTEGER(KIND=JPIM), INTENT(IN) :: &
2865  COUNT, DATATYPE, SOURCE, TAG, COMM
2866  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
2867  DATA
2868  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2869  REQUEST, IERROR
2870 
2871  INTEGER(KIND=8) :: &
2872  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, REQUEST8, IERROR8
2873 
2874  count8 = count
2875  datatype8 = datatype
2876  source8 = source
2877  tag8 = tag
2878  comm8 = comm
2879 
2880  CALL mpi_irecv(DATA, count8, datatype8, source8, tag8, comm8, request8, ierror8)
2881 
2882  request = request8
2883  ierror = ierror8
2884 
2885 END SUBROUTINE mpi_irecv8_r8
2886 
2887 ! ---------------------------------------------------------
2888 SUBROUTINE mpi_irecv8_r42(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
2890  INTEGER(KIND=JPIM), INTENT(IN) :: &
2891  COUNT, DATATYPE, SOURCE, TAG, COMM
2892  REAL(KIND=JPRM), DIMENSION(:,:), INTENT(OUT) :: &
2893  DATA
2894  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2895  REQUEST, IERROR
2896 
2897  REAL(KIND=8), DIMENSION(:,:), ALLOCATABLE :: &
2898  DATA8
2899  INTEGER(KIND=8) :: &
2900  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, REQUEST8, IERROR8
2901 
2902  ALLOCATE(data8(SIZE(DATA,dim=1),SIZE(DATA,dim=2)))
2903 
2904  count8 = count
2905  datatype8 = datatype
2906  source8 = source
2907  tag8 = tag
2908  comm8 = comm
2909 
2910  CALL mpi_irecv(data8, count8, datatype8, source8, tag8, comm8, request8, ierror8)
2911 
2912  DATA = data8
2913  request = request8
2914  ierror = ierror8
2915 
2916  DEALLOCATE(data8)
2917 
2918 END SUBROUTINE mpi_irecv8_r42
2919 
2920 ! ---------------------------------------------------------
2921 SUBROUTINE mpi_irecv8_r82(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
2923  INTEGER(KIND=JPIM), INTENT(IN) :: &
2924  COUNT, DATATYPE, SOURCE, TAG, COMM
2925  REAL(KIND=JPRB), DIMENSION(:,:), INTENT(OUT) :: &
2926  DATA
2927  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2928  REQUEST, IERROR
2929 
2930  INTEGER(KIND=8) :: &
2931  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, REQUEST8, IERROR8
2932 
2933  count8 = count
2934  datatype8 = datatype
2935  source8 = source
2936  tag8 = tag
2937  comm8 = comm
2938 
2939  CALL mpi_irecv(DATA, count8, datatype8, source8, tag8, comm8, request8, ierror8)
2940 
2941  request = request8
2942  ierror = ierror8
2943 
2944 END SUBROUTINE mpi_irecv8_r82
2945 
2946 ! ---------------------------------------------------------
2947 SUBROUTINE mpi_irecv8_i4(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
2949  INTEGER(KIND=JPIM), INTENT(IN) :: &
2950  COUNT, DATATYPE, SOURCE, TAG, COMM
2951  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2952  DATA(:), REQUEST, IERROR
2953 
2954  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
2955  DATA8
2956  INTEGER(KIND=8) :: &
2957  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, REQUEST8, IERROR8
2958 
2959  ALLOCATE(data8(SIZE(data)))
2960 
2961  count8 = count
2962  datatype8 = datatype
2963  source8 = source
2964  tag8 = tag
2965  comm8 = comm
2966 
2967  CALL mpi_irecv(data8, count8, datatype8, source8, tag8, comm8, request8, ierror8)
2968 
2969  DATA = data8
2970  request = request8
2971  ierror = ierror8
2972 
2973  DEALLOCATE(data8)
2974 
2975 END SUBROUTINE mpi_irecv8_i4
2976 
2977 ! ---------------------------------------------------------
2978 SUBROUTINE mpi_irecv8_i42(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
2980  INTEGER(KIND=JPIM), INTENT(IN) :: &
2981  COUNT, DATATYPE, SOURCE, TAG, COMM
2982  INTEGER(KIND=JPIM), DIMENSION(:,:), INTENT(OUT) :: &
2983  DATA
2984  INTEGER(KIND=JPIM), INTENT(OUT) :: &
2985  REQUEST, IERROR
2986 
2987  INTEGER(KIND=8), DIMENSION(:,:), ALLOCATABLE :: &
2988  DATA8
2989  INTEGER(KIND=8) :: &
2990  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, REQUEST8, IERROR8
2991 
2992  ALLOCATE(data8(SIZE(DATA,dim=1),SIZE(DATA,dim=2)))
2993 
2994  count8 = count
2995  datatype8 = datatype
2996  source8 = source
2997  tag8 = tag
2998  comm8 = comm
2999 
3000  CALL mpi_irecv(data8, count8, datatype8, source8, tag8, comm8, request8, ierror8)
3001 
3002  DATA = data8
3003  request = request8
3004  ierror = ierror8
3005 
3006  DEALLOCATE(data8)
3007 
3008 END SUBROUTINE mpi_irecv8_i42
3009 
3010 ! ---------------------------------------------------------
3011 SUBROUTINE mpi_irecv8_i1(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
3013  INTEGER(KIND=JPIM), INTENT(IN) :: &
3014  COUNT, DATATYPE, SOURCE, TAG, COMM
3015  INTEGER(KIND=JPIM), INTENT(OUT) :: &
3016  DATA, REQUEST, IERROR
3017 
3018  INTEGER(KIND=8) :: &
3019  DATA8, COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, REQUEST8, IERROR8
3020 
3021  count8 = count
3022  datatype8 = datatype
3023  source8 = source
3024  tag8 = tag
3025  comm8 = comm
3026 
3027  CALL mpi_irecv(data8, count8, datatype8, source8, tag8, comm8, request8, ierror8)
3028 
3029  DATA = data8
3030  request = request8
3031  ierror = ierror8
3032 
3033 END SUBROUTINE mpi_irecv8_i1
3034 
3035 ! ---------------------------------------------------------
3036 SUBROUTINE mpi_irecv8_r4_1(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
3038  INTEGER(KIND=JPIM), INTENT(IN) :: &
3039  COUNT, DATATYPE, SOURCE, TAG, COMM
3040  REAL(KIND=JPRM), INTENT(OUT) :: &
3041  DATA
3042  INTEGER(KIND=JPIM), INTENT(OUT) :: &
3043  REQUEST, IERROR
3044 
3045  REAL(KIND=8) :: &
3046  DATA8
3047  INTEGER(KIND=8) :: &
3048  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, REQUEST8, IERROR8
3049 
3050  count8 = count
3051  datatype8 = datatype
3052  source8 = source
3053  tag8 = tag
3054  comm8 = comm
3055 
3056  CALL mpi_irecv(data8, count8, datatype8, source8, tag8, comm8, request8, ierror8)
3057 
3058  DATA = data8
3059  request = request8
3060  ierror = ierror8
3061 
3062 END SUBROUTINE mpi_irecv8_r4_1
3063 
3064 ! ---------------------------------------------------------
3065 SUBROUTINE mpi_irecv8_r8_1(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
3067  INTEGER(KIND=JPIM), INTENT(IN) :: &
3068  COUNT, DATATYPE, SOURCE, TAG, COMM
3069  REAL(KIND=JPRB), INTENT(OUT) :: &
3070  DATA
3071  INTEGER(KIND=JPIM), INTENT(OUT) :: &
3072  REQUEST, IERROR
3073 
3074  INTEGER(KIND=8) :: &
3075  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, REQUEST8, IERROR8
3076 
3077  count8 = count
3078  datatype8 = datatype
3079  source8 = source
3080  tag8 = tag
3081  comm8 = comm
3082 
3083  CALL mpi_irecv(DATA, count8, datatype8, source8, tag8, comm8, request8, ierror8)
3084 
3085  request = request8
3086  ierror = ierror8
3087 
3088 END SUBROUTINE mpi_irecv8_r8_1
3089 
3090 ! ---------------------------------------------------------
3091 SUBROUTINE mpi_irecv8_ch(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
3093  INTEGER(KIND=JPIM), INTENT(IN) :: &
3094  COUNT, DATATYPE, SOURCE, TAG, COMM
3095  CHARACTER(LEN=*), INTENT(OUT) :: &
3096  DATA
3097  INTEGER(KIND=JPIM), INTENT(OUT) :: &
3098  REQUEST, IERROR
3099 
3100  INTEGER(KIND=8) :: &
3101  COUNT8, DATATYPE8, SOURCE8, TAG8, COMM8, REQUEST8, IERROR8
3102 
3103  count8 = count
3104  datatype8 = datatype
3105  source8 = source
3106  tag8 = tag
3107  comm8 = comm
3108 
3109  CALL mpi_irecv(DATA, count8, datatype8, source8, tag8, comm8, request8, ierror8)
3110 
3111  request = request8
3112  ierror = ierror8
3113 
3114 END SUBROUTINE mpi_irecv8_ch
3115 
3116 ! =========================================================
3117 ! ---------------------------------------------------------
3118 SUBROUTINE mpi_scatterv8_r8(SENDAREA, SENDCOUNTS, DISPLS, SENDTYPE, &
3119  RECVDATA, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
3121  REAL(KIND=JPRB), DIMENSION(:), INTENT(IN) :: &
3122  SENDAREA
3123  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
3124  SENDCOUNTS, DISPLS
3125  INTEGER(KIND=JPIM), INTENT(IN) :: &
3126  SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM
3127  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
3128  RECVDATA
3129  INTEGER(KIND=JPIM), INTENT(OUT) :: &
3130  IERROR
3131 
3132  REAL(KIND=8), DIMENSION(:), ALLOCATABLE :: &
3133  SENDAREA8, RECVDATA8
3134  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
3135  SENDCOUNTS8, DISPLS8
3136  INTEGER(KIND=8) :: &
3137  SENDTYPE8, RECVCOUNT8, RECVTYPE8, ROOT8, COMM8, IERROR8
3138 
3139  ALLOCATE(sendarea8(SIZE(sendarea)))
3140  ALLOCATE(sendcounts8(SIZE(sendcounts)))
3141  ALLOCATE(displs8(SIZE(displs)))
3142  ALLOCATE(recvdata8(SIZE(recvdata)))
3143 
3144  sendarea8 = sendarea
3145  sendcounts8 = sendcounts
3146  displs8 = displs
3147  sendtype8 = sendtype
3148  recvcount8 = recvcount
3149  recvtype8 = recvtype
3150  root8 = root
3151  comm8 = comm
3152 
3153  CALL mpi_scatterv(sendarea8, sendcounts8, displs8, sendtype8, &
3154  recvdata8, recvcount8, recvtype8, root8, comm8, ierror8)
3155 
3156  recvdata = recvdata8
3157  ierror = ierror8
3158 
3159  DEALLOCATE(sendarea8)
3160  DEALLOCATE(sendcounts8)
3161  DEALLOCATE(displs8)
3162  DEALLOCATE(recvdata8)
3163 
3164 END SUBROUTINE mpi_scatterv8_r8
3165 
3166 ! ---------------------------------------------------------
3167 SUBROUTINE mpi_scatterv8_r8s(SENDAREA, SENDCOUNTS, DISPLS, SENDTYPE, &
3168  RECVDATA, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
3170  REAL(KIND=JPRB), INTENT(IN) :: &
3171  SENDAREA
3172  INTEGER(KIND=JPIM), INTENT(IN) :: &
3173  SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, SENDCOUNTS, DISPLS
3174  REAL(KIND=JPRB), DIMENSION(:), INTENT(OUT) :: &
3175  RECVDATA
3176  INTEGER(KIND=JPIM), INTENT(OUT) :: &
3177  IERROR
3178 
3179  REAL(KIND=8), DIMENSION(:), ALLOCATABLE :: &
3180  RECVDATA8
3181  REAL(KIND=8) :: &
3182  SENDAREA8
3183  INTEGER(KIND=8) :: &
3184  SENDCOUNTS8, DISPLS8
3185  INTEGER(KIND=8) :: &
3186  SENDTYPE8, RECVCOUNT8, RECVTYPE8, ROOT8, COMM8, IERROR8
3187 
3188  ALLOCATE(recvdata8(SIZE(recvdata)))
3189 
3190  sendarea8 = sendarea
3191  sendcounts8 = sendcounts
3192  displs8 = displs
3193  sendtype8 = sendtype
3194  recvcount8 = recvcount
3195  recvtype8 = recvtype
3196  root8 = root
3197  comm8 = comm
3198 
3199  CALL mpi_scatterv(sendarea8, sendcounts8, displs8, sendtype8, &
3200  recvdata8, recvcount8, recvtype8, root8, comm8, ierror8)
3201 
3202  recvdata = recvdata8
3203  ierror = ierror8
3204 
3205  DEALLOCATE(recvdata8)
3206 
3207 END SUBROUTINE mpi_scatterv8_r8s
3208 
3209 ! ---------------------------------------------------------
3210 SUBROUTINE mpi_scatterv8_i4(SENDAREA, SENDCOUNTS, DISPLS, SENDTYPE, &
3211  RECVDATA, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
3213  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(IN) :: &
3214  SENDAREA, SENDCOUNTS, DISPLS
3215  INTEGER(KIND=JPIM), INTENT(IN) :: &
3216  SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM
3217  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
3218  RECVDATA
3219  INTEGER(KIND=JPIM), INTENT(OUT) :: &
3220  IERROR
3221 
3222  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
3223  SENDAREA8, SENDCOUNTS8, DISPLS8, RECVDATA8
3224  INTEGER(KIND=8) :: &
3225  SENDTYPE8, RECVCOUNT8, RECVTYPE8, ROOT8, COMM8, IERROR8
3226 
3227  ALLOCATE(sendarea8(SIZE(sendarea)))
3228  ALLOCATE(sendcounts8(SIZE(sendcounts)))
3229  ALLOCATE(displs8(SIZE(displs)))
3230  ALLOCATE(recvdata8(SIZE(recvdata)))
3231 
3232  sendarea8 = sendarea
3233  sendcounts8 = sendcounts
3234  displs8 = displs
3235  sendtype8 = sendtype
3236  recvcount8 = recvcount
3237  recvtype8 = recvtype
3238  root8 = root
3239  comm8 = comm
3240 
3241  CALL mpi_scatterv(sendarea8, sendcounts8, displs8, sendtype8, &
3242  recvdata8, recvcount8, recvtype8, root8, comm8, ierror8)
3243 
3244  recvdata = recvdata8
3245  ierror = ierror8
3246 
3247  DEALLOCATE(sendarea8)
3248  DEALLOCATE(sendcounts8)
3249  DEALLOCATE(displs8)
3250  DEALLOCATE(recvdata8)
3251 
3252 END SUBROUTINE mpi_scatterv8_i4
3253 
3254 ! =========================================================
3255 SUBROUTINE mpi_scatterv8_i4s(SENDAREA, SENDCOUNTS, DISPLS, SENDTYPE, &
3256  RECVDATA, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
3258  INTEGER(KIND=JPIM), INTENT(IN) :: &
3259  SENDAREA, SENDCOUNTS, DISPLS
3260  INTEGER(KIND=JPIM), INTENT(IN) :: &
3261  SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM
3262  INTEGER(KIND=JPIM), DIMENSION(:), INTENT(OUT) :: &
3263  RECVDATA
3264  INTEGER(KIND=JPIM), INTENT(OUT) :: &
3265  IERROR
3266 
3267  INTEGER(KIND=8) :: &
3268  SENDAREA8, SENDCOUNTS8, DISPLS8
3269  INTEGER(KIND=8), DIMENSION(:), ALLOCATABLE :: &
3270  RECVDATA8
3271  INTEGER(KIND=8) :: &
3272  SENDTYPE8, RECVCOUNT8, RECVTYPE8, ROOT8, COMM8, IERROR8
3273 
3274  ALLOCATE(recvdata8(SIZE(recvdata)))
3275 
3276  sendarea8 = sendarea
3277  sendcounts8 = sendcounts
3278  displs8 = displs
3279  sendtype8 = sendtype
3280  recvcount8 = recvcount
3281  recvtype8 = recvtype
3282  root8 = root
3283  comm8 = comm
3284 
3285  CALL mpi_scatterv(sendarea8, sendcounts8, displs8, sendtype8, &
3286  recvdata8, recvcount8, recvtype8, root8, comm8, ierror8)
3287 
3288  recvdata = recvdata8
3289  ierror = ierror8
3290 
3291  DEALLOCATE(recvdata8)
3292 
3293 END SUBROUTINE mpi_scatterv8_i4s
3294 
3295 ! =========================================================
3296 ! =========================================================
3297 ! =========================================================
3298 
3299 #endif
3300 END MODULE mpi4to8_m
subroutine mpi_gatherv8_r8_1(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:2446
subroutine mpi_scatterv8_i4s(SENDAREA, SENDCOUNTS, DISPLS, SENDTYPE, RECVDATA, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:3257
subroutine mpi_irecv8_i42(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:2979
subroutine mpi_isend8_ch(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:1215
subroutine mpi_file_write_ordered8_i4(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
Definition: mpi4to8_m.F90:1873
subroutine mpi_irecv8_r82(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:2922
subroutine mpi_irecv8_i4(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:2948
subroutine mpi_alltoallv8_r8(SENDAREA, SENDCOUNTS, SDISPLS, SENDTYPE, RECVAREA, RECVCOUNTS, RDISPLS, RECVTYPE, COMM, IERROR)
Definition: mpi4to8_m.F90:418
integer, parameter jpim
Definition: parkind1.F90:13
subroutine mpi_send8_r8(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:1275
subroutine mpi_isend8_r4(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:941
subroutine mpi_file_read_ordered8_r8(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
Definition: mpi4to8_m.F90:1639
subroutine mpi_recv8_r4(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
Definition: mpi4to8_m.F90:2522
subroutine mpi_send8_i42(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:1332
subroutine mpi_bsend8_ch(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:915
subroutine mpi_gatherv8_i4s(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:2331
subroutine mpi_gatherv8_r8s_1(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:2487
subroutine mpi_bsend8_r4_1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:860
subroutine mpi_isend8_r8_1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:1157
subroutine mpi_file_read_shared8_r8(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
Definition: mpi4to8_m.F90:1795
subroutine mpi_send8_r8_1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:1477
subroutine mpi_bsend8_r8_1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:887
subroutine mpi_bcast8_i4(DATA, COUNT, DATATYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:569
subroutine mpi_bcast8_r8(DATA, COUNT, DATATYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:545
subroutine mpi_fwrite_ordered_end8_r8(FH, BUF, STATUS, IERROR)
Definition: mpi4to8_m.F90:1955
subroutine mpi_recv8_i4(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
Definition: mpi4to8_m.F90:2683
integer(kind=8), dimension(mpi_status_size), private status8
Definition: mpi4to8_m.F90:10
subroutine mpi_fwrite_ordered_end8_i4(FH, BUF, STATUS, IERROR)
Definition: mpi4to8_m.F90:1977
subroutine mpi_send8_r4_1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:1450
subroutine mpi_fread_ordered_begin8_r8(FH, BUF, COUNT, DATATYPE, IERROR)
Definition: mpi4to8_m.F90:1693
subroutine mpi_isend8_r4_1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:1128
subroutine mpi_allgatherv8_r8(SENDAREA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, COMM, IERROR)
Definition: mpi4to8_m.F90:288
subroutine mpi_allgatherv8_i4(SENDAREA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, COMM, IERROR)
Definition: mpi4to8_m.F90:328
subroutine mpi_irecv8_ch(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:3092
subroutine mpi_recv8_i1(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
Definition: mpi4to8_m.F90:2716
subroutine mpi_irecv8_i1(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:3012
subroutine mpi_bsend8_r82(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:775
subroutine mpi_bcast8_i1(DATA, COUNT, DATATYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:601
subroutine mpi_file_read_shared8_i4(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
Definition: mpi4to8_m.F90:1819
subroutine mpi_allreduce8_r8(SENDDATA, RECVDATA, COUNT, DATATYPE, OP, COMM, IERROR)
Definition: mpi4to8_m.F90:175
subroutine mpi_irecv8_r4_1(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:3037
subroutine mpi_file_read_ordered8_i4(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
Definition: mpi4to8_m.F90:1663
subroutine mpi_bcast8_r4(DATA, COUNT, DATATYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:513
integer, parameter jprb
Definition: parkind1.F90:32
subroutine mpi_recv8_r8(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
Definition: mpi4to8_m.F90:2557
subroutine mpi_recv8_r4_1(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
Definition: mpi4to8_m.F90:2743
subroutine mpi_isend8_i42(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:1034
subroutine mpi_send8_ch(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:1505
subroutine mpi_send8_r4(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:1242
subroutine mpi_gatherv8_r4(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:2196
subroutine mpi_allgatherv8_i1(SENDAREA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, COMM, IERROR)
Definition: mpi4to8_m.F90:372
subroutine mpi_irecv8_r4(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:2830
subroutine mpi_file_iwrite_shared8_r8(FH, BUF, COUNT, DATATYPE, REQUEST, IERROR)
Definition: mpi4to8_m.F90:1585
subroutine mpi_gather8_r8_1(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:2060
subroutine mpi_isend8_r8(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:975
subroutine mpi_bcast8_ch(DATA, COUNT, DATATYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:627
subroutine mpi_bsend8_r4(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:652
subroutine mpi_file_write_shared8_r8(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
Definition: mpi4to8_m.F90:2005
subroutine mpi_recv8_r8_1(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
Definition: mpi4to8_m.F90:2774
subroutine mpi_send8_r42(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:1300
subroutine mpi_recv8_r42(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
Definition: mpi4to8_m.F90:2585
integer, parameter jprm
Definition: parkind1.F90:30
subroutine mpi_isend8_r82(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:1068
subroutine mpi_bsend8_r42(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:710
subroutine mpi_scatterv8_i4(SENDAREA, SENDCOUNTS, DISPLS, SENDTYPE, RECVDATA, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:3212
subroutine mpi_allgatherv8_r4(SENDAREA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, COMM, IERROR)
Definition: mpi4to8_m.F90:240
subroutine mpi_gatherv8_r8(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:2121
subroutine mpi_scatterv8_r8(SENDAREA, SENDCOUNTS, DISPLS, SENDTYPE, RECVDATA, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:3120
subroutine mpi_bsend8_r8(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:685
subroutine mpi_irecv8_r8(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:2863
subroutine mpi_gatherv8_r8s(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:2162
subroutine mpi_bsend8_i1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:834
subroutine mpi_send8_i4(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:1391
subroutine mpi_bsend8_i4(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:801
subroutine mpi_file_write_ordered8_r8(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
Definition: mpi4to8_m.F90:1849
subroutine mpi_irecv8_r42(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:2889
subroutine mpi_gatherv8_i1(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:2405
subroutine mpi_gather8_i1(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:2090
subroutine mpi_scatterv8_r8s(SENDAREA, SENDCOUNTS, DISPLS, SENDTYPE, RECVDATA, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:3169
subroutine mpi_gatherv8_i4s_1(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:2370
subroutine mpi_file_iread_shared8_r8(FH, BUF, COUNT, DATATYPE, REQUEST, IERROR)
Definition: mpi4to8_m.F90:1531
subroutine mpi_isend8_r42(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:1001
subroutine mpi_allreduce8_r4(SENDDATA, RECVDATA, COUNT, DATATYPE, OP, COMM, IERROR)
Definition: mpi4to8_m.F90:138
subroutine mpi_fwrite_ordered_begin8_r8(FH, BUF, COUNT, DATATYPE, IERROR)
Definition: mpi4to8_m.F90:1903
subroutine mpi_bsend8_i42(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:742
subroutine mpi_recv8_i42(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
Definition: mpi4to8_m.F90:2620
subroutine mpi_send8_i1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:1424
subroutine mpi_fread_ordered_begin8_i4(FH, BUF, COUNT, DATATYPE, IERROR)
Definition: mpi4to8_m.F90:1716
subroutine mpi_alltoallv8_i4(SENDAREA, SENDCOUNTS, SDISPLS, SENDTYPE, RECVAREA, RECVCOUNTS, RDISPLS, RECVTYPE, COMM, IERROR)
Definition: mpi4to8_m.F90:464
subroutine mpi_isend8_i4(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:1095
subroutine mpi_file_iwrite_shared8_i4(FH, BUF, COUNT, DATATYPE, REQUEST, IERROR)
Definition: mpi4to8_m.F90:1609
subroutine mpi_fread_ordered_end8_i4(FH, BUF, STATUS, IERROR)
Definition: mpi4to8_m.F90:1767
subroutine mpi_recv8_r82(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
Definition: mpi4to8_m.F90:2655
subroutine mpi_irecv8_r8_1(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:3066
subroutine mpi_send8_r82(DATA, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
Definition: mpi4to8_m.F90:1365
subroutine mpi_fwrite_ordered_begin8_i4(FH, BUF, COUNT, DATATYPE, IERROR)
Definition: mpi4to8_m.F90:1926
subroutine mpi_gatherv8_i4(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:2288
subroutine mpi_file_iread_shared8_i4(FH, BUF, COUNT, DATATYPE, REQUEST, IERROR)
Definition: mpi4to8_m.F90:1555
subroutine mpi_gatherv8_r4s(SENDDATA, SENDCOUNT, SENDTYPE, RECVAREA, RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR)
Definition: mpi4to8_m.F90:2245
subroutine mpi_allreduce8_i4(SENDDATA, RECVDATA, COUNT, DATATYPE, OP, COMM, IERROR)
Definition: mpi4to8_m.F90:202
subroutine mpi_fread_ordered_end8_r8(FH, BUF, STATUS, IERROR)
Definition: mpi4to8_m.F90:1745
subroutine mpi_recv8_ch(DATA, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
Definition: mpi4to8_m.F90:2802
subroutine mpi_file_write_shared8_i4(FH, BUF, COUNT, DATATYPE, STATUS, IERROR)
Definition: mpi4to8_m.F90:2029
subroutine mpi_isend8_i1(DATA, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
Definition: mpi4to8_m.F90:1187