;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; FUNCTION SEC_ORD_LEAP_ADV, B_IC=B_IC,del_t,del_x,del_y,times ss=SIZE(B_IC.A0,/ DIMENSIONS) A_LF2=FLTARR(times, ss[0], ss[1]) C_u = FLTARR(ss[0],ss[1]) C_v = FLTARR(ss[0],ss[1]) for i = 0, ss[0]-1 do begin for j = 0, ss[1]-1 do begin C_u[i,j] = B_IC.UU[i,j]*(del_t/del_x) C_v[i,j] = B_IC.VV[i,j]*(del_t/del_y) endfor endfor A_LF2(0,*,*)= B_IC.A0(*,*) FOR t=0, times-2 DO BEGIN IF (t EQ 0) THEN BEGIN FU=FORWARD_UP_ADV(B_IC=B_IC,del_t,del_x,del_y,1) A_LF2(0,*,*)=FU(0,*,*) ENDIF FOR i=1, ss[0]-2 DO BEGIN FOR j=1, ss[1]-2 DO BEGIN ; A_LF2(t+1,i,j)= A_LF2(t,i,j)- ((B_IC.Cu(i,j)*(A_LF2(t,i+1,j)-A_LF2(t,i-1,j))) - ((B_IC.Cv(i,j))*(A_LF2(t,i,j+1)-A_LF2(t,i,j-1)))) A_LF2(t+1,i,j)= A_LF2(t,i,j)- ((C_u(i,j)*(A_LF2(t,i+1,j)-A_LF2(t,i-1,j))) - ((C_v(i,j))*(A_LF2(t,i,j+1)-A_LF2(t,i,j-1)))) ENDFOR ENDFOR ENDFOR PRINT,'>>>>>>>>>> Sec order leap frog done' RETURN, A_LF2 END ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;