Index: trunk/SRC/ToBeReviewed/CALCULS/curl.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/curl.pro	(revision 134)
+++ trunk/SRC/ToBeReviewed/CALCULS/curl.pro	(revision 142)
@@ -3,48 +3,41 @@
 ;------------------------------------------------------------
 ;+
-; NAME:curl
-;
-; PURPOSE:calcule la composante verticale du rotationnel d''un champ
-; de vecteur horizontaux
-;
-; CATEGORY:calcule sur les matrices
-;
-; CALLING SEQUENCE:res=curl(u,v)
-;
-; INPUTS:
-;       u et v deux matrices representant les coordonnes d''un
-;       champ de vecteur
-;
-; KEYWORD PARAMETERS:
-;
-; OUTPUTS:res: une matrice 2d
-;
-; COMMON BLOCKS:
-;	common.pro
-;
-; SIDE EFFECTS:
-;
-; RESTRICTIONS:
-; les matrices u et v peuvent de 2 a 4 dimensions.
-; attention pour distinger les differents configurations de u et v
-; (xy, xyz, xyt, xyzt), on regarde la variable du common 
-;        -time qui contient le calendrier en jour julien d''IDL auquel
-;        se rapportent u et v ansi que la variable 
-;        -jpt qui est le nombre de pas de temps a considerer ds time.
-; les tableaux u et v sont decoupes sur le meme domaine
-; geographique. A cause du decalage des grilles T, U, V et F il est
-; possiible que ces 2 tableaux n''aient pas la meme taille et se
-; repportent a des indices differents. Si tel est le cas les tableaux
-; sont redecoupes sur les indices qu'ils ont en commun et le dommaine
-; est redefinit pour qu'il colle a ces indices communs.
-; pour eviter ces redecoupes utiliser le mot cles /memeindice ds
-; domdef.pro
-;
-;
-; les points sur le bord du dessin sont mis a !values.f_nan 
-;
-; EXAMPLE:
-;
-; MODIFICATION HISTORY:Guillaume Roullet (grlod@ipsl.jussieu.fr)
+;
+; @file_comments
+; Calculate the vertical component of the curl of a field of horizontal vectors
+;
+; @categories
+; Calculation on matrixes
+; 
+; @param UU
+; Matrix representing coordinates of a field of vectors
+;
+; @param VV 
+; Matrix representing coordinates of a field of vectors
+;
+; @returns RES
+; A 2d matrix
+;
+; @uses
+; common.pro
+;
+; @restrictions
+; U and V matrixes can be 2 or 4d.
+; Beware, to discern differents configuration of U and V (xy, xyz, xyt, xyzt), 
+; we look at the variable of the common 
+;        -time which contain the calendar in IDL julian days to which U and 
+; V refered to, in the same way as the variable 
+;        -jpt which is the number of time's step to consider in time.
+; U and V arrays ae cut in the same geographic domain. Because of the gap of 
+; T, U, V and F grids, it is possible that these two arrays hase not the same 
+; size and refered to different indexes. In this case, arrays are recut on 
+; common indexesand the domain is redifined to match with these common 
+; indexes. To avoid these recuts, use the keyword /memeindice in domdef.pro
+;
+;
+; Points on the drawing edge are at !values.f_nan 
+;
+; @history 
+; Guillaume Roullet (grlod@ipsl.jussieu.fr)
 ; 
 ;                      Sebastien Masson (smasson@lodyc.jussieu.fr)
@@ -53,4 +46,8 @@
 ;                      21/5/1999: valeurs manquantes a !values.f_nan
 ;periodicite 
+; 
+; @version
+; $Id$
+;
 ;-
 ;------------------------------------------------------------
@@ -62,5 +59,5 @@
 ;
 @common
-   tempsun = systime(1)         ; pour key_performance
+   tempsun = systime(1)         ; To key_performance
 ;
    IF finite(glamu[0])*finite(gphiu[0])*finite(glamv[0])*finite(gphiv[0]) EQ 0 THEN $
@@ -76,5 +73,5 @@
 
 ;------------------------------------------------------------
