12 subroutine tpspline(x,inx,th,inth,ph,inph,fspl,inf4,inf5,
13 > wk,nwk,ilinx,ilinth,ilinph,ier)
16 integer inx,inth,inph,inf4,inf5,nwk
17 real x(inx),th(inth),ph(inph)
18 real fspl(4,4,4,inf4,inf5,inph),wk(nwk)
19 integer ilinx,ilinth,ilinph,ier
77 integer ierx,ierth,ierph
78 real zdumth(inth),zdumx(inx)
82 if(nwk.lt.5*max(inx,inth,inph))
then
83 write(6,
'('' ?tpspline: workspace too small.'')')
87 write(6,
'('' ?tpspline: at least 2 x points required.'')')
91 write(6,
'('' ?tpspline: need at least 2 theta points.'')')
95 write(6,
'('' ?tpspline: need at least 2 phi points.'')')
101 call splinck(x,inx,ilinx,1.0e-3,ierx)
105 write(6,
'('' ?tpspline: x axis not strict ascending'')')
110 call splinck(th,inth,ilinth,1.0e-3,ierth)
114 write(6,
'('' ?tpspline: theta axis not strict ascending'')')
119 call splinck(ph,inph,ilinph,1.0e-3,ierph)
123 write(6,
'('' ?tpspline: phi axis not strict ascending'')')
130 call tcspline(x,inx,th,inth,ph,inph,fspl,inf4,inf5,
131 > 7,zdumth,7,zdumth,inth,
132 > -1,zdumx,-1,zdumx,inx,
133 > -1,zdumx,-1,zdumx,inx,
134 > wk,nwk,ilinx,ilinth,ilinph,ier)