Index: trunk/SRC/Interpolation/angle.pro
===================================================================
--- trunk/SRC/Interpolation/angle.pro	(revision 114)
+++ trunk/SRC/Interpolation/angle.pro	(revision 118)
@@ -3,5 +3,9 @@
 ; @file_comments north stereographic polar projection
 ;
-; @keyword    /DOUBLE use double precision (default is float)
+; @param plam {in}{required}
+;
+; @param pphi {in}{required} 
+;
+; @keyword /DOUBLE use double precision (default is float)
 ;
 ; @returns
@@ -26,4 +30,7 @@
 ;                   98-06 (G. Madec)
 ;       Feb 2005: IDL adaptation S. Masson 
+;
+; @version $Id$
+;
 ;-
 ;---------
@@ -54,6 +61,12 @@
 ;        glamf, gphif: longitudes and latitudes at F-points
 ;
+; @param gcosu {in}{required}
+; @param gsinu {in}{required}
+; @param gcosv {in}{required}
+; @param gsinv {in}{required}
+; @param gcost {in}{required}
+; @param gsint {in}{required}
 ; @keyword IODIRECTORY the directory path where is located fileocemesh
-; @keyword    /DOUBLE use double precision (default is float)
+; @keyword /DOUBLE use double precision (default is float)
 ;-
 ;---------
Index: trunk/SRC/Interpolation/clickincell.pro
===================================================================
--- trunk/SRC/Interpolation/clickincell.pro	(revision 114)
+++ trunk/SRC/Interpolation/clickincell.pro	(revision 118)
@@ -44,4 +44,7 @@
 ;      Sebastien Masson (smasson\@lodyc.jussieu.fr)
 ;      August 2003
+;
+; @version $Id$
+;
 ;
 ;-
Index: trunk/SRC/Interpolation/compute_fromirr_bilinear_weigaddr.pro
===================================================================
--- trunk/SRC/Interpolation/compute_fromirr_bilinear_weigaddr.pro	(revision 114)
+++ trunk/SRC/Interpolation/compute_fromirr_bilinear_weigaddr.pro	(revision 118)
@@ -6,16 +6,17 @@
 ; @categories interpolation
 ;
-;     @param olonin {in}{required} longitudeof the input data 
-;     @param olat   {in}{required} latitude of the input data 
-;     @param omsk   {in}{required} land/se mask of the input data 
-;     @param alonin {in}{required} longitude of the output data 
-;     @param alat   {in}{required} latitude of the output data 
-;     @param amsk   {in}{required} land/se mask of the output data 
-;
-; @returns 
-;     weig, addr: 2D arrays, weig and addr are the weight and addresses used to
-;     perform the interpolation:
-;          dataout = total(weig*datain[addr], 1)
-;          dataout = reform(dataout, jpia, jpja, /over)
+; @param olonin {in}{required} longitudeof the input data 
+; @param olat   {in}{required} latitude of the input data 
+; @param omsk   {in}{required} land/se mask of the input data 
+; @param alonin {in}{required} longitude of the output data 
+; @param alat   {in}{required} latitude of the output data 
+; @param amsk   {in}{required} land/sea mask of the output data 
+;
+; @param weig {out}
+; @param addr {out}
+; 2D arrays, weig and addr are the weight and addresses used to
+; perform the interpolation:
+;  dataout = total(weig*datain[addr], 1)
+;  dataout = reform(dataout, jpia, jpja, /over)
 ;
 ; @restrictions
@@ -34,4 +35,7 @@
 ;  June 2006: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
 ; 
+;
+; @version $Id$
+;
 ;-
 ;
Index: trunk/SRC/Interpolation/compute_fromreg_bilinear_weigaddr.pro
===================================================================
--- trunk/SRC/Interpolation/compute_fromreg_bilinear_weigaddr.pro	(revision 114)
+++ trunk/SRC/Interpolation/compute_fromreg_bilinear_weigaddr.pro	(revision 118)
@@ -5,8 +5,8 @@
 ; @categories interpolation
 ;
-;     @param alonin {in}{required} longitudeof the input data 
-;     @param alatin  {in}{required} latitude of the input data 
-;     @param olonin {in}{required} longitude of the output data 
-;     @param olat  {in}{required} latitude of the output data 
+; @param alonin {in}{required} longitudeof the input data 
+; @param alatin  {in}{required} latitude of the input data 
+; @param olonin {in}{required} longitude of the output data 
+; @param olat  {in}{required} latitude of the output data 
 ;
 ; @keyword     /NONORTHERNLINE activate if you don't whant to take into
@@ -16,9 +16,10 @@
 ;          interpolation.
 ;
-; @returns 
-;     weig, addr: 2D arrays, weig and addr are the weight and addresses used to
-;     perform the interpolation:
-;          dataout = total(weig*datain[addr], 1)
-;          dataout = reform(dataout, jpio, jpjo, /over)
+; @param weig {out}
+; @param addr {out}
+; 2D arrays, weig and addr are the weight and addresses used to
+; perform the interpolation:
+;  dataout = total(weig*datain[addr], 1)
+;  dataout = reform(dataout, jpio, jpjo, /over)
 ;
 ; @restrictions
@@ -34,4 +35,6 @@
 ;  November 2005: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
 ; 
+; @version $Id$
+;
 ;-
 ;
Index: trunk/SRC/Interpolation/compute_fromreg_imoms3_weigaddr.pro
===================================================================
--- trunk/SRC/Interpolation/compute_fromreg_imoms3_weigaddr.pro	(revision 114)
+++ trunk/SRC/Interpolation/compute_fromreg_imoms3_weigaddr.pro	(revision 118)
@@ -6,18 +6,20 @@
 ; @categories interpolation
 ;
-;     @param alonin {in}{required} longitude of the input data 
-;     @param alatin  {in}{required} latitude of the input data 
-;     @param olonin {in}{required} longitude of the output data 
-;     @param olat {in}{required} latitude of the output data 
-;
-; @keyword /NONORTHERNLINE and /NOSOUTHERNLINE activate if you don't whant to take into
-;          account the northen/southern line of the input data when perfoming the
-;          interpolation.
-;
-; @returns 
-;     weig, addr: 2D arrays, weig and addr are the weight and addresses used to
-;     perform the interpolation:
-;          dataout = total(weig*datain[addr], 1)
-;          dataout = reform(dataout, jpio, jpjo, /over)
+; @param alonin {in}{required} longitude of the input data 
+; @param alatin  {in}{required} latitude of the input data 
+; @param olonin {in}{required} longitude of the output data 
+; @param olat {in}{required} latitude of the output data 
+;
+; @keyword /NONORTHERNLINE 
+; @keyword /NOSOUTHERNLINE 
+; activate if you don't whant to take into account the northen/southern line 
+; of the input data when perfoming the interpolation.
+;
+; @param weig {out}
+; @param addr {out}
+; 2D arrays, weig and addr are the weight and addresses used to
+; perform the interpolation:
+;  dataout = total(weig*datain[addr], 1)
+;  dataout = reform(dataout, jpio, jpjo, /over)
 ;
 ; @restrictions
