38 * IAD_ELEM ,FR_ELEM,INTLIST,NBINTC,
39 * IAD_I24 ,FR_I24 ,SFR_I24,I24MAXNSNE,FLAG,
50 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
51#include "implicit_f.inc"
67 INTEGER IPARI(NPARI,*),IAD_ELEM(2,*),(*),
68 * ITAB(*),INTLIST(*),NBINTC,FLAG,I24MAXNSNE,INT24E2EUSE
70 * iad_i24(nbintc+1,*), sfr_i24,fr_i24(*)
72 TYPE(intbuf_struct_) INTBUF_TAB(*)
77 INTEGER STATUS(MPI_STATUS_SIZE),
78 * REQ_SI(PARASIZ),REQ_S(PARASIZ),
79 * REQ_S2(PARASIZ),REQ_R(PARASIZ),REQ_R2(PARASIZ)
80 INTEGER P,LENSD,LENRV,IADS(PARASIZ+1),IADR(PARASIZ+1),IERROR,
81 * SIZ,LOC_PROC,MSGTYP,IDEB(NINTER),IDB,
82 * MSGOFF,MSGOFF2,MSGOFF3,MSGOFF4,MSGOFF5
83 INTEGER I, L, NB, NN, K, N, NOD, LEN, ALEN, ND, NIN, NTY,
85 * SURF,SURFR,I_STOK,MS,NSNR,
86 * ni,ilen,rlen,li,lr,igsti
89 * send_pmax(ninter),time_s,time_sr
91 *
DIMENSION(:),
ALLOCATABLE :: bbufs, bbufr,rrecbuf
93 *
DIMENSION(:,:),
ALLOCATABLE :: rsendbuf
96 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ISENDBUF
97 INTEGER,
DIMENSION(:),
ALLOCATABLE ::
99 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ISCAND
106 SAVE iads,iadr,bbufs,bbufr,req_s,req_s2,
107 * req_si,req_r,req_r2,
108 * rrecbuf,irecbuf,rsendbuf,isendbuf,
109 * ilen,rlen,len,lensd,lenrv
113 send_pmax(1:ninter)=0
129 ALLOCATE(iscand(numnod+i24maxnsne))
130 iscand(1:numnod+i24maxnsne)=0
135 nsnr = ipari( 24,nin)
136 iedg4 = ipari(59,nin)
138 i_stok = intbuf_tab(nin)%I_STOK(1)
140 n = intbuf_tab(nin)%CAND_N(i)
142 sn = intbuf_tab(nin)%NSV(n)
144 ms = intbuf_tab(nin)%CAND_E(i)
148 n = intbuf_tab(nin)%NSV(i)
149 IF (iscand(n)==0)
THEN
150 intbuf_tab(nin)%TIME_S(i) = zero
151 intbuf_tab(nin)%IRTLM(2*(i-1)+1) = 0
193 lensd = lensd +
nsnfi(nin)%P(p)*alen
194 lenrv = lenrv +
nsnsi(nin)%P(p)*alen
198 iadr(nspmd+1)=lenrv+1
202 ALLOCATE(bbufs(lensd),stat=ierror)
204 CALL ancmsg(msgid=20,anmode=aninfo)
212 ALLOCATE(bbufr(lenrv),stat=ierror)
214 CALL ancmsg(msgid=20,anmode=aninfo)
220 siz=iadr(p+1)-iadr(p)
223 CALL mpi_irecv( bbufr(iadr(p)),siz,real,it_spmd(p),msgtyp,
224 * spmd_comm_world,req_r(p),ierror )
234 IF (p/= loc_proc)
THEN
241 bbufs(l)=
irtlm_fi(nin)%P(1,nn+ideb(nin))
242 bbufs(l+1)=
irtlm_fi(nin)%P(2,nn+ideb(nin))
243 bbufs(l+2)=
time_sfi(nin)%P(nn+ideb(nin))
253 ideb(nin)=ideb(nin)+nb
260 . bbufs(iads(p)),siz,real ,it_spmd(p),msgtyp,
261 . spmd_comm_world,req_si(p),ierror )
281 siz=iadr(p+1)-iadr(p)
286 CALL mpi_wait(req_r(p),status,ierror)
298 nd =
nsvsi(nin)%P(ideb(nin)+k)
301 sn = intbuf_tab(nin)%NSV(nd)
302 time_s = intbuf_tab(nin)%TIME_S(nd)
303 surf = intbuf_tab(nin)%IRTLM(2*(nd-1)+1)
304 surfr = bbufr(iadr(p)+l)
305 time_sr = bbufr(iadr(p)+l+2)
307 IF (bbufr(iadr(p)+l)==0
308 * .AND.bbufr(iadr(p)+l+2)==zero)
THEN
311 ELSEIF (intbuf_tab(nin)%IRTLM(2*(nd-1)+1) == 0
312 * .AND. intbuf_tab(nin)%TIME_S(nd) ==zero)
THEN
314 intbuf_tab(nin)%IRTLM(2*(nd-1)+1) = bbufr(iadr(p)+l)
315 intbuf_tab(nin)%IRTLM(2*(nd-1)+2) = bbufr(iadr(p)+l+1)
316 intbuf_tab(nin)%TIME_S(nd) = bbufr(iadr(p)+l+2)
318 ELSEIF (time_s==-ep20 .AND. surf == 0)
THEN
319 intbuf_tab(nin)%IRTLM(2*(nd-1)+1) = 0
320 intbuf_tab(nin)%IRTLM(2*(nd-1)+2) = 0
321 intbuf_tab(nin)%TIME_S(nd) = -ep20
323 ELSEIF (time_sr==-ep20 .AND. surfr == 0)
THEN
324 intbuf_tab(nin)%IRTLM(2*(nd-1)+1) = 0
325 intbuf_tab(nin)%IRTLM(2*(nd-1)+2) = 0
326 intbuf_tab(nin)%TIME_S(nd) = -ep20
327 ELSEIF (time_s==-ep20 .AND. surf == 0)
THEN
329 ELSEIF( surfr > 0 .AND. time_sr==-ep20 .AND.
330 * surf > 0 .AND. time_s==-ep20 )
THEN
333 IF (surfr > surf)
THEN
334 intbuf_tab(nin)%IRTLM(2*(nd-1)+1) = bbufr(iadr(p)+l)
335 intbuf_tab(nin)%IRTLM(2*(nd-1)+2) = bbufr(iadr(p)+l+1)
336 intbuf_tab(nin)%TIME_S(nd) = bbufr(iadr(p)+l+2)
338 ELSEIF(surfr > 0 .AND. time_sr==-ep20)
THEN
339 intbuf_tab(nin)%IRTLM(2*(nd-1)+1) = bbufr(iadr(p)+l)
340 intbuf_tab(nin)%IRTLM(2*(nd-1)+2) = bbufr(iadr(p)+l+1)
341 intbuf_tab(nin)%TIME_S(nd) = -ep20
343 ELSEIF(surf > 0 .AND. time_s==-ep20)
THEN
345 ELSEIF(surfr < 0)
THEN
346 IF (time_sr == time_s)
THEN
347 IF (abs(surfr) > abs(surf))
THEN
348 intbuf_tab(nin)%IRTLM(2*(nd-1)+1) = bbufr(iadr
349 intbuf_tab(nin)%IRTLM(2*(nd-1)+2)=
351 intbuf_tab(nin)%TIME_S(nd) = bbufr(iadr(p)+l+2)
354 intbuf_tab(nin)%IRTLM(2*(nd-1)+1) =
356 intbuf_tab(nin)%IRTLM(2*(nd-1)+2)= int(bbufr(iadr(p)+l+1))
357 intbuf_tab(nin)%TIME_S(nd) = bbufr(iadr(p)+l+2)
362 IF(abs(bbufr(iadr(p)+l+3)) >
363 * abs(intbuf_tab(nin)%SECND_FR(6*(nd-1)+1)))
364 * intbuf_tab(nin)%SECND_FR(6*(nd-1)+1) = bbufr
366 IF(abs(bbufr(iadr(p)+l+4)) >
367 * abs(intbuf_tab(nin)%SECND_FR(6*(nd-1)+2)))
368 * intbuf_tab(nin)%SECND_FR(6*(nd-1)+2) = bbufr(iadr(p)+l+4)
370 IF(abs(bbufr(iadr(p)+l+5)) >
371 * abs(intbuf_tab(nin)%SECND_FR(6*(nd-1)+3)))
372 * intbuf_tab(nin)%SECND_FR(6*(nd-1)+3) = bbufr(iadr(p)+l+5)
375 IF(bbufr(iadr(p)+l+3)==-intbuf_tab(nin)%SECND_FR(6*(nd-1)+1) )
376 * intbuf_tab(nin)%SECND_FR(6*(nd-1)+1) = abs(bbufr(iadr(p)+l+3))
378 IF(bbufr(iadr(p)+l+4)==-intbuf_tab(nin)%SECND_FR(6*(nd-1)+2) )
379 * intbuf_tab(nin)%SECND_FR(6*(nd-1)+2) = abs(bbufr(iadr(p)+l+4))
381 IF(bbufr(iadr(p)+l+5)==-intbuf_tab(nin)%SECND_FR(6*(nd-1)+3) )
382 * intbuf_tab(nin)%SECND_FR(6*(nd-1)+3) = abs(bbufr(iadr(p)+l+5))
389 intbuf_tab(nin)%PENE_OLD(5*(nd-1)+1)=
max(intbuf_tab(nin)%PENE_OLD(5*(nd-1)+1),
390 * bbufr(iadr(p)+l+6) )
391 intbuf_tab(nin)%PENE_OLD(5*(nd-1)+3)=
392 *
max(intbuf_tab(nin)%PENE_OLD(5*(nd-1)+3),
393 * bbufr(iadr(p)+l+8) )
395 intbuf_tab(nin)%PENE_OLD(5*(nd-1)+5)=
396 *
max(intbuf_tab(nin)%PENE_OLD(5*(nd-1)+5),
397 * bbufr(iadr(p)+l+9) )
403 intbuf_tab(nin)%STIF_OLD(2*(nd-1)+1)=
max(intbuf_tab(nin)%STIF_OLD(2*(nd-1)+1),
404 * bbufr(iadr(p)+l+7) )
410 ideb(nin)=ideb(nin)+nb
421 siz=iads(p+1)-iads(p)
424 CALL mpi_wait(req_si(p),status,ierror)
428 IF (
ALLOCATED(bbufs))
DEALLOCATE(bbufs)
429 IF (
ALLOCATED(bbufr))
DEALLOCATE(bbufr)
443 IF(int24e2euse == 1)
THEN
447 iedg4 = ipari(59,nin)
448 IF(nty==24 .AND. iedg4 > 0)
THEN
452 intbuf_tab(nin)%ISPT2(sn)=0
453 nsi = intbuf_tab(nin)%ISEGPT(sn)
454 nd=intbuf_tab(nin)%NSV(sn)
456 IF(intbuf_tab(nin)%IRTLM(2*(nsi-1)+1) /= 0)
THEN
457 intbuf_tab(nin)%ISPT2(sn) = 0
459 intbuf_tab(nin)%ISPT2(sn) = 1
462 intbuf_tab(nin)%ISPT2(sn) = 1
478 iads(nspmd+1)=sfr_i24+1
482 ALLOCATE(isendbuf(4,sfr_i24))
483 ALLOCATE(irecbuf(ilen*sfr_i24))
484 ALLOCATE(rsendbuf(8,sfr_i24))
485 ALLOCATE(rrecbuf(rlen*sfr_i24))
489 siz = iads(p+1)-iads(p)
491 li = (iads(p)-1)*ilen+1
492 lr = (iads(p)-1)*rlen+1
496 s irecbuf(li),len,mpi_integer,it_spmd(p),msgtyp,
497 g spmd_comm_world,req_r(p),ierror)
502 s rrecbuf(lr),len,real,it_spmd(p),msgtyp,
503 g spmd_comm_world,req_r2(p),ierror)
514 iedg4 = ipari(59,nin)
517 DO i=iad_i24(ni,p),iad_i24(ni+1,p)-1
520 sn = intbuf_tab(nin)%NSV(nd)
522 isendbuf(1,nb)=itab(sn)
523 isendbuf(2,nb)=intbuf_tab(nin)%IRTLM(2*(nd-1)+1)
524 isendbuf(3,nb)=intbuf_tab(nin)%IRTLM(2*(nd-1)+2)
526 isendbuf(4,nb)= intbuf_tab(nin)%ISPT2(nd)
530 rsendbuf(1,nb) = intbuf_tab(nin)%TIME_S(nd)
531 rsendbuf(2,nb) = intbuf_tab(nin)%SECND_FR(6*(nd-1)+1)
532 rsendbuf(3,nb) = intbuf_tab(nin)%SECND_FR(6*(nd-1)+2)
533 rsendbuf(4,nb) = intbuf_tab(nin)%SECND_FR(6*(nd-1)+3)
534 rsendbuf(5,nb) = intbuf_tab(nin)%PENE_OLD(5*(nd-1)+1)
535 rsendbuf(6,nb) = intbuf_tab(nin)%PENE_OLD(5*(nd-1)+3)
536 rsendbuf(8,nb) = intbuf_tab(nin)%PENE_OLD(5*(nd-1)+5)
537 rsendbuf(7,nb) = intbuf_tab(nin)%STIF_OLD(2*(nd-1)+1)
548 siz = iads(p+1) - iads(p)
553 s isendbuf(1,l),siz*4,mpi_integer,it_spmd(p),msgtyp,
554 g spmd_comm_world,req_s(p),ierror)
558 s rsendbuf(1,l),siz*8,real,it_spmd(p),msgtyp,
559 g spmd_comm_world,req_s2(p),ierror)
577 siz = iads(p+1)-iads(p)
580 CALL mpi_wait(req_r(p),status,ierror)
582 CALL mpi_wait(req_r2(p),status,ierror)
591 iedg4 = ipari(59,nin)
594 DO k=iad_i24(ni,p),iad_i24(ni+1,p)-1
596 time_s = intbuf_tab(nin)%TIME_S(sn)
597 surf = intbuf_tab(nin)%IRTLM(2*(sn-1)+1)
598 surfr = irecbuf(2+(idb-1)*ilen)
599 time_sr = rrecbuf(1+(idb-1)*rlen)
600 IF (time_sr==0 .AND. surfr
THEN
603 ELSEIF (time_s==0 .AND.surf==0)
THEN
605 intbuf_tab(nin)%TIME_S(sn) = time_sr
606 intbuf_tab(nin)%IRTLM(2*(sn-1)+1) = irecbuf(2+(idb-1)*ilen)
607 intbuf_tab(nin)%IRTLM(2*(sn-1)+2) = irecbuf(3+(idb-1)*ilen)
611 ELSEIF( time_s == -ep20 .AND. surf == 0)
THEN
614 ELSEIF( surfr == 0 .AND. time_sr == -ep20)
THEN
615 intbuf_tab(nin)%TIME_S(sn) = -ep20
616 intbuf_tab(nin)%IRTLM(2*(sn-1)
617 intbuf_tab(nin)%IRTLM(2*(sn-1)+2) = irecbuf(3+(idb-1)*ilen)
619 ELSEIF( surfr > 0 .AND. time_sr==-ep20 .AND.
620 * surf > 0 .AND. time_s==-ep20)
THEN
623 IF (surfr > surf)
THEN
624 intbuf_tab(nin)%IRTLM(2*(sn-1)+1) = irecbuf(2+(idb-1)*ilen)
625 intbuf_tab(nin)%IRTLM(2*(sn-1)+2) =
626 * irecbuf(3+(idb-1)*ilen)
627 intbuf_tab(nin)%TIME_S(sn) = -ep20
628 intbuf_tab(nin)%PENE_OLD(5*(sn-1)+1)=rrecbuf(5+(idb-1)*rlen)
629 intbuf_tab(nin)%STIF_OLD(2*(sn-1)+1)=rrecbuf(7+(idb-1)*rlen)
632 ELSEIF( surf > 0 .AND. time_s == -ep20)
THEN
635 ELSEIF( surfr > 0 .AND. time_sr == -ep20)
THEN
636 intbuf_tab(nin)%TIME_S(sn) = -ep20
637 intbuf_tab(nin)%IRTLM(2*(sn-1)+1) = irecbuf(2+(idb-1)*ilen)
638 intbuf_tab(nin)%IRTLM(2*(sn-1)+2) = irecbuf(3+(idb-1)*ilen)
640 ELSEIF( surfr < 0 )
THEN
641 IF (time_sr == time_s)
THEN
642 IF (abs(surfr) > abs(surf))
THEN
643 intbuf_tab(nin)%TIME_S(sn) = time_sr
644 intbuf_tab(nin)%IRTLM(2*(sn-1)+1) =
645 * irecbuf(2+(idb-1)*ilen)
646 intbuf_tab(nin)%IRTLM(2*(sn-1)+2) =
647 * irecbuf(3+(idb-1)*ilen)
649 ELSEIF (time_s <= time_sr )
THEN
650 intbuf_tab(nin)%TIME_S(sn) = time_sr
651 intbuf_tab(nin)%IRTLM(2*(sn-1)+1) =
652 * irecbuf(2+(idb-1)*ilen)
653 intbuf_tab(nin)%IRTLM(2*(sn-1)+2) =
654 * irecbuf(3+(idb-1)*ilen)
659 IF (abs(rrecbuf(2+(idb-1)*rlen)) >
660 * (abs(intbuf_tab(nin)%SECND_FR(6*(sn-1)+1)) ) )
661 * intbuf_tab(nin)%SECND_FR(6*(sn-1)+1) = rrecbuf(2+(idb-1)*rlen)
663 IF (abs(rrecbuf(3+(idb-1)*rlen)) >
664 * abs(intbuf_tab(nin)%SECND_FR(6*(sn-1)+2)) )
665 * intbuf_tab(nin)%SECND_FR(6*(sn-1)+2) = rrecbuf(3+(idb-1)*rlen)
667 IF (abs(rrecbuf(4+(idb-1)*rlen)) >
668 * abs(intbuf_tab(nin)%SECND_FR(6*(sn-1)+3)) )
669 * intbuf_tab(nin)%SECND_FR(6*(sn-1)+3) = rrecbuf(4+(idb-1)*rlen)
672 IF (rrecbuf(2+(idb-1)*rlen
673 * intbuf_tab(nin)%SECND_FR(6*(sn-1)+1)=
674 * abs(rrecbuf(2+(idb-1)*rlen))
676 IF (rrecbuf(3+(idb-1)*rlen)==-intbuf_tab(nin)%SECND_FR(6*(sn-1)+2) )
677 * intbuf_tab(nin)%SECND_FR(6*(sn-1)+2)=
678 * abs(rrecbuf(3+(idb-1)*rlen))
680 IF (rrecbuf(4+(idb-1)*rlen)==-intbuf_tab(nin)%SECND_FR(6*(sn-1)+3) )
681 * intbuf_tab(nin)%SECND_FR(6*(sn-1)+3)=
685 intbuf_tab(nin)%PENE_OLD(5*(sn-1)+1)=
max(intbuf_tab(nin)%PENE_OLD(5*(sn-1)+1),
686 * rrecbuf(5+(idb-1)*rlen) )
687 intbuf_tab(nin)%PENE_OLD(5*(sn-1)+3)=
max(intbuf_tab(nin)%PENE_OLD(5*(sn-1)+3),
688 * rrecbuf(6+(idb-1)*rlen) )
691 intbuf_tab(nin)%PENE_OLD(5*(sn-1)+5)=
max(intbuf_tab(nin)%PENE_OLD(5*(sn-1)+5),
692 * rrecbuf(8+(idb-1)*rlen) )
698 intbuf_tab(nin)%STIF_OLD(2*(sn-1)+1)=
max(intbuf_tab(nin)%STIF_OLD(2*(sn-1)+1),
699 * rrecbuf(7+(idb-1)*rlen) )
703 nd=intbuf_tab(nin)%NSV(sn)
704 intbuf_tab(nin)%ISPT2(sn) =
max( intbuf_tab(nin)%ISPT2(sn), irecbuf(4+(idb-1)*ilen))
715 siz = iads(p+1)-iads(p)
717 CALL mpi_wait(req_s(p),status,ierror)
718 CALL mpi_wait(req_s2(p),status,ierror)
728 nsnr = ipari( 24,nin)
729 iedg4 = ipari(59,nin)
732 IF(intbuf_tab(nin)%IRTLM(2*(sn-1)+1)==0)
733 * intbuf_tab(nin)%PENE_OLD(5*(sn-1)+5)=zero
738 IF(
ALLOCATED(isendbuf))
DEALLOCATE(isendbuf)
739 IF(
ALLOCATED(irecbuf))
DEALLOCATE(irecbuf)
740 IF(
ALLOCATED(rsendbuf))
DEALLOCATE(rsendbuf)
741 IF(
ALLOCATED(rrecbuf))
DEALLOCATE(rrecbuf)
760 lensd = lensd +
nsnsi(nin)%P(p)*alen
761 lenrv = lenrv +
nsnfi(nin)%P(p)*alen
765 iadr(nspmd+1)=lenrv+1
768 ALLOCATE(bbufs(lensd),stat=ierror)
770 CALL ancmsg(msgid=20,anmode=aninfo)
777 ALLOCATE(bbufr(lenrv),stat=ierror)
779 CALL ancmsg(msgid=20,anmode=aninfo)
786 siz=iadr(p+1)-iadr(p)
789 CALL mpi_irecv( bbufr(iadr(p)),siz,real,it_spmd(p),msgtyp,
790 * spmd_comm_world,req_r(p),ierror )
799 IF (p/= loc_proc)
THEN
804 iedg4 = ipari(59,nin)
808 nd =
nsvsi(nin)%P(ideb(nin)+nn)
809 nod=intbuf_tab(nin)%NSV(nd)
810 bbufs(l )=intbuf_tab(nin)%IRTLM(2*(nd-1)+1)
811 bbufs(l+1)=intbuf_tab(nin)%IRTLM(2*(nd-1)+2)
812 bbufs(l+2)=intbuf_tab(nin)%TIME_S(nd)
813 bbufs(l+3)=intbuf_tab(nin)%SECND_FR(6*(nd-1)+1)
814 bbufs(l+4)=intbuf_tab(nin)%SECND_FR(6*(nd-1)+2)
815 bbufs(l+5)=intbuf_tab(nin)%SECND_FR(6*(nd-1)+3)
816 bbufs(l+6)=intbuf_tab(nin)%PENE_OLD(5*(nd-1)+1)
817 bbufs(l+7)=intbuf_tab(nin)%PENE_OLD(5*(nd-1)+3)
818 bbufs(l+9)=intbuf_tab(nin)%PENE_OLD(5*(nd-1)+5)
819 bbufs(l+8)=intbuf_tab(nin)%STIF_OLD(2*(nd-1)+1)
821 bbufs(l+10)=intbuf_tab(nin)%ISPT2(nd)
828 ideb(nin)=ideb(nin)+nb
836 . bbufs(iads(p)),siz,real ,it_spmd(p),msgtyp,
837 . spmd_comm_world,req_si(p),ierror )
862 siz=iadr(p+1)-iadr(p)
865 CALL mpi_wait(req_r(p),status,ierror)
869 igsti = ipari(34,nin)
872 iedg4 = ipari(59,nin)
876 IF(impl_s>0.AND.igsti==6)
THEN
879 irtlm_fi(nin)%P(1,ideb(nin)+k)=bbufr(iadr(p)+l)
880 irtlm_fi(nin)%P(2,ideb(nin)+k)=bbufr(iadr(p)+l+1)
881 time_sfi(nin)%P(ideb(nin)+k)=bbufr(iadr(p)+l+2)
887 secnd_frfi(nin)%P(4,ideb(nin)+k)=bbufr(iadr(p)+l+3)
888 secnd_frfi(nin)%P(5,ideb(nin)+k)=bbufr(iadr(p)+l+4)
889 secnd_frfi(nin)%P(6,ideb(nin)+k)=bbufr(iadr(p)+l+5)
891 pene_oldfi(nin)%P(2,ideb(nin)+k)=bbufr(iadr(p)+l+6)
892 pene_oldfi(nin)%P(3,ideb(nin)+k)=bbufr(iadr(p)+l+7)
893 pene_oldfi(nin)%P(5,ideb(nin)+k)=bbufr(iadr(p)+l+9)
894 stif_oldfi(nin)%P(2,ideb(nin)+k)=bbufr(iadr(p)+l+8)
896 ispt2_fi(nin)%P(ideb(nin)+k)=bbufr(iadr(p)+l+10)
902 irtlm_fi(nin)%P(1,ideb(nin)+k)=bbufr(iadr(p)+l)
903 irtlm_fi(nin)%P(2,ideb(nin)+k)=bbufr(iadr(p)+l+1)
904 time_sfi(nin)%P(ideb(nin)+k)=bbufr(iadr(p)+l+2)
910 secnd_frfi(nin)%P(4,ideb(nin)+k)=bbufr(iadr(p)+l+3)
911 secnd_frfi(nin)%P(5,ideb(nin)+k)=bbufr(iadr(p)+l+4)
912 secnd_frfi(nin)%P(6,ideb(nin)+k)=bbufr(iadr(p)+l+5)
914 pene_oldfi(nin)%P(2,ideb(nin)+k)=bbufr(iadr(p)+l+6)
915 pene_oldfi(nin)%P(3,ideb(nin)+k)=bbufr(iadr(p)+l+7)
916 pene_oldfi(nin)%P(5,ideb(nin)+k)=bbufr(iadr(p)+l+9)
918 stif_oldfi(nin)%P(2,ideb(nin)+k)=bbufr(iadr(p)+l+8)
920 ispt2_fi(nin)%P(ideb(nin)+k)=bbufr(iadr(p)+l+10)
937 siz=iads(p+1)-iads(p)
940 CALL mpi_wait(req_si(p),status,ierror)
945 IF (
ALLOCATED(bbufs))
DEALLOCATE(bbufs)
946 IF (
ALLOCATED(bbufr))
DEALLOCATE(bbufr)