34 SUBROUTINE law70_table(TABLE, NFUNC, LENGTH, LMAX, RATE, XI, YI)
46#include "implicit_f.inc"
50 INTEGER ,
INTENT(IN) :: NFUNC
51 INTEGER ,
INTENT(INOUT) :: LMAX
52 INTEGER ,
DIMENSION(NFUNC) :: LENGTH
53 my_real ,
DIMENSION(NFUNC) ,
INTENT(IN) :: rate
54 my_real ,
DIMENSION(LMAX,NFUNC) ,
INTENT(IN) :: xi
55 my_real ,
DIMENSION(LMAX,NFUNC) ,
INTENT(IN) :: yi
60 INTEGER :: I,J,IPT,NPTX,NPTM,IPOS,NDIM,FUNC_ID,IERROR,STAT
61 INTEGER ,
DIMENSION(NFUNC) :: PERM
62 INTEGER ,
PARAMETER :: NPTMAX = 100
64 my_real ,
DIMENSION(:) ,
ALLOCATABLE :: xf,xs,ys
65 my_real ,
DIMENSION(:,:) ,
ALLOCATABLE :: yf
71 nptx = nptx + length(i)
77 xf(1:nptx) = xi(1:nptx,1)
78 yf(1:nptx,1) = yi(1:nptx,1)
87 ALLOCATE (yf(nptx,nfunc))
104 IF (yf(ipt,i) < yf(ipt-1,i))
THEN
105 yf(ipt,i) = yf(ipt-1,i)
113 IF (nptx > nptmax)
THEN
117 xs(1:nptm) = xf(1:nptm)
118 CALL vw_smooth(nptx,nptmax,xf,yf(1:nptx,1))
121 ys(1:nptm) = yf(1:nptm,i)
132 ALLOCATE (table%X(ndim) ,stat=stat)
133 ALLOCATE (table%X(1)%VALUES(nptx) ,stat
135 ALLOCATE (table%Y1D(nptx) ,stat=stat)
136 table%X(1)%VALUES(1:nptx) = xf(1:nptx)
137 table%Y1D(1:nptx) = yf(1:nptx,1)
139 ALLOCATE (table%X(2)%VALUES(nfunc) ,stat=stat)
140 ALLOCATE (table%Y2D(nptx,nfunc) ,stat=stat)
141 table%X(1)%VALUES(1:nptx) = xf(1:nptx)
142 table%X(2)%VALUES(1:nfunc) = rate(1:nfunc)
144 table%Y2D(1:nptx,i) = yf(1:nptx,i)
148 length(1:nfunc) = nptx