Ignore:
Timestamp:
01/19/11 13:03:43 (13 years ago)
Author:
smasson
Message:

improve the implementation of the partial steps + bugfix in bsf

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SRC/Computation/bsf.pro

    r388 r445  
    8181  un = fitintobox(temporary(un)) 
    8282; 
    83   IF keyword_set(key_partialstep) THEN BEGIN 
    84 ; 2D e3u at the bottom of the ocean 
    85 ; see zgr_zps: e3u (ji,jj,jk) = MIN( e3t(ji,jj,jk), e3t(ji+1,jj,jk)) 
    86     e3u_ps = [[[e3t_ps[firstx:lastx, firsty:lasty]]], [[shift(e3t_ps[firstx:lastx, firsty:lasty], -1, 0)]]] 
    87     e3u_ps = min(temporary(e3u_ps), dimension = 3) 
    88     flagdata = NOT (keyword_set(key_periodic) AND nx EQ jpi) AND total(umsk[nx-1, *, *]) NE 0 
    89 ; level of the bottom of the ocean 
    90     bottom = total(tmask[firstx:lastx, firsty:lasty, firstz:lastz], 3) 
    91     bottom = 0L > ( long(temporary(bottom)) - 1L ) 
    92 ; the bottom of the ocean in 3D index is: 
    93     bottom = lindgen(nx*ny) + temporary(bottom)*nx*ny 
    94 ; 3D e3t array 
    95     e33 = replicate(1., nx*ny) # e3t[firstz:lastz] 
    96 ; apply e3u_ps to e33 at the bottom of the ocean 
    97     e33[temporary(bottom)] = e3u_ps 
    98 ; 3D e2u array 
    99     e23d = (e2u[firstx:lastx, firsty:lasty])[*] # replicate(1., nzt) 
    100 ; e2u*e3u 
    101     e23 = temporary(e23d) * temporary(e33)  
    102   ENDIF ELSE BEGIN  
    103     e23 = (e2u[firstx:lastx, firsty:lasty])[*] # e3t[firstz:lastz] 
    104   ENDELSE 
     83  e23 = e3u_3d(/e2) 
    10584; 
    10685; mask the array 
Note: See TracChangeset for help on using the changeset viewer.