@@ -36,4 +38,7 @@
 ;  November 2005: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
 ;  March 2006: works for rectangular grids
+;
+; @version $Id$
+;
 ;-
 ;
Index: trunk/SRC/Interpolation/cutpar.pro
===================================================================
--- trunk/SRC/Interpolation/cutpar.pro	(revision 114)
+++ trunk/SRC/Interpolation/cutpar.pro	(revision 118)
@@ -8,19 +8,28 @@
 ; res = cutpar(x0, y0, x1, y1, x2, y2, x3, y3, n)
 ;
-;       @param x0,y0  {in}{required} 1d arrays of p elements, giving the edge positions. The
+; @param x0 {in}{required}
+; @param y0 {in}{required} 
+; @param x1 {in}{required}
+; @param y1 {in}{required} 
+; @param x2 {in}{required}
+; @param y2 {in}{required} 
+; @param x3 {in}{required}
+; @param y3 {in}{required} 
+; 1d arrays of p elements, giving the edge positions. The
 ;       edges must be given as in plot to traw the parallelogram. (see
 ;       example).
-;       @param n {in}{required} each parallelogram will be cutted in n^2 pieces
 ;
-; @keyword         /endpoints see outputs
+; @param n {in}{required} each parallelogram will be cutted in n^2 pieces
 ;
-; @keyword         /onsphere to specify that the points are located on a
+; @keyword /endpoints see outputs
+;
+; @keyword /onsphere to specify that the points are located on a
 ;         sphere. In this case, x and y corresponds to longitude and
 ;         latitude in degrees.
 ;
 ; @returns
-;        -defaut: 3d array(2,n^2,p) giving the center position of each
+;        - defaut: 3d array(2,n^2,p) giving the center position of each
 ;        piece of the parallelograms
-;        -/endpoints: 3d array(2,(n+1)^2,p) giving the edge positions
+;        - /endpoints: 3d array(2,(n+1)^2,p) giving the edge positions
 ;        of each piece of the parallelograms
 ;
@@ -29,21 +38,24 @@
 ; @examples 
 ;
-; x0 = [2,6,2]
-; y0 = [0,2,6]
-; x1 = [3,8,4]
-; y1 = [4,4,6]
-; x2 = [1,6,4]
-; y2 = [5,6,8]
-; x3 = [0,4,2]
-; y3 = [1,4,8]
-; n = 4
-; splot, [0,10], [0,10], xstyle = 1, ystyle = 1,/nodata
-; for i=0,2 do oplot, [x0[i],x1[i],x2[i],x3[i],x0[i]],[y0[i],y1[i],y2[i],y3[i],y0[i]]
-; res=cutpar(x0, y0, x1, y1, x2, y2, x3, y3, n)
-; for i=0,2 do oplot, [res[0,*,i]], [res[1,*,i]], color = 20+10*i, psym = 1, thick = 3
+; IDL> x0 = [2,6,2]
+; IDL> y0 = [0,2,6]
+; IDL> x1 = [3,8,4]
+; IDL> y1 = [4,4,6]
+; IDL> x2 = [1,6,4]
+; IDL> y2 = [5,6,8]
+; IDL> x3 = [0,4,2]
+; IDL> y3 = [1,4,8]
+; IDL> n = 4
+; IDL> splot, [0,10], [0,10], xstyle = 1, ystyle = 1,/nodata
+; IDL> for i=0,2 do oplot, [x0[i],x1[i],x2[i],x3[i],x0[i]],[y0[i],y1[i],y2[i],y3[i],y0[i]]
+; IDL> res=cutpar(x0, y0, x1, y1, x2, y2, x3, y3, n)
+; IDL> for i=0,2 do oplot, [res[0,*,i]], [res[1,*,i]], color = 20+10*i, psym = 1, thick = 3
 ;
 ; @history
 ;           S. Masson (smasson\@lodyc.jussieu.fr)
 ;           July 5th, 2002
+;
+; @version $Id$
+;
 ;-
 FUNCTION cutpar, x0, y0, x1, y1, x2, y2, x3, y3, n, endpoints = endpoints, onsphere = onsphere
Index: trunk/SRC/Interpolation/cutsegment.pro
===================================================================
--- trunk/SRC/Interpolation/cutsegment.pro	(revision 114)
+++ trunk/SRC/Interpolation/cutsegment.pro	(revision 118)
@@ -8,12 +8,15 @@
 ; res = cutsegment(x0, y0, x1, y1, n)
 ;
-;         @param x0,y0 and x1,y1  {in}{required}  1d arrays of p elements, the coordinates of
-;         the endpoints of the p segmements
-;         @param  n {in}{required}  the number of pieces we want to cut each segment
+; @param x0 {in}{required}
+; @param y0 {in}{required}
+; @param x1 {in}{required}
+; @param y1 {in}{required}
+; 1d arrays of p elements, the coordinates of the endpoints of the p segments
 ;
+; @param n {in}{required} the number of pieces we want to cut each segment
 ;
-; @keyword         /endpoints see ouputs
+; @keyword /endpoints see ouputs
 ;
-; @keyword         /onsphere to specify that the points are located on a
+; @keyword /onsphere to specify that the points are located on a
 ;         sphere. In this case, x and y corresponds to longitude and
 ;         latitude in degrees.
@@ -41,4 +44,7 @@
 ;           S. Masson (smasson\@lodyc.jussieu.fr)
 ;           July 5th, 2002
+;
+; @version $Id$
+;
 ;-
 FUNCTION cutsegment, x0, y0, x1, y1, n, endpoints = endpoints, onsphere = onsphere
Index: trunk/SRC/Interpolation/extrapolate.pro
===================================================================
--- trunk/SRC/Interpolation/extrapolate.pro	(revision 114)
+++ trunk/SRC/Interpolation/extrapolate.pro	(revision 118)
@@ -1,5 +1,19 @@
 ;+
-; @file_comments extrapolate data (zinput) where maskinput eq 0 by filling step by
-; step the coastline points with the mean value of the 8 neighbourgs.
+; @file_comments extrapolate data (zinput) where maskinput eq 0 by filling 
+; step by step the coastline points with the mean value of the 8 neighbourgs.
+;
+; @param zinput {in}{required}
+; data to be extrapolate
+;
+; @param maskinput {in}{required}
+;
+; @param nb_iteration {in}{optional}
+; number of iteration
+;
+; @keyword x_periodic
+; @keyword MINVAL
+; @keyword MAXVAL
+;
+; @version $Id$
 ;
 ;-
