129 CHARACTER(LEN=10),
PARAMETER ::
wwver =
'7.14 '
162 SUBROUTINE w3init ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD, &
163 FLG2, NPT, XPT, YPT, PNAMES, IPRT, PRTFRM, MPI_COMM, FLAGSTIDEIN)
442 #if defined W3_PDLIB && defined W3_DEBUGCOH
445 #if defined W3_PDLIB && defined W3_DEBUGINIT
459 INTEGER,
INTENT(IN) :: IMOD, MDS(15), MTRACE(2), &
460 ODAT(40),NPT, IPRT(6),&
462 LOGICAL,
INTENT(IN) :: IsMulti
463 REAL,
INTENT(INOUT) :: XPT(NPT), YPT(NPT)
464 LOGICAL,
INTENT(INOUT) :: FLGRD(NOGRP,NGRPP), FLGD(NOGRP),&
465 FLGR2(NOGRP,NGRPP), FLG2(NOGRP),&
467 CHARACTER,
INTENT(IN) :: FEXT*(*)
468 CHARACTER(LEN=40),
INTENT(IN) :: PNAMES(NPT)
469 LOGICAL,
INTENT(IN),
OPTIONAL :: FLAGSTIDEIN(4)
470 INTEGER :: NSEALout, NSEALMout
475 integer :: IRANK, I, ISTAT
476 INTEGER :: IE, IFL, IFT, IERR, NTTOT, NTLOC, &
477 NTTARG, IK, IP, ITH, IX, IY, &
478 J, J0, TOUT(2), TLST(2), ISEA, IS, &
479 K, I1, I2, JSEA, NTTMAX
481 INTEGER :: ISTEP, ISP, IW
484 INTEGER :: IERR_MPI, BGROUP, LGROUP
487 INTEGER,
SAVE :: IENT = 0
491 INTEGER,
ALLOCATABLE :: MAPOUT(:,:)
494 INTEGER,
ALLOCATABLE :: TMPRNK(:)
496 INTEGER,
ALLOCATABLE :: NT(:), MAPTST(:,:)
498 INTEGER,
SAVE :: NXS = 49
500 REAL :: DTTST, DEPTH, FRACOS
504 REAL,
ALLOCATABLE :: XOUT(:,:)
507 CHARACTER(LEN=8) :: STTIME
508 CHARACTER(LEN=10) :: STDATE
511 CHARACTER(LEN=12) :: FORMAT
513 CHARACTER(LEN=23) :: DTME21
514 CHARACTER(LEN=30) :: LFILE, TFILE
516 INTEGER :: IScal(1), IPROC
525 CALL w3seto ( imod, mds(2), mds(3) )
527 memunit = 10000+iaproc
528 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 1a')
530 CALL w3setg ( imod, mds(2), mds(3) )
531 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 1b')
533 CALL w3setw ( imod, mds(2), mds(3) )
534 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 1c')
536 CALL w3seta ( imod, mds(2), mds(3) )
537 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 1d')
539 CALL w3seti ( imod, mds(2), mds(3) )
546 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 1e')
571 memunit = 10000+iaproc
573 IF ( iostyp .LE. 1 )
THEN
575 napfld = max(1,naproc-1)
576 nappnt = max(1,naproc-2)
577 naptrk = max(1,naproc-5)
579 napbpt = max(1,naproc-3)
580 napprt = max(1,naproc-4)
585 IF ( unipts .AND. upproc ) naproc = max(1,ntproc - 1)
592 IF ( iostyp .EQ. 2 )
THEN
593 naproc = max(1,naproc-1)
594 ELSE IF ( iostyp .EQ. 3 )
THEN
598 IF ( odat( 3).GT.0 .OR. odat(33).GT.0 )
THEN
600 naproc = max(1,naproc-1)
602 IF ( odat(13).GT.0 )
THEN
604 naproc = max(1,naproc-1)
606 IF ( odat(28).GT.0 )
THEN
608 naproc = max(1,naproc-1)
610 IF ( odat( 8).GT.0 ) nappnt = naproc
611 IF ( odat(18).GT.0 ) naprst = naproc
612 IF ( odat(23).GT.0 ) napbpt = naproc
613 IF ( ( odat( 8).GT.0 .OR. odat(18).GT.0 .OR. &
614 odat(23).GT.0 ) ) naproc = max(1,naproc-1)
618 fracos = 100. * real(ntproc-naproc) / real(ntproc)
619 IF ( fracos.GT.
critos .AND. iaproc.EQ.naperr )
WRITE (ndse,8002) fracos
622 IF ( naproc .EQ. ntproc )
THEN
626 ALLOCATE ( tmprnk(naproc) )
630 CALL mpi_group_incl ( bgroup, naproc, tmprnk, lgroup, ierr_mpi )
632 CALL mpi_group_free ( lgroup, ierr_mpi )
633 CALL mpi_group_free ( bgroup, ierr_mpi )
634 DEALLOCATE ( tmprnk )
642 IF (fstotalimp .and. .NOT.
lpdlib)
THEN
643 WRITE(ndse,*)
'IMPTOTAL is selected'
644 WRITE(ndse,*)
'But PDLIB is not'
647 ELSE IF (fstotalexp .and. .NOT.
lpdlib)
THEN
648 WRITE(ndse,*)
'EXPTOTAL is selected'
649 WRITE(ndse,*)
'But PDLIB is not'
654 IF (b_jgs_block_gauss_seidel .AND. .NOT. b_jgs_use_jacobi)
THEN
655 WRITE(ndse,*)
'B_JGS_BLOCK_GAUSS_SEIDEL is used but the Jacobi solver is not choosen'
656 WRITE(ndse,*) .eqv.
'Please set JGS_USE_JACOBI .true.'
666 lfile =
'log.' // fext(:ie)
667 ifl = len_trim(lfile)
669 tfile =
'test.' // fext(:ie)
672 iw = 1 + int( log10( real(naproc) + 0.5 ) )
673 iw = max( 3 , min( 9 , iw ) )
674 WRITE (
FORMAT,
'(A5,I1.1,A1,I1.1,A4)') &
675 '(A4,I', iw,
'.', iw,
',2A)'
676 WRITE (tfile,format)
'test', &
677 outpts(imod)%IAPROC,
'.', fext(:ie)
679 ift = len_trim(tfile)
682 IF ( outpts(imod)%IAPROC .EQ. outpts(imod)%NAPLOG ) &
683 OPEN (mds(1),
file=fnmpre(:j)//lfile(:ifl),err=888,iostat=ierr)
685 IF ( mds(3).NE.mds(1) .AND. mds(3).NE.mds(4) .AND.
tstout )
THEN
686 INQUIRE (mds(3),opened=opened)
687 IF ( .NOT. opened )
OPEN (mds(3),
file=fnmpre(:j)//tfile(:ift), err=889, &
701 CALL itrace ( mtrace(1), mtrace(2) )
705 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 2')
707 IF ( iaproc .EQ. naplog )
THEN
708 CALL wwdate ( stdate )
709 CALL wwtime ( sttime )
710 WRITE (ndso,900)
wwver, stdate, sttime
712 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 2a')
715 CALL strace (ient,
'W3INIT')
718 WRITE(ndst,9000) imod, fext(:ie)
719 WRITE (ndst,9001) ntproc, naproc, iaproc, naplog, napout, &
720 naperr, napfld, nappnt, naptrk, naprst, napbpt, napprt
721 WRITE (ndst,9002) ndso, ndse, ndst, screen
722 WRITE (ndst,9003) lfile(:ifl), tfile(:ift)
728 CALL w3iogr (
'READ', nds(5), imod, fext )
729 IF (gtype .eq. ungtype)
THEN
741 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 2b')
743 IF (gtype .ne. ungtype)
THEN
753 CALL pdlib_init(imod)
755 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 2c')
762 CALL synchronize_ipgl_etc_array(imod, ismulti)
764 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 2cc')
769 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 2d')
773 CALL w3flgrdupdt ( ndso, ndse, flgrd, flgr2, flgd, flg2 )
784 IF ( iaproc .EQ. naplog )
WRITE (ndso,920)
788 ALLOCATE ( maptst(ny,nx) )
790 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 2e')
796 CALL set_up_nseal_nsealm(nsealout, nsealmout)
799 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 2f')
801 IF ( nsea .LT. naproc )
GOTO 820
802 IF (
lpdlib .eqv. .false.)
THEN
803 IF ( nspec .LT. naproc )
GOTO 821
808 IF ((iaproc .LE. naproc).and.(gtype .eq. ungtype))
THEN
809 CALL block_solver_init(imod)
810 CALL pdlib_iobp_init(imod)
813 CALL block_solver_explicit_init()
821 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 2g')
826 IF ( iaproc .LE. naproc )
THEN
827 CALL w3dimw ( imod, ndse, ndst )
828 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 2h')
830 CALL w3dimw ( imod, ndse, ndst, .false. )
831 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 2i')
836 CALL w3dima ( imod, ndse, ndst )
837 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 2j')
839 CALL w3dimi ( imod, ndse, ndst , flagstidein )
843 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 3')
849 ntloc = 1 + int(dtmax/(dtcfl*sig(ik)/sig(1))-0.001)
850 nttot = nttot + ntloc*nth
852 nttarg = 1 + (nttot-1)/naproc
853 nttarg = nttarg + int(dtmax/(dtcfl*sig(nk)/sig(1))-0.001)
859 ALLOCATE ( nt(nspec) )
862 IF (
lpdlib .eqv. .false.)
THEN
872 DO j=1, 1+nspec/naproc
874 IF ( mod(j,2) .EQ. 1 )
THEN
875 istep = 2*(naproc-ip) + 1
879 IF ( isp .LE. nspec )
THEN
881 ntloc = 1 + int(dtmax/(dtcfl*sig(ik)/sig(1))-0.001)
882 IF ( nt(ip)+ntloc .LE. nttarg )
THEN
884 nt(ip) = nt(ip) + ntloc
895 IF ( nt(ip) .LT. nttarg )
THEN
897 IF ( iappro(isp) .EQ. -1 )
THEN
899 ntloc = 1 + int(dtmax/(dtcfl*sig(ik)/sig(1))-0.001)
900 IF ( nt(ip)+ntloc .LE. nttarg )
THEN
902 nt(ip) = nt(ip) + ntloc
911 IF ( minval(iappro(1:nspec)) .GT. 0 )
THEN
915 IF ( nttarg .GE. nttmax )
EXIT
916 IF ( iaproc .EQ. naperr )
WRITE (ndse,8028)
931 WRITE (ndst,9021) ip, nt(ip), nttarg
936 WRITE (ndst,9026) ik, (iappro(ith+(ik-1)*nth),ith=1,min(24,nth))
937 IF ( nth .GT. 24 )
WRITE (ndst,9027) (iappro(ith+(ik-1)*nth),ith=25,nth)
944 IF (
lpdlib .eqv. .false.)
THEN
946 IF ( iappro(isp) .EQ. -1. )
GOTO 829
957 CALL all_va_integral_print(imod,
"Before W3IORS call", 1)
962 CALL w3iors (
'READ', nds(6), sig(nk), imod)
966 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 3a')
969 CALL all_va_integral_print(imod,
"After W3IORS call", 1)
971 flcold = rstype.LE.1 .OR. rstype.EQ.4
972 IF ( iaproc .EQ. naplog )
THEN
973 IF (rstype.EQ.0)
THEN
974 WRITE (ndso,930)
'cold start (idealized).'
975 ELSE IF ( rstype .EQ. 1 )
THEN
976 WRITE (ndso,930)
'cold start (wind).'
977 ELSE IF ( rstype .EQ. 4 )
THEN
978 WRITE (ndso,930)
'cold start (calm).'
980 WRITE (ndso,930)
'full restart.'
984 CALL all_va_integral_print(imod,
"W3INIT, step 4.2", 1)
995 IF ( abs(mapsta(iy,ix)).EQ.2 .OR. &
996 abs(maptst(iy,ix)).EQ.2 )
THEN
997 mapsta(iy,ix) = sign( maptst(iy,ix) , mapsta(iy,ix) )
1001 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 3b')
1004 CALL all_va_integral_print(imod,
"W3INIT, step 4.3", 1)
1010 IF (gtype .eq. ungtype)
THEN
1011 CALL pdlib_mapsta_init(imod)
1017 fliwnd = rstype.EQ.1
1019 IF ( fliwnd )
WRITE (ndst,9030)
1025 CALL all_va_integral_print(imod,
"W3INIT, step 5", 1)
1027 IF ( rstype .EQ. 4 )
THEN
1033 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 4')
1037 IF ( .NOT.
flcur ) flck = .false.
1052 tonext(1,j) = odat(j0+1)
1053 tonext(2,j) = odat(j0+2)
1054 dtout( j) = real( odat(j0+3) )
1055 tolast(1,j) = odat(j0+4)
1056 tolast(2,j) = odat(j0+5)
1062 IF(odat(j0+1) .NE. 0)
THEN
1063 tonext(1,j) = odat(j0+1)
1064 tonext(2,j) = odat(j0+2)
1065 dtout( j) = real( odat(j0+3) )
1066 tolast(1,j) = odat(j0+4)
1067 tolast(2,j) = odat(j0+5)
1080 flout(1) = flout(1) .OR. flogrd(j,k)
1084 CALL all_va_integral_print(imod,
"W3INIT, step 6", 1)
1092 flout(7) = flout(7) .OR. flogr2(j,k)
1096 flout(2) = npt .GT. 0
1104 CALL w3dmo5 ( imod, ndse, ndst, 4 )
1109 ix0 = max( 1, iprt(1) )
1110 ixn = min( nx, iprt(2) )
1111 ixs = max( 1, iprt(3) )
1112 iy0 = max( 1, iprt(4) )
1113 iyn = min( ny, iprt(5) )
1114 iys = max( 1, iprt(6) )
1116 flout(6) = ix0.LE.ixn .AND. iy0.LE.iyn
1126 CALL all_va_integral_print(imod,
"W3INIT, step 7", 1)
1135 dtout(j) = max( 0. , dtout(j) )
1136 flout(j) = flout(j) .AND. ( dtout(j) .GT. 0.5 )
1140 IF ( flout(j) )
THEN
1142 IF (j .EQ. 2)
tosnl5 = tonext(:, 2)
1148 dttst =
dsec21( time , tout )
1149 IF ( ( j.NE.4 .AND. dttst.LT.0. ) .OR. &
1150 ( j.EQ.4 .AND. dttst.LE.0. ) )
THEN
1151 CALL tick21 ( tout, dtout(j) )
1163 dttst =
dsec21( tout , tlst )
1164 IF ( dttst.LT.0.) flout(j) = .false.
1168 IF ( flout(j) )
THEN
1169 IF ( tofrst(1).EQ.-1 )
THEN
1172 dttst =
dsec21( tout , tofrst )
1173 IF ( dttst.GT.0.)
THEN
1189 dtout(j) = max( 0. , dtout(j) )
1190 flout(j) = flout(j) .AND. ( dtout(j) .GT. 0.5 )
1194 IF ( flout(j) )
THEN
1199 dttst =
dsec21( time , tout )
1200 IF ( ( j.NE.4 .AND. dttst.LT.0. ) .OR. &
1201 ( j.EQ.4 .AND. dttst.LE.0. ) )
THEN
1202 CALL tick21 ( tout, dtout(j) )
1214 dttst =
dsec21( tout , tlst )
1215 IF ( dttst.LT.0.) flout(j) = .false.
1219 IF ( flout(j) )
THEN
1220 IF ( tofrst(1).EQ.-1 )
THEN
1223 dttst =
dsec21( tout , tofrst )
1224 IF ( dttst.GT.0.)
THEN
1233 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 5')
1238 CALL all_va_integral_print(imod,
"W3INIT, step 8.1", 1)
1243 IF ( flout(2) )
CALL w3iopp ( npt, xpt, ypt, pnames, imod )
1245 CALL deallocate_pdlib_global(imod)
1251 WRITE (ndst,9041) tonext(1,j),tonext(2,j),dtout(j),flout(j)
1254 WRITE (ndst,9043) tofrst
1261 ALLOCATE ( mapout(nx,ny), xout(nx,ny) )
1265 maptst = mod(mapst2/2,2)
1266 mapst2 = mapst2 - 2*maptst
1284 mapout(ix,iy) = mapsta(iy,ix)
1289 IF (do_change_wlv)
THEN
1294 max_val = max(max_val, wlveff)
1295 min_val = min(min_val, wlveff)
1297 dw(isea) = max( 0. , wlveff-zb(isea) )
1299 xout(ix,iy) = dw(isea)
1301 IF ( wlveff-zb(isea) .LE.0. )
THEN
1303 mapsta(iy,ix) = -abs(mapsta(iy,ix))
1309 WRITE(740+iaproc,*)
'w3initmd 1: max/min(WLVeff)=', max_val, min_val
1315 CALL init_get_isea(isea, jsea)
1318 IF (do_change_wlv)
THEN
1323 max_val = max(max_val, wlveff)
1324 min_val = min(min_val, wlveff)
1326 dw(isea) = max( 0. , wlveff-zb(isea) )
1327 IF ( wlveff-zb(isea) .LE.0. )
THEN
1332 WRITE(740+iaproc,*)
'w3initmd 2: max/min(WLVeff)=', max_val, min_val
1337 IF ( iaproc .LE. naproc )
THEN
1338 CALL set_iobdp_pdlib
1344 CALL all_va_integral_print(imod,
"W3INIT, step 8.2", 1)
1348 mapst2 = mapst2 + 2*maptst
1350 DEALLOCATE ( maptst )
1351 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 6')
1357 nxn = min( nx0+nxs-1 , nx )
1358 CALL prtblk (ndst, nx, ny, nx, xout, mapout, 0, 0., nx0, nxn, 1, 1, &
1359 ny, 1,
'Depth',
'm')
1360 IF ( nxn .NE. nx )
THEN
1366 DEALLOCATE ( mapout, xout )
1376 depth = max( dmin , dw(is) )
1382 WRITE (ndst,9051) is, depth
1389 CALL wavnu3(sig(ik),depth,wn(ik,is),cg(ik,is))
1391 CALL wavnu1(sig(ik),depth,wn(ik,is),cg(ik,is))
1395 WRITE (ndst,9052) ik,
tpi/sig(ik), wn(ik,is), cg(ik,is)
1417 IF ( iaproc .EQ. naplog )
THEN
1419 WRITE (ndso,970) gname
1420 IF (
fllev )
WRITE (ndso,971)
'Prescribed'
1421 IF (.NOT.
fllev )
WRITE (ndso,971)
'No'
1422 IF (
flcur )
WRITE (ndso,972)
'Prescribed'
1423 IF (.NOT.
flcur )
WRITE (ndso,972)
'No'
1424 IF (
flwind )
WRITE (ndso,973)
'Prescribed'
1425 IF (.NOT.
flwind)
WRITE (ndso,973)
'No'
1426 IF (
flice )
WRITE (ndso,974)
'Prescribed'
1427 IF (.NOT.
flice )
WRITE (ndso,974)
'No'
1428 IF (
fltaua )
WRITE (ndso,988)
'Prescribed'
1429 IF (.NOT.
fltaua)
WRITE (ndso,988)
'No'
1430 IF (
flrhoa )
WRITE (ndso,989)
'Prescribed'
1431 IF (.NOT.
flrhoa)
WRITE (ndso,989)
'No'
1433 IF (
flmdn )
WRITE (ndso,9972)
'Prescribed'
1434 IF (.NOT.
flmdn )
WRITE (ndso,9972)
'No'
1435 IF (
flmth )
WRITE (ndso,9971)
'Prescribed'
1436 IF (.NOT.
flmth )
WRITE (ndso,9971)
'No'
1437 IF (
flmvs )
WRITE (ndso,9970)
'Prescribed'
1438 IF (.NOT.
flmvs )
WRITE (ndso,9970)
'No'
1440 IF (
flic1 )
WRITE (ndso,9973)
'Prescribed'
1441 IF (.NOT.
flic1 )
WRITE (ndso,9973)
'No'
1442 IF (
flic2 )
WRITE (ndso,9974)
'Prescribed'
1443 IF (.NOT.
flic2 )
WRITE (ndso,9974)
'No'
1444 IF (
flic3 )
WRITE (ndso,9975)
'Prescribed'
1445 IF (.NOT.
flic3 )
WRITE (ndso,9975)
'No'
1446 IF (
flic4 )
WRITE (ndso,9976)
'Prescribed'
1447 IF (.NOT.
flic4 )
WRITE (ndso,9976)
'No'
1448 IF (
flic5 )
WRITE (ndso,9977)
'Prescribed'
1449 IF (.NOT.
flic5 )
WRITE (ndso,9977)
'No'
1451 IF ( flout(1) )
THEN
1455 IF ( flogrd(j,k) )
WRITE (ndso,976) idout(j,k)
1460 IF ( flout(7) )
THEN
1464 IF ( flogr2(j,k) )
WRITE (ndso,976) idout(j,k)
1469 IF ( flout(2) )
THEN
1470 WRITE (ndso,977) nopts
1471 IF ( nopts .EQ. 0 )
THEN
1481 WRITE (ndso,980) ip, factor*ptloc(1,ip), factor*ptloc(2,ip), ptnme(ip)
1483 WRITE (ndso,986) ip, factor*ptloc(1,ip), factor*ptloc(2,ip), ptnme(ip)
1489 CALL stme21 ( time , dtme21 )
1490 WRITE (ndso,981) dtme21
1492 CALL stme21 ( tlev , dtme21 )
1493 WRITE (ndso,982) dtme21
1496 CALL stme21 ( tice , dtme21 )
1497 WRITE (ndso,983) dtme21
1500 CALL stme21 ( trho , dtme21 )
1501 WRITE (ndso,990) dtme21
1508 IF ( nopts .EQ. 0 ) flout(2) = .false.
1509 call print_memcheck(memunit,
'memcheck_____:'//
' WW3_INIT SECTION 7 - After allocation of group velocities')
1514 CALL all_va_integral_print(imod,
"W3INIT, step 8.3", 1)
1522 IF ( flout(2) )
CALL w3mpip ( imod )
1537 IF ( iaproc .EQ. naperr )
WRITE (ndse,8020) nsea, naproc
1541 IF ( iaproc .EQ. naperr )
WRITE (ndse,8021) nspec, naproc
1545 IF ( iaproc .EQ. naperr )
WRITE (ndse,8029)
1551 IF ( iaproc .EQ. naperr )
WRITE (ndse,8000) ierr
1556 WRITE (ndse,8001) ierr
1561 900
FORMAT (
' WAVEWATCH III log file ', &
1563 ' ==================================', &
1564 '==================================='/ &
1565 50x,
'date : ',a10/50x,
'time : ',a8)
1566 920
FORMAT (/
' Model definition file read.')
1567 930
FORMAT (
' Restart file read; ',a)
1569 970
FORMAT (/
' Grid name : ',a)
1570 971
FORMAT (/
' ',a,
' water levels.')
1571 972
FORMAT (
' ',a,
' curents.')
1572 973
FORMAT (
' ',a,
' winds.')
1573 974
FORMAT (
' ',a,
' ice fields.')
1574 988
FORMAT (
' ',a,
' momentum')
1575 989
FORMAT (
' ',a,
' air density')
1576 9972
FORMAT(
' ',a,
' mud density.')
1577 9971
FORMAT(
' ',a,
' mud thickness.')
1578 9970
FORMAT(
' ',a,
' mud viscosity.')
1579 9973
FORMAT(
' ',a,
' ice parameter 1')
1580 9974
FORMAT(
' ',a,
' ice parameter 2')
1581 9975
FORMAT(
' ',a,
' ice parameter 3')
1582 9976
FORMAT(
' ',a,
' ice parameter 4')
1583 9977
FORMAT(
' ',a,
' ice parameter 5')
1585 975
FORMAT (/
' Gridded output fields : '/ &
1586 '--------------------------------------------------')
1589 977
FORMAT (/
' Point output requested for',i6,
' points : '/ &
1590 '------------------------------------------')
1591 978
FORMAT (/
' Point output disabled')
1593 (/
' point | longitude | latitude | name '/ &
1594 ' --------|-------------|-------------|----------------')
1596 (/
' point | X | Y | name '/ &
1597 ' --------|-------------|-------------|----------------')
1598 980
FORMAT ( 5x,i5,
' |',2(f10.2,
' |'),2x,a)
1599 986
FORMAT ( 5x,i5,
' |',2(f8.1,
'E3 |'),2x,a)
1601 981
FORMAT (/
' Initial time : ',a)
1602 982
FORMAT (
' Water level time : ',a)
1603 983
FORMAT (
' Ice field time : ',a)
1604 990
FORMAT (
' Air density time : ',a)
1607 37x,
' | input | output |'/ &
1608 37x,
' |-----------------------|------------------|'/ &
1609 2x,
' step | pass | date time |', &
1610 ' b w l c t r i i1 i5 d | g p t r b f c r2 |'/ &
1611 2x,
'--------|------|---------------------|', &
1612 '-----------------------|------------------|'/ &
1613 2x,
'--------+------+---------------------+', &
1614 '---------------------------+--------------+')
1615 987
FORMAT (/
' Coupling output fields : '/ &
1616 '--------------------------------------------------')
1618 8000
FORMAT (/
' *** WAVEWATCH III ERROR IN W3INIT : '/ &
1619 ' ERROR IN OPENING LOG FILE'/ &
1621 8001
FORMAT (/
' *** WAVEWATCH III ERROR IN W3INIT : '/ &
1622 ' ERROR IN OPENING TEST FILE'/ &
1624 8002
FORMAT (/
' *** WAVEWATCH III WARNING IN W3INIT : '/ &
1625 ' SIGNIFICANT PART OF RESOURCES RESERVED FOR', &
1626 ' OUTPUT :',f6.1,
'%'/)
1628 8020
FORMAT (/
' *** WAVEWATCH III ERROR IN W3INIT : '/ &
1629 ' NUMBER OF SEA POINTS LESS THAN NUMBER OF PROC.'/ &
1630 ' NSEA, NAPROC =',2i8/)
1631 8021
FORMAT (/
' *** WAVEWATCH III ERROR IN W3INIT : '/ &
1632 ' NUMBER OF SPECTRAL POINTS LESS THAN NUMBER OF PROC.'/ &
1633 ' NSPEC, NAPROC =',2i8/)
1634 8028
FORMAT (/
' *** WAVEWATCH III WARNING IN W3INIT : '/ &
1635 ' INCREASING TARGET IN MPP PROPAGATION MAP.'/ &
1636 ' IMBALANCE BETWEEN OVERALL AND CFL TIME STEPS'/)
1637 8029
FORMAT (/
' *** WAVEWATCH III ERROR IN W3INIT : '/ &
1638 ' SOMETHING WRONG WITH MPP PROPAGATION MAP.'/ &
1639 ' CALL HENDRIK !!!'/)
1643 9000
FORMAT (
'TEST W3INIT: MOD. NR. AND FILE EXT.: ',i4,
' [',a,
']')
1644 9001
FORMAT (
' NR. OF PROCESSORS : ',3i4/ &
1645 ' ASSIGNED PROCESSORS ',9i4)
1646 9002
FORMAT (
' DATA SET NUMBERS : ',4i4)
1647 9003
FORMAT (
' LOG FILE : [',a,
']'/ &
1648 ' TEST FILE : [',a,
']')
1650 9020
FORMAT (
' TEST W3INIT : IP, NTTOT, NTTARG :')
1651 9021
FORMAT (
' ',3i8)
1652 9025
FORMAT (
' TEST W3INIT : MPP PROPAGATION MAP SPECTRAL COMP.')
1653 9026
FORMAT (4x,i4,2x,24i4)
1654 9027
FORMAT (10x,24i4)
1656 9030
FORMAT (
' TEST W3INIT : INITIALIZATION USING WINDS, ', &
1657 'PERFORMED IN W3WAVE')
1658 9031
FORMAT (
' TEST W3INIT : STARTING FROM CALM CONDITIONS')
1660 9040
FORMAT (
' TEST W3INIT : OUTPUT DATA, FIRST TIME, STEP, FLAG')
1661 9041
FORMAT (
' ',i9.8,i7.6,f8.1,3x,l1)
1662 9042
FORMAT (
' TEST W3INIT : FIRST TIME :')
1663 9043
FORMAT (
' ',i9.8,i7.6)
1665 9050
FORMAT (
' TEST W3INIT : INITIAL DEPTHS')
1668 9051
FORMAT (
' TEST W3INIT : ISEA =',i6,
' DEPTH =',f7.1, &
1670 9052
FORMAT (
' ',i3,f8.2,f8.4,f8.2)
1690 SUBROUTINE w3mpii ( IMOD )
1805 INTEGER,
INTENT(IN) :: IMOD
1812 INTEGER :: IERR_MPI, ISP, IH, ITARG, &
1816 INTEGER,
SAVE :: IENT = 0
1822 CALL strace (ient,
'W3MPII')
1858 IF (
lpdlib .eqv. .false.)
THEN
1886 WRITE (
ndst,9022) ih, isp, itarg+1,
irqsg1(ih,1), ierr1,
irqsg1(ih,2), ierr2
1935 IF ( ip .NE.
iaproc )
THEN
1982 9010
FORMAT (
' TEST W3MPII: DATA TYPES DEFINED'/ &
1983 ' WW3_FIELD_VEC : ',i10/ &
1984 ' WW3_SPEC_VEC : ',i10)
1985 9011
FORMAT (
' TEST W3MPII: NO COMPUTATIONS ON THIS NODE')
1986 9020
FORMAT (
' TEST W3MPII: W3WAVE COMM. SET UP FINISHED'/ &
1988 9021
FORMAT (/
' TEST W3MPII: COMMUNICATION CALLS FOR W3WAVE '/ &
1989 ' +------+------+------+--------------+--------------+'/ &
1990 ' | IH | ISP | TARG | SCATTER | GATHER |'/ &
1991 ' | | | | handle err | handle err |'/ &
1992 ' +------+------+------+--------------+--------------+')
1993 9022
FORMAT (
' |',3(i5,
' |'),2(i9,i4,
' |'))
1995 ' +------+------+------+--------------+--------------+'/)
1996 9030
FORMAT (
' TEST W3MPII: GATH/SCAT COMM. SET UP FINISHED'/ &
1999 ' TOTAL REQ. : ',i10/)
2000 9031
FORMAT (/
' TEST W3MPII: COMM. CALLS FOR W3GATH/W3SCAT '/ &
2001 ' +------+------+------+------+--------------+', &
2002 '--------------+'/ &
2003 ' | IH | ISP | TARG | IBFR | GATHER |', &
2005 ' | | | | | handle err |', &
2007 ' +------+------+------+------+--------------+', &
2009 9032
FORMAT (
' |',4(i5,
' |'),2(i9,i4,
' |'))
2010 9033
FORMAT (
' +------+------+------+------+--------------+', &
2031 SUBROUTINE w3mpio ( IMOD )
2181 INTEGER,
INTENT(IN) :: IMOD
2188 INTEGER :: IH, IT0, IROOT, IT, IERR, I0, &
2189 IFROM, IX(4), IY(4), IS(4), &
2190 IP(4), I, J, JSEA, ITARG, IB, &
2191 JSEA0, JSEAN, NSEAB, IBOFF, &
2192 ISEA, ISPROC, K, NRQMAX
2195 INTEGER,
SAVE :: IENT
2198 LOGICAL :: FLGRDALL(NOGRP,NGRPP)
2199 LOGICAL :: FLGRDARST(NOGRP,NGRPP)
2202 CHARACTER(LEN=5) :: STRING
2208 CALL strace (ient,
'W3MPIO')
2217 flgrdarst(j,k) = (flgrdall(j,k) .OR. flogrr(j,k))
2227 IF ((flout(1) .OR. flout(7)) .and. (.not.
lpdlib))
THEN
2242 nrqmax = 1 + 0 + 0 + &
2245 2+(noge(4)-2)*(
noswll+1) + 0 + 0 + &
2255 IF ( flgrdall( 3,ifj)) nrqmax = nrqmax + e3df(3,ifj) - e3df(2,ifj) + 1
2258 IF ( flgrdall( 6,9)) nrqmax = nrqmax + p2msf(3) - p2msf(2) + 1
2259 IF ( flgrdall( 6, 8) ) nrqmax = nrqmax + 2*nk
2260 IF ( flgrdall( 6,12) ) nrqmax = nrqmax + 2*nk
2262 IF ( nrqmax .GT. 0 )
THEN
2263 ALLOCATE (
outpts(imod)%OUT1%IRQGO(nrqmax) )
2264 ALLOCATE (
outpts(imod)%OUT1%IRQGO2(nrqmax*naproc) )
2273 IF ( iaproc .LE. naproc )
THEN
2276 WRITE (ndst,9010)
'(SEND)'
2279 IF ( flgrdall( 1, 12) )
THEN
2282 CALL mpi_send_init (
icef(iaproc), 1, ww3_field_vec, iroot, it, &
2283 mpi_comm_wave,
irqgo(ih), ierr)
2285 WRITE (ndst,9011) ih,
' 1/09', iroot, it,
irqgo(ih), ierr
2289 IF ( flgrdall( 2, 1) )
THEN
2292 CALL mpi_send_init (hs(1),nsealm , mpi_real, iroot, &
2293 it, mpi_comm_wave,
irqgo(ih), ierr)
2295 WRITE (ndst,9011) ih,
' 2/01', iroot, it,
irqgo(ih), ierr
2299 IF ( flgrdall( 2, 2) )
THEN
2302 CALL mpi_send_init (wlm(1),nsealm , mpi_real, iroot, &
2303 it, mpi_comm_wave,
irqgo(ih), ierr)
2305 WRITE (ndst,9011) ih,
' 2/02', iroot, it,
irqgo(ih), ierr
2309 IF ( flgrdall( 2, 3) )
THEN
2312 CALL mpi_send_init (t02(1),nsealm , mpi_real, iroot, &
2313 it, mpi_comm_wave,
irqgo(ih), ierr)
2315 WRITE (ndst,9011) ih,
' 2/03', iroot, it,
irqgo(ih), ierr
2319 IF ( flgrdall( 2, 4) )
THEN
2322 CALL mpi_send_init (
t0m1(1),nsealm , mpi_real, iroot, &
2323 it, mpi_comm_wave,
irqgo(ih), ierr)
2325 WRITE (ndst,9011) ih,
' 2/04', iroot, it,
irqgo(ih), ierr
2329 IF ( flgrdall( 2, 5) )
THEN
2332 CALL mpi_send_init (
t01(1),nsealm , mpi_real, iroot, &
2333 it, mpi_comm_wave,
irqgo(ih), ierr)
2335 WRITE (ndst,9011) ih,
' 2/05', iroot, it,
irqgo(ih), ierr
2339 IF ( flgrdall( 2, 6) .OR. flgrdall( 2,18) )
THEN
2343 CALL mpi_send_init (
fp0(1),nsealm , mpi_real, iroot, &
2344 it, mpi_comm_wave,
irqgo(ih), ierr)
2346 WRITE (ndst,9011) ih,
' 2/06', iroot, it,
irqgo(ih), ierr
2350 IF ( flgrdall( 2, 7) )
THEN
2353 CALL mpi_send_init (
thm(1),nsealm , mpi_real, iroot, &
2354 it, mpi_comm_wave,
irqgo(ih), ierr)
2356 WRITE (ndst,9011) ih,
' 2/07', iroot, it,
irqgo(ih), ierr
2360 IF ( flgrdall( 2, 8) )
THEN
2363 CALL mpi_send_init (
ths(1),nsealm , mpi_real, iroot, &
2364 it, mpi_comm_wave,
irqgo(ih), ierr)
2366 WRITE (ndst,9011) ih,
' 2/09', iroot, it,
irqgo(ih), ierr
2370 IF ( flgrdall( 2, 9) )
THEN
2373 CALL mpi_send_init (
thp0(1),nsealm , mpi_real, iroot, &
2374 it, mpi_comm_wave,
irqgo(ih), ierr)
2376 WRITE (ndst,9011) ih,
' 2/09', iroot, it,
irqgo(ih), ierr
2380 IF ( flgrdall( 2, 10) )
THEN
2383 CALL mpi_send_init (
hsig(1),nsealm , mpi_real, iroot, &
2384 it, mpi_comm_wave,
irqgo(ih), ierr)
2386 WRITE (ndst,9011) ih,
' 2/10', iroot, it,
irqgo(ih), ierr
2390 IF ( flgrdall( 2, 11) )
THEN
2393 CALL mpi_send_init (
stmaxe(1),nsealm , mpi_real, iroot, &
2394 it, mpi_comm_wave,
irqgo(ih), ierr)
2396 WRITE (ndst,9011) ih,
' 2/11', iroot, it,
irqgo(ih), ierr
2400 IF ( flgrdall( 2, 12) )
THEN
2403 CALL mpi_send_init (
stmaxd(1),nsealm , mpi_real, iroot, &
2404 it, mpi_comm_wave,
irqgo(ih), ierr)
2406 WRITE (ndst,9011) ih,
' 2/12', iroot, it,
irqgo(ih), ierr
2410 IF ( flgrdall( 2, 13) )
THEN
2413 CALL mpi_send_init (
hmaxe(1),nsealm , mpi_real, iroot, &
2414 it, mpi_comm_wave,
irqgo(ih), ierr)
2416 WRITE (ndst,9011) ih,
' 2/13', iroot, it,
irqgo(ih), ierr
2420 IF ( flgrdall( 2, 14) )
THEN
2423 CALL mpi_send_init (
hcmaxe(1),nsealm , mpi_real, iroot, &
2424 it, mpi_comm_wave,
irqgo(ih), ierr)
2426 WRITE (ndst,9011) ih,
' 2/14', iroot, it,
irqgo(ih), ierr
2430 IF ( flgrdall( 2, 15) )
THEN
2433 CALL mpi_send_init (
hmaxd(1),nsealm , mpi_real, iroot, &
2434 it, mpi_comm_wave,
irqgo(ih), ierr)
2436 WRITE (ndst,9011) ih,
' 2/15', iroot, it,
irqgo(ih), ierr
2440 IF ( flgrdall( 2, 16) )
THEN
2443 CALL mpi_send_init (
hcmaxd(1),nsealm , mpi_real, iroot, &
2444 it, mpi_comm_wave,
irqgo(ih), ierr)
2446 WRITE (ndst,9011) ih,
' 2/16', iroot, it,
irqgo(ih), ierr
2450 IF ( flgrdall( 2, 17) )
THEN
2453 CALL mpi_send_init (
wbt(1),nsealm , mpi_real, iroot, &
2454 it, mpi_comm_wave,
irqgo(ih), ierr)
2456 WRITE (ndst,9011) ih,
' 2/17', iroot, it,
irqgo(ih), ierr
2460 IF ( flgrdall( 2, 19) )
THEN
2463 CALL mpi_send_init (
wnmean(1),nsealm , mpi_real, iroot, &
2464 it, mpi_comm_wave,
irqgo(ih), ierr)
2466 WRITE (ndst,9011) ih,
' 2/19', iroot, it,
irqgo(ih), ierr
2470 IF ( flgrdall( 3, 1) )
THEN
2471 DO ik=e3df(2,1),e3df(3,1)
2474 CALL mpi_send_init (
ef(1,ik),nsealm , mpi_real, iroot, &
2475 it, mpi_comm_wave,
irqgo(ih), ierr)
2477 WRITE (ndst,9011) ih,
'EF', iroot, it,
irqgo(ih), ierr
2482 IF ( flgrdall( 3, 2) )
THEN
2483 DO ik=e3df(2,2),e3df(3,2)
2486 CALL mpi_send_init (
th1m(1,ik),nsealm , mpi_real, iroot, &
2487 it, mpi_comm_wave,
irqgo(ih), ierr)
2489 WRITE (ndst,9011) ih,
'TH1M', iroot, it,
irqgo(ih), ierr
2494 IF ( flgrdall( 3, 3) )
THEN
2495 DO ik=e3df(2,3),e3df(3,3)
2498 CALL mpi_send_init (
sth1m(1,ik),nsealm , mpi_real, iroot, &
2499 it, mpi_comm_wave,
irqgo(ih), ierr)
2501 WRITE (ndst,9011) ih,
'STH1M', iroot, it,
irqgo(ih), ierr
2506 IF ( flgrdall( 3, 4) )
THEN
2507 DO ik=e3df(2,4),e3df(3,4)
2510 CALL mpi_send_init (
th2m(1,ik),nsealm , mpi_real, iroot, &
2511 it, mpi_comm_wave,
irqgo(ih), ierr)
2513 WRITE (ndst,9011) ih,
'TH2M', iroot, it,
irqgo(ih), ierr
2518 IF ( flgrdall( 3, 5) )
THEN
2519 DO ik=e3df(2,5),e3df(3,5)
2522 CALL mpi_send_init (
sth2m(1,ik),nsealm , mpi_real, iroot, &
2523 it, mpi_comm_wave,
irqgo(ih), ierr)
2525 WRITE (ndst,9011) ih,
'STH2M', iroot, it,
irqgo(ih), ierr
2530 IF ( flgrdall( 4, 1) )
THEN
2534 CALL mpi_send_init (
phs(1,k),nsealm , mpi_real, iroot, &
2535 it, mpi_comm_wave,
irqgo(ih), ierr)
2537 WRITE (ndst,9011) ih,
' 4/01', iroot, it,
irqgo(ih), ierr
2542 IF ( flgrdall( 4, 2) )
THEN
2546 CALL mpi_send_init (
ptp(1,k),nsealm , mpi_real, iroot, &
2547 it, mpi_comm_wave,
irqgo(ih), ierr)
2549 WRITE (ndst,9011) ih,
' 4/02', iroot, it,
irqgo(ih), ierr
2554 IF ( flgrdall( 4, 3) )
THEN
2558 CALL mpi_send_init (
plp(1,k),nsealm , mpi_real, iroot, &
2559 it, mpi_comm_wave,
irqgo(ih), ierr)
2561 WRITE (ndst,9011) ih,
' 4/03', iroot, it,
irqgo(ih), ierr
2566 IF ( flgrdall( 4, 4) )
THEN
2570 CALL mpi_send_init (
pdir(1,k),nsealm , mpi_real, iroot, &
2571 it, mpi_comm_wave,
irqgo(ih), ierr)
2573 WRITE (ndst,9011) ih,
' 4/04', iroot, it,
irqgo(ih), ierr
2578 IF ( flgrdall( 4, 5) )
THEN
2582 CALL mpi_send_init (
psi(1,k),nsealm , mpi_real, iroot, &
2583 it, mpi_comm_wave,
irqgo(ih), ierr)
2585 WRITE (ndst,9011) ih,
' 4/05', iroot, it,
irqgo(ih), ierr
2590 IF ( flgrdall( 4, 6) )
THEN
2594 CALL mpi_send_init (
pws(1,k),nsealm , mpi_real, iroot, &
2595 it, mpi_comm_wave,
irqgo(ih), ierr)
2597 WRITE (ndst,9011) ih,
' 4/06', iroot, it,
irqgo(ih), ierr
2602 IF ( flgrdall( 4, 7) )
THEN
2606 CALL mpi_send_init (
pthp0(1,k),nsealm , mpi_real, iroot, &
2607 it, mpi_comm_wave,
irqgo(ih), ierr)
2609 WRITE (ndst,9011) ih,
' 4/07', iroot, it,
irqgo(ih), ierr
2614 IF ( flgrdall( 4, 8) )
THEN
2618 CALL mpi_send_init (
pqp(1,k),nsealm , mpi_real, iroot, &
2619 it, mpi_comm_wave,
irqgo(ih), ierr)
2621 WRITE (ndst,9011) ih,
' 4/08', iroot, it,
irqgo(ih), ierr
2626 IF ( flgrdall( 4, 9) )
THEN
2630 CALL mpi_send_init (
ppe(1,k),nsealm , mpi_real, iroot, &
2631 it, mpi_comm_wave,
irqgo(ih), ierr)
2633 WRITE (ndst,9011) ih,
' 4/09', iroot, it,
irqgo(ih), ierr
2638 IF ( flgrdall( 4,10) )
THEN
2642 CALL mpi_send_init (
pgw(1,k),nsealm , mpi_real, iroot, &
2643 it, mpi_comm_wave,
irqgo(ih), ierr)
2645 WRITE (ndst,9011) ih,
' 4/10', iroot, it,
irqgo(ih), ierr
2650 IF ( flgrdall( 4,11) )
THEN
2654 CALL mpi_send_init (
psw(1,k),nsealm , mpi_real, iroot, &
2655 it, mpi_comm_wave,
irqgo(ih), ierr)
2657 WRITE (ndst,9011) ih,
' 4/11', iroot, it,
irqgo(ih), ierr
2662 IF ( flgrdall( 4,12) )
THEN
2666 CALL mpi_send_init (
ptm1(1,k),nsealm , mpi_real, iroot, &
2667 it, mpi_comm_wave,
irqgo(ih), ierr)
2669 WRITE (ndst,9011) ih,
' 4/12', iroot, it,
irqgo(ih), ierr
2675 IF ( flgrdall( 4,13) )
THEN
2679 CALL mpi_send_init (
pt1(1,k),nsealm , mpi_real, iroot, &
2680 it, mpi_comm_wave,
irqgo(ih), ierr)
2682 WRITE (ndst,9011) ih,
' 4/13', iroot, it,
irqgo(ih), ierr
2687 IF ( flgrdall( 4,14) )
THEN
2691 CALL mpi_send_init (
pt2(1,k),nsealm , mpi_real, iroot, &
2692 it, mpi_comm_wave,
irqgo(ih), ierr)
2694 WRITE (ndst,9011) ih,
' 4/14', iroot, it,
irqgo(ih), ierr
2699 IF ( flgrdall( 4,15) )
THEN
2703 CALL mpi_send_init (
pep(1,k),nsealm , mpi_real, iroot, &
2704 it, mpi_comm_wave,
irqgo(ih), ierr)
2706 WRITE (ndst,9011) ih,
' 4/15', iroot, it,
irqgo(ih), ierr
2711 IF ( flgrdall( 4,16) )
THEN
2714 CALL mpi_send_init (
pwst(1),nsealm , mpi_real, iroot, &
2715 it, mpi_comm_wave,
irqgo(ih), ierr)
2717 WRITE (ndst,9011) ih,
' 4/16', iroot, it,
irqgo(ih), ierr
2721 IF ( flgrdall( 4,17) )
THEN
2724 CALL mpi_send_init (
pnr(1),nsealm , mpi_real, iroot, &
2725 it, mpi_comm_wave,
irqgo(ih), ierr)
2727 WRITE (ndst,9011) ih,
' 4/17', iroot, it,
irqgo(ih), ierr
2731 IF ( flgrdall( 5, 1) )
THEN
2734 CALL mpi_send_init (
ust(iaproc), 1, ww3_field_vec, &
2735 iroot, it, mpi_comm_wave,
irqgo(ih), ierr )
2737 WRITE (ndst,9011) ih,
' 5/01', iroot, it,
irqgo(ih), ierr
2741 CALL mpi_send_init (
ustdir(iaproc), 1, ww3_field_vec, &
2742 iroot, it, mpi_comm_wave,
irqgo(ih), ierr )
2744 WRITE (ndst,9011) ih,
' 5/01', iroot, it,
irqgo(ih), ierr
2748 CALL mpi_send_init (
asf(iaproc), 1, ww3_field_vec, &
2749 iroot, it, mpi_comm_wave,
irqgo(ih), ierr )
2751 WRITE (ndst,9011) ih,
' 5/01', iroot, it,
irqgo(ih), ierr
2755 IF ( flgrdall( 5, 2) )
THEN
2758 CALL mpi_send_init (
charn(1),nsealm , mpi_real, iroot, &
2759 it, mpi_comm_wave,
irqgo(ih), ierr)
2761 WRITE (ndst,9011) ih,
' 5/02', iroot, it,
irqgo(ih), ierr
2765 IF ( flgrdall( 5, 3) )
THEN
2768 CALL mpi_send_init (
cge(1),nsealm , mpi_real, iroot, &
2769 it, mpi_comm_wave,
irqgo(ih), ierr)
2771 WRITE (ndst,9011) ih,
' 5/03', iroot, it,
irqgo(ih), ierr
2775 IF ( flgrdall( 5, 4) )
THEN
2778 CALL mpi_send_init (
phiaw(1),nsealm , mpi_real, iroot, &
2779 it, mpi_comm_wave,
irqgo(ih), ierr)
2781 WRITE (ndst,9011) ih,
' 5/04', iroot, it,
irqgo(ih), ierr
2785 IF ( flgrdall( 5, 5) )
THEN
2788 CALL mpi_send_init (
tauwix(1),nsealm , mpi_real, iroot, &
2789 it, mpi_comm_wave,
irqgo(ih), ierr)
2791 WRITE (ndst,9011) ih,
' 5/05', iroot, it,
irqgo(ih), ierr
2795 CALL mpi_send_init (
tauwiy(1),nsealm , mpi_real, iroot, &
2796 it, mpi_comm_wave,
irqgo(ih), ierr)
2798 WRITE (ndst,9011) ih,
' 5/05', iroot, it,
irqgo(ih), ierr
2802 IF ( flgrdall( 5, 6) )
THEN
2805 CALL mpi_send_init (
tauwnx(1),nsealm , mpi_real, iroot, &
2806 it, mpi_comm_wave,
irqgo(ih), ierr)
2808 WRITE (ndst,9011) ih,
' 5/06', iroot, it,
irqgo(ih), ierr
2812 CALL mpi_send_init (
tauwny(1),nsealm , mpi_real, iroot, &
2813 it, mpi_comm_wave,
irqgo(ih), ierr)
2815 WRITE (ndst,9011) ih,
' 5/06', iroot, it,
irqgo(ih), ierr
2819 IF ( flgrdall( 5, 7) )
THEN
2822 CALL mpi_send_init (
whitecap(1,1),nsealm , mpi_real, iroot,&
2823 it, mpi_comm_wave,
irqgo(ih), ierr)
2825 WRITE (ndst,9011) ih,
' 5/07', iroot, it,
irqgo(ih), ierr
2829 IF ( flgrdall( 5, 8) )
THEN
2832 CALL mpi_send_init (
whitecap(1,2),nsealm , mpi_real, iroot,&
2833 it, mpi_comm_wave,
irqgo(ih), ierr)
2835 WRITE (ndst,9011) ih,
' 5/08', iroot, it,
irqgo(ih), ierr
2839 IF ( flgrdall( 5, 9) )
THEN
2842 CALL mpi_send_init (
whitecap(1,3),nsealm , mpi_real, iroot,&
2843 it, mpi_comm_wave,
irqgo(ih), ierr)
2845 WRITE (ndst,9011) ih,
' 5/09', iroot, it,
irqgo(ih), ierr
2849 IF ( flgrdall( 5,10) )
THEN
2852 CALL mpi_send_init (
whitecap(1,4),nsealm , mpi_real, iroot,&
2853 it, mpi_comm_wave,
irqgo(ih), ierr)
2855 WRITE (ndst,9011) ih,
' 5/10', iroot, it,
irqgo(ih), ierr
2859 IF ( flgrdall( 5, 11) )
THEN
2862 CALL mpi_send_init (
tws(1),nsealm , mpi_real, iroot, &
2863 it, mpi_comm_wave,
irqgo(ih), ierr)
2865 WRITE (ndst,9011) ih,
' 5/11', iroot, it,
irqgo(ih), ierr
2869 IF ( flgrdall( 6, 1) )
THEN
2872 CALL mpi_send_init (
sxx(1),nsealm , mpi_real, iroot, &
2873 it, mpi_comm_wave,
irqgo(ih), ierr)
2875 WRITE (ndst,9011) ih,
' 6/01', iroot, it,
irqgo(ih), ierr
2879 CALL mpi_send_init (
syy(1),nsealm , mpi_real, iroot, &
2880 it, mpi_comm_wave,
irqgo(ih), ierr)
2882 WRITE (ndst,9011) ih,
' 6/01', iroot, it,
irqgo(ih), ierr
2886 CALL mpi_send_init (
sxy(1),nsealm , mpi_real, iroot, &
2887 it, mpi_comm_wave,
irqgo(ih), ierr)
2889 WRITE (ndst,9011) ih,
' 6/01', iroot, it,
irqgo(ih), ierr
2893 IF ( flgrdall( 6, 2) )
THEN
2896 CALL mpi_send_init (
tauox(1),nsealm , mpi_real, iroot, &
2897 it, mpi_comm_wave,
irqgo(ih), ierr)
2899 WRITE (ndst,9011) ih,
' 6/02', iroot, it,
irqgo(ih), ierr
2903 CALL mpi_send_init (
tauoy(1),nsealm , mpi_real, iroot, &
2904 it, mpi_comm_wave,
irqgo(ih), ierr)
2906 WRITE (ndst,9011) ih,
' 6/02', iroot, it,
irqgo(ih), ierr
2910 IF ( flgrdall( 6, 3) )
THEN
2913 CALL mpi_send_init (
bhd(1),nsealm , mpi_real, iroot, &
2914 it, mpi_comm_wave,
irqgo(ih), ierr)
2916 WRITE (ndst,9011) ih,
' 6/03', iroot, it,
irqgo(ih), ierr
2920 IF ( flgrdall( 6, 4) )
THEN
2923 CALL mpi_send_init (
phioc(1),nsealm , mpi_real, iroot, &
2924 it, mpi_comm_wave,
irqgo(ih), ierr)
2926 WRITE (ndst,9011) ih,
' 6/04', iroot, it,
irqgo(ih), ierr
2930 IF ( flgrdall( 6, 5) )
THEN
2933 CALL mpi_send_init (
tusx(1),nsealm , mpi_real, iroot, &
2934 it, mpi_comm_wave,
irqgo(ih), ierr)
2936 WRITE (ndst,9011) ih,
' 6/05', iroot, it,
irqgo(ih), ierr
2940 CALL mpi_send_init (
tusy(1),nsealm , mpi_real, iroot, &
2941 it, mpi_comm_wave,
irqgo(ih), ierr)
2943 WRITE (ndst,9011) ih,
' 6/05', iroot, it,
irqgo(ih), ierr
2947 IF ( flgrdall( 6, 6) )
THEN
2950 CALL mpi_send_init (
ussx(1),nsealm , mpi_real, iroot, &
2951 it, mpi_comm_wave,
irqgo(ih), ierr)
2953 WRITE (ndst,9011) ih,
' 6/06', iroot, it,
irqgo(ih), ierr
2957 CALL mpi_send_init (
ussy(1),nsealm , mpi_real, iroot, &
2958 it, mpi_comm_wave,
irqgo(ih), ierr)
2960 WRITE (ndst,9011) ih,
' 6/06', iroot, it,
irqgo(ih), ierr
2964 IF ( flgrdall( 6, 7) )
THEN
2967 CALL mpi_send_init (
prms(1),nsealm , mpi_real, iroot, &
2968 it, mpi_comm_wave,
irqgo(ih), ierr)
2970 WRITE (ndst,9011) ih,
' 6/07', iroot, it,
irqgo(ih), ierr
2974 CALL mpi_send_init (
tpms(1),nsealm , mpi_real, iroot, &
2975 it, mpi_comm_wave,
irqgo(ih), ierr)
2977 WRITE (ndst,9011) ih,
' 6/07', iroot, it,
irqgo(ih), ierr
2981 IF ( flgrdall( 6, 8) )
THEN
2985 CALL mpi_send_init (
us3d(1,ik),nsealm , mpi_real, iroot, &
2986 it, mpi_comm_wave,
irqgo(ih), ierr)
2988 WRITE (ndst,9011) ih,
'US3D ', iroot, it,
irqgo(ih), ierr
2993 IF ( flgrdall( 6, 9) )
THEN
2994 DO k=p2msf(2),p2msf(3)
2997 CALL mpi_send_init (
p2sms(1,k),nsealm , mpi_real, iroot, &
2998 it, mpi_comm_wave,
irqgo(ih), ierr)
3000 WRITE (ndst,9011) ih,
'P2SMS', iroot, it,
irqgo(ih), ierr
3005 IF ( flgrdall( 6,10) )
THEN
3008 CALL mpi_send_init (
tauice(1,1),nsealm , mpi_real, iroot, &
3009 it, mpi_comm_wave,
irqgo(ih), ierr)
3011 WRITE (ndst,9011) ih,
' 6/10', iroot, it,
irqgo(ih), ierr
3015 CALL mpi_send_init (
tauice(1,2),nsealm , mpi_real, iroot, &
3016 it, mpi_comm_wave,
irqgo(ih), ierr)
3018 WRITE (ndst,9011) ih,
' 6/10', iroot, it,
irqgo(ih), ierr
3022 IF ( flgrdall( 6,11) )
THEN
3025 CALL mpi_send_init (
phice(1),nsealm , mpi_real, iroot, &
3026 it, mpi_comm_wave,
irqgo(ih), ierr)
3028 WRITE (ndst,9011) ih,
' 6/11', iroot, it,
irqgo(ih), ierr
3032 IF ( flgrdall( 6, 12) )
THEN
3036 CALL mpi_send_init (
ussp(1,ik),nsealm , mpi_real, iroot, &
3037 it, mpi_comm_wave,
irqgo(ih), ierr)
3039 WRITE (ndst,9011) ih,
'USSP ', iroot, it,
irqgo(ih), ierr
3044 IF ( flgrdall( 6, 13) )
THEN
3047 CALL mpi_send_init (
tauocx(1),nsealm , mpi_real, iroot, &
3048 it, mpi_comm_wave,
irqgo(ih), ierr)
3050 WRITE (ndst,9011) ih,
' 6/13', iroot, it,
irqgo(ih), ierr
3054 CALL mpi_send_init (
tauocy(1),nsealm , mpi_real, iroot, &
3055 it, mpi_comm_wave,
irqgo(ih), ierr)
3057 WRITE (ndst,9011) ih,
' 6/13', iroot, it,
irqgo(ih), ierr
3061 IF ( flgrdall( 7, 1) )
THEN
3064 CALL mpi_send_init (
aba(1),nsealm , mpi_real, iroot, &
3065 it, mpi_comm_wave,
irqgo(ih), ierr)
3067 WRITE (ndst,9011) ih,
' 7/01', iroot, it,
irqgo(ih), ierr
3071 CALL mpi_send_init (
abd(1),nsealm , mpi_real, iroot, &
3072 it, mpi_comm_wave,
irqgo(ih), ierr)
3074 WRITE (ndst,9011) ih,
' 7/01', iroot, it,
irqgo(ih), ierr
3078 IF ( flgrdall( 7, 2) )
THEN
3081 CALL mpi_send_init (
uba(1),nsealm , mpi_real, iroot, &
3082 it, mpi_comm_wave,
irqgo(ih), ierr)
3084 WRITE (ndst,9011) ih,
' 7/02', iroot, it,
irqgo(ih), ierr
3088 CALL mpi_send_init (
ubd(1),nsealm , mpi_real, iroot, &
3089 it, mpi_comm_wave,
irqgo(ih), ierr)
3091 WRITE (ndst,9011) ih,
' 7/02', iroot, it,
irqgo(ih), ierr
3095 IF ( flgrdall( 7, 3) )
THEN
3098 CALL mpi_send_init (
bedforms(1,1),nsealm , mpi_real, &
3099 iroot, it, mpi_comm_wave,
irqgo(ih), ierr)
3101 WRITE (ndst,9011) ih,
' 7/03', iroot, it,
irqgo(ih), ierr
3105 CALL mpi_send_init (
bedforms(1,2),nsealm , mpi_real, &
3106 iroot, it, mpi_comm_wave,
irqgo(ih), ierr)
3108 WRITE (ndst,9011) ih,
' 7/03', iroot, it,
irqgo(ih), ierr
3112 CALL mpi_send_init (
bedforms(1,3),nsealm , mpi_real, &
3113 iroot, it, mpi_comm_wave,
irqgo(ih), ierr)
3115 WRITE (ndst,9011) ih,
' 7/03', iroot, it,
irqgo(ih), ierr
3119 IF ( flgrdall( 7, 4) )
THEN
3122 CALL mpi_send_init (
phibbl(1),nsealm , mpi_real, iroot, &
3123 it, mpi_comm_wave,
irqgo(ih), ierr)
3125 WRITE (ndst,9011) ih,
' 7/04', iroot, it,
irqgo(ih), ierr
3129 IF ( flgrdall( 7, 5) )
THEN
3132 CALL mpi_send_init (
taubbl(1,1),nsealm , mpi_real, &
3133 iroot, it, mpi_comm_wave,
irqgo(ih), ierr)
3135 WRITE (ndst,9011) ih,
' 7/05', iroot, it,
irqgo(ih), ierr
3139 CALL mpi_send_init (
taubbl(1,2),nsealm , mpi_real, &
3140 iroot, it, mpi_comm_wave,
irqgo(ih), ierr)
3142 WRITE (ndst,9011) ih,
' 7/05', iroot, it,
irqgo(ih), ierr
3146 IF ( flgrdall( 8, 1) )
THEN
3149 CALL mpi_send_init (
mssx(1),nsealm , mpi_real, iroot, &
3150 it, mpi_comm_wave,
irqgo(ih), ierr)
3152 WRITE (ndst,9011) ih,
' 8/01', iroot, it,
irqgo(ih), ierr
3156 CALL mpi_send_init (
mssy(1),nsealm , mpi_real, iroot, &
3157 it, mpi_comm_wave,
irqgo(ih), ierr)
3159 WRITE (ndst,9011) ih,
' 8/01', iroot, it,
irqgo(ih), ierr
3163 IF ( flgrdall( 8, 2) )
THEN
3166 CALL mpi_send_init (
mscx(1),nsealm , mpi_real, iroot, &
3167 it, mpi_comm_wave,
irqgo(ih), ierr)
3169 WRITE (ndst,9011) ih,
' 8/02', iroot, it,
irqgo(ih), ierr
3173 CALL mpi_send_init (
mscy(1),nsealm , mpi_real, iroot, &
3174 it, mpi_comm_wave,
irqgo(ih), ierr)
3176 WRITE (ndst,9011) ih,
' 8/02', iroot, it,
irqgo(ih), ierr
3180 IF ( flgrdall( 8, 3) )
THEN
3183 CALL mpi_send_init (
mssd(1),nsealm , mpi_real, iroot, &
3184 it, mpi_comm_wave,
irqgo(ih), ierr)
3186 WRITE (ndst,9011) ih,
' 8/03', iroot, it,
irqgo(ih), ierr
3190 IF ( flgrdall( 8, 4) )
THEN
3193 CALL mpi_send_init (
mscd(1),nsealm , mpi_real, iroot, &
3194 it, mpi_comm_wave,
irqgo(ih), ierr)
3196 WRITE (ndst,9011) ih,
' 8/04', iroot, it,
irqgo(ih), ierr
3200 IF ( flgrdall( 8, 5) )
THEN
3203 CALL mpi_send_init (
qp(1),nsealm , mpi_real, iroot, &
3204 it, mpi_comm_wave,
irqgo(ih), ierr)
3206 WRITE (ndst,9011) ih,
' 8/05', iroot, it,
irqgo(ih), ierr
3210 IF ( flgrdall( 8, 6) )
THEN
3213 CALL mpi_send_init (
qkk(1),nsealm , mpi_real, iroot, &
3214 it, mpi_comm_wave,
irqgo(ih), ierr)
3216 WRITE (ndst,9011) ih,
' 8/06', iroot, it,
irqgo(ih), ierr
3220 IF ( flgrdall( 8, 7) )
THEN
3223 CALL mpi_send_init (
skew(1),nsealm , mpi_real, iroot, &
3224 it, mpi_comm_wave,
irqgo(ih), ierr)
3226 WRITE (ndst,9011) ih,
' 8/07', iroot, it,
irqgo(ih), ierr
3230 IF ( flgrdall( 8, 8) )
THEN
3233 CALL mpi_send_init (
embia1(1),nsealm , mpi_real, iroot, &
3234 it, mpi_comm_wave,
irqgo(ih), ierr)
3236 WRITE (ndst,9011) ih,
' 8/08', iroot, it,
irqgo(ih), ierr
3240 IF ( flgrdall( 8, 9) )
THEN
3243 CALL mpi_send_init (
embia2(1),nsealm , mpi_real, iroot, &
3244 it, mpi_comm_wave,
irqgo(ih), ierr)
3246 WRITE (ndst,9011) ih,
' 8/09', iroot, it,
irqgo(ih), ierr
3250 IF ( flgrdall( 9, 1) )
THEN
3253 CALL mpi_send_init (
dtdyn(1),nsealm , mpi_real, iroot, &
3254 it, mpi_comm_wave,
irqgo(ih), ierr)
3256 WRITE (ndst,9011) ih,
' 9/01', iroot, it,
irqgo(ih), ierr
3260 IF ( flgrdall( 9, 2) )
THEN
3263 CALL mpi_send_init (
fcut(1),nsealm , mpi_real, iroot, &
3264 it, mpi_comm_wave,
irqgo(ih), ierr)
3266 WRITE (ndst,9011) ih,
' 9/02', iroot, it,
irqgo(ih), ierr
3270 IF ( flgrdall( 9, 3) )
THEN
3273 CALL mpi_send_init (
cflxymax(1),nsealm , mpi_real, iroot, &
3274 it, mpi_comm_wave,
irqgo(ih), ierr)
3276 WRITE (ndst,9011) ih,
' 9/03', iroot, it,
irqgo(ih), ierr
3280 IF ( flgrdall( 9, 4) )
THEN
3283 CALL mpi_send_init (
cflthmax(1),nsealm , mpi_real, iroot, &
3284 it, mpi_comm_wave,
irqgo(ih), ierr)
3286 WRITE (ndst,9011) ih,
' 9/04', iroot, it,
irqgo(ih), ierr
3290 IF ( flgrdall( 9, 5) )
THEN
3293 CALL mpi_send_init (
cflkmax(1),nsealm , mpi_real, iroot, &
3294 it, mpi_comm_wave,
irqgo(ih), ierr)
3296 WRITE (ndst,9011) ih,
' 9/05', iroot, it,
irqgo(ih), ierr
3301 IF ( flgrdall(10, i) )
THEN
3304 CALL mpi_send_init (
usero(1,i),nsealm , mpi_real, iroot, &
3305 it, mpi_comm_wave,
irqgo(ih), ierr)
3307 WRITE (string,
'(A3,I2.2)')
'10/', i
3308 WRITE (ndst,9011) ih, string, iroot, it,
irqgo(ih), ierr
3316 WRITE (ndst,9013)
nrqgo, nrqmax
3321 IF (
nrqgo .GT. nrqmax )
THEN
3326 IF ( iaproc .EQ. napfld )
THEN
3330 IF (napfld .EQ. naprst)
THEN
3331 CALL w3xdma ( imod,
ndse, ndst, flgrdarst )
3333 CALL w3xdma ( imod,
ndse, ndst, flgrdall )
3338 CALL w3xeta ( imod,
ndse, ndst )
3340 WRITE (ndst,9010)
'(RECV)'
3349 IF ( flgrdall( 1, 12) )
THEN
3352 CALL mpi_recv_init (
icef(i0),1,ww3_field_vec, ifrom, it, &
3353 mpi_comm_wave,
irqgo2(ih), ierr )
3355 WRITE (ndst,9011) ih,
' 1/09', ifrom, it,
irqgo2(ih), ierr
3359 IF ( flgrdall( 2, 1) )
THEN
3362 CALL mpi_recv_init (hs(i0),1,ww3_field_vec, ifrom, it, &
3363 mpi_comm_wave,
irqgo2(ih), ierr )
3365 WRITE (ndst,9011) ih,
' 2/01', ifrom, it,
irqgo2(ih), ierr
3369 IF ( flgrdall( 2, 2) )
THEN
3372 CALL mpi_recv_init (wlm(i0),1,ww3_field_vec, ifrom, it, &
3373 mpi_comm_wave,
irqgo2(ih), ierr )
3375 WRITE (ndst,9011) ih,
' 2/02', ifrom, it,
irqgo2(ih), ierr
3379 IF ( flgrdall( 2, 3) )
THEN
3382 CALL mpi_recv_init (t02(i0),1,ww3_field_vec, ifrom, it, &
3383 mpi_comm_wave,
irqgo2(ih), ierr )
3385 WRITE (ndst,9011) ih,
' 2/03', ifrom, it,
irqgo2(ih), ierr
3389 IF ( flgrdall( 2, 4) )
THEN
3392 CALL mpi_recv_init (
t0m1(i0),1,ww3_field_vec, ifrom, it, &
3393 mpi_comm_wave,
irqgo2(ih), ierr )
3395 WRITE (ndst,9011) ih,
' 2/04', ifrom, it,
irqgo2(ih), ierr
3399 IF ( flgrdall( 2, 5) )
THEN
3402 CALL mpi_recv_init (
t01(i0),1,ww3_field_vec, ifrom, it, &
3403 mpi_comm_wave,
irqgo2(ih), ierr )
3405 WRITE (ndst,9011) ih,
' 2/05', ifrom, it,
irqgo2(ih), ierr
3409 IF ( flgrdall( 2, 6) .OR. flgrdall( 2,18) )
THEN
3413 CALL mpi_recv_init (
fp0(i0),1,ww3_field_vec, ifrom, it, &
3414 mpi_comm_wave,
irqgo2(ih), ierr )
3416 WRITE (ndst,9011) ih,
' 2/06', ifrom, it,
irqgo2(ih), ierr
3420 IF ( flgrdall( 2, 7) )
THEN
3423 CALL mpi_recv_init (
thm(i0),1,ww3_field_vec, ifrom, it, &
3424 mpi_comm_wave,
irqgo2(ih), ierr )
3426 WRITE (ndst,9011) ih,
' 2/07', ifrom, it,
irqgo2(ih), ierr
3430 IF ( flgrdall( 2, 8) )
THEN
3433 CALL mpi_recv_init (
ths(i0),1,ww3_field_vec, ifrom, it, &
3434 mpi_comm_wave,
irqgo2(ih), ierr )
3436 WRITE (ndst,9011) ih,
' 2/08', ifrom, it,
irqgo2(ih), ierr
3440 IF ( flgrdall( 2, 9) )
THEN
3443 CALL mpi_recv_init (
thp0(i0),1,ww3_field_vec, ifrom, it, &
3444 mpi_comm_wave,
irqgo2(ih), ierr )
3446 WRITE (ndst,9011) ih,
' 2/09', ifrom, it,
irqgo2(ih), ierr
3450 IF ( flgrdall( 2, 10) )
THEN
3453 CALL mpi_recv_init (
hsig(i0),1,ww3_field_vec, ifrom, it, &
3454 mpi_comm_wave,
irqgo2(ih), ierr )
3456 WRITE (ndst,9011) ih,
' 2/10', ifrom, it,
irqgo2(ih), ierr
3460 IF ( flgrdall( 2, 11) )
THEN
3463 CALL mpi_recv_init (
stmaxe(i0),1,ww3_field_vec, ifrom, it, &
3464 mpi_comm_wave,
irqgo2(ih), ierr )
3466 WRITE (ndst,9011) ih,
' 2/11', ifrom, it,
irqgo2(ih), ierr
3470 IF ( flgrdall( 2, 12) )
THEN
3473 CALL mpi_recv_init (
stmaxd(i0),1,ww3_field_vec, ifrom, it, &
3474 mpi_comm_wave,
irqgo2(ih), ierr )
3476 WRITE (ndst,9011) ih,
' 2/12', ifrom, it,
irqgo2(ih), ierr
3480 IF ( flgrdall( 2, 13) )
THEN
3483 CALL mpi_recv_init (
hmaxe(i0),1,ww3_field_vec, ifrom, it, &
3484 mpi_comm_wave,
irqgo2(ih), ierr )
3486 WRITE (ndst,9011) ih,
' 2/13', ifrom, it,
irqgo2(ih), ierr
3490 IF ( flgrdall( 2, 14) )
THEN
3493 CALL mpi_recv_init (
hcmaxe(i0),1,ww3_field_vec, ifrom, it, &
3494 mpi_comm_wave,
irqgo2(ih), ierr )
3496 WRITE (ndst,9011) ih,
' 2/14', ifrom, it,
irqgo2(ih), ierr
3500 IF ( flgrdall( 2, 15) )
THEN
3503 CALL mpi_recv_init (
hmaxd(i0),1,ww3_field_vec, ifrom, it, &
3504 mpi_comm_wave,
irqgo2(ih), ierr )
3506 WRITE (ndst,9011) ih,
' 2/15', ifrom, it,
irqgo2(ih), ierr
3510 IF ( flgrdall( 2, 16) )
THEN
3513 CALL mpi_recv_init (
hcmaxd(i0),1,ww3_field_vec, ifrom, it, &
3514 mpi_comm_wave,
irqgo2(ih), ierr )
3516 WRITE (ndst,9011) ih,
' 2/16', ifrom, it,
irqgo2(ih), ierr
3520 IF ( flgrdall( 2, 17) )
THEN
3523 CALL mpi_recv_init (
wbt(i0),1,ww3_field_vec, ifrom, it, &
3524 mpi_comm_wave,
irqgo2(ih), ierr )
3526 WRITE (ndst,9011) ih,
' 2/17', ifrom, it,
irqgo2(ih), ierr
3530 IF ( flgrdall( 2, 19) )
THEN
3533 CALL mpi_recv_init (
wnmean(i0),1,ww3_field_vec, ifrom, it, &
3534 mpi_comm_wave,
irqgo2(ih), ierr )
3536 WRITE (ndst,9011) ih,
' 2/19', ifrom, it,
irqgo2(ih), ierr
3540 IF ( flgrdall( 3, 1) )
THEN
3541 DO ik=e3df(2,1),e3df(3,1)
3544 CALL mpi_recv_init (
ef(i0,ik),1,ww3_field_vec, ifrom, it,&
3545 mpi_comm_wave,
irqgo2(ih), ierr )
3547 WRITE (ndst,9011) ih,
'EF', ifrom, it,
irqgo2(ih), ierr
3552 IF ( flgrdall( 3, 2) )
THEN
3553 DO ik=e3df(2,2),e3df(3,2)
3556 CALL mpi_recv_init (
th1m(i0,ik),1,ww3_field_vec, ifrom, it,&
3557 mpi_comm_wave,
irqgo2(ih), ierr )
3559 WRITE (ndst,9011) ih,
'TH1M', ifrom, it,
irqgo2(ih), ierr
3564 IF ( flgrdall( 3, 3) )
THEN
3565 DO ik=e3df(2,3),e3df(3,3)
3568 CALL mpi_recv_init (
sth1m(i0,ik),1,ww3_field_vec, ifrom, it,&
3569 mpi_comm_wave,
irqgo2(ih), ierr )
3571 WRITE (ndst,9011) ih,
'STH1M', ifrom, it,
irqgo2(ih), ierr
3576 IF ( flgrdall( 3, 4) )
THEN
3577 DO ik=e3df(2,4),e3df(3,4)
3580 CALL mpi_recv_init (
th2m(i0,ik),1,ww3_field_vec, ifrom, it,&
3581 mpi_comm_wave,
irqgo2(ih), ierr )
3583 WRITE (ndst,9011) ih,
'TH2M', ifrom, it,
irqgo2(ih), ierr
3588 IF ( flgrdall( 3, 5) )
THEN
3589 DO ik=e3df(2,5),e3df(3,5)
3592 CALL mpi_recv_init (
sth2m(i0,ik),1,ww3_field_vec, ifrom, it,&
3593 mpi_comm_wave,
irqgo2(ih), ierr )
3595 WRITE (ndst,9011) ih,
'STH2M', ifrom, it,
irqgo2(ih), ierr
3600 IF ( flgrdall( 4, 1) )
THEN
3604 CALL mpi_recv_init (
phs(i0,k),1,ww3_field_vec, ifrom, it, &
3605 mpi_comm_wave,
irqgo2(ih), ierr )
3607 WRITE (ndst,9011) ih,
' 4/01', ifrom, it,
irqgo2(ih), ierr
3612 IF ( flgrdall( 4, 2) )
THEN
3616 CALL mpi_recv_init (
ptp(i0,k),1,ww3_field_vec, ifrom, it, &
3617 mpi_comm_wave,
irqgo2(ih), ierr )
3619 WRITE (ndst,9011) ih,
' 4/02', ifrom, it,
irqgo2(ih), ierr
3624 IF ( flgrdall( 4, 3) )
THEN
3628 CALL mpi_recv_init (
plp(i0,k),1,ww3_field_vec, ifrom, it, &
3629 mpi_comm_wave,
irqgo2(ih), ierr )
3631 WRITE (ndst,9011) ih,
' 4/03', ifrom, it,
irqgo2(ih), ierr
3636 IF ( flgrdall( 4, 4) )
THEN
3640 CALL mpi_recv_init (
pdir(i0,k),1,ww3_field_vec, ifrom, it, &
3641 mpi_comm_wave,
irqgo2(ih), ierr )
3643 WRITE (ndst,9011) ih,
' 4/04', ifrom, it,
irqgo2(ih), ierr
3648 IF ( flgrdall( 4, 5) )
THEN
3652 CALL mpi_recv_init (
psi(i0,k),1,ww3_field_vec, ifrom, it, &
3653 mpi_comm_wave,
irqgo2(ih), ierr )
3655 WRITE (ndst,9011) ih,
' 4/05', ifrom, it,
irqgo2(ih), ierr
3660 IF ( flgrdall( 4, 6) )
THEN
3664 CALL mpi_recv_init (
pws(i0,k),1,ww3_field_vec, ifrom, it, &
3665 mpi_comm_wave,
irqgo2(ih), ierr )
3667 WRITE (ndst,9011) ih,
' 4/06', ifrom, it,
irqgo2(ih), ierr
3672 IF ( flgrdall( 4, 7) )
THEN
3676 CALL mpi_recv_init (
pthp0(i0,k),1,ww3_field_vec, ifrom, it,&
3677 mpi_comm_wave,
irqgo2(ih), ierr )
3679 WRITE (ndst,9011) ih,
' 4/07', ifrom, it,
irqgo2(ih), ierr
3684 IF ( flgrdall( 4, 8) )
THEN
3688 CALL mpi_recv_init (
pqp(i0,k),1,ww3_field_vec, ifrom, it, &
3689 mpi_comm_wave,
irqgo2(ih), ierr )
3691 WRITE (ndst,9011) ih,
' 4/08', ifrom, it,
irqgo2(ih), ierr
3696 IF ( flgrdall( 4, 9) )
THEN
3700 CALL mpi_recv_init (
ppe(i0,k),1,ww3_field_vec, ifrom, it, &
3701 mpi_comm_wave,
irqgo2(ih), ierr )
3703 WRITE (ndst,9011) ih,
' 4/09', ifrom, it,
irqgo2(ih), ierr
3708 IF ( flgrdall( 4,10) )
THEN
3712 CALL mpi_recv_init (
pgw(i0,k),1,ww3_field_vec, ifrom, it, &
3713 mpi_comm_wave,
irqgo2(ih), ierr )
3715 WRITE (ndst,9011) ih,
' 4/10', ifrom, it,
irqgo2(ih), ierr
3720 IF ( flgrdall( 4,11) )
THEN
3724 CALL mpi_recv_init (
psw(i0,k),1,ww3_field_vec, ifrom, it, &
3725 mpi_comm_wave,
irqgo2(ih), ierr )
3727 WRITE (ndst,9011) ih,
' 4/11', ifrom, it,
irqgo2(ih), ierr
3732 IF ( flgrdall( 4,12) )
THEN
3736 CALL mpi_recv_init (
ptm1(i0,k),1,ww3_field_vec, ifrom, it,&
3737 mpi_comm_wave,
irqgo2(ih), ierr )
3739 WRITE (ndst,9011) ih,
' 4/12', ifrom, it,
irqgo2(ih), ierr
3744 IF ( flgrdall( 4,13) )
THEN
3748 CALL mpi_recv_init (
pt1(i0,k),1,ww3_field_vec, ifrom, it, &
3749 mpi_comm_wave,
irqgo2(ih), ierr )
3751 WRITE (ndst,9011) ih,
' 4/13', ifrom, it,
irqgo2(ih), ierr
3756 IF ( flgrdall( 4,14) )
THEN
3760 CALL mpi_recv_init (
pt2(i0,k),1,ww3_field_vec, ifrom, it, &
3761 mpi_comm_wave,
irqgo2(ih), ierr )
3763 WRITE (ndst,9011) ih,
' 4/14', ifrom, it,
irqgo2(ih), ierr
3768 IF ( flgrdall( 4,15) )
THEN
3772 CALL mpi_recv_init (
pep(i0,k),1,ww3_field_vec, ifrom, it, &
3773 mpi_comm_wave,
irqgo2(ih), ierr )
3775 WRITE (ndst,9011) ih,
' 4/15', ifrom, it,
irqgo2(ih), ierr
3780 IF ( flgrdall( 4,16) )
THEN
3783 CALL mpi_recv_init (
pwst(i0),1,ww3_field_vec, ifrom, it, &
3784 mpi_comm_wave,
irqgo2(ih), ierr )
3786 WRITE (ndst,9011) ih,
' 4/16', ifrom, it,
irqgo2(ih), ierr
3790 IF ( flgrdall( 4,17) )
THEN
3793 CALL mpi_recv_init (
pnr(i0),1,ww3_field_vec, ifrom, it, &
3794 mpi_comm_wave,
irqgo2(ih), ierr )
3796 WRITE (ndst,9011) ih,
' 4/17', ifrom, it,
irqgo2(ih), ierr
3800 IF ( flgrdall( 5, 1) )
THEN
3803 CALL mpi_recv_init (
ust(i0), 1, ww3_field_vec, ifrom, &
3804 it, mpi_comm_wave,
irqgo2(ih), ierr )
3806 WRITE (ndst,9011) ih,
' 5/01', ifrom, it,
irqgo2(ih), ierr
3810 CALL mpi_recv_init (
ustdir(i0), 1, ww3_field_vec, ifrom, &
3811 it, mpi_comm_wave,
irqgo2(ih), ierr )
3813 WRITE (ndst,9011) ih,
' 5/01', ifrom, it,
irqgo2(ih), ierr
3817 CALL mpi_recv_init (
asf(i0), 1, ww3_field_vec, ifrom, &
3818 it, mpi_comm_wave,
irqgo2(ih), ierr )
3820 WRITE (ndst,9011) ih,
' 5/01', ifrom, it,
irqgo2(ih), ierr
3824 IF ( flgrdall( 5, 2) )
THEN
3827 CALL mpi_recv_init (
charn(i0),1,ww3_field_vec, ifrom, it, &
3828 mpi_comm_wave,
irqgo2(ih), ierr )
3830 WRITE (ndst,9011) ih,
' 5/02', ifrom, it,
irqgo2(ih), ierr
3834 IF ( flgrdall( 5, 3) )
THEN
3837 CALL mpi_recv_init (
cge(i0),1,ww3_field_vec, ifrom, it, &
3838 mpi_comm_wave,
irqgo2(ih), ierr )
3840 WRITE (ndst,9011) ih,
' 5/03', ifrom, it,
irqgo2(ih), ierr
3844 IF ( flgrdall( 5, 4) )
THEN
3847 CALL mpi_recv_init (
phiaw(i0),1,ww3_field_vec, ifrom, it, &
3848 mpi_comm_wave,
irqgo2(ih), ierr )
3850 WRITE (ndst,9011) ih,
' 5/04', ifrom, it,
irqgo2(ih), ierr
3854 IF ( flgrdall( 5, 5) )
THEN
3857 CALL mpi_recv_init (
tauwix(i0),1,ww3_field_vec, ifrom, it, &
3858 mpi_comm_wave,
irqgo2(ih), ierr )
3860 WRITE (ndst,9011) ih,
' 5/05', ifrom, it,
irqgo2(ih), ierr
3864 CALL mpi_recv_init (
tauwiy(i0),1,ww3_field_vec, ifrom, it, &
3865 mpi_comm_wave,
irqgo2(ih), ierr )
3867 WRITE (ndst,9011) ih,
' 5/05', ifrom, it,
irqgo2(ih), ierr
3871 IF ( flgrdall( 5, 6) )
THEN
3874 CALL mpi_recv_init (
tauwnx(i0),1,ww3_field_vec, ifrom, it, &
3875 mpi_comm_wave,
irqgo2(ih), ierr )
3877 WRITE (ndst,9011) ih,
' 5/06', ifrom, it,
irqgo2(ih), ierr
3881 CALL mpi_recv_init (
tauwny(i0),1,ww3_field_vec, ifrom, it, &
3882 mpi_comm_wave,
irqgo2(ih), ierr )
3884 WRITE (ndst,9011) ih,
' 5/06', ifrom, it,
irqgo2(ih), ierr
3888 IF ( flgrdall( 5, 7) )
THEN
3891 CALL mpi_recv_init (
whitecap(i0,1),1,ww3_field_vec, ifrom, &
3892 it, mpi_comm_wave,
irqgo2(ih), ierr )
3894 WRITE (ndst,9011) ih,
' 5/07', ifrom, it,
irqgo2(ih), ierr
3898 IF ( flgrdall( 5, 8) )
THEN
3901 CALL mpi_recv_init (
whitecap(i0,2),1,ww3_field_vec, ifrom, &
3902 it, mpi_comm_wave,
irqgo2(ih), ierr )
3904 WRITE (ndst,9011) ih,
' 5/08', ifrom, it,
irqgo2(ih), ierr
3908 IF ( flgrdall( 5, 9) )
THEN
3911 CALL mpi_recv_init (
whitecap(i0,3),1,ww3_field_vec, ifrom, &
3912 it, mpi_comm_wave,
irqgo2(ih), ierr )
3914 WRITE (ndst,9011) ih,
' 5/09', ifrom, it,
irqgo2(ih), ierr
3918 IF ( flgrdall( 5,10) )
THEN
3921 CALL mpi_recv_init (
whitecap(i0,4),1,ww3_field_vec, ifrom, &
3922 it, mpi_comm_wave,
irqgo2(ih), ierr )
3924 WRITE (ndst,9011) ih,
' 5/10', ifrom, it,
irqgo2(ih), ierr
3928 IF ( flgrdall( 5,11) )
THEN
3931 CALL mpi_recv_init (
tws(i0),1,ww3_field_vec, ifrom, it, &
3932 mpi_comm_wave,
irqgo2(ih), ierr )
3934 WRITE (ndst,9011) ih,
' 5/11', ifrom, it,
irqgo2(ih), ierr
3938 IF ( flgrdall( 6, 1) )
THEN
3941 CALL mpi_recv_init (
sxx(i0),1,ww3_field_vec, ifrom, it, &
3942 mpi_comm_wave,
irqgo2(ih), ierr )
3944 WRITE (ndst,9011) ih,
' 6/01', ifrom, it,
irqgo2(ih), ierr
3948 CALL mpi_recv_init (
syy(i0),1,ww3_field_vec, ifrom, it, &
3949 mpi_comm_wave,
irqgo2(ih), ierr )
3951 WRITE (ndst,9011) ih,
' 6/01', ifrom, it,
irqgo2(ih), ierr
3955 CALL mpi_recv_init (
sxy(i0),1,ww3_field_vec, ifrom, it, &
3956 mpi_comm_wave,
irqgo2(ih), ierr )
3958 WRITE (ndst,9011) ih,
' 6/01', ifrom, it,
irqgo2(ih), ierr
3962 IF ( flgrdall( 6, 2) )
THEN
3965 CALL mpi_recv_init (
tauox(i0),1,ww3_field_vec, ifrom, it, &
3966 mpi_comm_wave,
irqgo2(ih), ierr )
3968 WRITE (ndst,9011) ih,
' 6/02', ifrom, it,
irqgo2(ih), ierr
3972 CALL mpi_recv_init (
tauoy(i0),1,ww3_field_vec, ifrom, it, &
3973 mpi_comm_wave,
irqgo2(ih), ierr )
3975 WRITE (ndst,9011) ih,
' 6/02', ifrom, it,
irqgo2(ih), ierr
3979 IF ( flgrdall( 6, 3) )
THEN
3982 CALL mpi_recv_init (
bhd(i0),1,ww3_field_vec, ifrom, it, &
3983 mpi_comm_wave,
irqgo2(ih), ierr )
3985 WRITE (ndst,9011) ih,
' 6/03', ifrom, it,
irqgo2(ih), ierr
3989 IF ( flgrdall( 6, 4) )
THEN
3992 CALL mpi_recv_init (
phioc(i0),1,ww3_field_vec, ifrom, it, &
3993 mpi_comm_wave,
irqgo2(ih), ierr )
3995 WRITE (ndst,9011) ih,
' 6/04', ifrom, it,
irqgo2(ih), ierr
3999 IF ( flgrdall( 6, 5) )
THEN
4002 CALL mpi_recv_init (
tusx(i0),1,ww3_field_vec, ifrom, it, &
4003 mpi_comm_wave,
irqgo2(ih), ierr )
4005 WRITE (ndst,9011) ih,
' 6/05', ifrom, it,
irqgo2(ih), ierr
4009 CALL mpi_recv_init (
tusy(i0),1,ww3_field_vec, ifrom, it, &
4010 mpi_comm_wave,
irqgo2(ih), ierr )
4012 WRITE (ndst,9011) ih,
' 6/05', ifrom, it,
irqgo2(ih), ierr
4016 IF ( flgrdall( 6, 6) )
THEN
4019 CALL mpi_recv_init (
ussx(i0),1,ww3_field_vec, ifrom, it, &
4020 mpi_comm_wave,
irqgo2(ih), ierr )
4022 WRITE (ndst,9011) ih,
' 6/06', ifrom, it,
irqgo2(ih), ierr
4026 CALL mpi_recv_init (
ussy(i0),1,ww3_field_vec, ifrom, it, &
4027 mpi_comm_wave,
irqgo2(ih), ierr )
4029 WRITE (ndst,9011) ih,
' 6/06', ifrom, it,
irqgo2(ih), ierr
4033 IF ( flgrdall( 6, 7) )
THEN
4036 CALL mpi_recv_init (
prms(i0),1,ww3_field_vec, ifrom, it, &
4037 mpi_comm_wave,
irqgo2(ih), ierr )
4039 WRITE (ndst,9011) ih,
' 6/07', ifrom, it,
irqgo2(ih), ierr
4043 CALL mpi_recv_init (
tpms(i0),1,ww3_field_vec, ifrom, it, &
4044 mpi_comm_wave,
irqgo2(ih), ierr )
4046 WRITE (ndst,9011) ih,
' 6/07', ifrom, it,
irqgo2(ih), ierr
4050 IF ( flgrdall( 6, 8) )
THEN
4054 CALL mpi_recv_init (
us3d(i0,ik),1,ww3_field_vec, ifrom, it, &
4055 mpi_comm_wave,
irqgo2(ih), ierr )
4057 WRITE (ndst,9011) ih,
'US3D ', ifrom, it,
irqgo2(ih), ierr
4062 IF ( flgrdall( 6, 9) )
THEN
4063 DO k=p2msf(2),p2msf(3)
4066 CALL mpi_recv_init (
p2sms(i0,k),1,ww3_field_vec, ifrom, it, &
4067 mpi_comm_wave,
irqgo2(ih), ierr )
4069 WRITE (ndst,9011) ih,
'P3SMS', ifrom, it,
irqgo2(ih), ierr
4074 IF ( flgrdall( 6,10) )
THEN
4077 CALL mpi_recv_init (
tauice(i0,1),1,ww3_field_vec, ifrom, it, &
4078 mpi_comm_wave,
irqgo2(ih), ierr )
4080 WRITE (ndst,9011) ih,
' 6/10', ifrom, it,
irqgo2(ih), ierr
4084 CALL mpi_recv_init (
tauice(i0,2),1,ww3_field_vec, ifrom, it, &
4085 mpi_comm_wave,
irqgo2(ih), ierr )
4087 WRITE (ndst,9011) ih,
' 6/10', ifrom, it,
irqgo2(ih), ierr
4091 IF ( flgrdall( 6,11) )
THEN
4094 CALL mpi_recv_init (
phice(i0),1,ww3_field_vec, ifrom, it, &
4095 mpi_comm_wave,
irqgo2(ih), ierr )
4097 WRITE (ndst,9011) ih,
' 6/11', ifrom, it,
irqgo2(ih), ierr
4101 IF ( flgrdall( 6, 12) )
THEN
4105 CALL mpi_recv_init (
ussp(i0,ik),1,ww3_field_vec, ifrom, it, &
4106 mpi_comm_wave,
irqgo2(ih), ierr )
4108 WRITE (ndst,9011) ih,
'USSP ', ifrom, it,
irqgo2(ih), ierr
4113 IF ( flgrdall( 6, 13) )
THEN
4116 CALL mpi_recv_init (
tauocx(i0),1,ww3_field_vec, ifrom, it, &
4117 mpi_comm_wave,
irqgo2(ih), ierr )
4119 WRITE (ndst,9011) ih,
' 6/13', ifrom, it,
irqgo2(ih), ierr
4123 CALL mpi_recv_init (
tauocy(i0),1,ww3_field_vec, ifrom, it, &
4124 mpi_comm_wave,
irqgo2(ih), ierr )
4126 WRITE (ndst,9011) ih,
' 6/13', ifrom, it,
irqgo2(ih), ierr
4130 IF ( flgrdall( 7, 1) )
THEN
4133 CALL mpi_recv_init (
aba(i0),1,ww3_field_vec, ifrom, it, &
4134 mpi_comm_wave,
irqgo2(ih), ierr )
4136 WRITE (ndst,9011) ih,
' 7/01', ifrom, it,
irqgo2(ih), ierr
4140 CALL mpi_recv_init (
abd(i0),1,ww3_field_vec, ifrom, it, &
4141 mpi_comm_wave,
irqgo2(ih), ierr )
4143 WRITE (ndst,9011) ih,
' 7/01', ifrom, it,
irqgo2(ih), ierr
4147 IF ( flgrdall( 7, 2) )
THEN
4150 CALL mpi_recv_init (
uba(i0),1,ww3_field_vec, ifrom, it, &
4151 mpi_comm_wave,
irqgo2(ih), ierr )
4153 WRITE (ndst,9011) ih,
' 7/02', ifrom, it,
irqgo2(ih), ierr
4157 CALL mpi_recv_init (
ubd(i0),1,ww3_field_vec, ifrom, it, &
4158 mpi_comm_wave,
irqgo2(ih), ierr )
4160 WRITE (ndst,9011) ih,
' 7/02', ifrom, it,
irqgo2(ih), ierr
4164 IF ( flgrdall( 7, 3) )
THEN
4167 CALL mpi_recv_init (
bedforms(i0,1),1,ww3_field_vec, ifrom, &
4168 it, mpi_comm_wave,
irqgo2(ih), ierr )
4170 WRITE (ndst,9011) ih,
' 7/03', ifrom, it,
irqgo2(ih), ierr
4174 CALL mpi_recv_init (
bedforms(i0,2),1,ww3_field_vec, ifrom, &
4175 it, mpi_comm_wave,
irqgo2(ih), ierr )
4177 WRITE (ndst,9011) ih,
' 7/03', ifrom, it,
irqgo2(ih), ierr
4181 CALL mpi_recv_init (
bedforms(i0,3),1,ww3_field_vec, ifrom, &
4182 it, mpi_comm_wave,
irqgo2(ih), ierr )
4184 WRITE (ndst,9011) ih,
' 7/03', ifrom, it,
irqgo2(ih), ierr
4188 IF ( flgrdall( 7, 4) )
THEN
4191 CALL mpi_recv_init (
phibbl(i0),1,ww3_field_vec, ifrom, it, &
4192 mpi_comm_wave,
irqgo2(ih), ierr )
4194 WRITE (ndst,9011) ih,
' 7/04', ifrom, it,
irqgo2(ih), ierr
4198 IF ( flgrdall( 7, 5) )
THEN
4201 CALL mpi_recv_init (
taubbl(i0,1),1,ww3_field_vec, ifrom, &
4202 it, mpi_comm_wave,
irqgo2(ih), ierr )
4204 WRITE (ndst,9011) ih,
' 7/05', ifrom, it,
irqgo2(ih), ierr
4208 CALL mpi_recv_init (
taubbl(i0,2),1,ww3_field_vec, ifrom, &
4209 it, mpi_comm_wave,
irqgo2(ih), ierr )
4211 WRITE (ndst,9011) ih,
' 7/05', ifrom, it,
irqgo2(ih), ierr
4215 IF ( flgrdall( 8, 1) )
THEN
4218 CALL mpi_recv_init (
mssx(i0),1,ww3_field_vec, ifrom, it, &
4219 mpi_comm_wave,
irqgo2(ih), ierr )
4221 WRITE (ndst,9011) ih,
' 8/01', ifrom, it,
irqgo2(ih), ierr
4225 CALL mpi_recv_init (
mssy(i0),1,ww3_field_vec, ifrom, it, &
4226 mpi_comm_wave,
irqgo2(ih), ierr )
4228 WRITE (ndst,9011) ih,
' 8/01', ifrom, it,
irqgo2(ih), ierr
4232 IF ( flgrdall( 8, 2) )
THEN
4235 CALL mpi_recv_init (
mscx(i0),1,ww3_field_vec, ifrom, it, &
4236 mpi_comm_wave,
irqgo2(ih), ierr )
4238 WRITE (ndst,9011) ih,
' 8/02', ifrom, it,
irqgo2(ih), ierr
4242 CALL mpi_recv_init (
mscy(i0),1,ww3_field_vec, ifrom, it, &
4243 mpi_comm_wave,
irqgo2(ih), ierr )
4245 WRITE (ndst,9011) ih,
' 8/02', ifrom, it,
irqgo2(ih), ierr
4249 IF ( flgrdall( 8, 3) )
THEN
4252 CALL mpi_recv_init (
mssd(i0),1,ww3_field_vec, ifrom, it, &
4253 mpi_comm_wave,
irqgo2(ih), ierr )
4255 WRITE (ndst,9011) ih,
' 8/03', ifrom, it,
irqgo2(ih), ierr
4259 IF ( flgrdall( 8, 4) )
THEN
4262 CALL mpi_recv_init (
mscd(i0),1,ww3_field_vec, ifrom, it, &
4263 mpi_comm_wave,
irqgo2(ih), ierr )
4265 WRITE (ndst,9011) ih,
' 8/04', ifrom, it,
irqgo2(ih), ierr
4269 IF ( flgrdall( 8, 5) )
THEN
4272 CALL mpi_recv_init (
qp(i0),1,ww3_field_vec, ifrom, it, &
4273 mpi_comm_wave,
irqgo2(ih), ierr )
4275 WRITE (ndst,9011) ih,
' 8/05', ifrom, it,
irqgo2(ih), ierr
4279 IF ( flgrdall( 8, 6) )
THEN
4282 CALL mpi_recv_init (
qkk(i0),1,ww3_field_vec, ifrom, it, &
4283 mpi_comm_wave,
irqgo2(ih), ierr )
4285 WRITE (ndst,9011) ih,
' 8/06', ifrom, it,
irqgo2(ih), ierr
4289 IF ( flgrdall( 8, 7) )
THEN
4292 CALL mpi_recv_init (
skew(i0),1,ww3_field_vec, ifrom, it, &
4293 mpi_comm_wave,
irqgo2(ih), ierr )
4295 WRITE (ndst,9011) ih,
' 8/07', ifrom, it,
irqgo2(ih), ierr
4299 IF ( flgrdall( 8, 8) )
THEN
4302 CALL mpi_recv_init (
embia1(i0),1,ww3_field_vec, ifrom, it, &
4303 mpi_comm_wave,
irqgo2(ih), ierr )
4305 WRITE (ndst,9011) ih,
' 8/08', ifrom, it,
irqgo2(ih), ierr
4309 IF ( flgrdall( 8, 9) )
THEN
4312 CALL mpi_recv_init (
embia2(i0),1,ww3_field_vec, ifrom, it, &
4313 mpi_comm_wave,
irqgo2(ih), ierr )
4315 WRITE (ndst,9011) ih,
' 8/09', ifrom, it,
irqgo2(ih), ierr
4319 IF ( flgrdall( 9, 1) )
THEN
4322 CALL mpi_recv_init (
dtdyn(i0),1,ww3_field_vec, ifrom, it, &
4323 mpi_comm_wave,
irqgo2(ih), ierr )
4325 WRITE (ndst,9011) ih,
' 9/01', ifrom, it,
irqgo2(ih), ierr
4329 IF ( flgrdall( 9, 2) )
THEN
4332 CALL mpi_recv_init (
fcut(i0),1,ww3_field_vec, ifrom, it, &
4333 mpi_comm_wave,
irqgo2(ih), ierr )
4335 WRITE (ndst,9011) ih,
' 9/02', ifrom, it,
irqgo2(ih), ierr
4339 IF ( flgrdall( 9, 3) )
THEN
4342 CALL mpi_recv_init (
cflxymax(i0),1,ww3_field_vec, ifrom, it,&
4343 mpi_comm_wave,
irqgo2(ih), ierr )
4345 WRITE (ndst,9011) ih,
' 9/03', ifrom, it,
irqgo2(ih), ierr
4349 IF ( flgrdall( 9, 4) )
THEN
4352 CALL mpi_recv_init (
cflthmax(i0),1,ww3_field_vec, ifrom, it,&
4353 mpi_comm_wave,
irqgo2(ih), ierr )
4355 WRITE (ndst,9011) ih,
' 9/04', ifrom, it,
irqgo2(ih), ierr
4359 IF ( flgrdall( 9, 5) )
THEN
4362 CALL mpi_recv_init (
cflkmax(i0),1,ww3_field_vec, ifrom, it, &
4363 mpi_comm_wave,
irqgo2(ih), ierr )
4365 WRITE (ndst,9011) ih,
' 9/05', ifrom, it,
irqgo2(ih), ierr
4371 IF ( flgrdall(10, i) )
THEN
4374 CALL mpi_recv_init (
usero(i0,i),1,ww3_field_vec, ifrom, it, &
4375 mpi_comm_wave,
irqgo2(ih), ierr )
4377 WRITE (string,
'(A3,I2.2)')
'10/', i
4378 WRITE (ndst,9011) ih, string, ifrom, it,
irqgo2(ih), ierr
4388 WRITE (ndst,9014)
nrqgo2, nrqmax*naproc
4391 CALL w3seta ( imod,
ndse, ndst )
4395 IF (
nrqgo2 .GT. nrqmax*naproc )
THEN
4409 IF ((flout(4) .OR. flout(8)) .and. (.not.
lpdlib))
THEN
4411 ALLOCATE (
outpts(imod)%OUT4%IRQRS(34*naproc) )
4413 ALLOCATE (
outpts(imod)%OUT4%IRQRS(3*naproc) )
4423 IF ( iaproc.NE.naprst .AND. iaproc.LE.naproc )
THEN
4427 CALL mpi_send_init (
ust(iaproc), 1, ww3_field_vec, &
4428 iroot, it, mpi_comm_wave,
irqrs(ih), ierr )
4430 WRITE (ndst,9021) ih,
'S U*', iroot, it,
irqrs(ih), ierr
4435 CALL mpi_send_init (
ustdir(iaproc), 1, ww3_field_vec, &
4436 iroot, it, mpi_comm_wave,
irqrs(ih), ierr )
4438 WRITE (ndst,9021) ih,
'S UD', iroot, it,
irqrs(ih), ierr
4443 CALL mpi_send_init (
fpis(iaproc), 1, ww3_field_vec, &
4444 iroot, it, mpi_comm_wave,
irqrs(ih), ierr )
4446 WRITE (ndst,9021) ih,
'S FP', iroot, it,
irqrs(ih), ierr
4449 ELSE IF ( iaproc .EQ. naprst )
THEN
4452 IF ( i0 .NE. iaproc )
THEN
4456 CALL mpi_recv_init (
ust(i0),1,ww3_field_vec, &
4457 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4459 WRITE (ndst,9021) ih,
'R U*', ifrom, it,
irqrs(ih), ierr
4464 CALL mpi_recv_init (
ustdir(i0),1,ww3_field_vec, &
4465 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4467 WRITE (ndst,9021) ih,
'R UD', ifrom, it,
irqrs(ih), ierr
4472 CALL mpi_recv_init (
fpis(i0),1,ww3_field_vec, &
4473 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4475 WRITE (ndst,9021) ih,
'R FP', ifrom, it,
irqrs(ih), ierr
4482 IF ( flogrr( 1, 2) )
THEN
4485 CALL mpi_send_init (
cx(iaproc), 1, ww3_field_vec, &
4486 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4488 WRITE (ndst,9021) ih,
'S CX', iroot, it,
irqrs(ih), ierr
4492 CALL mpi_send_init (
cy(iaproc), 1, ww3_field_vec, &
4493 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4495 WRITE (ndst,9021) ih,
'S CY', iroot, it,
irqrs(ih), ierr
4499 IF ( flogrr( 1, 12) )
THEN
4502 CALL mpi_send_init (
icef(iaproc), 1, ww3_field_vec, &
4503 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4505 WRITE (ndst,9021) ih,
'S IF', iroot, it,
irqrs(ih), ierr
4509 IF ( flogrr( 2, 1) )
THEN
4512 CALL mpi_send_init (hs(1), nsealm, mpi_real, &
4513 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4515 WRITE (ndst,9021) ih,
'S HS', iroot, it,
irqrs(ih), ierr
4519 IF ( flogrr( 2, 2) )
THEN
4522 CALL mpi_send_init (wlm(1), nsealm, mpi_real, &
4523 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4525 WRITE (ndst,9021) ih,
'S WL', iroot, it,
irqrs(ih), ierr
4529 IF ( flogrr( 2, 4) )
THEN
4532 CALL mpi_send_init (
t0m1(1), nsealm, mpi_real, &
4533 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4535 WRITE (ndst,9021) ih,
'S T0', iroot, it,
irqrs(ih), ierr
4539 IF ( flogrr( 2, 5) )
THEN
4542 CALL mpi_send_init (
t01(1), nsealm, mpi_real, &
4543 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4545 WRITE (ndst,9021) ih,
'S T1', iroot, it,
irqrs(ih), ierr
4549 IF ( flogrr( 2, 6) )
THEN
4552 CALL mpi_send_init (
fp0(1), nsealm, mpi_real, &
4553 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4555 WRITE (ndst,9021) ih,
'S FP', iroot, it,
irqrs(ih), ierr
4559 IF ( flogrr( 2, 7) )
THEN
4562 CALL mpi_send_init (
thm(1), nsealm, mpi_real, &
4563 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4565 WRITE (ndst,9021) ih,
'S TH', iroot, it,
irqrs(ih), ierr
4569 IF ( flogrr( 2, 19) )
THEN
4572 CALL mpi_send_init (
wnmean(1), nsealm, mpi_real, &
4573 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4575 WRITE (ndst,9021) ih,
'S WM', iroot, it,
irqrs(ih), ierr
4579 IF ( flogrr( 5, 2) )
THEN
4582 CALL mpi_send_init (
charn(1), nsealm, mpi_real, &
4583 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4585 WRITE (ndst,9021) ih,
'S CH', iroot, it,
irqrs(ih), ierr
4589 IF ( flogrr( 5, 5) )
THEN
4592 CALL mpi_send_init (
tauwix(1), nsealm, mpi_real, &
4593 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4595 WRITE (ndst,9021) ih,
'S WX', iroot, it,
irqrs(ih), ierr
4599 CALL mpi_send_init (
tauwiy(1), nsealm, mpi_real, &
4600 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4602 WRITE (ndst,9021) ih,
'S WY', iroot, it,
irqrs(ih), ierr
4606 IF ( flogrr( 5, 11) )
THEN
4609 CALL mpi_send_init (
tws(1), nsealm, mpi_real, &
4610 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4612 WRITE (ndst,9021) ih,
'S TS', iroot, it,
irqrs(ih), ierr
4616 IF ( flogrr( 6, 2) )
THEN
4619 CALL mpi_send_init (
tauox(1), nsealm, mpi_real, &
4620 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4622 WRITE (ndst,9021) ih,
'S OX', iroot, it,
irqrs(ih), ierr
4626 CALL mpi_send_init (
tauoy(1), nsealm, mpi_real, &
4627 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4629 WRITE (ndst,9021) ih,
'S OY', iroot, it,
irqrs(ih), ierr
4633 IF ( flogrr( 6, 3) )
THEN
4636 CALL mpi_send_init (
bhd(1), nsealm, mpi_real, &
4637 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4639 WRITE (ndst,9021) ih,
'S BH', iroot, it,
irqrs(ih), ierr
4643 IF ( flogrr( 6, 4) )
THEN
4646 CALL mpi_send_init (
phioc(1), nsealm, mpi_real, &
4647 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4649 WRITE (ndst,9021) ih,
'S PH', iroot, it,
irqrs(ih), ierr
4653 IF ( flogrr( 6, 5) )
THEN
4656 CALL mpi_send_init (
tusx(1), nsealm, mpi_real, &
4657 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4659 WRITE (ndst,9021) ih,
'S UX', iroot, it,
irqrs(ih), ierr
4663 CALL mpi_send_init (
tusy(1), nsealm, mpi_real, &
4664 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4666 WRITE (ndst,9021) ih,
'S UY', iroot, it,
irqrs(ih), ierr
4670 IF ( flogrr( 6, 6) )
THEN
4673 CALL mpi_send_init (
ussx(1), nsealm, mpi_real, &
4674 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4676 WRITE (ndst,9021) ih,
'S SX', iroot, it,
irqrs(ih), ierr
4680 CALL mpi_send_init (
ussy(1), nsealm, mpi_real, &
4681 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4683 WRITE (ndst,9021) ih,
'S SY', iroot, it,
irqrs(ih), ierr
4687 IF ( flogrr( 6,10) )
THEN
4690 CALL mpi_send_init (
tauice(1,1), nsealm, mpi_real, &
4691 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4693 WRITE (ndst,9021) ih,
'S I1', iroot, it,
irqrs(ih), ierr
4697 CALL mpi_send_init (
tauice(1,2), nsealm, mpi_real, &
4698 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4700 WRITE (ndst,9021) ih,
'S I2', iroot, it,
irqrs(ih), ierr
4704 IF ( flogrr( 6,13) )
THEN
4707 CALL mpi_send_init (
tauocx(1), nsealm, mpi_real, &
4708 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4710 WRITE (ndst,9021) ih,
'S TX', iroot, it,
irqrs(ih), ierr
4714 CALL mpi_send_init (
tauocy(1), nsealm, mpi_real, &
4715 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4717 WRITE (ndst,9021) ih,
'S TY', iroot, it,
irqrs(ih), ierr
4721 IF ( flogrr( 7, 2) )
THEN
4724 CALL mpi_send_init (
uba(1), nsealm, mpi_real, &
4725 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4727 WRITE (ndst,9021) ih,
'S BA', iroot, it,
irqrs(ih), ierr
4731 CALL mpi_send_init (
ubd(1), nsealm, mpi_real, &
4732 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4734 WRITE (ndst,9021) ih,
'S BD', iroot, it,
irqrs(ih), ierr
4738 IF ( flogrr( 7, 4) )
THEN
4741 CALL mpi_send_init (
phibbl(1), nsealm, mpi_real, &
4742 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4744 WRITE (ndst,9021) ih,
'S PB', iroot, it,
irqrs(ih), ierr
4748 IF ( flogrr( 7, 5) )
THEN
4751 CALL mpi_send_init (
taubbl(1,1), nsealm, mpi_real, &
4752 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4754 WRITE (ndst,9021) ih,
'S T1', iroot, it,
irqrs(ih), ierr
4758 CALL mpi_send_init (
taubbl(1,2), nsealm, mpi_real, &
4759 iroot, it, mpi_comm_wave,
irqrs(ih), ierr)
4761 WRITE (ndst,9021) ih,
'S T2', iroot, it,
irqrs(ih), ierr
4765 IF ( iaproc .EQ. naprst )
THEN
4766 IF (naprst .NE. napfld)
CALL w3xdma ( imod,
ndse, ndst, flogrr )
4767 CALL w3xeta ( imod,
ndse, ndst )
4771 IF ( flogrr( 1, 2) )
THEN
4774 CALL mpi_recv_init (
cx(i0),1,ww3_field_vec, &
4775 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4777 WRITE (ndst,9021) ih,
'R CX', ifrom, it,
irqrs(ih), ierr
4781 CALL mpi_recv_init (
cy(i0),1,ww3_field_vec, &
4782 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4784 WRITE (ndst,9021) ih,
'R CY', ifrom, it,
irqrs(ih), ierr
4788 IF ( flogrr( 1, 12) )
THEN
4791 CALL mpi_recv_init (
icef(i0),1,ww3_field_vec, &
4792 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4794 WRITE (ndst,9021) ih,
'R IF', ifrom, it,
irqrs(ih), ierr
4798 IF ( flogrr( 2, 1) )
THEN
4801 CALL mpi_recv_init (hs(i0),1,ww3_field_vec, &
4802 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4804 WRITE (ndst,9021) ih,
'R HS', ifrom, it,
irqrs(ih), ierr
4808 IF ( flogrr( 2, 2) )
THEN
4811 CALL mpi_recv_init (wlm(i0),1,ww3_field_vec, &
4812 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4814 WRITE (ndst,9021) ih,
'R WL', ifrom, it,
irqrs(ih), ierr
4818 IF ( flogrr( 2, 4) )
THEN
4821 CALL mpi_recv_init (
t0m1(i0),1,ww3_field_vec, &
4822 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4824 WRITE (ndst,9021) ih,
'R T0', ifrom, it,
irqrs(ih), ierr
4828 IF ( flogrr( 2, 5) )
THEN
4831 CALL mpi_recv_init (
t01(i0),1,ww3_field_vec, &
4832 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4834 WRITE (ndst,9021) ih,
'R T1', ifrom, it,
irqrs(ih), ierr
4838 IF ( flogrr( 2, 6) )
THEN
4841 CALL mpi_recv_init (
fp0(i0),1,ww3_field_vec, &
4842 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4844 WRITE (ndst,9021) ih,
'R FP', ifrom, it,
irqrs(ih), ierr
4848 IF ( flogrr( 2, 7) )
THEN
4851 CALL mpi_recv_init (
thm(i0),1,ww3_field_vec, &
4852 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4854 WRITE (ndst,9021) ih,
'R TH', ifrom, it,
irqrs(ih), ierr
4858 IF ( flogrr( 2, 19) )
THEN
4861 CALL mpi_recv_init (
wnmean(i0),1,ww3_field_vec, &
4862 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4864 WRITE (ndst,9021) ih,
'R WM', ifrom, it,
irqrs(ih), ierr
4868 IF ( flogrr( 5, 2) )
THEN
4871 CALL mpi_recv_init (
charn(i0),1,ww3_field_vec, &
4872 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4874 WRITE (ndst,9021) ih,
'R CH', ifrom, it,
irqrs(ih), ierr
4878 IF ( flogrr( 5, 5) )
THEN
4881 CALL mpi_recv_init (
tauwix(i0),1,ww3_field_vec,&
4882 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4884 WRITE (ndst,9021) ih,
'R WX', ifrom, it,
irqrs(ih), ierr
4888 CALL mpi_recv_init (
tauwiy(i0),1,ww3_field_vec,&
4889 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4891 WRITE (ndst,9021) ih,
'R WY', ifrom, it,
irqrs(ih), ierr
4895 IF ( flogrr( 5,11) )
THEN
4898 CALL mpi_recv_init (
tws(i0),1,ww3_field_vec, &
4899 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4901 WRITE (ndst,9021) ih,
'R TS', ifrom, it,
irqrs(ih), ierr
4905 IF ( flogrr( 6, 2) )
THEN
4908 CALL mpi_recv_init (
tauox(i0),1,ww3_field_vec, &
4909 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4911 WRITE (ndst,9021) ih,
'R OX', ifrom, it,
irqrs(ih), ierr
4915 CALL mpi_recv_init (
tauoy(i0),1,ww3_field_vec, &
4916 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4918 WRITE (ndst,9021) ih,
'R OY', ifrom, it,
irqrs(ih), ierr
4922 IF ( flogrr( 6, 3) )
THEN
4925 CALL mpi_recv_init (
bhd(i0),1,ww3_field_vec, &
4926 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4928 WRITE (ndst,9021) ih,
'R BH', ifrom, it,
irqrs(ih), ierr
4932 IF ( flogrr( 6, 4) )
THEN
4935 CALL mpi_recv_init (
phioc(i0),1,ww3_field_vec, &
4936 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4938 WRITE (ndst,9021) ih,
'R PH', ifrom, it,
irqrs(ih), ierr
4942 IF ( flogrr( 6, 5) )
THEN
4945 CALL mpi_recv_init (
tusx(i0),1,ww3_field_vec, &
4946 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4948 WRITE (ndst,9021) ih,
'R UX', ifrom, it,
irqrs(ih), ierr
4952 CALL mpi_recv_init (
tusy(i0),1,ww3_field_vec, &
4953 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4955 WRITE (ndst,9021) ih,
'R UY', ifrom, it,
irqrs(ih), ierr
4959 IF ( flogrr( 6, 6) )
THEN
4962 CALL mpi_recv_init (
ussx(i0),1,ww3_field_vec, &
4963 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4965 WRITE (ndst,9021) ih,
'R SX', ifrom, it,
irqrs(ih), ierr
4969 CALL mpi_recv_init (
ussy(i0),1,ww3_field_vec, &
4970 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4972 WRITE (ndst,9021) ih,
'R SY', ifrom, it,
irqrs(ih), ierr
4976 IF ( flogrr( 6,10) )
THEN
4979 CALL mpi_recv_init (
tauice(i0,1),1,ww3_field_vec,&
4980 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4982 WRITE (ndst,9021) ih,
'R I1', ifrom, it,
irqrs(ih), ierr
4986 CALL mpi_recv_init (
tauice(i0,2),1,ww3_field_vec,&
4987 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4989 WRITE (ndst,9021) ih,
'R I2', ifrom, it,
irqrs(ih), ierr
4993 IF ( flogrr( 6,13) )
THEN
4996 CALL mpi_recv_init (
tauocx(i0),1,ww3_field_vec,&
4997 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
4999 WRITE (ndst,9021) ih,
'R SX', ifrom, it,
irqrs(ih), ierr
5003 CALL mpi_recv_init (
tauocy(i0),1,ww3_field_vec,&
5004 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
5006 WRITE (ndst,9021) ih,
'R SY', ifrom, it,
irqrs(ih), ierr
5010 IF ( flogrr( 7, 2) )
THEN
5013 CALL mpi_recv_init (
uba(i0),1,ww3_field_vec, &
5014 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
5016 WRITE (ndst,9021) ih,
'R BA', ifrom, it,
irqrs(ih), ierr
5020 CALL mpi_recv_init (
ubd(i0),1,ww3_field_vec, &
5021 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
5023 WRITE (ndst,9021) ih,
'R BD', ifrom, it,
irqrs(ih), ierr
5027 IF ( flogrr( 7, 4) )
THEN
5030 CALL mpi_recv_init (
phibbl(i0),1,ww3_field_vec,&
5031 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
5033 WRITE (ndst,9021) ih,
'R PB', ifrom, it,
irqrs(ih), ierr
5037 IF ( flogrr( 7, 5) )
THEN
5040 CALL mpi_recv_init (
taubbl(i0,1),1,ww3_field_vec,&
5041 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
5043 WRITE (ndst,9021) ih,
'R T1', ifrom, it,
irqrs(ih), ierr
5047 CALL mpi_recv_init (
taubbl(i0,2),1,ww3_field_vec,&
5048 ifrom, it, mpi_comm_wave,
irqrs(ih), ierr )
5050 WRITE (ndst,9021) ih,
'R T2', ifrom, it,
irqrs(ih), ierr
5055 CALL w3seta ( imod,
ndse, ndst )
5068 WRITE (ndst,9023)
nrqrs
5073 IF (
iostyp .GT. 0 )
THEN
5085 IF ( iaproc .NE. naprst )
THEN
5093 jsea0 = 1 + (ib-1)*
rsblks
5094 jsean = min( nsealm , ib*
rsblks )
5095 nseab = 1 + jsean - jsea0
5096 CALL mpi_send_init (
va(1,jsea0), nspec*nseab, mpi_real, iroot, it, &
5097 mpi_comm_wave,
irqrss(ih), ierr )
5099 WRITE (ndst,9026) ih,
'S', ib, iroot, it,
irqrss(ih), ierr, nseab
5112 jsea0 = 1 + (ib-1)*
rsblks
5113 jsean = min( nsealm , ib*
rsblks )
5114 nseab = 1 + jsean - jsea0
5116 IF ( i0 .NE. naprst )
THEN
5119 iboff = mod(ib-1,2)*
rsblks
5120 CALL mpi_recv_init (
vaaux(1,1+iboff,i0), nspec*nseab, mpi_real, &
5121 ifrom, it, mpi_comm_wave,
irqrss(ih), ierr )
5123 WRITE (ndst,9026) ih,
'R', ib, ifrom, it,
irqrss(ih), ierr, nseab
5133 WRITE (ndst,9028) ih
5149 IF ( flout(5) )
THEN
5158 WRITE (ndst,9030)
'MPI_SEND_INIT'
5173 IF ( iaproc .EQ. isproc )
THEN
5175 CALL mpi_send_init (
va(1,jsea),nspec,mpi_real, iroot, it, mpi_comm_wave, &
5178 WRITE (ndst,9031) ih, i, j, iroot, it,
irqbp1(ih), ierr
5191 WRITE (ndst,9033)
nrqbp
5196 IF ( iaproc .EQ. napbpt )
THEN
5204 WRITE (ndst,9030)
'MPI_RECV_INIT'
5220 CALL mpi_recv_init (
abpos(1,ih),nspec,mpi_real, itarg, it, mpi_comm_wave, &
5223 WRITE (ndst,9031) ih, i, j, itarg, it,
irqbp2(ih), ierr
5253 IF ( flout(3) )
THEN
5261 IF ( iaproc .NE. naptrk )
THEN
5262 ALLOCATE (
outpts(imod)%OUT3%IRQTR(2) )
5266 CALL mpi_send_init (
ust(iaproc),1,ww3_field_vec, iroot, it, mpi_comm_wave, &
5269 WRITE (ndst,9041) ih,
'S U*', iroot, it,
irqtr(ih), ierr
5273 CALL mpi_send_init (
ustdir(iaproc),1,ww3_field_vec, iroot, it, mpi_comm_wave, &
5276 WRITE (ndst,9041) ih,
'S U*', iroot, it,
irqtr(ih), ierr
5279 ALLOCATE (
outpts(imod)%OUT3%IRQTR(2*naproc) )
5283 IF ( i0 .NE. iaproc )
THEN
5286 CALL mpi_recv_init(
ust(i0),1,ww3_field_vec, ifrom, it, mpi_comm_wave, &
5289 WRITE (ndst,9041) ih,
'R U*', ifrom, it,
irqtr(ih), ierr
5293 CALL mpi_recv_init(
ustdir(i0),1,ww3_field_vec, ifrom, it, mpi_comm_wave, &
5296 WRITE (ndst,9041) ih,
'R U*', ifrom, it,
irqtr(ih), ierr
5307 WRITE (ndst,9043)
nrqtr
5324 1010
FORMAT (/
' *** ERROR W3MPIO : ARRAY IRQGO TOO SMALL *** '/)
5325 1011
FORMAT (/
' *** ERROR W3MPIO : ARRAY IRQGO2 TOO SMALL *** '/)
5329 9010
FORMAT (/
' TEST W3MPIO: COMMUNICATION CALLS FOR W3IOGO ',a/ &
5330 ' +------+-------+------+------+--------------+'/ &
5331 ' | IH | ID | TARG | TAG | handle err |'/ &
5332 ' +------+-------+------+------+--------------+')
5333 9011
FORMAT (
' |',i5,
' | ',a5,
' |',2(i5,
' |'),i9,i4,
' |')
5334 9012
FORMAT (
' +------+-------+------+------+--------------+')
5335 9013
FORMAT (
' TEST W3MPIO: NRQGO :',2i10)
5336 9014
FORMAT (
' TEST W3MPIO: NRQGO2:',2i10)
5337 9020
FORMAT (/
' TEST W3MPIO: COMM. CALLS FOR W3IORS (F)'/ &
5338 ' +------+------+------+------+--------------+'/ &
5339 ' | IH | ID | TARG | TAG | handle err |'/ &
5340 ' +------+------+------+------+--------------+')
5341 9021
FORMAT (
' |',i5,
' | ',a4,
' |',2(i5,
' |'),i9,i4,
' |')
5342 9022
FORMAT (
' +------+------+------+------+--------------+')
5343 9023
FORMAT (
' TEST W3MPIO: NRQRS :',i10)
5344 9025
FORMAT (/
' TEST W3MPIO: COMM. CALLS FOR W3IORS (S)'/ &
5345 ' BLOCK SIZE / BLOCKS : ',2i6/ &
5346 ' +------+------+------+------+--------------+---------+'/ &
5347 ' | IH | ID | TARG | TAG | handle err | spectra |'/ &
5348 ' +------+------+------+------+--------------+---------+')
5350 ' |',i5,
' | ',a1,i3,
' |',2(i5,
' |'),i9,i4,
' |',i8,
' |')
5352 ' +------+------+------+------+--------------+---------+')
5353 9028
FORMAT (
' TEST W3MPIO: IHMAX :',i10)
5354 9030
FORMAT (/
' TEST W3MPIO: ',a,
' CALLS FOR W3IOBC'/ &
5355 ' +------+------+---+------+------+--------------+'/ &
5356 ' | IH | IPT | F | TARG | TAG | handle err |'/ &
5357 ' +------+------+---+------+------+--------------+')
5358 9031
FORMAT (
' |',2(i5,
' |'),i2,
' |',2(i5,
' |'),i9,i4,
' |')
5360 ' +------+------+---+------+------+--------------+')
5361 9033
FORMAT (
' TEST W3MPIO: NRQBC :',i10)
5362 9034
FORMAT (
' TEST W3MPIO: TOTAL :',i10)
5363 9040
FORMAT (/
' TEST W3MPIO: COMMUNICATION CALLS FOR W3IOTR'/ &
5364 ' +------+------+------+------+--------------+'/ &
5365 ' | IH | ID | TARG | TAG | handle err |'/ &
5366 ' +------+------+------+------+--------------+')
5367 9041
FORMAT (
' |',i5,
' | ',a4,
' |',2(i5,
' |'),i9,i4,
' |')
5369 ' +------+------+------+------+--------------+')
5370 9043
FORMAT (
' TEST W3MPIO: NRQTR :',i10)
5387 SUBROUTINE w3mpip ( IMOD )
5474 INTEGER,
INTENT(IN) :: IMOD
5480 INTEGER :: IH, IROOT, I, J, IT, IT0, JSEA, &
5481 IERR, ITARG, IX(4), IY(4), &
5486 INTEGER,
SAVE :: IENT
5492 CALL strace (ient,
'W3MPIP')
5519 WRITE (ndst,9010)
'MPI_SEND_INIT'
5532 it = it0 + (i-1)*4 + j
5533 is(j) =
mapfs(iy(j),ix(j))
5534 IF ( is(j) .EQ. 0 )
THEN
5545 IF ( ip(j) .EQ. iaproc )
THEN
5551 WRITE (ndst,9011) ih,i,j, iroot,it,
irqpo1(ih), ierr
5569 WRITE (ndst,9013)
nrqpo
5575 IF ( iaproc .EQ. nappnt )
THEN
5583 WRITE (ndst,9010)
'MPI_RECV_INIT'
5595 it = it0 + (i-1)*4 + j
5596 is(j) =
mapfs(iy(j),ix(j))
5597 IF ( is(j) .EQ. 0 )
THEN
5614 WRITE (ndst,9011) ih,i,j, itarg,it,
irqpo2(ih), ierr
5654 1001
FORMAT (/
' *** ERROR W3MPIP : ARRAYS ALREADY ALLOCATED *** '/)
5658 9010
FORMAT (/
' TEST W3MPIP: ',a,
' CALLS FOR W3IOPO'/ &
5659 ' +------+------+---+------+------+--------------+'/ &
5660 ' | IH | IPT | J | TARG | TAG | handle err |'/ &
5661 ' +------+------+---+------+------+--------------+')
5662 9011
FORMAT (
' |',2(i5,
' |'),i2,
' |',2(i5,
' |'),i9,i4,
' |')
5664 ' +------+------+---+------+------+--------------+')
5665 9013
FORMAT (
' TEST W3MPIP: NRQPO :',i10)
5666 9014
FORMAT (
' TEST W3MPIP: TOTAL :',i10)