;+ ; ; @file_comments ; calculate umask. Economize memory (we do not need to keep umask anymore) ; ; @categories ; Grid ; ; @returns ; A 3d array corresponding to umask. ; ; @uses ; common ; ; @examples ; Used like if umask was a known array by substituting umask by (umask()) ; For example: Instead of write umask[domainef] we have to write (umask())[domainef] ; ; @history ; Sebastien Masson (smasson\@lodyc.jussieu.fr) ; 11/12/98 ; ??/6/99 introduction of the key_shift ; 20/9/99 cas jpk=1 (Thanks to jpblod\@ipsl.jussieu.fr) ; ; @version ; $Id$ ; ;- FUNCTION umask ; compile_opt idl2, strictarrsubs ; @cm_4mesh IF NOT keyword_set(key_forgetold) THEN BEGIN @updatenew ENDIF ;--------------------------------------------------------- tempsun = systime(1) ; For key_performance ; CASE size(tmask, /n_dimensions) OF 2:res = tmask*shift(tmask, -1, 0) 3:res = tmask*shift(tmask, -1, 0, 0) ENDCASE ; if NOT keyword_set(key_periodic) then res[jpi-1, *, *] = umaskred if keyword_set(key_performance) THEN print, 'temps umask', systime(1)-tempsun ; return, res end