-; on trouve les points que u et v ont en communs
+; We find common points between U and V
 ;------------------------------------------------------------
    indicexu = (lindgen(jpi))[firstxu:firstxu+nxu-1]
@@ -95,5 +92,5 @@
          indice2d = indice2d[indicex[0]:indicex[0]+nx-1,indicey[0]:indicey[0]+ny-1]
 ;------------------------------------------------------------
-; extraction de u et v sur le domaine qui convient
+; extraction of U and V on the appropriated domain
 ;------------------------------------------------------------
          case 1 of
@@ -117,5 +114,5 @@
          endcase
 ;------------------------------------------------------------
-; calcul du rotationnel
+; calculation of the curl
 ;------------------------------------------------------------
          coefu = (e1u[indice2d])[*]#replicate(1, nzt)
@@ -142,5 +139,5 @@
          psi = tabf*psi
 ;------------------------------------------------------------
-; mise a !values.f_nan de la bordure
+; Edging put at !values.f_nan
 ;------------------------------------------------------------
          if NOT keyword_set(key_periodic)  OR nx NE jpi then begin
@@ -155,5 +152,5 @@
          if terref[0] NE -1 then psi[temporary(terref)] = valmask
 ;------------------------------------------------------------
-; pour le trace graphique
+; For the graphic drawing
 ;------------------------------------------------------------
          domdef, (glagmt[indice2d])[0, 0], (glamu[indice2d])[nx-1, 0],(gphit[indice2d])[0, 0], (gphiv[indice2d])[0, ny-1], vert1, vert2, gridtype = ['t', 'f']
@@ -171,5 +168,5 @@
          indice2d = indice2d[indicex[0]:indicex[0]+nx-1,indicey[0]:indicey[0]+ny-1]
 ;------------------------------------------------------------
-; extraction de u et v sur le domaine qui convient
+; extraction of U and V on the appropriated domain
 ;------------------------------------------------------------
          case 1 of
@@ -196,5 +193,5 @@
          endcase
 ;----------------------------------------------------------------------------
-; calcul du rotationnel
+; Calculation of the curl
 ;----------------------------------------------------------------------------
          coefu = e1u[indice2d]*(umask())[indice2d+jpi*jpj*firstzt]
@@ -214,5 +211,5 @@
          tabf = reform(tabf, nx, ny, jpt, /over)
 ;------------------------------------------------------------
-; calcul du rotationnel
+; Calculation of the curl
 ;------------------------------------------------------------
          zu = u*temporary(coefu)
@@ -222,5 +219,5 @@
          psi = tabf*psi
 ;------------------------------------------------------------
-; mise a !values.f_nan de la bordure
+; extraction of U and V on the appropriated domain
 ;------------------------------------------------------------
          if NOT keyword_set(key_periodic) OR nx NE jpi then begin
@@ -255,5 +252,4 @@
          indice2d = indice2d[indicex[0]:indicex[0]+nx-1,indicey[0]:indicey[0]+ny-1]
 ;------------------------------------------------------------
-; extraction de u et v sur le domaine qui convient
 ;------------------------------------------------------------
          case 1 of
@@ -278,5 +274,5 @@
          endcase
 ;------------------------------------------------------------
-; calcul du rotationnel
+; Calculation of the curl
 ;------------------------------------------------------------
          coefu = e1u[indice2d]*(umask())[indice2d+jpi*jpj*firstzt]
@@ -295,5 +291,5 @@
 
 ;------------------------------------------------------------
-; mise a !values.f_nan de la bordure
+; Edging put at !values.f_nan
 ;------------------------------------------------------------
          if  NOT keyword_set(key_periodic) OR nx NE jpi then begin
@@ -308,5 +304,5 @@
          if terref[0] NE -1 then psi[temporary(terref)] = valmask
 ;------------------------------------------------------------
-; pour le trace graphique
+; for the graphic drawing
 ;------------------------------------------------------------
          domdef, (glamt[indice2d])[0, 0], (glamf[indice2d])[nx-1, 0],(gphit[indice2d])[0, 0], (gphif[indice2d])[0, ny-1], vert1, vert2, gridtype = ['t', 'f']
