SUBROUTINE Bspline2f(X0, lgT0, lgQs0, Ys) ! perform Bspline interpolation of SAHA-S3 tables ! for given X0, lgT0, lgQs0. ! Bspline2f computes only two values Ys(1) and Ys(5) ! instead of all 12 (as Bspline does). IMPLICIT NONE ! Variables REAL*8, INTENT(in) :: X0, lgT0, lgQs0 REAL*8, DIMENSION(mv), intent(out) :: Ys INTEGER ix,iT,iQs,iv INTEGER LCX, LCT,LCQs REAL*8, DIMENSION(Jspline) :: BIATX, BIATT, BIATQs REAL*8 bttt ! Body of Bspline2f CALL BSPLVB8v( Xknot, Jspline, X0, LCX, BIATX ) CALL BSPLVB8v( Tknot, Jspline, lgT0, LCT, BIATT ) CALL BSPLVB8v( Qsknot, Jspline, lgQs0, LCQs, BIATQs ) Ys=0.d0 DO ix=1,Jspline DO iT=1,Jspline DO iQs=1,Jspline bttt=BIATX(ix)*BIATT(iT)*BIATQs(iQs) DO iv=1,5,4 Ys(iv)=Ys(iv)+Beos(LCQs+iQs-1,LCT+iT-1,iv,LCX+ix-1)*bttt ENDDO ENDDO ENDDO ENDDO RETURN END SUBROUTINE Bspline2f