ADAS Subroutine bbspln
subroutine bbspln( ndtem , ntmax , & nblock , maxt , & tin , tout , & rrcin , rrcout & ) C----------------------------------------------------------------------- C C ****************** fortran77 subroutine: bbspln ********************* C C purpose: C 1) performs cubic spline on log(temp) versus log(rad.rec.coeff.) C input data. ('tin' versus 'rrcin' , nblock data pairs) C C 2) interpolates 'maxt' rrcout values using above splines at C temperatures read in from adf08 file for tabular output. C C calling program: adas211 C C C subroutine: C C C input : (i*4) ndtem = maximum number of adf08 temperatures C input : (i*4) ntmax = maximum number of adf37 temperatures C input : (i*4) nblock = input data file: number of rrc/temperature C pairs read for the transition being assessed C input : (i*4) maxt = number of adf08 temperature values at C which interpolated rrc values are required C for tabular output. C input : (r*8) tin() = adf37 temperatures (kelvin) C input : (r*8) tout() = adf08 entered temperatures (kelvin) C input : (r*8) rrcin() = rrc values at 'tin()'. C C output: (r*8) rrcout()= spline interpolated rrc values at 'tout()' C C local : (i*4) nin = parameter = max. no. of input temp/rrc pairs C must be >= 'nv' C local : (i*4) nout = parameter = max. no. of output temp/rrc pairs C must be >= 'maxt' & 'npspl' C local : (i*4) iarr = array subscript used for temp/rrc pairs C local : (i*4) iopt = defines the boundary derivatives for the C spline routine 'xxspln', see 'xxspln'. C (valid values = <0, 0, 1, 2, 3, 4). C local : (l*4) lsetx = .true. => set up spline parameters relating C to 'xin' axis. C .false. => do not set up spline parameters C relating to 'xin' axis. C (they were set in a previous call) C (value set to .false. by 'xxsple') C local : (r*8) xin() = log( 'tin()' ) C local : (r*8) yin() = log( 'rrcin()' ) C local : (r*8) xout() = log(temperatures at which splines required) C local : (r*8) yout() = log(output spline interpolated rrc values) C local : (r*8) df() = spline interpolated derivatives C C C routines: C routine source brief description C ------------------------------------------------------------ C xxspln adas spline subroutine C r8fun1 adas real*8 function: ( x -> x ) C C author: Paul Bryans (University of Strathclyde) C C date: 01/12/04 C C----------------------------------------------------------------------- C C----------------------------------------------------------------------- INTEGER MAXT, NBLOCK, NDTEM, NTMAX REAL*8 RRCIN(NTMAX), RRCOUT(NDTEM) REAL*8 TIN(NTMAX), TOUT(NDTEM)