; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ; ; interpollation of a continue variable to have same time resolution ; than time_scm ; ; P. Robert, CETP, January 2007 ; ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PRO scm_continue_interpol, time_con, valcon, time_scm, valcon_int ; we do nothing if the two time arrays are identical idiff=diff_2arrays1D(time_con,time_scm,average,sigma) IF (idiff EQ 0 ) THEN RETURN ncon=N_ELEMENTS(time_con) nscm=N_ELEMENTS(time_scm) valcon_int=FLTARR(nscm) ; interpolation between the two closest times FOR i=0L,nscm-1L DO BEGIN j=-1L condition=1 ; look for the 2 closest time in time_con WHILE condition DO BEGIN j=j+1 IF(j LE ncon-2) THEN BEGIN condition=NOT(time_scm(i) GE time_con(j) $ AND time_scm(i) LE time_con(j+1)) ENDIF ELSE BEGIN PRINT, '*** scm_rate_interpol: error j+1=',j+1, $ ' > ndmax=',ncon-1 PRINT, '*** Nothing is done...' RETURN ENDELSE ENDWHILE ; computation of the interpolated value pc=(time_scm(i)-time_con(j))/(time_con(j+1)-time_con(j)) valcon_int(i)= valcon(j) +(valcon(j+1)-valcon(j))*pc ; IF (i LE 30) THEN BEGIN ; print, 't_scm=',time_scm(i),' j=',j,' t_head=',time_con(j), $ ; ' t_head2=',time_con(j+1), $ ; ' inter=',valcon_int(i), $ ; FORMAT='(a,f9.6,a,i2,a,f9.6,a,f9.6,a,f9.6) ; ENDIF ENDFOR END ; XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX