;+ ; ; @file_comments ; calculate fmask. Economize memory (we do not need to keep fmask anymore) ; ; @categories ; Grid ; ; @returns ; A 3d array corresponding to fmask. ; ; @examples ; Used like if fmask was a known array by substituting fmask by (fmask()) ; For example: Instead of write fmask[domainef] we have to write (fmask())[domainef] ; ; @history ; Sebastien Masson (smasson\@lodyc.jussieu.fr) ; 11/12/98 ; ; @version ; $Id$ ; ;- FUNCTION fmask ; 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)*shift(tmask, 0, -1)*shift(tmask, -1, -1) 3:res = tmask*shift(tmask, -1, 0, 0)*shift(tmask, 0, -1, 0)*shift(tmask, -1, -1, 0) ENDCASE ; if NOT keyword_set(key_periodic) then res[jpi-1, *, *] = fmaskredy res[*, jpj-1, *] = fmaskredx ; if keyword_set(key_performance) THEN print, 'temps fmask', systime(1)-tempsun return, res end