;------------------------------------------------------------ ;------------------------------------------------------------ ;------------------------------------------------------------ ;+ ; NAME:level2index ; ; PURPOSE: on veut ds une matrice 3d extraire un tableau 2d (x,y) dont ; chacun des elements a ete extrait a un niveau specifie par le ; tableau 2d level (typiquement, on veut obtenir la salinite le long ; d''une isopycne que l''on a reperee par son niveau). ; level2index est une fonction qui donne en fonction de level un ; tableau 2d d'indice qui permettra d''extraire le tableau 2d du ; tableau 3d... ; ; CATEGORY: SANS BOUCLE ; ; CALLING SEQUENCE: index=level2index(level) ; ; INPUTS:level: un tableau 2d de niveaux ; ; KEYWORD PARAMETERS: ; ; OUTPUTS: untableau 2d d''indices ; ; COMMON BLOCKS: ; ; SIDE EFFECTS: ; ; RESTRICTIONS: ; ; EXAMPLE: ; ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr) ; 24/11/1999 ;- ;------------------------------------------------------------ ;------------------------------------------------------------ ;------------------------------------------------------------ FUNCTION level2index, level ; un elements de tableau 3d (dont les 2 premieres dimensions sont nx et ; ny) dont les coordonnes sont i, j et k a pour indice ds le meme ; tableau 3d i + j*nx + k*(nx*ny) ; level etant donne, pour chaque points de level on connait i, j et k, ; on peut donc calculer l''indice. taille = size(level) nx = taille[1] ny = taille[2] ; tableau k*(nx*ny) tabknxny = (nx*ny)*long(level) ; ; return, lindgen(nx, ny)+tabknxny end