Index: trunk/SRC/Interpolation/fromirr.pro
===================================================================
--- trunk/SRC/Interpolation/fromirr.pro	(revision 114)
+++ trunk/SRC/Interpolation/fromirr.pro	(revision 118)
@@ -37,16 +37,18 @@
 ; @examples
 ;  
-;  tncep = fromirr('bilinear', topa, glamt, gphit, tmask[*,*,0], lonout, latout, mskout)
+; IDL> tncep = fromirr('bilinear', topa, glamt, gphit, tmask[*,*,0], lonout, latout, mskout)
 ;
 ;  or 
 ;
-;  t1ncep = fromirr('bilinear', topa, glamt, gphit, tmask[*,*,0], lonout, latout, mskout $
+; IDL> t1ncep = fromirr('bilinear', topa, glamt, gphit, tmask[*,*,0], lonout, latout, mskout $
 ;                            , WEIG = a, ADDR = b)
-;  help, a, b
-;  t2ncep = fromirr('bilinear', topa, WEIG = a, ADDR = b)
+; IDL> help, a, b
+; IDL> t2ncep = fromirr('bilinear', topa, WEIG = a, ADDR = b)
 ;
 ; @history
 ;  June 2006: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
 ; 
+; @version $Id$
+;
 ;-
 ;----------------------------------------------------------
Index: trunk/SRC/Interpolation/fromreg.pro
===================================================================
--- trunk/SRC/Interpolation/fromreg.pro	(revision 114)
+++ trunk/SRC/Interpolation/fromreg.pro	(revision 118)
@@ -11,14 +11,14 @@
 ; dataout = fromreg(method, datain [, lonin, latin, lonout, latout])
 ;
-;    @param method {in}{required}  a string defining the interpolation method. 
+; @param method {in}{required}  a string defining the interpolation method. 
 ;            must be 'bilinear' or 'imoms3'
-;    @param datain {in}{required}  a 2D array the input data to interpolate
-;    @param lonin {in}{required}  1D or 2D array defining the longitude of the input data
-;    @param latin {in}{required}  1D or 2D array defining the latitude of the input data
-;    @param lonout {in}{required}  1D or 2D array defining the longitude of the output data
-;    @param lonout {in}{required}  1D or 2D array defining the latitude of the output data
+; @param datain {in}{required}  a 2D array the input data to interpolate
+; @param lonin {in}{required}  1D or 2D array defining the longitude of the input data
+; @param latin {in}{required}  1D or 2D array defining the latitude of the input data
+; @param lonout {in}{required}  1D or 2D array defining the longitude of the output data
+; @param latout {in}{required}  1D or 2D array defining the latitude of the output data
 ;
-; @keyword     WEIG (see ADDR)
-; @keyword     ADDR 2D arrays, weig and addr are the weight and addresses used to
+; @keyword WEIG (see ADDR)
+; @keyword ADDR 2D arrays, weig and addr are the weight and addresses used to
 ;     perform the interpolation:
 ;          dataout = total(weig*datain[addr], 1)
@@ -29,7 +29,8 @@
 ;     case, lonin, latin, lonout and latout are not necessary.
 ;
-; @keyword     /NONORTHERNLINE and /NOSOUTHERNLINE activate if you don't whant to take into
-;          account the northen/southern line of the input data when perfoming the
-;          interpolation.
+; @keyword /NONORTHERNLINE 
+; @keyword /NOSOUTHERNLINE 
+; activate if you don't whant to take into account the northen/southern line 
+; of the input data when perfoming the interpolation.
 ;
 ; @returns 2D array: the interpolated data
@@ -40,15 +41,17 @@
 ; @examples  
 ;  
-;  topa = fromreg('bilinear', tncep, xncep, yncep, glamt, gphit)
+;  IDL> topa = fromreg('bilinear', tncep, xncep, yncep, glamt, gphit)
 ;
 ;  or 
 ;
-;  t1opa = fromreg('bilinear', t1ncep, xncep, yncep, glamt, gphit, WEIG = a, ADDR = b)
-;  help, a, b
-;  t2opa = fromreg('bilinear', t2ncep, xncep, WEIG = a, ADDR = b)
+;  IDL> t1opa = fromreg('bilinear', t1ncep, xncep, yncep, glamt, gphit, WEIG = a, ADDR = b)
+;  IDL> help, a, b
+;  IDL> t2opa = fromreg('bilinear', t2ncep, xncep, WEIG = a, ADDR = b)
 ;
 ; @history
 ;  November 2005: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
-; 
+;
+; @version $Id$
+;
 ;-
 ;----------------------------------------------------------
Index: trunk/SRC/Interpolation/get_gridparams.pro
===================================================================
--- trunk/SRC/Interpolation/get_gridparams.pro	(revision 114)
+++ trunk/SRC/Interpolation/get_gridparams.pro	(revision 118)
@@ -1,57 +1,61 @@
 ;+
 ;
-; @file_comments 
+; @file_comments
 ;   1) extract from a NetCDF file the longitude, latidude, and their dimensions
-;      and make sure it is 1D or 2D arrays 
-;   
-;   or 2) given longitude and latitude arrays get their dimensions and make sure 
-;      they are 1D or 2D arrays 
+;      and make sure it is 1D or 2D arrays
+;
+;   or 2) given longitude and latitude arrays get their dimensions and make
+;  sure they are 1D or 2D arrays
 ;
 ; @categories interpolation
 ;
-; @examples 
-; 
+; @examples
+;
 ; 1) get_gridparams, file, lonname, latname, lon, lat, jpi, jpj, n_dimensions
 ;
-; or 
+; or
 ;
 ; 2) get_gridparams, lon, lat, jpi, jpj, n_dimensions
 ;
-; 1) 
-; @param in1 {in}{required}  the name of the netcdf file
-;  @param in2 {in}{required}  the name of the variable that contains the longitude in the NetCDF file
-;  @param in3 {in}{required}  the name of the variable that contains the latitude in the NetCDF file
-;  @param in4  {out} the number of points in the longitudinal direction
-;  @param in5  {out} the number of points in the latitudinal direction
+; 1)
+; @param in1 {in}{required} the name of the netcdf file
+; @param in2 {in}{required} the name of the variable that contains the longitude in the NetCDF file
+; @param in3 {in}{required} the name of the variable that contains the latitude in the NetCDF file
+; @param in4 {out} the number of points in the longitudinal direction
+; @param in5 {out} the number of points in the latitudinal direction
 ; @param in6 {out} the variable that will contain the longitudes
