1 : C PRECN0 SOURCE CHAT 05/01/13 02:25:15 5004 2 : SUBROUTINE PRECN0(TEMPS,TE,FT,LON,FT0,IRET) 3 : C 4 : C INTERPOLATION LINEAIRE 5 : C IRET=POSITION DANS LE TABLEAU SI SUCCES , 0 SINON 6 : C 7 : IMPLICIT INTEGER(I-N) 8 : IMPLICIT REAL*8(A-H,O-Z) 9 : -INC CCOPTIO 10 : DIMENSION TE(*),FT(*) 11 : FT0=0.D0 12 : T2=TE(1) 13 : L2=1 14 : DT=TE(2)-T2 15 : IF(TEMPS.LT.T2) THEN 16 : IF(TEMPS.LT.T2-1.D-5*DT) GOTO 50 17 : FT0=FT(L2) 18 : IRET=L2 19 : RETURN 20 : ENDIF 21 : DO 40 L=2,LON 22 : T1=T2 23 : L1=L2 24 : T2=TE(L) 25 : L2=L 26 : IF(T1.GT.T2) GOTO 55 27 : IF(TEMPS.LT.T2) GOTO 60 28 : 40 CONTINUE 29 : C TEMPS EN DEHORS DE LA TABLE 30 : DT=T2-T1 31 : IF(TEMPS.LT.T2+1.D-5*DT) THEN 32 : FT0=FT(L2) 33 : IRET=L2 34 : RETURN 35 : ENDIF 36 : C 37 : 50 IRET=-210 38 : RETURN 39 : C TEMPS NON CROISSANTS DANS LA TABLE 40 : 55 IRET=-211 41 : RETURN 42 : 60 DT=(TEMPS-T1)/(T2-T1) 43 : FT1=FT(L1) 44 : FT2=FT(L2) 45 : FT0=(FT2-FT1)*DT+FT1 46 : IRET=L1 47 : RETURN 48 : END 49 : 50 :
© Cast3M 2003 - All rights reserved.
Disclaimer