;------------------------------------------------------------ ;------------------------------------------------------------ ;------------------------------------------------------------ ;+ ; NAME:fmask ; ; PURPOSE:calcule fmask ; ; CATEGORY:fonction economisatrice de memoire (plus besion de garder ; fmask) ; ; CALLING SEQUENCE:res=fmask() ; ; OUTPUTS:un tableau 3d correspondant a fmask ; ; EXAMPLE:s''utilise comme si fmask etait un tableau connu en ; replacant ds la syntaxe fmask par (fmask()). par ex: ; au lieu de taper fmask[domainef] il faut taper (fmask())[domainef] ; ; MODIFICATION HISTORY: Sebastien Masson (smasson@lodyc.jussieu.fr) ; 11/12/98 ;- ;------------------------------------------------------------ ;------------------------------------------------------------ ;------------------------------------------------------------ FUNCTION fmask ;--------------------------------------------------------- ; compile_opt idl2, strictarrsubs ; @cm_4mesh IF NOT keyword_set(key_forgetold) THEN BEGIN @updatenew ENDIF ;--------------------------------------------------------- tempsun = systime(1) ; pour 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