-;  @param in7  {out} the variable that will contain the latitudes
-;  @param in8 {out} 1 or 2 to specify if lon and lat should be 1D (jpi or jpj)
-;
-; or 
-;
-; 2) 
-; @param in1 {in}{required}  1d or 2D arrays defining longitudes and latitudes. 
-; @param in2 {in}{required}  1d or 2D arrays defining longitudes and latitudes. 
-;    Note that these arrays are also outputs and can therefore be modified. 
+; @param in7 {out} the variable that will contain the latitudes
+; @param in8 {out} 1 or 2 to specify if lon and lat should be 1D (jpi or jpj)
+;
+; or
+;
+; 2)
+; @param in1 {in}{required} 1d or 2D arrays defining longitudes and latitudes.
+; @param in2 {in}{required} 1d or 2D arrays defining longitudes and latitudes.
+;    Note that these arrays are also outputs and can therefore be modified.
 
 ; @param in1 {out} the variable that will contain the longitudes
-;  @param in2  {out} the variable that will contain the latitudes
-;  @param in3  {in} the number of points in the longitudinal direction
-;  @param in4  {in} the number of points in the latitudinal direction
-;  @param in5 {in} 1 or 2 to specify if lon and lat should be 1D (jpi or jpj)
+; @param in2 {out} the variable that will contain the latitudes
+; @param in3 {in} the number of points in the longitudinal direction
+; @param in4 {in} the number of points in the latitudinal direction
+; @param in5 {in} 1 or 2 to specify if lon and lat should be 1D (jpi or jpj)
 ;    arrays or 2D arrays (jpi,jpj). Note that of  n_dimensions = 1, then the
 ;    grid must be regular (each longitudes must be the same for all latitudes
-;    and each latitudes should be the sae for all longitudes). 
-;
-; @examples  
-; 
-; 1) ncdf_get_gridparams, 'coordinates_ORCA_R05.nc', 'glamt', 'gphit' $
+;    and each latitudes should be the sae for all longitudes).
+;
+; @keyword /DOUBLE use double precision to perform the computation
+;
+; @examples
+;
+; 1) IDL> ncdf_get_gridparams, 'coordinates_ORCA_R05.nc', 'glamt', 'gphit' $
 ;            , olon, olat, jpio, jpjo, 2
 ;
-; 2) ncdf_get_gridparams, olon, olat, jpio, jpjo, 2
+; 2) IDL> ncdf_get_gridparams, olon, olat, jpio, jpjo, 2
 ;
 ; @history
-;  November 2005: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
-; 
+;  November 2005: Sebastien Masson (smasson\@lodyc.jussieu.fr)
+;
+; @version $Id$
+;
 ;-
 ;
@@ -59,5 +63,4 @@
 ;----------------------------------------------------------
 ;
-
 PRO get_gridparams, in1,   in2,   in3,     in4, in5, in6, in7, in8, DOUBLE = double
 ;                  file, lonname, latname, lon, lat, jpi, jpj, n_dimensions
@@ -70,5 +73,5 @@
     8:BEGIN
 ; get longitude and latitude
-      IF file_test(in1) EQ 0 THEN BEGIN 
+      IF file_test(in1) EQ 0 THEN BEGIN
         print, 'file ' + in1 + ' does not exist'
         stop
@@ -77,13 +80,13 @@
       ncdf_varget, cdfido, in2, lon
       ncdf_varget, cdfido, in3, lat
-      ncdf_close, cdfido 
+      ncdf_close, cdfido
       n_dimensions = in8
     END
-    5:BEGIN 
+    5:BEGIN
       lon = temporary(in1)
       lat = temporary(in2)
       n_dimensions = in5
     END
-    ELSE:BEGIN 
+    ELSE:BEGIN
       print, 'Bad nimber of input parameters'
       stop
@@ -93,14 +96,14 @@
   sizelon = size(lon)
   sizelat = size(lat)
-  CASE 1 OF 
+  CASE 1 OF
 ;-------
 ; lon and lat are 1D arrays
 ;-------
-    sizelon[0] EQ 1 AND sizelat[0] EQ 1:BEGIN 
+    sizelon[0] EQ 1 AND sizelat[0] EQ 1:BEGIN
 ; get jpi and jpj
       jpi = sizelon[1]
       jpj = sizelat[1]
 ; make sure that lon and lat have the good number of dimensions
-      CASE n_dimensions OF 
+      CASE n_dimensions OF
         1:
         2:BEGIN
@@ -115,5 +118,5 @@
 ; lon is 2D array and lat is 1D array
 ;-------
-    sizelon[0] EQ 2 AND sizelat[0] EQ 1:BEGIN 
+    sizelon[0] EQ 2 AND sizelat[0] EQ 1:BEGIN
 ; get jpi and jpj
       jpi = sizelon[1]
@@ -121,7 +124,7 @@
       IF jpj NE n_elements(lat) THEN stop
 ; make sure that lon and lat have the good number of dimensions
