55 REAL,
INTENT(IN) :: PDAT
56 REAL,
INTENT(IN) :: PNDAT
57 REAL,
DIMENSION(:),
INTENT(IN) :: PVAL0
58 REAL,
DIMENSION(:),
INTENT(IN) :: PVAL1
59 REAL,
DIMENSION(:),
INTENT(IN) :: PVAL2
60 REAL,
DIMENSION(:),
INTENT(OUT) :: POUT
66 REAL,
DIMENSION(SIZE(PVAL0)) :: ZMID1
67 REAL,
DIMENSION(SIZE(PVAL0)) :: ZMID2
68 REAL,
DIMENSION(SIZE(PVAL0)) :: ZA
69 REAL,
DIMENSION(SIZE(PVAL0)) :: ZB
70 REAL,
DIMENSION(SIZE(PVAL0)) :: ZC
75 INTEGER :: JDAT, INDAT
77 REAL(KIND=JPRB) :: ZHOOK_HANDLE
81 IF (
lhook)
CALL dr_hook(
'INTERPOL_QUADRA',0,zhook_handle)
92 zscarre = zscarre +
REAL(jdat*jdat)
93 zsum = zsum +
REAL(jdat)
99 zmid1(:) = 0.5 * (pval1(:)+pval0(:))
100 zmid2(:) = 0.5 * (pval1(:)+pval2(:))
106 za(:) = ((pval1(:)-zmid1(:))*pndat - (zmid2(:)-zmid1(:))*(zsum-pndat)/pndat
109 zb(:) = ((zmid2(:)-zmid1(:)) - (pndat*(pndat+2.0) * za(:))) / pndat
111 zc(:) = zmid1(:) - za(:) - zb(:)
116 pout(:) = za(:) * pdat**2 + zb(:) * pdat + zc(:)
121 IF (
lhook)
CALL dr_hook(
'INTERPOL_QUADRA',1,zhook_handle)
subroutine interpol_quadra(PDAT, PNDAT, PVAL0, PVAL1, PVAL2, POUT)