28 SUBROUTINE thnst_count(NTHGRP2, ITHGRP, WA_SIZE, INDEX_WA_NST,
29 . IPARG,ITHBUF,SITHBUF)
33#include "implicit_f.inc"
43 INTEGER,
INTENT(in) ::SITHBUF
44 INTEGER IPARG(NPARG,*),ITHBUF(SITHBUF)
45 INTEGER,
INTENT(in) :: NTHGRP2
46 INTEGER,
INTENT(inout) :: WA_SIZE
47 INTEGER,
DIMENSION(2*NTHGRP2+1),
INTENT(inout) :: INDEX_WA_NST
48 INTEGER,
DIMENSION(NITHGR,*),
INTENT(in) :: ITHGRP
53 INTEGER II, I, J, N, IH, NG, ITY,
56 INTEGER :: J_FIRST,NITER,IAD,NN,IADV,NVAR,ITYP,IJK
57 INTEGER,
DIMENSION(NTHGRP2) :: INDEX_NST
64 index_nst(1:nthgrp2) = 0
77 DO WHILE (ithbuf(ih+nn) /= ispmd .AND. ih < iad+nn)
80 IF (ih >= iad+nn)
GOTO 666
96 wa_size = wa_size + nvar
106 index_nst(niter) = wa_size
113 IF(bool.EQV..true.)
THEN
114 IF( index_nst(i)/=0 )
THEN
124 index_wa_nst(j) = index_nst(j_first)
126 index_wa_nst(j) = j_first
127 DO i=j_first+1,nthgrp2
128 IF( index_nst(i)-index_nst(i-1)>0 )
THEN
130 index_wa_nst(j) = index_nst(i)
136 index_wa_nst(2*nthgrp2+1) = j ! number of non-zero index
subroutine thnst_count(nthgrp2, ithgrp, wa_size, index_wa_nst, iparg, ithbuf, sithbuf)