-      CASE n_dimensions OF 
-        1:BEGIN 
-          IF array_equal(lon, lon[*, 0] # replicate(1, jpj)) NE 1 THEN BEGIN 
+      CASE n_dimensions OF
+        1:BEGIN
+          IF array_equal(lon, lon[*, 0] # replicate(1, jpj)) NE 1 THEN BEGIN
             print, 'Longitudes are not the same for all latitudes, imposible to extract a 1D array of the longitudes'
             stop
@@ -136,5 +139,5 @@
 ; lon is 1D array and lat is 2D array
 ;-------
-    sizelon[0] EQ 1 AND sizelat[0] EQ 2:BEGIN 
+    sizelon[0] EQ 1 AND sizelat[0] EQ 2:BEGIN
 ; get jpi and jpj
       jpi = sizelat[1]
@@ -142,7 +145,7 @@
       IF jpi NE n_elements(lon) THEN stop
 ; make sure that lon and lat have the good number of dimensions
-      CASE n_dimensions OF 
-        1:BEGIN 
-          IF array_equal(lat, replicate(1, jpi) # lat[0, *]) NE 1 THEN BEGIN 
+      CASE n_dimensions OF
+        1:BEGIN
+          IF array_equal(lat, replicate(1, jpi) # lat[0, *]) NE 1 THEN BEGIN
             print, 'Latitudes are not the same for all longitudes, imposible to extract a 1D array of the latitudes'
             stop
@@ -157,18 +160,18 @@
 ; lon and lat are 2D arrays
 ;-------
-    sizelon[0] EQ 2 AND sizelat[0] EQ 2:BEGIN 
+    sizelon[0] EQ 2 AND sizelat[0] EQ 2:BEGIN
 ; get jpi and jpj
       IF array_equal(sizelon[1:2], sizelat[1:2]) NE 1 THEN stop
       jpi = sizelon[1]
-      jpj = sizelon[2]      
-; make sure that lon and lat have the good number of dimensions
-      CASE n_dimensions OF 
-        1:BEGIN 
-          IF array_equal(lon, lon[*, 0] # replicate(1, jpj)) NE 1 THEN BEGIN 
+      jpj = sizelon[2]
+; make sure that lon and lat have the good number of dimensions
+      CASE n_dimensions OF
+        1:BEGIN
+          IF array_equal(lon, lon[*, 0] # replicate(1, jpj)) NE 1 THEN BEGIN
             print, 'Longitudes are not the same for all latitudes, imposible to extract a 1D array of the longitudes'
             stop
           ENDIF
           lon = lon[*, 0]
-          IF array_equal(lat, replicate(1, jpi) # reform(lat[0, *])) NE 1 THEN BEGIN 
+          IF array_equal(lat, replicate(1, jpi) # reform(lat[0, *])) NE 1 THEN BEGIN
             print, 'Latitudes are not the same for all longitudes, imposible to extract a 1D array of the latitudes'
             stop
@@ -189,5 +192,5 @@
 ; double keyword
 ;-------
-  if keyword_set(double) then BEGIN 
+  if keyword_set(double) then BEGIN
     lon = double(temporary(lon))
     lat = double(temporary(lat))
Index: trunk/SRC/Interpolation/imoms3.pro
===================================================================
--- trunk/SRC/Interpolation/imoms3.pro	(revision 114)
+++ trunk/SRC/Interpolation/imoms3.pro	(revision 118)
@@ -1,4 +1,9 @@
 ;+
 ; 
+; 
+; @param xin {in}{required}
+;
+; @version $Id$
+;
 ;-
 FUNCTION imoms3, xin
Index: trunk/SRC/Interpolation/inquad.pro
===================================================================
--- trunk/SRC/Interpolation/inquad.pro	(revision 114)
+++ trunk/SRC/Interpolation/inquad.pro	(revision 118)
@@ -5,18 +5,25 @@
 ;
 ; @examples 
-;
-;     res = inquad(x, y, x1, y1, x2, y2, x3, y3, x4, y4)
-;
-;     @param x y {in}{required}  the coordinates of the point we want to know where it
-;     is. Must be a scalar if /onsphere activated else can be scalar
-;     or array. 
-;
-;     @param x1 y1 x2 y2 x3 y3 x4 y4 {in}{required}  the coordinates of the
-;     quadrilateral given in the CLOCKWISE order. Scalar or array.
-;
-;
-; @keyword    /DOUBLE use double precision to perform the computation 
-;
-; @keyword    /ONSPHERE to specify that the quadilateral are on a sphere and
+; IDL> res = inquad(x, y, x1, y1, x2, y2, x3, y3, x4, y4)
+;
+; @param x {in}{required}
+; @param y {in}{required}
+;  the coordinates of the point we want to know where it is. 
+;  Must be a scalar if /onsphere activated else can be scalar or array. 
+;
+; @param x1 {in}{required}
+; @param y1 {in}{required}
+; @param x2 {in}{required}
+; @param y2 {in}{required}
+; @param x3 {in}{required}
+; @param y3 {in}{required}
+; @param x4 {in}{required}
+; @param y4 {in}{required}
+;  the coordinates of the quadrilateral given in the CLOCKWISE order. 
+;  Scalar or array.
+;
+; @keyword /DOUBLE use double precision to perform the computation 
+;
+; @keyword /ONSPHERE to specify that the quadilateral are on a sphere and
 ;    that teir coordinates are longitude-latitude coordinates. In this
 ;    case, est-west periodicity, poles singularity and other pbs
@@ -24,5 +31,5 @@
 ;    automatically. 
 ;
-; @keyword    ZOOMRADIUS :the zoom (circle centred on the (x,y) with a radius of
+; @keyword ZOOMRADIUS the zoom (circle centred on the (x,y) with a radius of
 ;    zoomradius degree where we look for the the quadrilateral which;    contains the (x,y) point) used for the satellite projection
 ;    when /onsphere is activated. Default is 4 and seems to be the
@@ -30,5 +37,7 @@
 ;    larger than 5 degrees.
 ;   
-; @keyword    /NOPRINT to suppress the print messages.
+; @keyword /NOPRINT to suppress the print messages.
+;
+; @keyword NEWCOORD
 ;
 ; @returns
@@ -42,18 +51,18 @@
 ; @examples 
 ;
-;       x = 1.*[1, 2, 6, 7, 3]
-;       y = 1.*[1, 3, 3, 4, 7]
-;       x1 = 1.*[0,4,2]
-;       y1 = 1.*[1,4,8]
-;       x2 = 1.*[1,6,4]
-;       y2 = 1.*[5,6,8]
-;       x3 = 1.*[3,8,4]
-;       y3 = 1.*[4,4,6]
-;       x4 = 1.*[2,6,2]
-;       y4 = 1.*[0,2,6]
-;       splot, [0,10], [0,10], xstyle = 1, ystyle = 1,/nodata
-;       for i=0,2 do oplot, [x4[i],x1[i],x2[i],x3[i],x4[i]],[y4[i],y1[i],y2[i],y3[i],y4[i]]
-;       oplot, x, y, color = 20, psym = 1, thick = 2
-;       print, inquad(x, y, x1, y1, x2, y2, x3, y3, x4, y4)
+; IDL> x = 1.*[1, 2, 6, 7, 3]
+; IDL> y = 1.*[1, 3, 3, 4, 7]
+; IDL> x1 = 1.*[0,4,2]
+; IDL> y1 = 1.*[1,4,8]
+; IDL> x2 = 1.*[1,6,4]
+; IDL> y2 = 1.*[5,6,8]
+; IDL> x3 = 1.*[3,8,4]
+; IDL> y3 = 1.*[4,4,6]
+; IDL> x4 = 1.*[2,6,2]
+; IDL> y4 = 1.*[0,2,6]
+; IDL> splot, [0,10], [0,10], xstyle = 1, ystyle = 1,/nodata
+; IDL> for i=0,2 do oplot, [x4[i],x1[i],x2[i],x3[i],x4[i]],[y4[i],y1[i],y2[i],y3[i],y4[i]]
+; IDL> oplot, x, y, color = 20, psym = 1, thick = 2
+; IDL> print, inquad(x, y, x1, y1, x2, y2, x3, y3, x4, y4)
 ;
 ;      On a sphere see clickincell.pro...
@@ -63,4 +72,6 @@
 ;      August 2003
 ;      Based on Convert_clic_ij.pro written by Gurvan Madec 
+;
+; @version $Id$
 ;
 ;-
Index: trunk/SRC/Interpolation/inrecgrid.pro
===================================================================
--- trunk/SRC/Interpolation/inrecgrid.pro	(revision 114)
+++ trunk/SRC/Interpolation/inrecgrid.pro	(revision 118)
@@ -10,18 +10,17 @@
 ; res = inrecgrid(xin, yin, left, bottom)
 ;
-;    @param x1d {in}{required}  a 1d array, the x position on the points
-;    @param y1d {in}{required}  a 1d array, the y position on the points
-;    left {in}{required}  a 1d, monotonically increasing array, the position of the
-;    "left" border of each cell.
-;    @param bottom {in}{required}  a 1d, monotonically increasing array, the position of the
-;    "bottom" border of each cell.
+; @param x1d {in}{required}  a 1d array, the x position on the points
+; @param y1d {in}{required}  a 1d array, the y position on the points
+; @param left {in}{required} a 1d, monotonically increasing array, 
+; the position of the "left" border of each cell.
+; @param bottom {in}{required}  a 1d, monotonically increasing array, 
+; the position of the "bottom" border of each cell.
 ;
-;
-; @keyword    /output2d to get the output as a 2d array (2,n_elements(x1d)),
+; @keyword /output2d to get the output as a 2d array (2,n_elements(x1d)),
 ;    with res[0,*] the x index accoring to the 1d array defined by
 ;    left and res[1,*] the y index accoring to the 1d array defined by
 ;    bottom.
 ;
-; @keyword    checkout=[rbgrid,ubgrid] specify the right and upper bondaries of
+; @keyword checkout=[rbgrid,ubgrid] specify the right and upper bondaries of
 ;    the grid and check if some points are out.
 ;
@@ -46,4 +45,7 @@
 ;                      July 3rd, 2002
 ;                      October 3rd, 2003: use value_locate
+;
+; @version $Id$
+;
 ;-
 
Index: trunk/SRC/Interpolation/ll_narcs_distances.pro
===================================================================
--- trunk/SRC/Interpolation/ll_narcs_distances.pro	(revision 114)
+++ trunk/SRC/Interpolation/ll_narcs_distances.pro	(revision 118)
@@ -62,4 +62,7 @@
 ; Sebastien Masson (smasson\@lodyc.jussieu.fr)
 ;                  August 2005
+;
+; @version $Id$
+;
 ;-
 
Index: trunk/SRC/Interpolation/map_npoints.pro
===================================================================
--- trunk/SRC/Interpolation/map_npoints.pro	(revision 114)
+++ trunk/SRC/Interpolation/map_npoints.pro	(revision 118)
@@ -12,18 +12,24 @@
 ;
 ; @examples 
-;Result = Map_nPoints(lon0, lat0, lon1, lat1)
+; IDL> Result = Map_nPoints(lon0, lat0, lon1, lat1)
 ;
-;@param Lon0 Lat0  {in}{required} np0 elements vector. longitudes and latitudes of np0 points P0 
-;@param Lon1 Lat1  {in}{required}  np1 elements vector. longitude and latitude of np1 points P1 
+; @param Lon0 {in}{required}
+; @param Lat0 {in}{required} 
+; np0 elements vector. longitudes and latitudes of np0 points P0 
 ;
-; @keyword   AZIMUTH A named variable that will receive the azimuth of the great
+; @param Lon1 {in}{required}
+; @param Lat1 {in}{required}  
+; np1 elements vector. longitude and latitude of np1 points P1 
+;
+; @keyword AZIMUTH A named variable that will receive the azimuth of the great
 ;       circle  connecting the two points, P0 to P1
-; @keyword   /MIDDLE to get the longitude/latitude of the middle point betwen P0 and P1.
-; @keyword   RADIANS = if set, inputs and angular outputs are in radians, otherwise
+; @keyword /MIDDLE to get the longitude/latitude of the middle point betwen P0 and P1.
+; @keyword RADIANS if set, inputs and angular outputs are in radians, otherwise
 ;degrees.
-; @keyword   RADIUS If given, return the distance between the two points
+; @keyword RADIUS If given, return the distance between the two points
 ;calculated using the given radius.
-;       Default value is the earth radius : 6378206.4d0
-; @keyword   TWO_BY_TWO:If given,then Map_nPoints returns the distances between
+; Default value is the earth radius : 6378206.4d0
+;
+; @keyword TWO_BY_TWO If given,then Map_nPoints returns the distances between
 ;       number n of P0 points and number n of P1 points (in that case,
 ;       np0 and np1 must be equal).
@@ -39,47 +45,47 @@
 ;
 ; @examples
-;IDL> print, $
-;map_npoints([-105.15,1],[40.02,1],[-0.07,100,50],[51.30,20,0])
+; IDL> print, $
+; map_npoints([-105.15,1],[40.02,1],[-0.07,100,50],[51.30,20,0])
 ;       7551369.3       5600334.8
 ;       12864354.       10921254.
 ;       14919237.       5455558.8
 ;
-;IDL> lon0 = [-10, 20, 100]
-;IDL> lat0 = [0, -10, 45]
-;IDL> lon1 = [10, 60, 280]
-;IDL> lat1 = [0, 10, 45]
-;IDL> dist = map_npoints(lon0, lat0, lon1, lat1, azimuth = azi)
-;IDL> help, dist, azi
-;DIST            DOUBLE    = Array[3, 3]
-;AZI             DOUBLE    = Array[3, 3]
-;IDL> print, dist[4*lindgen(3)], azi[4*lindgen(3)]
+; IDL> lon0 = [-10, 20, 100]
+; IDL> lat0 = [0, -10, 45]
+; IDL> lon1 = [10, 60, 280]
+; IDL> lat1 = [0, 10, 45]
+; IDL> dist = map_npoints(lon0, lat0, lon1, lat1, azimuth = azi)
+; IDL> help, dist, azi
+; DIST            DOUBLE    = Array[3, 3]
+; AZI             DOUBLE    = Array[3, 3]
+; IDL> print, dist[4*lindgen(3)], azi[4*lindgen(3)]
 ;       2226414.0       4957944.5       10018863.
 ;       90.000000       64.494450   4.9615627e-15
-;IDL> dist = map_npoints(lon0, lat0, lon1, lat1, azimuth = azi, /two_by_two)
-;IDL> help, dist, azi
-;DIST            DOUBLE    = Array[3]
-;AZI             DOUBLE    = Array[3]
-;IDL> print, dist, azi
+; IDL> dist = map_npoints(lon0, lat0, lon1, lat1, azimuth = azi, /two_by_two)
+; IDL> help, dist, azi
+; DIST            DOUBLE    = Array[3]
+; AZI             DOUBLE    = Array[3]
+; IDL> print, dist, azi
 ;       2226414.0       4957944.5       10018863.
 ;       90.000000       64.494450   4.9615627e-15
-;IDL> print, map_2points(lon0[0], lat0[0], lon1[0], lat1[0])
+; IDL> print, map_2points(lon0[0], lat0[0], lon1[0], lat1[0])
 ;       20.000000       90.000000
-;IDL> print, map_npoints(lon0[0], lat0[0], lon1[0], lat1[0], azi=azi)/6378206.4d0 / !dtor, azi
+; IDL> print, map_npoints(lon0[0], lat0[0], lon1[0], lat1[0], azi=azi)/6378206.4d0 / !dtor, azi
 ;       20.000000
 ;       90.000000
 ;
-;IDL> lon0 = [-10, 20, 100]
-;IDL> lat0 = [0, -10, 45]
-;IDL> lon1 = [10, 60, 280]
-;IDL> lat1 = [0, 10, 45]
-;IDL> mid = map_npoints(lon0, lat0, lon1, lat1, /middle, /two_by_two)
-;IDL> print, reform(mid[0,*]), reform(mid[1,*])
+; IDL> lon0 = [-10, 20, 100]
+; IDL> lat0 = [0, -10, 45]
+; IDL> lon1 = [10, 60, 280]
+; IDL> lat1 = [0, 10, 45]
+; IDL> mid = map_npoints(lon0, lat0, lon1, lat1, /middle, /two_by_two)
+; IDL> print, reform(mid[0,*]), reform(mid[1,*])
 ;       0.0000000       40.000000       190.00000
 ;       0.0000000  -1.5902773e-15       90.000000
-;IDL> print, (map_2points(lon0[0], lat0[0], lon1[0], lat1[0], npath = 3))[*, 1]
+; IDL> print, (map_2points(lon0[0], lat0[0], lon1[0], lat1[0], npath = 3))[*, 1]
 ;       0.0000000       0.0000000
-;IDL> print, (map_2points(lon0[1], lat0[1], lon1[1], lat1[1], npath = 3))[*, 1]
+; IDL> print, (map_2points(lon0[1], lat0[1], lon1[1], lat1[1], npath = 3))[*, 1]
 ;       40.000000  -1.5902773e-15
-;IDL> print, (map_2points(lon0[2], lat0[2], lon1[2], lat1[2], npath = 3))[*, 1]
+; IDL> print, (map_2points(lon0[2], lat0[2], lon1[2], lat1[2], npath = 3))[*, 1]
 ;       190.00000       90.000000
 ;
@@ -88,4 +94,7 @@
 ; Sebastien Masson (smasson\@lodyc.jussieu.fr)
 ;                  October 2003
+;
+; @version $Id$
+;
 ;-
 Function Map_npoints, lon0, lat0, lon1, lat1, azimuth = azimuth $
Index: trunk/SRC/Interpolation/neighbor.pro
===================================================================
--- trunk/SRC/Interpolation/neighbor.pro	(revision 114)
+++ trunk/SRC/Interpolation/neighbor.pro	(revision 118)
@@ -10,16 +10,17 @@
 ; IDL> Result = neighbor(lon0, lat0, lon1, lat1)
 ;
-;@param p0lon {in}{required}  scalar. longitudes of point P0. 
-;@param p0lat  {in}{required}  scalar. latitudes of point P0. 
+; @param p0lon {in}{required}  scalar. longitudes of point P0. 
+; @param p0lat {in}{required}  scalar. latitudes of point P0. 
+; @param neighlon {in}{optional} 
+; @param neighlat {in}{optional} 
 ;
-; @keyword   RADIANS if set, inputs and angular outputs are in radians, otherwise
+; @keyword RADIANS if set, inputs and angular outputs are in radians, otherwise
 ;degrees.
-; @keyword   DISTANCE dis, to get back the distances between P0 and the np1
+; @keyword DISTANCE dis, to get back the distances between P0 and the np1
 ;   points P1 in the variable dis.
-; @keyword   /SPHERE to activate if points are located on a sphere.
+; @keyword /SPHERE to activate if points are located on a sphere.
 ;
 ; @returns
-;       index giving the P1[index] point that is the closetest point
-;       of (P0)
+;       index giving the P1[index] point that is the closest point of (P0)
 ;
 ; @examples
@@ -33,4 +34,7 @@
 ; Sebastien Masson (smasson\@lodyc.jussieu.fr)
 ;                  October 2003
+;
+; @version $Id$
+;
 ;-
 FUNCTION neighbor, p0lon, p0lat, neighlon, neighlat, sphere = sphere, distance = distance, radians = radians
Index: trunk/SRC/Interpolation/quadrilateral2square.pro
===================================================================
--- trunk/SRC/Interpolation/quadrilateral2square.pro	(revision 114)
+++ trunk/SRC/Interpolation/quadrilateral2square.pro	(revision 118)
@@ -16,22 +16,23 @@
 ; @examples 
 ;
-;     res = square2quadrilateral(x0,y0,x1,y1,x2,y2,x3,y3,xin,yin)
+; IDL> res = square2quadrilateral(x0,y0,x1,y1,x2,y2,x3,y3,xin,yin)
 ; 
-;     @param x0in {in}{required}  the coordinates of the quadrilateral
-;     @param y0in {in}{required}  the coordinates of the quadrilateral
-;     @param x1in {in}{required}  the coordinates of the quadrilateral
-;     @param y1in {in}{required}  the coordinates of the quadrilateral
-;     @param x2in {in}{required}  the coordinates of the quadrilateral
-;     @param y2in {in}{required}  the coordinates of the quadrilateral
-;     @param x3in {in}{required}  the coordinates of the quadrilateral
-;     @param y3in  {in}{required}  the coordinates of the quadrilateral
-;     (see above for correspondance with the unit square). Can be
-;     scalar or array. (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are
-;     given in the anticlockwise order.
+; @param x0in {in}{required}
+; @param y0in {in}{required}
+; @param x1in {in}{required}
+; @param y1in {in}{required}
+; @param x2in {in}{required}
+; @param y2in {in}{required}
+; @param x3in {in}{required}
+; @param y3in  {in}{required}
+; the coordinates of the quadrilateral
+; (see above for correspondance with the unit square). Can be
+; scalar or array. (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are
+; given in the anticlockwise order.
 ;
-;     @param xxin {in}{required} the coordinates of the point(s) for which we want to do the
-;     mapping. Can be scalar or array.
-;     @param yyin {in}{required} the coordinates of the point(s) for which we want to do the
-;     mapping. Can be scalar or array.
+; @param xxin {in}{required} the coordinates of the point(s) for which we want to do the mapping. Can be scalar or array.
+; @param yyin {in}{required} the coordinates of the point(s) for which we want to do the mapping. Can be scalar or array.
+;
+; @keyword PERF
 ;
 ; @returns
@@ -65,4 +66,7 @@
 ;      Chapter 3, see p 52-56
 ;      
+;
+; @version $Id$
+;
 ;-
 ;------------------------------------------------------------
Index: trunk/SRC/Interpolation/spl_fstdrv.pro
===================================================================
--- trunk/SRC/Interpolation/spl_fstdrv.pro	(revision 114)
+++ trunk/SRC/Interpolation/spl_fstdrv.pro	(revision 118)
@@ -31,7 +31,9 @@
 ;    y2: f'(x2) = y2. 
 ;
-;
 ; @history
 ;  Sebastien Masson (smasson\@lodyc.jussieu.fr): May 2005
+;
+; @version $Id$
+;
 ;-
 ;------------------------------------------------------------
Index: trunk/SRC/Interpolation/spl_incr.pro
===================================================================
--- trunk/SRC/Interpolation/spl_incr.pro	(revision 114)
+++ trunk/SRC/Interpolation/spl_incr.pro	(revision 118)
@@ -12,19 +12,23 @@
 ; in a way that interpolated values are also monotonically increasing.
 ;
-; @examples  y2 =  spl_incr(x, y, x2)
-;
-; @param x1 {in}{required}  An n-element (at least 2) input vector that specifies the
-;    tabulate points in a strict ascending order.
-;
-;    @param y1 {in}{required}  f(x) = y. An n-element input vector that specifies the values
+; @examples
+; IDL>  y2 =  spl_incr(x, y, x2)
+;
+; @param x1 {in}{required}  
+; An n-element (at least 2) input vector that specifies the tabulate points in 
+; a strict ascending order.
+;
+; @param y1 {in}{required}  
+; f(x) = y. An n-element input vector that specifies the values
 ;    of the tabulated function F(Xi) corresponding to Xi. As f is
 ;    supposed to be monotonically increasing, y values must be
 ;    monotonically increasing. y can have equal consecutive values.
 ;
-;    @param x2 {in}{required}  The input values for which the interpolated values are
-;    desired. Its values must be strictly monotonically increasing. 
-;
-;
-;
+; @param x2 {in}{required}  
+; The input values for which the interpolated values are
+; desired. Its values must be strictly monotonically increasing. 
+;
+; @param der2
+; @param x 
 ;
 ; @returns 
@@ -38,25 +42,28 @@
 ; @examples 
 ;
-;     n = 100L
-;     x = (dindgen(n))^2
-;     y = abs(randomn(0, n))
-;     y[n/2:n/2+1] = 0.
-;     y[n-n/3] = 0.
-;     y[n-n/6:n-n/6+5] = 0.
-;     y = total(y, /cumulative, /double)
-;     x2 = dindgen((n-1)^2)
-;     n2 = n_elements(x2)
-;     print, min(y[1:n-1]-y[0:n-2]) LT 0
-;     y2 = spl_incr( x, y, x2)
-;     splot, x, y, xstyle = 1, ystyle = 1, ysurx=.25, petit = [1, 2, 1], /land
-;     oplot, x2, y2, color = 100
-;     c = y2[1:n2-1] - y2[0:n2-2]
-;     print, min(c) LT 0 
-;     print, min(c, max = ma), ma
-;     splot,c,xstyle=1,ystyle=1, yrange=[-.01,.05], ysurx=.25, petit = [1, 2, 2], /noerase
-;     oplot,[0, n_elements(c)], [0, 0], linestyle = 1
+; IDL> n = 100L
+; IDL> x = (dindgen(n))^2 
+; IDL> y = abs(randomn(0, n))
+; IDL> y[n/2:n/2+1] = 0.
+; IDL> y[n-n/3] = 0.
+; IDL> y[n-n/6:n-n/6+5] = 0.
+; IDL> y = total(y, /cumulative, /double)
+; IDL> x2 = dindgen((n-1)^2)
+; IDL> n2 = n_elements(x2)
+; IDL> print, min(y[1:n-1]-y[0:n-2]) LT 0
+; IDL> y2 = spl_incr( x, y, x2)
+; IDL> splot, x, y, xstyle = 1, ystyle = 1, ysurx=.25, petit = [1, 2, 1], /land
+; IDL> oplot, x2, y2, color = 100
+; IDL> c = y2[1:n2-1] - y2[0:n2-2]
+; IDL> print, min(c) LT 0 
+; IDL> print, min(c, max = ma), ma
+; IDL> splot,c,xstyle=1,ystyle=1, yrange=[-.01,.05], ysurx=.25, petit = [1, 2, 2], /noerase
+; IDL> oplot,[0, n_elements(c)], [0, 0], linestyle = 1
 ;
 ; @history
 ;  Sebastien Masson (smasson\@lodyc.jussieu.fr): May-Dec 2005
+;
+; @version $Id$
+;
 ;-
 ;------------------------------------------------------------
@@ -82,4 +89,23 @@
 END
 
+;+
+; @param x1 {in}{required}  
+; An n-element (at least 2) input vector that specifies the tabulate points in 
+; a strict ascending order.
+;
+; @param y1 {in}{required}  
+; f(x) = y. An n-element input vector that specifies the values
+;    of the tabulated function F(Xi) corresponding to Xi. As f is
+;    supposed to be monotonically increasing, y values must be
+;    monotonically increasing. y can have equal consecutive values.
+;
+; @param x2 {in}{required}  
+; The input values for which the interpolated values are
+; desired. Its values must be strictly monotonically increasing. 
+;
+; @param der2
+; @param x 
+;
+;-
 FUNCTION pure_convex, x1, x2, y1, y2, der2, x
 ; 1-(1-X)^n type
@@ -103,8 +129,11 @@
 
 ;+
-; @keyword    YP0 The first derivative of the interpolating function at the
+; @param x
+; @param y
+; @param x2
+; @keyword YP0 The first derivative of the interpolating function at the
 ;    point X0. If YP0 is omitted, the second derivative at the
 ;    boundary is set to zero, resulting in a "natural spline."
-; @keyword    YPN_1 The first derivative of the interpolating function at the
+; @keyword YPN_1 The first derivative of the interpolating function at the
 ;    point Xn-1. If YPN_1 is omitted, the second derivative at the
 ;    boundary is set to zero, resulting in a "natural spline." 
Index: trunk/SRC/Interpolation/spl_keep_mean.pro
===================================================================
--- trunk/SRC/Interpolation/spl_keep_mean.pro	(revision 114)
+++ trunk/SRC/Interpolation/spl_keep_mean.pro	(revision 118)
@@ -72,4 +72,7 @@
 ; @history
 ;  Sebastien Masson (smasson\@lodyc.jussieu.fr): May 2005
+;
+; @version $Id$
+;
 ;-
 ;------------------------------------------------------------
Index: trunk/SRC/Interpolation/square2quadrilateral.pro
===================================================================
--- trunk/SRC/Interpolation/square2quadrilateral.pro	(revision 114)
+++ trunk/SRC/Interpolation/square2quadrilateral.pro	(revision 118)
@@ -84,4 +84,7 @@
 ;      Chapter 3, see p 52-56
 ;      
+;
+; @version $Id$
+;
 ;-
 ;------------------------------------------------------------
