SUBROUTINE TDBL1(NTIME,R,S,XD,XB,DF,M,T) IMPLICIT DOUBLE PRECISION (A-Z) INTEGER IDIM PARAMETER (IDIM=50) INTEGER I,N1,NTIME,J,NCELLS,DF,M DIMENSION R(IDIM),S(IDIM),XD(IDIM),XB(IDIM),A(6),T(9,IDIM) LOGICAL POOLD DATA A/6*.0D0/ C C SUBROUTINE COMPUTES COMPONENT L1(I) FOR THE TEST BETWEEN C ModelS D2 AND B2 (WITH POOLING). C NCELLS=0 N1=NTIME-1 POOLD=.FALSE. DO 40 I=1,N1 A(1)=A(1)+R(I) A(2)=A(2)+S(I) A(3)=A(3)+(.1D1-XD(I))*S(I) A(4)=A(4)+S(I)*XD(I) A(5)=A(5)+(.1D1-XB(I))*S(I) A(6)=A(6)+S(I)*XB(I) IF(A(3).LT..2D1.OR.A(4).LT..2D1.OR. . A(5).LT..2D1.OR.A(6).LT..2D1)GO TO 30 IF(I.NE.NTIME-2)GO TO 10 IF(S(N1)*(.1D1-XD(N1)).LT..2D1.OR.S(N1)*XD(N1).LT..2D1.OR. . S(N1)*(.1D1-XB(N1)).LT..2D1.OR.S(N1)*XB(N1).LT..2D1)GO TO 30 10 NCELLS=NCELLS+1 IF(POOLD)T(M,I)=A(2)*(A(6)-A(4))**2/A(4)/A(3) IF(.NOT.POOLD)T(M,I)=S(I)*(XB(I)-XD(I))**2/XD(I)/(.1D1-XD(I)) IF(T(M,I).GE..0D0)GO TO 15 T(M,I)=.0D0 GO TO 30 15 POOLD=.FALSE. T(M,IDIM)=T(M,IDIM)+T(M,I) DO 20 J=1,6 20 A(J)=.0D0 GO TO 40 30 POOLD=.TRUE. 40 CONTINUE DF=DF-(N1-NCELLS) RETURN END