Index: trunk/SRC/ToBeReviewed/CALCULS/curl.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/curl.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/curl.pro	(revision 114)
@@ -58,4 +58,7 @@
 ;------------------------------------------------------------
 FUNCTION curl, uu, vv
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
    tempsun = systime(1)         ; pour key_performance
@@ -142,9 +145,9 @@
 ;------------------------------------------------------------
          if NOT keyword_set(key_periodic)  OR nx NE jpi then begin
-            psi(0, *, *) = !values.f_nan
-            psi(nx-1, *, *) = !values.f_nan
+            psi[0, *, *] = !values.f_nan
+            psi[nx-1, *, *] = !values.f_nan
          endif
-         psi(*, 0, *) = !values.f_nan
-         psi(*, ny-1, *) = !values.f_nan
+         psi[*, 0, *] = !values.f_nan
+         psi[*, ny-1, *] = !values.f_nan
 ;
          if n_elements(valmask) EQ 0 THEN valmask = 1e20
@@ -222,9 +225,9 @@
 ;------------------------------------------------------------
          if NOT keyword_set(key_periodic) OR nx NE jpi then begin
-            psi(0, *, *) = !values.f_nan
-            psi(nx-1, *, *) = !values.f_nan
+            psi[0, *, *] = !values.f_nan
+            psi[nx-1, *, *] = !values.f_nan
          endif
-         psi(*, 0, *) = !values.f_nan
-         psi(*, ny-1, *) = !values.f_nan
+         psi[*, 0, *] = !values.f_nan
+         psi[*, ny-1, *] = !values.f_nan
          if n_elements(valmask) EQ 0 THEN valmask = 1e20
          terref =  where(tabf EQ 0)
@@ -295,9 +298,9 @@
 ;------------------------------------------------------------
          if  NOT keyword_set(key_periodic) OR nx NE jpi then begin
-            psi(0, *) = !values.f_nan
-            psi(nx-1, *) = !values.f_nan
+            psi[0, *] = !values.f_nan
+            psi[nx-1, *] = !values.f_nan
          endif
-         psi(*, 0) = !values.f_nan
-         psi(*, ny-1) = !values.f_nan
+         psi[*, 0] = !values.f_nan
+         psi[*, ny-1] = !values.f_nan
 ;
          if n_elements(valmask) EQ 0 THEN valmask = 1e20
Index: trunk/SRC/ToBeReviewed/CALCULS/depth2floatlevel.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/depth2floatlevel.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/depth2floatlevel.pro	(revision 114)
@@ -42,4 +42,7 @@
 ;------------------------------------------------------------
 FUNCTION depth2floatlevel, tab, NOMASK = nomask
+;
+  compile_opt idl2, strictarrsubs
+;
    tempsun = systime(1)         ; pour key_performance
 @common
Index: trunk/SRC/ToBeReviewed/CALCULS/depth2level.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/depth2level.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/depth2level.pro	(revision 114)
@@ -50,4 +50,7 @@
 FUNCTION depth2level, tab, LOWER = lower, UPPER = upper, CLOSER = closer $
                       , NOMASK = nomask, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
    tempsun = systime(1)         ; pour key_performance
 @common
Index: trunk/SRC/ToBeReviewed/CALCULS/depth2mask.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/depth2mask.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/depth2mask.pro	(revision 114)
@@ -47,4 +47,7 @@
 FUNCTION depth2mask, tab, _extra = ex
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
    tempsun = systime(1)         ; pour key_performance
 @common
Index: trunk/SRC/ToBeReviewed/CALCULS/determ2.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/determ2.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/determ2.pro	(revision 114)
@@ -33,4 +33,7 @@
 ;-
 FUNCTION determ2, a, b, c, d
+;
+  compile_opt idl2, strictarrsubs
+;
   CASE n_params() OF
     1:res = a[0, 0, *]*a[1, 1, *]-a[0, 1, *]*a[1, 0, *]
Index: trunk/SRC/ToBeReviewed/CALCULS/determ3.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/determ3.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/determ3.pro	(revision 114)
@@ -38,4 +38,7 @@
 ;-
 FUNCTION determ3, in00, in01, in02, in10, in11, in12, in20, in21, in22
+;
+  compile_opt idl2, strictarrsubs
+;
   IF n_params() EQ 1 THEN BEGIN
     in00save = temporary(in00)
Index: trunk/SRC/ToBeReviewed/CALCULS/div.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/div.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/div.pro	(revision 114)
@@ -54,4 +54,7 @@
 ;------------------------------------------------------------
 FUNCTION div, uu, vv
+;
+  compile_opt idl2, strictarrsubs
+;
    tempsun = systime(1)         ; pour key_performance
 @common
@@ -139,9 +142,9 @@
 ;------------------------------------------------------------
          if  NOT keyword_set(key_periodic) OR nx NE jpi then begin
-            zdiv(0, *, *) = !values.f_nan
-            zdiv(nx-1, *, *) = !values.f_nan
+            zdiv[0, *, *] = !values.f_nan
+            zdiv[nx-1, *, *] = !values.f_nan
          endif
-         zdiv(*, 0, *) = !values.f_nan
-         zdiv(*, ny-1, *) = !values.f_nan
+         zdiv[*, 0, *] = !values.f_nan
+         zdiv[*, ny-1, *] = !values.f_nan
 ;
          zdiv = temporary(zdiv)
@@ -213,9 +216,9 @@
 ;------------------------------------------------------------
          if  NOT keyword_set(key_periodic) OR nx NE jpi then begin
-            zdiv(0, *, *) = !values.f_nan
-            zdiv(nx-1, *, *) = !values.f_nan
+            zdiv[0, *, *] = !values.f_nan
+            zdiv[nx-1, *, *] = !values.f_nan
          endif
-         zdiv(*, 0, *) = !values.f_nan
-         zdiv(*, ny-1, *) = !values.f_nan
+         zdiv[*, 0, *] = !values.f_nan
+         zdiv[*, ny-1, *] = !values.f_nan
 ;
          if n_elements(valmask) EQ 0 THEN valmask = 1e20
@@ -286,9 +289,9 @@
 ;------------------------------------------------------------
          if  NOT keyword_set(key_periodic) OR nx NE jpi then begin
-            zdiv(0, *) = !values.f_nan
-            zdiv(nx-1, *) = !values.f_nan
+            zdiv[0, *] = !values.f_nan
+            zdiv[nx-1, *] = !values.f_nan
          endif
-         zdiv(*, 0) = !values.f_nan
-         zdiv(*, ny-1) = !values.f_nan
+         zdiv[*, 0] = !values.f_nan
+         zdiv[*, ny-1] = !values.f_nan
 ;
          zdiv = temporary(zdiv)*1e6
Index: trunk/SRC/ToBeReviewed/CALCULS/floatlevel2depth.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/floatlevel2depth.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/floatlevel2depth.pro	(revision 114)
@@ -40,4 +40,7 @@
 ;------------------------------------------------------------
 FUNCTION floatlevel2depth, tab, NOMASK = nomask
+;
+  compile_opt idl2, strictarrsubs
+;
    tempsun = systime(1)         ; pour key_performance
 @common
Index: trunk/SRC/ToBeReviewed/CALCULS/fsfzpt.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/fsfzpt.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/fsfzpt.pro	(revision 114)
@@ -14,4 +14,7 @@
 ;-
 FUNCTION fsfzpt, pfs, pfp
+;
+  compile_opt idl2, strictarrsubs
+;
   RETURN, ( -0.0575 + 1.710523e-3 * sqrt(pfs) - 2.154996e-4 * pfs  ) * pfs - 7.53e-4 * pfp
 END
Index: trunk/SRC/ToBeReviewed/CALCULS/grad.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/grad.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/grad.pro	(revision 114)
@@ -32,4 +32,7 @@
 ;------------------------------------------------------------
 FUNCTION grad, field, direc
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;------------------------------------------------------------
Index: trunk/SRC/ToBeReviewed/CALCULS/grossemoyenne.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/grossemoyenne.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/grossemoyenne.pro	(revision 114)
@@ -113,4 +113,7 @@
                         , _extra = ex
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
@@ -613,5 +616,5 @@
   terre = where(divi EQ 0)
   IF terre[0] NE -1 THEN BEGIN 
-    res(temporary(terre)) = 1e+20
+    res[temporary(terre)] = 1e+20
   ENDIF 
 ;------------------------------------------------------------
Index: trunk/SRC/ToBeReviewed/CALCULS/hdyn.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/hdyn.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/hdyn.pro	(revision 114)
@@ -69,4 +69,7 @@
 ;------------------------------------------------------------
 FUNCTION hdyn,  tabsn, tabtn, TREF = tref,  SREF = sref, PROFREF = profref, LEVEL = level, GILL = gill, SURFACE_LEVEL = surface_level
+;
+  compile_opt idl2, strictarrsubs
+;
    tempsun = systime(1)         ; pour key_performance
 @common
Index: trunk/SRC/ToBeReviewed/CALCULS/level2depth.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/level2depth.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/level2depth.pro	(revision 114)
@@ -38,4 +38,7 @@
 ;------------------------------------------------------------
 FUNCTION level2depth, tab, NOMASK = nomask
+;
+  compile_opt idl2, strictarrsubs
+;
    tempsun = systime(1)         ; pour key_performance
 @common
Index: trunk/SRC/ToBeReviewed/CALCULS/level2index.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/level2index.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/level2index.pro	(revision 114)
@@ -43,4 +43,7 @@
 ; level etant donne, pour chaque points de level on connait i, j et k,
 ; on peut donc calculer l''indice.
+;
+  compile_opt idl2, strictarrsubs
+;
    taille = size(level)
    nx = taille[1]
Index: trunk/SRC/ToBeReviewed/CALCULS/level2mask.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/level2mask.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/level2mask.pro	(revision 114)
@@ -42,4 +42,7 @@
 FUNCTION level2mask, tab
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
    tempsun = systime(1)         ; pour key_performance
 @common
Index: trunk/SRC/ToBeReviewed/CALCULS/moyenne.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/moyenne.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/moyenne.pro	(revision 114)
@@ -95,4 +95,7 @@
                   , _extra = ex
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
@@ -575,5 +578,5 @@
   terre = where(divi EQ 0)
   IF terre[0] NE -1 THEN BEGIN
-    res(terre) = 1e+20
+    res[terre] = 1e+20
   ENDIF  
 ;------------------------------------------------------------
Index: trunk/SRC/ToBeReviewed/CALCULS/norme.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/norme.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/norme.pro	(revision 114)
@@ -70,4 +70,7 @@
 FUNCTION norme, composanteu, composantev, BOXZOOM = boxzoom, DIREC = direc, _extra = ex
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
@@ -197,10 +200,10 @@
 ; construction de u et v aux pts T
 ;-----------------------------------------------------------
-         a=u(0,*,*)
+         a=u[0,*,*]
          u=(u+shift(u,1,0,0))/2.
-         if NOT keyword_set(key_periodic) OR nx NE jpi then u(0,*,*)=a
-         a=v(*,0,*)
+         if NOT keyword_set(key_periodic) OR nx NE jpi then u[0,*,*]=a
+         a=v[*,0,*]
          v=(v+shift(v,0,1,0))/2.
-         if NOT keyword_set(key_periodic) OR nx NE jpi then v(*,0,*)=a
+         if NOT keyword_set(key_periodic) OR nx NE jpi then v[*,0,*]=a
 ;----------------------------------------------------------------------------
 ; attribution du mask et des tableau de longitude et latitude
@@ -215,8 +218,8 @@
          if landv[0] NE -1 then v[landv] = 0
          res=sqrt(u^2+v^2)
-         if NOT keyword_set(key_periodic) OR nx NE jpi then res(0,*, *)=!values.f_nan
-         res(*,0, *)=!values.f_nan
+         if NOT keyword_set(key_periodic) OR nx NE jpi then res[0,*, *]=!values.f_nan
+         res[*,0, *]=!values.f_nan
          mask = where(mask eq 0)
-         IF mask[0] NE -1 THEN res(mask) = valmask
+         IF mask[0] NE -1 THEN res[mask] = valmask
 ; moyennes en tous genres
          domdef, (glamt[indice2d])[0, 0], (glamu[indice2d])[nx-1, 0],(gphit[indice2d])[0, 0], (gphiv[indice2d])[0, ny-1], vert1, vert2, /meme
@@ -257,10 +260,10 @@
 ; construction de u et v aux pts T
 ;-----------------------------------------------------------
-         a=u(0,*,*)
+         a=u[0,*,*]
          u=(u+shift(u,1,0,0))/2.
-         if NOT keyword_set(key_periodic) OR nx NE jpi then u(0,*,*)=a
-         a=v(*,0,*)
+         if NOT keyword_set(key_periodic) OR nx NE jpi then u[0,*,*]=a
+         a=v[*,0,*]
          v=(v+shift(v,0,1,0))/2.
-         if NOT keyword_set(key_periodic) OR nx NE jpi then v(*,0,*)=a
+         if NOT keyword_set(key_periodic) OR nx NE jpi then v[*,0,*]=a
 ;----------------------------------------------------------------------------
 ; attribution du mask et des tableau de longitude et latitude
@@ -280,6 +283,6 @@
          if landv[0] NE -1 then v[landv] = 0
          res=sqrt(u^2+v^2)
-         if NOT keyword_set(key_periodic) OR nx NE jpi then res(0,*, *)=!values.f_nan
-         res(*,0, *)=!values.f_nan
+         if NOT keyword_set(key_periodic) OR nx NE jpi then res[0,*, *]=!values.f_nan
+         res[*,0, *]=!values.f_nan
          mask = where(mask eq 0)
          IF mask[0] NE -1 THEN BEGIN 
@@ -288,5 +291,5 @@
             mask = (temporary(mask))[*]#replicate(1, jpt)
             mask =temporary(mask[*]) + temporary(coeftps[*])
-            res(temporary(mask)) = valmask
+            res[temporary(mask)] = valmask
          ENDIF
 ; moyennes en tous genres
@@ -344,10 +347,10 @@
 ; construction de u et v aux pts T
 ;-----------------------------------------------------------
-         a=u(0,*,*,*)
+         a=u[0,*,*,*]
          u=(u+shift(u,1,0,0,0))/2.
-         if NOT keyword_set(key_periodic) OR nx NE jpi then u(0,*,*,*)=a
-         a=v(*,0,*,*)
+         if NOT keyword_set(key_periodic) OR nx NE jpi then u[0,*,*,*]=a
+         a=v[*,0,*,*]
          v=(v+shift(v,0,1,0,0))/2.
-         if NOT keyword_set(key_periodic) OR nx NE jpi then v(*,0,*,*)=a
+         if NOT keyword_set(key_periodic) OR nx NE jpi then v[*,0,*,*]=a
 ;----------------------------------------------------------------------------
 ; attribution du mask et des tableau de longitude et latitude
@@ -362,6 +365,6 @@
          if landv[0] NE -1 then v[landv] = 0
          res=sqrt(u^2+v^2)
-         if NOT keyword_set(key_periodic) OR nx NE jpi then res(0,*, *, *)=!values.f_nan
-         res(*,0, *, *)=!values.f_nan
+         if NOT keyword_set(key_periodic) OR nx NE jpi then res[0,*, *, *]=!values.f_nan
+         res[*,0, *, *]=!values.f_nan
          mask = where(mask eq 0)
          IF mask[0] NE -1 THEN BEGIN 
@@ -370,5 +373,5 @@
             mask = (temporary(mask))[*]#replicate(1, jpt)
             mask =temporary(mask[*]) + temporary(coeftps[*])
-            res(temporary(mask)) = valmask
+            res[temporary(mask)] = valmask
          ENDIF
 ; moyennes en tous genres
@@ -416,10 +419,10 @@
 ; construction de u et v aux pts T
 ;-----------------------------------------------------------
-         a=u(0,*)
+         a=u[0,*]
          u=(u+shift(u,1,0))/2.
-         if NOT keyword_set(key_periodic) OR nx NE jpi then u(0,*)=a
-         a=v(*,0)
+         if NOT keyword_set(key_periodic) OR nx NE jpi then u[0,*]=a
+         a=v[*,0]
          v=(v+shift(v,0,1))/2.
-         if NOT keyword_set(key_periodic) OR nx NE jpi then v(*,0)=a
+         if NOT keyword_set(key_periodic) OR nx NE jpi then v[*,0]=a
 ;----------------------------------------------------------------------------
 ; attribution du mask et des tableau de longitude et latitude
@@ -439,8 +442,8 @@
          if landv[0] NE -1 then v[landv] = 0
          res=sqrt(u^2+v^2)
-         if NOT keyword_set(key_periodic) OR nx NE jpi then res(0,*)=!values.f_nan
-         res(*,0)=!values.f_nan
+         if NOT keyword_set(key_periodic) OR nx NE jpi then res[0,*]=!values.f_nan
+         res[*,0]=!values.f_nan
          mask = where(mask eq 0)
-         IF mask[0] NE -1 THEN res(mask) = valmask
+         IF mask[0] NE -1 THEN res[mask] = valmask
 ; moyennes en tous genres
          domdef, (glamt[indice2d])[0, 0], (glamu[indice2d])[nx-1, 0],(gphit[indice2d])[0, 0], (gphiv[indice2d])[0, ny-1], vert1, vert2, /meme
Index: trunk/SRC/ToBeReviewed/CALCULS/projectondepth.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/projectondepth.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/projectondepth.pro	(revision 114)
@@ -53,4 +53,7 @@
 ;------------------------------------------------------------
 FUNCTION projectondepth, arrayin, depthin
+;
+  compile_opt idl2, strictarrsubs
+;
    tempsun = systime(1)         ; pour key_performance
 @common
Index: trunk/SRC/ToBeReviewed/CALCULS/remplit.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/remplit.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/remplit.pro	(revision 114)
@@ -17,4 +17,7 @@
 ;-
 FUNCTION remplit, zinput, NAN = nan, NITER = niter, BASIQUE = basique, mask = mask, FILLXDIR = fillxdir, FILLYDIR = fillydir, FILLVAL = fillval, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
   tempsun = systime(1)          ; pour key_performance
Index: trunk/SRC/ToBeReviewed/CALCULS/rhon.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALCULS/rhon.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALCULS/rhon.pro	(revision 114)
@@ -9,4 +9,7 @@
 ;-
 FUNCTION rhon, sn, tn, INSITU = insitu, SIGMA_N = sigma_n
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
    tempsun = systime(1)         ; pour key_performance
@@ -77,5 +80,5 @@
          END 
       endcase
-      if n_elements(sigma_n) NE 0 then zh = 1000.*sigma_n ELSE zh = gdept(jk)
+      if n_elements(sigma_n) NE 0 then zh = 1000.*sigma_n ELSE zh = gdept[jk]
 ; ...   square root salinity
       zsr= sqrt(abs(zs))
@@ -90,14 +93,14 @@
       case taille[0] of
          0: zrhop    = (zr4*zs + zr3*zsr + zr2)*zs + zr1
-         1: zrhop(jk)= (zr4*zs + zr3*zsr + zr2)*zs + zr1
+         1: zrhop[jk]= (zr4*zs + zr3*zsr + zr2)*zs + zr1
          2:BEGIN 
             if jpt EQ 1 then zrhop = (zr4*zs + zr3*zsr + zr2)*zs + zr1 $
-            ELSE zrhop(jk, *)= (zr4*zs + zr3*zsr + zr2)*zs + zr1
+            ELSE zrhop[jk, *]= (zr4*zs + zr3*zsr + zr2)*zs + zr1
          END
          3:BEGIN 
-            if jpt EQ 1 then zrhop(*, *,jk)= (zr4*zs + zr3*zsr + zr2)*zs + zr1 $
+            if jpt EQ 1 then zrhop[*, *,jk]= (zr4*zs + zr3*zsr + zr2)*zs + zr1 $
              ELSE zrhop = (zr4*zs + zr3*zsr + zr2)*zs + zr1
          END
-         4: zrhop(*, *,jk, *)= (zr4*zs + zr3*zsr + zr2)*zs + zr1
+         4: zrhop[*, *,jk, *]= (zr4*zs + zr3*zsr + zr2)*zs + zr1
       endcase
 
@@ -121,14 +124,14 @@
          case taille[0] of
             0: zrhop = zrhop / (1.0-zh/(zk0-zh*(za-zh*zb)))
-            1: zrhop(jk) = zrhop(jk) / (1.0-zh/(zk0-zh*(za-zh*zb)))
+            1: zrhop[jk] = zrhop[jk] / (1.0-zh/(zk0-zh*(za-zh*zb)))
             2:BEGIN 
                if jpt EQ 1 then zrhop = zrhop / (1.0-zh/(zk0-zh*(za-zh*zb))) $
-               ELSE zrhop(jk, *) = zrhop(jk, *) / (1.0-zh/(zk0-zh*(za-zh*zb)))
+               ELSE zrhop[jk, *] = zrhop[jk, *] / (1.0-zh/(zk0-zh*(za-zh*zb)))
             END
             3:BEGIN 
-               if jpt EQ 1 then zrhop(*, *,jk) = zrhop(*, *,jk) / (1.0-zh/(zk0-zh*(za-zh*zb))) $
+               if jpt EQ 1 then zrhop[*, *,jk] = zrhop[*, *,jk] / (1.0-zh/(zk0-zh*(za-zh*zb))) $
                ELSE zrhop = zrhop / (1.0-zh/(zk0-zh*(za-zh*zb)))
             END
-            4: zrhop(*, *,jk, *) = zrhop(*, *,jk, *) / (1.0-zh/(zk0-zh*(za-zh*zb)))
+            4: zrhop[*, *,jk, *] = zrhop[*, *,jk, *] / (1.0-zh/(zk0-zh*(za-zh*zb)))
          endcase
          
Index: trunk/SRC/ToBeReviewed/CALENDRIER/def_month.pro
===================================================================
--- trunk/SRC/ToBeReviewed/CALENDRIER/def_month.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/CALENDRIER/def_month.pro	(revision 114)
@@ -2,4 +2,7 @@
 ;
 ; translate month number in string
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
    IF strpos(date, '_') GT -1 THEN date = strmid(date, 0, strpos(date, '_'))
Index: trunk/SRC/ToBeReviewed/COULEURS/color24.pro
===================================================================
--- trunk/SRC/ToBeReviewed/COULEURS/color24.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/COULEURS/color24.pro	(revision 114)
@@ -46,4 +46,7 @@
 
 FUNCTION COLOR24, number
+;
+  compile_opt idl2, strictarrsubs
+;
 
    ; This FUNCTION accepts a [red, green, blue] triple that
@@ -69,6 +72,6 @@
 num24bit = 0L
 
-FOR j=0,2 DO num24bit = num24bit + ((number(j) MOD 16) * base16(0,j)) + $
-   (Fix(number(j)/16) * base16(1,j))
+FOR j=0,2 DO num24bit = num24bit + ((number[j] MOD 16) * base16[0,j]) + $
+   (Fix(number[j]/16) * base16[1,j])
    
 RETURN, num24bit
Index: trunk/SRC/ToBeReviewed/COULEURS/colorbar.pro
===================================================================
--- trunk/SRC/ToBeReviewed/COULEURS/colorbar.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/COULEURS/colorbar.pro	(revision 114)
@@ -121,4 +121,7 @@
               PSCOLOR=pscolor, CB_TITLE=cb_title, VERTICAL=vertical, TOP=top, RIGHT=right, CB_LOG = CB_log, _extra = ex
                                 ; Is the PostScript device selected?
+;
+  compile_opt idl2, strictarrsubs
+;
 
    postScriptDevice = (!D.NAME EQ 'PS')
@@ -207,11 +210,11 @@
                                 ; Get starting locations in DEVICE coordinates.
 
-   xstart = position(0) * !D.X_VSIZE
-   ystart = position(1) * !D.Y_VSIZE
+   xstart = position[0] * !D.X_VSIZE
+   ystart = position[1] * !D.Y_VSIZE
 
                                 ; Get the size of the bar in DEVICE coordinates.
 
-   xsize = (position(2) - position(0)) * !D.X_VSIZE
-   ysize = (position(3) - position(1)) * !D.Y_VSIZE
+   xsize = (position[2] - position[0]) * !D.X_VSIZE
+   ysize = (position[3] - position[1]) * !D.Y_VSIZE
 
                                 ; For PostScript output only, draw the annotation in !P.COLOR
Index: trunk/SRC/ToBeReviewed/COULEURS/getcolor.pro
===================================================================
--- trunk/SRC/ToBeReviewed/COULEURS/getcolor.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/COULEURS/getcolor.pro	(revision 114)
@@ -181,4 +181,7 @@
 
 FUNCTION COLOR24, number
+;
+  compile_opt idl2, strictarrsubs
+;
 
    ; This FUNCTION accepts a [red, green, blue] triple that
@@ -204,6 +207,6 @@
 num24bit = 0L
 
-FOR j=0,2 DO num24bit = num24bit + ((number(j) MOD 16) * base16(0,j)) + $
-   (Fix(number(j)/16) * base16(1,j))
+FOR j=0,2 DO num24bit = num24bit + ((number[j] MOD 16) * base16[0,j]) + $
+   (Fix(number[j]/16) * base16[1,j])
 
 RETURN, num24bit
@@ -214,4 +217,7 @@
 FUNCTION GETCOLOR, thisColor, index, TRUE=truecolor, $
    NAMES=colornames, LOAD=load, START=start
+;
+  compile_opt idl2, strictarrsubs
+;
 
    ; Set up the color vectors.
@@ -315,5 +321,5 @@
 
 varInfo = SIZE(thisColor)
-IF varInfo(varInfo(0) + 1) NE 7 THEN $
+IF varInfo[varInfo[0] + 1] NE 7 THEN $
    MESSAGE, 'The color name must be a string.'
 thisColor = STRUPCASE(thisColor)
@@ -326,5 +332,5 @@
    ; set the index to a YELLOW color, and continue.
 
-IF colorIndex(0) LT 0 THEN BEGIN
+IF colorIndex[0] LT 0 THEN BEGIN
    MESSAGE, "Can't find color. Returning YELLOW.", /INFORMATIONAL
    colorIndex = 3
@@ -333,7 +339,7 @@
    ; Get the color triple.
 
-r = rvalue(colorIndex)
-g = gvalue(colorIndex)
-b = bvalue(colorIndex)
+r = rvalue[colorIndex]
+g = gvalue[colorIndex]
+b = bvalue[colorIndex]
 returnColor = REFORM([r, g, b], 1, 3)
 
Index: trunk/SRC/ToBeReviewed/COULEURS/lct.pro
===================================================================
--- trunk/SRC/ToBeReviewed/COULEURS/lct.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/COULEURS/lct.pro	(revision 114)
@@ -35,4 +35,7 @@
 ;------------------------------------------------------------
 PRO lct, numero, GET_NAME = get_name, LIGHTNESS = Lightness, _EXTRA = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ; le mot cle file est passe par l''intermediere de EXTRA?
Index: trunk/SRC/ToBeReviewed/COULEURS/newpalette.pro
===================================================================
--- trunk/SRC/ToBeReviewed/COULEURS/newpalette.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/COULEURS/newpalette.pro	(revision 114)
@@ -40,4 +40,7 @@
 ; le mot cle file est passe par l''intermediere de EXTRA?
 ; definition du mon du fichier qui contient les palettes de couleur
+;
+  compile_opt idl2, strictarrsubs
+;
    if n_elements(ex) NE 0 then BEGIN 
       if (where(tag_names(ex) EQ 'FILE'))[0] NE -1 then nompal=ex.FILE ELSE nompal='palette.tbl'
Index: trunk/SRC/ToBeReviewed/COULEURS/palit.pro
===================================================================
--- trunk/SRC/ToBeReviewed/COULEURS/palit.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/COULEURS/palit.pro	(revision 114)
@@ -8,4 +8,7 @@
 ;-
 PRO palit, coef, red, green, blue
+;
+  compile_opt idl2, strictarrsubs
+;
    IF n_elements(coef) EQ 0 THEN coef = 0.5
    IF n_elements(red) EQ 0 THEN tvlct, red, green, blue, /get
Index: trunk/SRC/ToBeReviewed/COULEURS/xlct.pro
===================================================================
--- trunk/SRC/ToBeReviewed/COULEURS/xlct.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/COULEURS/xlct.pro	(revision 114)
@@ -6,4 +6,7 @@
 PRO XLCT_PSAVE			;Save/Restore our plotting state.
 ;  Swaps our state with the current state each time its called.
+;
+  compile_opt idl2, strictarrsubs
+;
 
 COMMON xlct_com, r0, g0, b0, tfun, state, filename, cps, psave, pnt, $
@@ -25,4 +28,7 @@
 
 pro xlct_alert_caller
+;
+  compile_opt idl2, strictarrsubs
+;
 COMMON xlct_com, r0, g0, b0, tfun, state, filename, cps, psave, pnt, $
 	top, bot, silent, chop, lock, g_lbl, vbot, vtop, g_slider, $
@@ -51,4 +57,7 @@
 ; Redraw the ramp image.
 PRO xlct_show
+;
+  compile_opt idl2, strictarrsubs
+;
 COMMON xlct_com, r0, g0, b0, tfun, state, filename, cps, psave, pnt, $
 	top, bot, silent, chop, lock, g_lbl, vbot, vtop, g_slider, $
@@ -68,4 +77,7 @@
 
 PRO xlct_draw_cps, i, c
+;
+  compile_opt idl2, strictarrsubs
+;
 COMMON colors, r_orig, g_orig, b_orig, r_curr, g_curr, b_curr
 COMMON xlct_com, r0, g0, b0, tfun, state, filename, cps, psave, pnt, $
@@ -86,4 +98,7 @@
 
 PRO xlct_transfer, UPDATE=update
+;
+  compile_opt idl2, strictarrsubs
+;
 COMMON colors, r_orig, g_orig, b_orig, r_curr, g_curr, b_curr
 COMMON xlct_com, r0, g0, b0, tfun, state, filename, cps, psave, pnt, $
@@ -115,4 +130,7 @@
 
 PRO xlct_event, event
+;
+  compile_opt idl2, strictarrsubs
+;
 COMMON colors, r_orig, g_orig, b_orig, r_curr, g_curr, b_curr
 COMMON xlct_com, r0, g0, b0, tfun, state, filename, cps, psave, pnt, $
@@ -430,4 +448,7 @@
           MODAL=modal, BLOCK=block, UPDATECALLBACK=updt_cb_name, $
           UPDATECBDATA=updt_cb_data
+;
+  compile_opt idl2, strictarrsubs
+;
 
    COMMON colors, r_orig, g_orig, b_orig, r_curr, g_curr, b_curr
Index: trunk/SRC/ToBeReviewed/COULEURS/xpal.pro
===================================================================
--- trunk/SRC/ToBeReviewed/COULEURS/xpal.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/COULEURS/xpal.pro	(revision 114)
@@ -157,4 +157,7 @@
 ; color maps and set !P appropriately. Returns 1 if the colors changed,
 ; 0 otherwise.
+;
+  compile_opt idl2, strictarrsubs
+;
   common xp_com, xpw, state
 
@@ -176,4 +179,7 @@
 
 pro XP_ALERT_CALLER
+;
+  compile_opt idl2, strictarrsubs
+;
 
   common xp_com, xpw, state
@@ -200,4 +206,7 @@
   ; For visuals with static colormaps, update the graphics
   ; after a change by XLOADCT.
+;
+  compile_opt idl2, strictarrsubs
+;
   if ((COLORMAP_APPLICABLE(redrawRequired) GT 0) and $
         (redrawRequired GT 0)) then begin
@@ -208,4 +217,7 @@
 
 pro XP_REDRAW
+;
+  compile_opt idl2, strictarrsubs
+;
 
   common xp_com, xpw, state
@@ -227,4 +239,7 @@
 ;       - 'G': Draw the data part of the Green plot
 ;       - 'B': Draw the data part of the Blue plot
+;
+  compile_opt idl2, strictarrsubs
+;
 
   common xp_com, xpw, state
@@ -303,4 +318,7 @@
 ;       - 'G': ...
 ;       - 'B': ...
+;
+  compile_opt idl2, strictarrsubs
+;
   common xp_com, xpw, state
   common colors, r_orig, g_orig, b_orig, r_curr, g_curr, b_curr
@@ -348,4 +366,7 @@
 
 pro XP_BUTTON_EVENT, event
+;
+  compile_opt idl2, strictarrsubs
+;
 
    common xp_com, xpw, state
@@ -461,4 +482,7 @@
 
 PRO xp_button_event_event, ev
+;
+  compile_opt idl2, strictarrsubs
+;
 COMMON basecommon,  bas212, bas222,  bas232
   WIDGET_CONTROL, ev.id,  GET_UVALUE = uval
@@ -485,4 +509,7 @@
 
 pro XP_EVENT, event
+;
+  compile_opt idl2, strictarrsubs
+;
 
    common xp_com, xpw, state
@@ -532,4 +559,7 @@
 pro XPAL, group=group, BLOCK=block, UPDATECALLBACK=updt_cb_name, $
         UPDATECBDATA=updt_cb_data
+;
+  compile_opt idl2, strictarrsubs
+;
 
 
Index: trunk/SRC/ToBeReviewed/GRILLE/changegrid.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/changegrid.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/changegrid.pro	(revision 114)
@@ -1,3 +1,6 @@
 function changegrid, newgrid
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
 @cm_4mesh
Index: trunk/SRC/ToBeReviewed/GRILLE/cmpgrid.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/cmpgrid.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/cmpgrid.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION cmpgrid, newgrid
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
 @common
Index: trunk/SRC/ToBeReviewed/GRILLE/decoupeterre.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/decoupeterre.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/decoupeterre.pro	(revision 114)
@@ -50,4 +50,7 @@
 PRO decoupeterre, mask, glam, gphi, gdep, TYPE = type, TRI = tri, INDICEZOOM = indicezoom, COINMONTE = coinmonte, COINDESCEND = coindescend, WDEPTH = wdepth, REALSECTION = realsection, USETRI = usetri, _extra = ex
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/GRILLE/domdef.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/domdef.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/domdef.pro	(revision 114)
@@ -105,4 +105,7 @@
 ;------------------------------------------------------------
 ; include commons
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
   IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/GRILLE/f2v.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/f2v.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/f2v.pro	(revision 114)
@@ -39,4 +39,7 @@
 FUNCTION f2v, temp
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/GRILLE/fmask.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/fmask.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/fmask.pro	(revision 114)
@@ -26,4 +26,7 @@
 FUNCTION fmask
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
   IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/GRILLE/grille.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/grille.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/grille.pro	(revision 114)
@@ -64,4 +64,7 @@
 ;------------------------------------------------------------
 ; include commons
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/GRILLE/t2v.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/t2v.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/t2v.pro	(revision 114)
@@ -39,4 +39,7 @@
 FUNCTION t2v, temp
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/GRILLE/tracegrille.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/tracegrille.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/tracegrille.pro	(revision 114)
@@ -59,4 +59,7 @@
                  , _extra = extra
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/GRILLE/u2t.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/u2t.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/u2t.pro	(revision 114)
@@ -39,4 +39,7 @@
 FUNCTION u2t, temp
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/GRILLE/umask.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/umask.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/umask.pro	(revision 114)
@@ -40,4 +40,7 @@
 FUNCTION umask
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
   IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/GRILLE/v2t.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/v2t.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/v2t.pro	(revision 114)
@@ -39,4 +39,7 @@
 FUNCTION v2t, temp
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/GRILLE/vmask.pro
===================================================================
--- trunk/SRC/ToBeReviewed/GRILLE/vmask.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/GRILLE/vmask.pro	(revision 114)
@@ -26,4 +26,7 @@
 ;------------------------------------------------------------
 FUNCTION vmask
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
   tempsun = systime(1)          ; pour key_performance
Index: trunk/SRC/ToBeReviewed/HOPE/.idlwave_catalog
===================================================================
--- trunk/SRC/ToBeReviewed/HOPE/.idlwave_catalog	(revision 97)
+++ trunk/SRC/ToBeReviewed/HOPE/.idlwave_catalog	(revision 114)
@@ -9,6 +9,4 @@
    ("computehopegrid" pro nil (lib "computehopegrid.pro" nil "saxo") "%s, xaxis, yaxis, zaxis, linetype" (nil ("FIRSTS") ("FORTHEMASK") ("LASTS") ("PTTYPE") ("WPOINT")))
    ("createhopestruct" fun nil (lib "createhopestruct.pro" nil "saxo") "Result = %s(event)" (nil))
-   ("testwid_event" pro nil (lib "cw_selectinterval.pro" nil "saxo") "%s, event" (nil))
-   ("testwid" pro nil (lib "cw_selectinterval.pro" nil "saxo") "%s" (nil ("_extra")))
    ("cw_selectinterval_get_value" fun nil (lib "cw_selectinterval.pro" nil "saxo") "Result = %s(id)" (nil))
    ("cw_selectinterval_event" fun nil (lib "cw_selectinterval.pro" nil "saxo") "Result = %s(event)" (nil))
Index: trunk/SRC/ToBeReviewed/HOPE/completetype.pro
===================================================================
--- trunk/SRC/ToBeReviewed/HOPE/completetype.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/HOPE/completetype.pro	(revision 114)
@@ -1,4 +1,7 @@
 
 function completetype, typein
+;
+  compile_opt idl2, strictarrsubs
+;
    type=typein
    case type of
Index: trunk/SRC/ToBeReviewed/HOPE/computehopegrid.pro
===================================================================
--- trunk/SRC/ToBeReviewed/HOPE/computehopegrid.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/HOPE/computehopegrid.pro	(revision 114)
@@ -33,4 +33,7 @@
 PRO computehopegrid, xaxis, yaxis, zaxis, linetype, FORTHEMASK = forthemask, WPOINT = wpoint, FIRSTS = firsts, LASTS = lasts, PTTYPE = pttype
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/HOPE/createhopestruct.pro
===================================================================
--- trunk/SRC/ToBeReviewed/HOPE/createhopestruct.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/HOPE/createhopestruct.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION createhopestruct, event
+;
+  compile_opt idl2, strictarrsubs
+;
    widget_control, event.top, get_uvalue=top_uvalue
 ; find the selected variable
Index: trunk/SRC/ToBeReviewed/HOPE/cw_selectinterval.pro
===================================================================
--- trunk/SRC/ToBeReviewed/HOPE/cw_selectinterval.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/HOPE/cw_selectinterval.pro	(revision 114)
@@ -1,41 +1,50 @@
 
-PRO testwid_event, event
-   widget_control, event.id, get_uvalue=uval
-   if n_elements(uval) EQ 0 then return
-   case uval of
-      'done':widget_control, event.top, /destroy
-      'get':BEGIN
-         id = widget_info(event.top,find_by_uname = 'discret')
-         widget_control, id, get_value = value1
-         help, value1
-         print, 'value1', value1
-         id = widget_info(event.top,find_by_uname = 'continus')
-         widget_control, id, get_value = value2
-         help, value2
-         print, 'value2', value2
-      END
-      ELSE:
-   endcase
-   return
-end
-PRO testwid, _extra = ex
-   base=widget_base(/COLUMN)
-   nothing = widget_label(base, value = 'beginning of the test')
-;
-   nothing = cw_selectinterval(base, 10+indgen(5), _extra = ex, uname = 'discret', uvalue = 'discret')
-   print, nothing
-   nothing = cw_selectinterval(base, indgen(20), _extra = ex, uname = 'continus', uvalue = 'continus')
-   print, nothing
-;
-   nothing = widget_button(base, value = 'get', uvalue = 'get')
-   nothing = widget_button(base, value = 'done', uvalue = 'done')
-   widget_control, base, /REALIZE
-   xmanager,'testwid', base, /no_block
-   return
-end
+; PRO testwid_event, event
+; ;
+;   compile_opt idl2, strictarrsubs
+; ;
+;    widget_control, event.id, get_uvalue=uval
+;    if n_elements(uval) EQ 0 then return
+;    case uval of
+;       'done':widget_control, event.top, /destroy
+;       'get':BEGIN
+;          id = widget_info(event.top,find_by_uname = 'discret')
+;          widget_control, id, get_value = value1
+;          help, value1
+;          print, 'value1', value1
+;          id = widget_info(event.top,find_by_uname = 'continus')
+;          widget_control, id, get_value = value2
+;          help, value2
+;          print, 'value2', value2
+;       END
+;       ELSE:
+;    endcase
+;    return
+; end
+; PRO testwid, _extra = ex
+; ;
+;   compile_opt idl2, strictarrsubs
+; ;
+;    base=widget_base(/COLUMN)
+;    nothing = widget_label(base, value = 'beginning of the test')
+; ;
+;    nothing = cw_selectinterval(base, 10+indgen(5), _extra = ex, uname = 'discret', uvalue = 'discret')
+;    print, nothing
+;    nothing = cw_selectinterval(base, indgen(20), _extra = ex, uname = 'continus', uvalue = 'continus')
+;    print, nothing
+; ;
+;    nothing = widget_button(base, value = 'get', uvalue = 'get')
+;    nothing = widget_button(base, value = 'done', uvalue = 'done')
+;    widget_control, base, /REALIZE
+;    xmanager,'testwid', base, /no_block
+;    return
+; end
 ;--------------------------------------------------------------------------
 ;--------------------------------------------------------------------------
 ;--------------------------------------------------------------------------
 function cw_selectinterval_get_value, id
+;
+  compile_opt idl2, strictarrsubs
+;
    bgroupid=widget_info(id, find_by_uname = 'bgroup')
 ; the widget is a set of button
@@ -60,4 +69,7 @@
 ;--------------------------------------------------------------------------
 function cw_selectinterval_event, event
+;
+  compile_opt idl2, strictarrsubs
+;
    widget_control, event.id, get_uvalue=uval
    case uval.name of
@@ -77,4 +89,7 @@
 ;--------------------------------------------------------------------------
 function cw_selectinterval, parent, vecteur, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 
    base = widget_base(parent $
Index: trunk/SRC/ToBeReviewed/HOPE/domainpart.pro
===================================================================
--- trunk/SRC/ToBeReviewed/HOPE/domainpart.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/HOPE/domainpart.pro	(revision 114)
@@ -1,3 +1,6 @@
 pro domainpart, top_uvalue, basedomain, selected, DESTROY = destroy
+;
+  compile_opt idl2, strictarrsubs
+;
 
    if keyword_set(destroy) then BEGIN
Index: trunk/SRC/ToBeReviewed/HOPE/findlineandpointtype.pro
===================================================================
--- trunk/SRC/ToBeReviewed/HOPE/findlineandpointtype.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/HOPE/findlineandpointtype.pro	(revision 114)
@@ -22,4 +22,7 @@
 ;                 lonThighodd:modulo = " " ;
 ; }
+;
+  compile_opt idl2, strictarrsubs
+;
    jpi = n_elements(xaxis)
    jpj = n_elements(yaxis)
Index: trunk/SRC/ToBeReviewed/HOPE/read_hope.pro
===================================================================
--- trunk/SRC/ToBeReviewed/HOPE/read_hope.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/HOPE/read_hope.pro	(revision 114)
@@ -111,4 +111,7 @@
 ;
 pro read_hope_event, event
+;
+  compile_opt idl2, strictarrsubs
+;
    widget_control, event.id, get_uvalue=uval
    widget_control, event.top, get_uvalue=top_uvalue
@@ -297,4 +300,7 @@
 ;
 FUNCTION read_hope, typein, varnamein, FILENAME = filename, XLIMITS = xlimits, YLIMITS = ylimits,  ZLIMITS = zlimits, TLIMITS = tlimits, ODDPT = oddpt, ODDEVENPT = oddevenpt, EVENPT = evenpt, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common                         ; usefull only for the definition of iodir 
   if n_elements(filename) EQ 0 then filename = isafile(iodirectory = iodir, _extra = ex)
Index: trunk/SRC/ToBeReviewed/HOPE/rh_alldomains.pro
===================================================================
--- trunk/SRC/ToBeReviewed/HOPE/rh_alldomains.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/HOPE/rh_alldomains.pro	(revision 114)
@@ -1,3 +1,6 @@
 PRO rh_alldomains, topid, selected
+;
+  compile_opt idl2, strictarrsubs
+;
 
    widget_control, topid, get_uvalue=top_uvalue
Index: trunk/SRC/ToBeReviewed/HOPE/sortdim.pro
===================================================================
--- trunk/SRC/ToBeReviewed/HOPE/sortdim.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/HOPE/sortdim.pro	(revision 114)
@@ -17,4 +17,7 @@
 ;
 ;
+;
+  compile_opt idl2, strictarrsubs
+;
    tosort = dims
    if n_elements(tosort) eq 1 then $
Index: trunk/SRC/ToBeReviewed/HOPE/xrh.pro
===================================================================
--- trunk/SRC/ToBeReviewed/HOPE/xrh.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/HOPE/xrh.pro	(revision 114)
@@ -1,4 +1,7 @@
 ; procedure to call read_hope in the widget mode
 PRO xrh, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
    a = read_hope(_extra = ex)
    return
Index: trunk/SRC/ToBeReviewed/IMAGE/animgif.pro
===================================================================
--- trunk/SRC/ToBeReviewed/IMAGE/animgif.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/IMAGE/animgif.pro	(revision 114)
@@ -42,4 +42,7 @@
 ;------------------------------------------------------------
 PRO animgif, nomfic
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;
Index: trunk/SRC/ToBeReviewed/IMAGE/image_viewer.pro
===================================================================
--- trunk/SRC/ToBeReviewed/IMAGE/image_viewer.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/IMAGE/image_viewer.pro	(revision 114)
@@ -48,4 +48,7 @@
 ;THIS PROCEDURE IS CALLED WHEN A USER SELECTS "File > Open Picture Files" FROM THE MAIN MENU
 ;error handling:
+;
+  compile_opt idl2, strictarrsubs
+;
 !ERROR_STATE.CODE=0
 CATCH,error
@@ -126,4 +129,7 @@
 ;THIS PROCEDURE IS CALLED WHEN A USER SELECTS "File > Open All In Folder" FROM THE MAIN MENU
 ;error handling:
+;
+  compile_opt idl2, strictarrsubs
+;
 !ERROR_STATE.CODE=0
 CATCH,error
@@ -204,4 +210,7 @@
 PRO IMAGE_VIEWER_CANCEL,event
 ;obtain state structure for top-level-base from its UVALUE:
+;
+  compile_opt idl2, strictarrsubs
+;
 WIDGET_CONTROL,event.top,GET_UVALUE=pState
 ;shut-off timer:
@@ -214,4 +223,7 @@
 PRO IMAGE_VIEWER_TIMER,event
 ;obtain state structure for top-level-base from its UVALUE:
+;
+  compile_opt idl2, strictarrsubs
+;
 WIDGET_CONTROL,event.top,GET_UVALUE=pState
 if (*pState).timer EQ 1 then begin ;continue processing files:
@@ -884,4 +896,7 @@
 ;THIS PROCEDURE IS CALLED WHEN A USER SELECTS "File > Exit" FROM THE MAIN MENU
 ;terminate the program by destroying the top-level-base (widgetID always stored in event.top):
+;
+  compile_opt idl2, strictarrsubs
+;
 WIDGET_CONTROL,event.top,/DESTROY
 END
@@ -894,4 +909,7 @@
 ;FROM THE MAIN MENU
 ;display a simple message:
+;
+  compile_opt idl2, strictarrsubs
+;
 messageStr=['IMAGE_VIEWER written by AEB, 2002.','',$
             'The purpose of this program is to provide an interactive tool that can be used',$
@@ -909,4 +927,7 @@
 ;THIS PROCEDURE IS CALLED WHEN A USER CLICKS ON ONE OF THE THUMBNAIL PICTURES
 ;error handling:
+;
+  compile_opt idl2, strictarrsubs
+;
 !ERROR_STATE.CODE=0
 CATCH,error
@@ -953,4 +974,7 @@
 ;THIS PROCEDURE IS CALLED WHEN THE PROGRAM IS TERMINATED AND XMANAGER REGISTERS A CLEANUP:
 ;obtain state structure for top-level-base from its uvalue:
+;
+  compile_opt idl2, strictarrsubs
+;
 WIDGET_CONTROL,widgetID,GET_UVALUE=pState
 ;test for validity of state structure pointer:
@@ -978,4 +1002,7 @@
 ;THIS PROCEDURE IS CALLED WHEN A USER RESIZES THE TOP-LEVEL BASE
 ;error handling:
+;
+  compile_opt idl2, strictarrsubs
+;
 !ERROR_STATE.CODE=0
 CATCH,error
@@ -997,4 +1024,7 @@
 PRO IMAGE_VIEWER
 ;error handling:
+;
+  compile_opt idl2, strictarrsubs
+;
 !ERROR_STATE.CODE=0
 CATCH,error
Index: trunk/SRC/ToBeReviewed/IMAGE/imdisp.pro
===================================================================
--- trunk/SRC/ToBeReviewed/IMAGE/imdisp.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/IMAGE/imdisp.pro	(revision 114)
@@ -1,4 +1,7 @@
 ;-------------------------------------------------------------------------------
 FUNCTION IMDISP_GETPOS, ASPECT, POSITION=POSITION, MARGIN=MARGIN
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ;- Compute a position vector given an aspect ratio (called by IMDISP_IMSIZE)
@@ -46,4 +49,7 @@
 FUNCTION IMDISP_IMSCALE, IMAGE, RANGE=RANGE, BOTTOM=BOTTOM, NCOLORS=NCOLORS, $
   NEGATIVE=NEGATIVE
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ;- Byte-scale an image (called by IMDISP)
@@ -73,4 +79,7 @@
 ;-------------------------------------------------------------------------------
 FUNCTION IMDISP_IMREGRID, DATA, NX, NY, INTERP=INTERP
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ;- Regrid a 2D array (called by IMDISP)
@@ -112,4 +121,7 @@
 PRO IMDISP_IMSIZE, IMAGE, X0, Y0, XSIZE, YSIZE, ASPECT=ASPECT, $
   POSITION=POSITION, MARGIN=MARGIN
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ;- Compute the size and offset for an image (called by IMDISP)
@@ -171,4 +183,7 @@
   BACKGROUND=BACKGROUND, ERASE=ERASE, $
   AXIS=AXIS, NEGATIVE=NEGATIVE, _EXTRA=EXTRA_KEYWORDS
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ;+
Index: trunk/SRC/ToBeReviewed/IMAGE/saveimage.pro
===================================================================
--- trunk/SRC/ToBeReviewed/IMAGE/saveimage.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/IMAGE/saveimage.pro	(revision 114)
@@ -1,4 +1,7 @@
 PRO SAVEIMAGE, FILE, BMP=BMP, PNG=PNG, PICT=PICT, JPEG=JPEG, TIFF=TIFF, $
   QUALITY=QUALITY, DITHER=DITHER, CUBE=CUBE, QUIET=QUIET, MULTIPLE = multiple
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ;+
Index: trunk/SRC/ToBeReviewed/IMAGE/showimage.pro
===================================================================
--- trunk/SRC/ToBeReviewed/IMAGE/showimage.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/IMAGE/showimage.pro	(revision 114)
@@ -1,3 +1,6 @@
 PRO SHOWIMAGE, FILE, DITHER=DITHER, CURRENT=CURRENT
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ;+
Index: trunk/SRC/ToBeReviewed/INIT/initncdf.pro
===================================================================
--- trunk/SRC/ToBeReviewed/INIT/initncdf.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/INIT/initncdf.pro	(revision 114)
@@ -91,4 +91,7 @@
               , XYINDEX = xyindex, ZINDEX = zindex $
               , _EXTRA = ex
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
 @common
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/bit2int.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/bit2int.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/bit2int.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION bit2int, bitin, checkneg = checkneg
+;
+  compile_opt idl2, strictarrsubs
+;
 
   res = 0L
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib.pro	(revision 114)
@@ -1,3 +1,6 @@
 function read_grib, varcode, date1, date2, file = file
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ; http://www.wmo.ch/web/www/WDM/Guides/Guide-binary-2.html
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_bds.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_bds.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_bds.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION read_grib_bds, num, recstart, ni, nj
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
   offset = recstart+8
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_end.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_end.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_end.pro	(revision 114)
@@ -1,3 +1,6 @@
 PRO read_grib_end,  num, offset
+;
+  compile_opt idl2, strictarrsubs
+;
 
   a = assoc(num, bytarr(4, /nozero), offset)
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_gds.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_gds.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_gds.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION read_grib_gds, num, recstart
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
   offset = recstart+8
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_is.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_is.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_is.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION read_grib_is, num, offset
+;
+  compile_opt idl2, strictarrsubs
+;
 
   infofile = fstat(num)
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_pds.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_pds.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_pds.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION read_grib_pds, num, recstart
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
   offset = recstart+8
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_gribtable.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_gribtable.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_gribtable.pro	(revision 114)
@@ -40,4 +40,7 @@
 PRO read_gribtable,tablename,parmtabl=parmtabl,center=center,$
                    subcenter=subcenter,tablnum=tablnum
+;
+  compile_opt idl2, strictarrsubs
+;
   
 ON_ERROR,2
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_code.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_code.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_code.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION scan_grib_code, num, recstart
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
   nrec =  n_elements(recstart)
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_date.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_date.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_date.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION scan_grib_date, num, recstart
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
   nrec =  n_elements(recstart)
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_messize.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_messize.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_messize.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION scan_grib_messize, num, recstart
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
   nrec =  n_elements(recstart)
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_nbits.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_nbits.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_nbits.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION scan_grib_nbits, num, recstart
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ;
Index: trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_recstart.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_recstart.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_recstart.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION scan_grib_recstart, num
+;
+  compile_opt idl2, strictarrsubs
+;
 
   infofile = fstat(num)
Index: trunk/SRC/ToBeReviewed/LECTURE/binary.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/binary.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/binary.pro	(revision 114)
@@ -38,4 +38,7 @@
 ;-
 function binary, number
+;
+  compile_opt idl2, strictarrsubs
+;
   s = size(number)
   type = s[s[0] + 1]
Index: trunk/SRC/ToBeReviewed/LECTURE/changeread.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/changeread.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/changeread.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION changeread, newread
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
 @common
Index: trunk/SRC/ToBeReviewed/LECTURE/inverse_binary.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/inverse_binary.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/inverse_binary.pro	(revision 114)
@@ -62,4 +62,7 @@
 FUNCTION inverse_binary, binnumb
 ;
+;
+  compile_opt idl2, strictarrsubs
+;
   s = size(binnumb, /dimensions)
   IF n_elements(s) EQ 1 THEN numbofbit = 8 ELSE numbofbit = 8*s[1]
Index: trunk/SRC/ToBeReviewed/LECTURE/litchamp.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/litchamp.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/litchamp.pro	(revision 114)
@@ -105,4 +105,7 @@
 FUNCTION litchamp, struct, GRID = grid, NAME = name, UNIT = unit, EXP = exp, DATE = date $
                    , LEVEL = level, MASK = mask
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;------------------------------------------------------------
Index: trunk/SRC/ToBeReviewed/LECTURE/ncdf_lec.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/ncdf_lec.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/ncdf_lec.pro	(revision 114)
@@ -42,4 +42,7 @@
 ;------------------------------------------------------------
 function ncdf_lec,nom,ATT=att,DIM=dim,VAR=var, IODIR = iodir, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
    res = -1
 ;------------------------------------------------------------
@@ -124,5 +127,5 @@
           then begin
             print,'variable numero: ',strtrim(varid,1),', nom:',varcontent.name $
-             ,', type:' ,varcontent.datatype,', dimensions:',nomdim(varcontent.dim)
+             ,', type:' ,varcontent.datatype,', dimensions:',nomdim[varcontent.dim]
             if strlowcase(att) eq strlowcase(varcontent.name) then begin
                for attiq=0,varcontent.natts-1 do begin
Index: trunk/SRC/ToBeReviewed/LECTURE/read_ncdf.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/read_ncdf.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/read_ncdf.pro	(revision 114)
@@ -78,4 +78,7 @@
                     , GRID = grid, FBASE2TBASE = fbase2tbase, _EXTRA = ex
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/LECTURE/xncdf_lec.pro
===================================================================
--- trunk/SRC/ToBeReviewed/LECTURE/xncdf_lec.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/LECTURE/xncdf_lec.pro	(revision 114)
@@ -18,4 +18,7 @@
 ;------------------------------------------------------------
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
    COMMON wididbase, base
    COMMON resultat, res
@@ -200,4 +203,7 @@
 ;------------------------------------------------------------
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
    COMMON resultat, res
    COMMON infovariable, cdfid, listename, contient, nomdim, tailledim, varid, varcontient
@@ -306,4 +312,7 @@
 ;------------------------------------------------------------
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
    COMMON resultat, res
    COMMON infovariable, cdfid, listename, contient, nomdim, tailledim, varid, varcontient
@@ -408,4 +417,7 @@
 ;------------------------------------------------------------
 FUNCTION xncdf_lec, nom, ATT = att, COUNT = count, GROUP = group, OFFSET = offset, IODIR = iodir, SHIFT = shift,  STRIDE = stride, VAR = var
+;
+  compile_opt idl2, strictarrsubs
+;
    COMMON wididbase, base
    COMMON infovariable, cdfid, listename, contient, nomdim, tailledim, varid, varcontient
Index: trunk/SRC/ToBeReviewed/MATRICE/cmapply.pro
===================================================================
--- trunk/SRC/ToBeReviewed/MATRICE/cmapply.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/MATRICE/cmapply.pro	(revision 114)
@@ -149,5 +149,5 @@
 ;   OUT             FLOAT     = Array[10, 10]
 ;
-;   (OUT(i,j) is the median value of IN(i,j,*))
+;   (OUT[i,j] is the median value of IN[i,j,*])
 ;
 ; MODIFICATION HISTORY:
@@ -175,30 +175,36 @@
 ;; Utility function, adapted from CMPRODUCT
 function cmapply_product, x
+;
+  compile_opt idl2, strictarrsubs
+;
   sz = size(x)
-  n = sz(1)
+  n = sz[1]
 
   while n GT 1 do begin
-      if (n mod 2) EQ 1 then x(0,*) = x(0,*) * x(n-1,*)
+      if (n mod 2) EQ 1 then x[0,*] = x[0,*] * x[n-1,*]
       n2 = floor(n/2)
-      x = x(0:n2-1,*) * x(n2:*,*)
+      x = x[0:n2-1,*] * x[n2:*,*]
       n = n2
   endwhile
-  return, reform(x(0,*), /overwrite)
+  return, reform(x[0,*], /overwrite)
 end
 
 ;; Utility function, used to collect collaped dimensions
 pro cmapply_redim, newarr, dimapply, dimkeep, nkeep, totcol, totkeep
+;
+  compile_opt idl2, strictarrsubs
+;
   sz = size(newarr)
   ;; First task: rearrange dimensions so that the dimensions
   ;; that are "kept" (ie, uncollapsed) are at the back
-  dimkeep = where(histogram(dimapply,min=1,max=sz(0)) ne 1, nkeep)
+  dimkeep = where(histogram(dimapply,min=1,max=sz[0]) ne 1, nkeep)
   if nkeep EQ 0 then return
 
   newarr = transpose(temporary(newarr), [dimapply-1, dimkeep])
   ;; totcol is the total number of collapsed elements
-  totcol = sz(dimapply(0))
-  for i = 1, n_elements(dimapply)-1 do totcol = totcol * sz(dimapply(i))
-  totkeep = sz(dimkeep(0)+1)
-  for i = 1, n_elements(dimkeep)-1 do totkeep = totkeep * sz(dimkeep(i)+1)
+  totcol = sz[dimapply[0]]
+  for i = 1, n_elements(dimapply)-1 do totcol = totcol * sz[dimapply[i]]
+  totkeep = sz[dimkeep[0]+1]
+  for i = 1, n_elements(dimkeep)-1 do totkeep = totkeep * sz[dimkeep[i]+1]
 
   ;; this new array has two dimensions:
@@ -213,4 +219,7 @@
 function cmapply, op, array, dimapply, double=dbl, type=type, $
                   functargs=functargs, nocatch=nocatch
+;
+  compile_opt idl2, strictarrsubs
+;
 
   if n_params() LT 2 then begin
@@ -227,15 +236,15 @@
   ;; 1) the dimensions of the array
   sz = size(array)
-  if sz(0) EQ 0 then $
+  if sz[0] EQ 0 then $
     message, 'ERROR: ARRAY must be an array!'
 
   ;; 2) The type of the array
-  if sz(sz(0)+1) EQ 0 OR sz(sz(0)+1) EQ 7 OR sz(sz(0)+1) EQ 8 then $
+  if sz[sz[0]+1] EQ 0 OR sz[sz[0]+1] EQ 7 OR sz[sz[0]+1] EQ 8 then $
     message, 'ERROR: Cannot apply to UNDEFINED, STRING, or STRUCTURE'
-  if n_elements(type) EQ 0 then type = sz(sz(0)+1)
+  if n_elements(type) EQ 0 then type = sz[sz[0]+1]
 
   ;; 3) The type of the operation
   szop = size(op)
-  if szop(szop(0)+1) NE 7 then $
+  if szop[szop[0]+1] NE 7 then $
     message, 'ERROR: operation OP was not a string'
 
@@ -243,5 +252,5 @@
   if n_params() EQ 2 then dimapply = 1
   dimapply = [ dimapply ]
-  dimapply = dimapply(sort(dimapply))   ; Sort in ascending order
+  dimapply = dimapply[sort(dimapply)]   ; Sort in ascending order
   napply = n_elements(dimapply)
 
@@ -254,5 +263,5 @@
   newop = strupcase(op)
   newarr = array
-  newarr = reform(newarr, sz(1:sz(0)), /overwrite)
+  newarr = reform(newarr, sz[1:sz[0]], /overwrite)
   case 1 of
 
@@ -260,5 +269,5 @@
       (newop EQ '+'): begin
           for i = 0L, napply-1 do begin
-              newarr = total(temporary(newarr), dimapply(i)-i, double=dbl)
+              newarr = total(temporary(newarr), dimapply[i]-i, double=dbl)
           endfor
       end
@@ -269,9 +278,9 @@
           if nkeep EQ 0 then begin
               newarr = reform(newarr, n_elements(newarr), 1, /overwrite)
-              return, (cmapply_product(newarr))(0)
+              return, (cmapply_product(newarr))[0]
           endif
 
           result = cmapply_product(newarr)
-          result = reform(result, sz(dimkeep+1), /overwrite)
+          result = reform(result, sz[dimkeep+1], /overwrite)
           return, result
       end
@@ -282,6 +291,6 @@
           totelt = 1L
           for i = 0L, napply-1 do begin
-              newarr = total(temporary(newarr), dimapply(i)-i)
-              totelt = totelt * sz(dimapply(i))
+              newarr = total(temporary(newarr), dimapply[i]-i)
+              totelt = totelt * sz[dimapply[i]]
           endfor
           if newop EQ 'AND' then return, (round(newarr) EQ totelt)
@@ -305,20 +314,20 @@
           if totcol LT totkeep then begin
               ;; Iterate over the number of collapsed elements
-              result(0) = reform(newarr(0,*),totkeep,/overwrite)
+              result[0] = reform(newarr[0,*],totkeep,/overwrite)
               case newop of 
                   'MAX': for i = 1L, totcol-1 do $
-                    result(0) = result > newarr(i,*)
+                    result[0] = result > newarr[i,*]
                   'MIN': for i = 1L, totcol-1 do $
-                    result(0) = result < newarr(i,*)
+                    result[0] = result < newarr[i,*]
               endcase
           endif else begin
               ;; Iterate over the number of output elements
               case newop of 
-                  'MAX': for i = 0L, totkeep-1 do result(i) = max(newarr(*,i))
-                  'MIN': for i = 0L, totkeep-1 do result(i) = min(newarr(*,i))
+                  'MAX': for i = 0L, totkeep-1 do result[i] = max(newarr[*,i])
+                  'MIN': for i = 0L, totkeep-1 do result[i] = min(newarr[*,i])
               endcase
           endelse
 
-          result = reform(result, sz(dimkeep+1), /overwrite)
+          result = reform(result, sz[dimkeep+1], /overwrite)
           return, result
       end
@@ -343,11 +352,11 @@
           if n_elements(functargs) GT 0 then begin
               for i = 0L, totkeep-1 do $
-                result(i) = call_function(functname, newarr(*,i), _EXTRA=functargs)
+                result[i] = call_function(functname, newarr[*,i], _EXTRA=functargs)
           endif else begin
               for i = 0L, totkeep-1 do $
-                result(i) = call_function(functname, newarr(*,i))
+                result[i] = call_function(functname, newarr[*,i])
           endelse
 
-          result = reform(result, sz(dimkeep+1), /overwrite)
+          result = reform(result, sz[dimkeep+1], /overwrite)
           return, result
       end
@@ -357,5 +366,5 @@
 
   newsz = size(newarr)
-  if type EQ newsz(newsz(0)+1) then return, newarr
+  if type EQ newsz[newsz[0]+1] then return, newarr
 
   ;; Cast the result into the desired type, if necessary
@@ -363,7 +372,7 @@
              'DOUBLE', 'COMPLEX', 'UNDEF', 'UNDEF', 'DCOMPLEX' ]
   if type GE 1 AND type LE 3 then $
-    return, call_function(castfns(type), round(newarr)) $
+    return, call_function(castfns[type], round(newarr)) $
   else $
-    return, call_function(castfns(type), newarr)
+    return, call_function(castfns[type], newarr)
 end
   
Index: trunk/SRC/ToBeReviewed/MATRICE/cmset_op.pro
===================================================================
--- trunk/SRC/ToBeReviewed/MATRICE/cmset_op.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/MATRICE/cmset_op.pro	(revision 114)
@@ -154,8 +154,8 @@
 ;   if keyword_set(sortit) then begin
 ;       ;; Sort it manually
-;       ii = sort(a) & b = a(ii)
+;       ii = sort(a) & b = a[ii]
 ;       if keyword_set(non) then wh = where(b EQ shift(b, sh), ct) $
 ;       else                     wh = where(b NE shift(b, sh), ct)
-;       if ct GT 0 then return, ii(wh)
+;       if ct GT 0 then return, ii[wh]
 ;   endif else begin
 ;       ;; Use the user's values directly
@@ -171,9 +171,12 @@
 ;; "first" value, whatever that may mean.
 function cmset_op_uniq, a
+;
+  compile_opt idl2, strictarrsubs
+;
   if n_elements(a) LE 1 then return, 0L
 
-  ii = sort(a) & b = a(ii)
+  ii = sort(a) & b = a[ii]
   wh = where(b NE shift(b, +1L), ct)
-  if ct GT 0 then return, ii(wh)
+  if ct GT 0 then return, ii[wh]
 
   return, 0L
@@ -182,4 +185,7 @@
 function cmset_op, a, op0, b, not1=not1, not2=not2, count=count, $
               empty1=empty1, empty2=empty2, maxarray=ma, index=index
+;
+  compile_opt idl2, strictarrsubs
+;
 
   on_error, 2 ;; return on error
@@ -204,5 +210,5 @@
   ;; Check the operation
   sz = size(op0)
-  if sz(sz(0)+1) NE 7 then begin
+  if sz[sz[0]+1] NE 7 then begin
       OP_ERR:
       message, "ERROR: OP must be 'AND', 'OR' or 'XOR'"
@@ -247,5 +253,5 @@
          if count GT 0 then return, a1 else return, -1L
      endif
-     if count GT 0 then return, a(a1) else return, -1L
+     if count GT 0 then return, a[a1] else return, -1L
      RET_B1:
      count = n2
@@ -253,5 +259,5 @@
          if count GT 0 then return, b1+n1 else return, -1L
      endif         
-     if count GT 0 then return, b(b1) else return, -1L
+     if count GT 0 then return, b[b1] else return, -1L
  endif
 
@@ -266,11 +272,11 @@
 
   ;; Check types of operands
-  sz1 = size(a) & tp1 = sz1(sz1(0)+1)
-  sz2 = size(b) & tp2 = sz2(sz2(0)+1)
+  sz1 = size(a) & tp1 = sz1[sz1[0]+1]
+  sz2 = size(b) & tp2 = sz2[sz2[0]+1]
   if tp1 LT 0 OR tp1 GE 16 OR tp2 LT 0 OR tp2 GE 16 then begin
       message, 'ERROR: unrecognized data types for operands'
       return, -1
   endif
-  if basetype(tp1) NE basetype(tp2) then begin
+  if basetype[tp1] NE basetype[tp2] then begin
       TYPE1_ERR:
       message, 'ERROR: both A and B must be of the same type'
@@ -297,5 +303,5 @@
               count = n_elements(index0)
               if kind then return, index0
-              return, uu(index0)
+              return, uu[index0]
           end
 
@@ -305,19 +311,19 @@
               bi = cmset_op_uniq(b) & nb = n_elements(bi)
               ui = [ai, bi+n1]
-              uu = [a,b]    & uu = uu(ui) ;; Raw union...
-              us = sort(uu) & uu = uu(us) ;; ...and sort
-              if kind then ui = ui(temporary(us)) else ui = 0
+              uu = [a,b]    & uu = uu[ui] ;; Raw union...
+              us = sort(uu) & uu = uu[us] ;; ...and sort
+              if kind then ui = ui[temporary(us)] else ui = 0
 
               ;; Values in one set only will not have duplicates
               wh1 = where(uu NE shift(uu, -1), count1)
               if count1 EQ 0 then return, -1L
-              wh = where(wh1(1:*)-wh1 EQ 1, count)
-              if wh1(0) EQ 0 then begin
+              wh = where(wh1[1:*]-wh1 EQ 1, count)
+              if wh1[0] EQ 0 then begin
                   if count GT 0 then wh = [-1L, wh] else wh = [-1L]
                   count = n_elements(wh)
               endif
               if count EQ 0 then return, -1
-              if kind then return, ui(wh1(wh+1))
-              return, uu(wh1(wh+1))
+              if kind then return, ui[wh1[wh+1]]
+              return, uu[wh1[wh+1]]
           end
 
@@ -327,7 +333,7 @@
               bi = cmset_op_uniq(b) & nb = n_elements(bi)
               ui = [ai, bi+n1]
-              uu = [a,b]    & uu = uu(ui)  ;; Raw union...
-              us = sort(uu) & uu = uu(us)  ;; ...and sort
-              if kind then ui = ui(us) else ui = 0
+              uu = [a,b]    & uu = uu[ui]  ;; Raw union...
+              us = sort(uu) & uu = uu[us]  ;; ...and sort
+              if kind then ui = ui[us] else ui = 0
 
               if NOT keyword_set(not1) AND NOT keyword_set(not2) then begin
@@ -336,8 +342,8 @@
                   ;; they are equal, then the SHIFT() technique below
                   ;; fails.  Do this one by hand.
-                  if na EQ 1 AND nb EQ 1 AND uu(0) EQ uu(1) then begin
+                  if na EQ 1 AND nb EQ 1 AND uu[0] EQ uu[1] then begin
                       count = 1L
                       if kind then return, 0L
-                      return, [uu(0)]
+                      return, [uu[0]]
                   endif
 
@@ -348,22 +354,22 @@
                   ;; This should always select the element from A
                   ;; rather than B (the smaller of the two)
-                  if kind then return, (ui(wh) < ui(wh+1))
-                  return, uu(wh)
+                  if kind then return, (ui[wh] < ui[wh+1])
+                  return, uu[wh]
               endif
 
               ;; For "NOT" cases, we need to identify by set
               ii = make_array(na+nb, value=1b)
-              if keyword_set(not1) then ii(0:na-1) = 0
-              if keyword_set(not2) then ii(na:*)   = 0
-              ii = ii(temporary(us))
+              if keyword_set(not1) then ii[0:na-1] = 0
+              if keyword_set(not2) then ii[na:*]   = 0
+              ii = ii[temporary(us)]
 
               ;; Remove any duplicates
               wh1 = where(uu EQ shift(uu, -1L), count1) ;; Find non-unique
-              if count1 GT 0 then ii([wh1, wh1+1]) = 0
+              if count1 GT 0 then ii[wh1, wh1+1] = 0
               ;; Remainder is the desired set
               wh = where(ii, count)
               if count EQ 0 then return, -1L
-              if kind then return, ui(wh)
-              return, uu(wh)
+              if kind then return, ui[wh]
+              return, uu[wh]
           end
 
@@ -380,5 +386,5 @@
       minn = min1 < min2 & maxx = max1 > max2
       nbins = maxx-minn+1
-      if (maxx-minn) GT floor(ma(0)) then goto, SLOW_SET_OP
+      if (maxx-minn) GT floor(ma[0]) then goto, SLOW_SET_OP
 
       ;; Work around a stupidity in the built-in IDL HISTOGRAM routine
@@ -405,10 +411,10 @@
       result = temporary(wh+minn)
       if tp1 NE tp2 then return, result
-      szr = size(result) & tpr = szr(szr(0)+1)
+      szr = size(result) & tpr = szr[szr[0]+1]
 
       ;; Cast to the original type if necessary
       if tpr NE tp1 then begin
           fresult = make_array(n_elements(result), type=tp1)
-          fresult(0) = temporary(result)
+          fresult[0] = temporary(result)
           result = temporary(fresult)
       endif
@@ -424,9 +430,9 @@
 ;     works, but is complicated, so I forced it to go to SLOW_SET_OP.
 ;     ha = histogram(a, min=minn, max=maxx, reverse=ra) < 1
-;     rr = ra(0:nbins) & mask = rr NE rr(1:*) & ra = ra(rr)*mask-1L+mask
+;     rr = ra[0:nbins] & mask = rr NE rr[1:*] & ra = ra[rr]*mask-1L+mask
 ;     hb = histogram(b, min=minn, max=maxx, reverse=rb) < 1
-;     rr = rb(0:nbins) & mask = rr NE rr(1:*) & rb = rb(rr)*mask-1L+mask
+;     rr = rb[0:nbins] & mask = rr NE rr[1:*] & rb = rb[rr]*mask-1L+mask
 ;     ...  AND/OR/XOR NOT masking here ...
-;     ra = ra(wh) & rb = rb(wh)
+;     ra = ra[wh] & rb = rb[wh]
 ;     return, ra*(ra GE 0) + (rb+n1)*(ra LT 0) ;; is last 'ra' right?
 
Index: trunk/SRC/ToBeReviewed/MATRICE/colle.pro
===================================================================
--- trunk/SRC/ToBeReviewed/MATRICE/colle.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/MATRICE/colle.pro	(revision 114)
@@ -70,4 +70,7 @@
 ;------------------------------------------------------------
    PRO UNDEFINE, varname  
+;
+  compile_opt idl2, strictarrsubs
+;
       tempvar = SIZE(TEMPORARY(varname))
    END
@@ -75,4 +78,7 @@
 ;------------------------------------------------------------
 FUNCTION colle, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, SAUVE = sauve
+;
+  compile_opt idl2, strictarrsubs
+;
    res = -1
 ;------------------------------------------------------------
Index: trunk/SRC/ToBeReviewed/MATRICE/congridseb.pro
===================================================================
--- trunk/SRC/ToBeReviewed/MATRICE/congridseb.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/MATRICE/congridseb.pro	(revision 114)
@@ -51,4 +51,7 @@
 ;------------------------------------------------------------
 function congridseb, tableau, x, y
+;
+  compile_opt idl2, strictarrsubs
+;
    res=tableau
    taille = size(tableau)
Index: trunk/SRC/ToBeReviewed/MATRICE/different.pro
===================================================================
--- trunk/SRC/ToBeReviewed/MATRICE/different.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/MATRICE/different.pro	(revision 114)
@@ -47,4 +47,7 @@
 ;------------------------------------------------------------
 FUNCTION different, a, b  
+;
+  compile_opt idl2, strictarrsubs
+;
 
    ; = a and (not b) = elements in A but not in B
Index: trunk/SRC/ToBeReviewed/MATRICE/extrait.pro
===================================================================
--- trunk/SRC/ToBeReviewed/MATRICE/extrait.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/MATRICE/extrait.pro	(revision 114)
@@ -85,4 +85,7 @@
 FUNCTION extrait, tab, indicex, indicey, indicez, indicet
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
    taille = size(tab)
 ;------------------------------------------------------------
Index: trunk/SRC/ToBeReviewed/MATRICE/inter.pro
===================================================================
--- trunk/SRC/ToBeReviewed/MATRICE/inter.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/MATRICE/inter.pro	(revision 114)
@@ -49,4 +49,7 @@
 FUNCTION inter, a, b
 ;
+;
+  compile_opt idl2, strictarrsubs
+;
    case 1 of
       n_elements(a) EQ 0:return,  -1
Index: trunk/SRC/ToBeReviewed/MATRICE/make_selection.pro
===================================================================
--- trunk/SRC/ToBeReviewed/MATRICE/make_selection.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/MATRICE/make_selection.pro	(revision 114)
@@ -95,4 +95,7 @@
             only_valid=only_valid,required=required,  $
             quiet=quiet
+;
+  compile_opt idl2, strictarrsubs
+;
  
  
Index: trunk/SRC/ToBeReviewed/MATRICE/union.pro
===================================================================
--- trunk/SRC/ToBeReviewed/MATRICE/union.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/MATRICE/union.pro	(revision 114)
@@ -47,4 +47,7 @@
 ;------------------------------------------------------------
 FUNCTION union, a, b
+;
+  compile_opt idl2, strictarrsubs
+;
 IF a[0] LT 0 THEN RETURN, b    ;A union NULL = a
 IF b[0] LT 0 THEN RETURN, a    ;B union NULL = b
Index: trunk/SRC/ToBeReviewed/MATRICE/zeroun.pro
===================================================================
--- trunk/SRC/ToBeReviewed/MATRICE/zeroun.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/MATRICE/zeroun.pro	(revision 114)
@@ -35,4 +35,7 @@
 ;------------------------------------------------------------
 function zeroun, n1,n2
+;
+  compile_opt idl2, strictarrsubs
+;
    CASE N_PARAMS() OF
       1:return, findgen(n1) mod 2
Index: trunk/SRC/ToBeReviewed/PLOTS/DESSINE/bar_plot.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DESSINE/bar_plot.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DESSINE/bar_plot.pro	(revision 114)
@@ -131,4 +131,7 @@
           outline=outline,overplot=overplot,background=background, $
           rotate=rotate, _EXTRA = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 if (n_params(d) eq 0) then begin  ;Print call & return if no parameters
   print,'bar_test,values,baselines=baselines,colors=colors,barnames=barnames,$'
Index: trunk/SRC/ToBeReviewed/PLOTS/DESSINE/plt.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DESSINE/plt.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DESSINE/plt.pro	(revision 114)
@@ -304,4 +304,7 @@
 ;---------------------------------------------------------
 ; include common
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/PLOTS/DESSINE/plt1d.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DESSINE/plt1d.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DESSINE/plt1d.pro	(revision 114)
@@ -160,4 +160,7 @@
 ;---------------------------------------------------------
 ; include common
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
@@ -239,7 +242,7 @@
     notanum = where(finite(z1d) EQ 0)
     z1d[notanum] = 0
-    mask(where(z1d LT valmask/10)) = 1
+    mask[where(z1d LT valmask/10)] = 1
     z1d[notanum] = !values.f_nan
-  ENDIF ELSE mask(where(z1d LT valmask/10)) = 1
+  ENDIF ELSE mask[where(z1d LT valmask/10)] = 1
 ;-----------------------------------------------------------------------------
 ; determination du min et du max apres la moyenne
Index: trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltbase.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltbase.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltbase.pro	(revision 114)
@@ -135,4 +135,7 @@
              , _EXTRA = ex
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
   IF NOT keyword_set(key_forgetold) THEN BEGIN
@@ -215,5 +218,5 @@
 ; ds le cas on unsur2 est active on reduit levels
     if NOT keyword_set(nocontour) then begin
-      IF keyword_set(unsur2) THEN levels = levels(where(zeroun(n_elements(levels) ) eq 1))
+      IF keyword_set(unsur2) THEN levels = levels[where(zeroun(n_elements(levels) ) eq 1)]
 ; unlabsur est active?  C_LABEL est passe via _EXTRA?
       if keyword_set(unlabsur) THEN IF chkstru(ex, 'C_LABELS') THEN $
Index: trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltsc.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltsc.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltsc.pro	(revision 114)
@@ -3,4 +3,7 @@
 ;
 ; scatter plot (inspired from plt1d)
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
 
Index: trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltt.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltt.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltt.pro	(revision 114)
@@ -306,4 +306,7 @@
 ;---------------------------------------------------------
 ; include common
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltz.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltz.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltz.pro	(revision 114)
@@ -266,4 +266,7 @@
 ;---------------------------------------------------------
 ; include common
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/PLOTS/DESSINE/sbar_plot.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DESSINE/sbar_plot.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DESSINE/sbar_plot.pro	(revision 114)
@@ -51,4 +51,7 @@
 
 PRO sbar_plot, Values, COLORS = colors, NOREINITPLT = noreinitplt, _extra = ex 
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ; 1) je reinitialise l''environnememt graphique (les variables !x, !y et !p): 
Index: trunk/SRC/ToBeReviewed/PLOTS/DESSINE/scontour.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DESSINE/scontour.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DESSINE/scontour.pro	(revision 114)
@@ -41,4 +41,7 @@
 ;------------------------------------------------------------
 PRO scontour, x, y, z, NOREINITPLT = noreinitplt, _EXTRA = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ; 1) je reinitialise l''environnememt graphique (les variables !x, !y et !p): 
Index: trunk/SRC/ToBeReviewed/PLOTS/DESSINE/splot.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DESSINE/splot.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DESSINE/splot.pro	(revision 114)
@@ -46,4 +46,7 @@
 ;------------------------------------------------------------
 PRO splot,  x, y, NOREINITPLT = noreinitplt, _EXTRA = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ; 1) je reinitialise l''environnememt graphique (les variables !x, !y et !p): 
Index: trunk/SRC/ToBeReviewed/PLOTS/DESSINE/tvplus.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DESSINE/tvplus.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DESSINE/tvplus.pro	(revision 114)
@@ -86,4 +86,7 @@
             , MIN = min, MAX = max, MASK = mask, OFFSET = offset, NOUSEINFOS = NOUSEINFOS $
             , NCOLORS = ncolors, NOINTERP = nointerp, _EXTRA = ex
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
   IF n_elements(z2d) EQ 0 THEN return
@@ -136,8 +139,8 @@
     if abs(mask) LT 1e6 then BEGIN 
       masked = where(arr EQ mask)
-      if masked[0] NE -1 then arr(masked) = min(arr(where(arr NE mask)))
+      if masked[0] NE -1 then arr[masked] = min(arr[where(arr NE mask)])
     ENDIF ELSE BEGIN 
       masked = where(abs(arr) GE abs(mask)/10.)
-      if masked[0] NE -1 then arr(masked) = min(arr(where(abs(arr) LT abs(mask)/10.)))
+      if masked[0] NE -1 then arr[masked] = min(arr[where(abs(arr) LT abs(mask)/10.)])
     ENDELSE
   ENDIF ELSE masked = -1
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/addaxe.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/addaxe.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/addaxe.pro	(revision 114)
@@ -37,4 +37,7 @@
 ;------------------------------------------------------------
 PRO addaxe, endpoints, type, posfenetre, _EXTRA = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;---------------------------------------
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/autoscale.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/autoscale.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/autoscale.pro	(revision 114)
@@ -42,4 +42,7 @@
 ; ce CI est un multiple de l'unite en unite log de 10.
 ;
+;
+  compile_opt idl2, strictarrsubs
+;
     ci = (max-min)/20.
     ci = 10.^floor(alog10(ci))
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/axis4pltz.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/axis4pltz.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/axis4pltz.pro	(revision 114)
@@ -41,4 +41,7 @@
 ;
 ; include common
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
   IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/barrecouleur.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/barrecouleur.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/barrecouleur.pro	(revision 114)
@@ -25,4 +25,7 @@
                   , CB_SUBTITLE = cb_subtitle, POST = post, _extra = ex
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_general
   IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/checkfield.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/checkfield.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/checkfield.pro	(revision 114)
@@ -40,4 +40,7 @@
 ;------------------------------------------------------------
 FUNCTION err_1d, type, n1, name, n2
+;
+  compile_opt idl2, strictarrsubs
+;
   return, report(['Error in "' + type + '" type plot with a 1D input array:' $
                   , 'the number of elements of the input vector ('+strtrim(n1, 1)+') ' $
@@ -46,4 +49,7 @@
 ;
 FUNCTION err_2d, type, sz, nx, ny, nz
+;
+  compile_opt idl2, strictarrsubs
+;
   @cm_4mesh
   @cm_4cal
@@ -59,4 +65,7 @@
 ;
 FUNCTION err_3d, type, sz, nx, ny, nz
+;
+  compile_opt idl2, strictarrsubs
+;
   @cm_4mesh
   @cm_4cal
@@ -74,4 +83,7 @@
 FUNCTION checkfield, field, procedure, TYPE = type, BOXZOOM = boxzoom, DIREC = direc, NOQUESTION = noquestion, VECTEUR = vecteur, WDEPTH = wdepth, _EXTRA = ex
 ;--------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 ; include commons
 @cm_4mesh
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/checktypeminmax.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/checktypeminmax.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/checktypeminmax.pro	(revision 114)
@@ -36,4 +36,7 @@
                      , XINDEX = xindex, YINDEX = yindex $
                      , ENDPOINTS = endpoints, _extra = ex
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
 @common
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/determineminmax.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/determineminmax.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/determineminmax.pro	(revision 114)
@@ -44,4 +44,7 @@
 ;------------------------------------------------------------
 PRO determineminmax, tab, mask, vraimin, vraimax, glam, gphi, MAXIN = maxin, MININ = minin, INTERVALLE = intervalle, usetri = usetri, ZEROMIDDLE = zeromiddle, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;-----------------------------------------------------------------------------
@@ -71,5 +74,5 @@
   endif
 ; ma et mi : max et min sur les points mer
-  vraimax = max(tab(mer), min = vraimin, _extra = ex)
+  vraimax = max(tab[mer], min = vraimin, _extra = ex)
   sameminmax = testvar(var = minin) EQ testvar(var = maxin) 
   if n_elements(maxin) EQ 0 OR sameminmax then maxin = vraimax
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/givewindowsize.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/givewindowsize.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/givewindowsize.pro	(revision 114)
@@ -3,4 +3,7 @@
 ;------------------------------------------------------------
 ; include commons
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4ps
 IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/meridienparallele.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/meridienparallele.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/meridienparallele.pro	(revision 114)
@@ -23,4 +23,7 @@
 ;------------------------------------------------------------
 PRO meridienparallele, coupe
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;------------------------------------------------------------
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/placecolor.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/placecolor.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/placecolor.pro	(revision 114)
@@ -42,4 +42,7 @@
 ;------------------------------------------------------------
 ; include commons
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4ps
    IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/placedessin.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/placedessin.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/placedessin.pro	(revision 114)
@@ -56,4 +56,7 @@
 ;---------------------------------------------------------
 ; include common
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4ps
 @cm_4mesh
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/projsegment.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/projsegment.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/projsegment.pro	(revision 114)
@@ -50,4 +50,7 @@
 FUNCTION projsegment, vecteur, bornes, MP = mp
 ;--------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
    a1 = float(vecteur[0])
    b1 = float(vecteur[n_elements(vecteur)-1])
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/restoreatt.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/restoreatt.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/restoreatt.pro	(revision 114)
@@ -29,4 +29,7 @@
 ;------------------------------------------------------------
 PRO restoreatt, struct
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;------------------------------------------------------------
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/rotation.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/rotation.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/rotation.pro	(revision 114)
@@ -28,4 +28,7 @@
 
 PRO ROTATION,X,Y,DEG,NX,NY
+;
+  compile_opt idl2, strictarrsubs
+;
 ang=deg*!dtor
 
@@ -35,5 +38,5 @@
 ;get angle in for loop so that zero radii will be left as zero angle
 for i = 0,n_elements(r)-1 do $
-if r(i) ne 0 then theta(i) = atan(y(i),x(i))  ;range from -pi to +pi
+if r[i] ne 0 then theta[i] = atan(y[i],x[i])  ;range from -pi to +pi
 ;
 ;add rotation angle
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/saveatt.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/saveatt.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/saveatt.pro	(revision 114)
@@ -26,4 +26,7 @@
 ;------------------------------------------------------------
 FUNCTION saveatt
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
    return, {n:varname,g:vargrid,d:vardate,e:varexp,u:varunit,m:valmask}
Index: trunk/SRC/ToBeReviewed/PLOTS/DIVERS/terminedessin.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/DIVERS/terminedessin.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/DIVERS/terminedessin.pro	(revision 114)
@@ -34,4 +34,7 @@
 PRO terminedessin, POST = post, SMALL = small, _extra = ex
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4ps
   IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/PLOTS/LABEL/label.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/LABEL/label.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/LABEL/label.pro	(revision 114)
@@ -50,4 +50,7 @@
 pro label, cas, min, max, ncontour, level_z2d, colnumb, NLEVEL = nlevel $
           ,INTERVALLE=intervalle, STRICTFILL = strictfill
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
    if !d.name EQ 'PS' OR !d.name EQ 'Z' then BEGIN
@@ -83,5 +86,5 @@
          level_z2d = min + intervalle*findgen(Ncontour) 
          colnumb   = ncoul*(findgen(Ncontour))/Ncontour+ncoul/(2*ncontour)
-         max=level_z2d(Ncontour-1)+intervalle
+         max=level_z2d[Ncontour-1]+intervalle
       end
 ; label pour faire les memes sss que dessier
Index: trunk/SRC/ToBeReviewed/PLOTS/LABEL/label_date.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/LABEL/label_date.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/LABEL/label_date.pro	(revision 114)
@@ -99,4 +99,7 @@
 FUNCTION LABEL_DATE, axis, index, x, DATE_FORMAT = format, MONTHS = months, $
               OFFSET= offs, _EXTRA = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 COMMON label_date_com, fmt, month_chr, offset
 
Index: trunk/SRC/ToBeReviewed/PLOTS/LABEL/label_gmt.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/LABEL/label_gmt.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/LABEL/label_gmt.pro	(revision 114)
@@ -3,4 +3,7 @@
 ;
 PRO label_gmt, min, max, intervalle, ncoul, ncontour, level_z2d, coul
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 @com_eg
@@ -22,5 +25,5 @@
       ncontour  = fix((max-min)/intervalle)
       level_z2d = min + intervalle*findgen(Ncontour) 
-      max=level_z2d(Ncontour-1)+intervalle
+      max=level_z2d[Ncontour-1]+intervalle
 
       print, '     Number of contour intervals, plotting min & max ', ncontour, min, max
@@ -40,5 +43,5 @@
            ; difference plot : lighter below first negative interval
             red[51:98] = long((100.-float(grey_shade_2))/100.*255.)
-            red(1:48) = long((100.-float(grey_shade))/100.*255.)
+            red[1:48] = long((100.-float(grey_shade))/100.*255.)
             red[50] = 255
 
Index: trunk/SRC/ToBeReviewed/PLOTS/LABEL/lataxe.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/LABEL/lataxe.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/LABEL/lataxe.pro	(revision 114)
@@ -38,4 +38,7 @@
 ;------------------------------------------------------------
 ; on ramenne value ds le segment [0,180]
+;
+  compile_opt idl2, strictarrsubs
+;
    lat=value mod 360
    if lat lt 0 then lat=lat+360
Index: trunk/SRC/ToBeReviewed/PLOTS/LABEL/lonaxe.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/LABEL/lonaxe.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/LABEL/lonaxe.pro	(revision 114)
@@ -38,4 +38,7 @@
 ;------------------------------------------------------------
 ; on ramenne value ds le segment [0,360[
+;
+  compile_opt idl2, strictarrsubs
+;
    lon=value mod 360
    if lon lt 0 then lon=lon+360
Index: trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/ajoutvect.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/ajoutvect.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/ajoutvect.pro	(revision 114)
@@ -54,4 +54,7 @@
 ;------------------------------------------------------------
 pro ajoutvect,vecteur, vectlegende, UNVECTSUR=unvectsur,VECTMIN=vectmin, VECTMAX=vectmax, _EXTRA = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
    tempsun = systime(1)         ; pour key_performance
@@ -128,10 +131,10 @@
 ; construction de u et v aux pts T
 ;-----------------------------------------------------------
-      a=u(0,*)
+      a=u[0,*]
       u=(u+shift(u,1,0))/2.
-      if NOT keyword_set(key_periodic) OR nx NE jpi then u(0,*)=a
-      a=v(*,0)
+      if NOT keyword_set(key_periodic) OR nx NE jpi then u[0,*]=a
+      a=v[*,0]
       v=(v+shift(v,0,1))/2.
-      if NOT keyword_set(key_periodic) OR nx NE jpi then v(*,0)=a
+      if NOT keyword_set(key_periodic) OR nx NE jpi then v[*,0]=a
 ;----------------------------------------------------------------------------
 ; attribution du mask et des tableau de longitude et latitude
@@ -191,10 +194,10 @@
    if interpolle then t2 = msku*shift(msku,1,0)*mskv*shift(mskv,0,1) $
    ELSE t2 = tmask[firstxt:lastxt,firstyt:lastyt,firstzt]
-   if NOT keyword_set(key_periodic) OR nx NE jpi then t2(0, *)=0.
-   t2(*,0)=0.
+   if NOT keyword_set(key_periodic) OR nx NE jpi then t2[0, *]=0.
+   t2[*,0]=0.
    terre=where(t2 eq 0)
    if terre[0] ne -1 then begin
-      u(terre)=1e5
-      v(terre)=1e5
+      u[terre]=1e5
+      v[terre]=1e5
    ENDIF
 ;-----------------------------------------------------------
Index: trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/vecteur.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/vecteur.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/vecteur.pro	(revision 114)
@@ -81,4 +81,7 @@
 ; angle peut etre un tableau.
 ;
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ; quelle est la longeur en coordonnees normales d''un trait qui fera 1
@@ -103,15 +106,18 @@
 ; normalise le vecteur
 ;
+;
+  compile_opt idl2, strictarrsubs
+;
    IF n_elements(w) NE 0 THEN BEGIN 
       norme = sqrt(u^2.+v^2.+w^2.)
       ind = where(norme NE 0)
-      u(ind) = u(ind)/norme[ind]
-      v(ind) = v(ind)/norme[ind]
-      w(ind) = w(ind)/norme[ind]
+      u[ind] = u[ind]/norme[ind]
+      v[ind] = v[ind]/norme[ind]
+      w[ind] = w[ind]/norme[ind]
    ENDIF ELSE BEGIN
       norme = sqrt(u^2.+v^2.)
       ind = where(norme NE 0)
-      u(ind) = u(ind)/norme[ind]
-      v(ind) = v(ind)/norme[ind]
+      u[ind] = u[ind]/norme[ind]
+      v[ind] = v[ind]/norme[ind]
    ENDELSE 
 END
@@ -120,4 +126,7 @@
              , VECTCOLOR = vectcolor, VECTTHICK = vectthick, VECTREFPOS = vectrefpos $
              , VECTREFFORMAT = vectrefformat, NOVECTREF = novectref, _extra = extra
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
    tempsun = systime(1)         ; pour key_performance
@@ -202,12 +211,12 @@
    r = cv_coord(from_sphere=coord_sphe,/to_rect,/degrees)
 ;
-   x0 = reform(r(0, *), nx, ny)
-   y0 = reform(r(1, *), nx, ny)
-   z0 = reform(r(2, *), nx, ny)
+   x0 = reform(r[0, *], nx, ny)
+   y0 = reform(r[1, *], nx, ny)
+   z0 = reform(r[2, *], nx, ny)
 ;
 ; etape 1, b)
 ;
 ; Construction du vecteur nu (resp. nv), vecteur norme porte par
-; l''axe des points u(i,j) et u(i-1,j) (resp v(i,j) et v(i,j-1))
+; l''axe des points u[i,j] et u[i-1,j] (resp v[i,j] et v[i,j-1])
 ; qui definissent pour chaque point sur la shere les directions locales
 ; associee a u et v. ces vecteurs definissent un repere orthonorme
@@ -219,11 +228,11 @@
    radius = replicate(1,nxgd*nygd)
    IF finite(glamu[0]*gphiu[0]) NE 0 THEN $
-     coord_sphe = transpose([ [(glamu[indice2d])[*]], [(gphiu[indice2d])[*]], [radius(*)] ]) $
-   ELSE coord_sphe = transpose([ [(glamf[indice2d])[*]], [(gphit[indice2d])[*]], [radius(*)] ])
+     coord_sphe = transpose([ [(glamu[indice2d])[*]], [(gphiu[indice2d])[*]], [radius[*]] ]) $
+   ELSE coord_sphe = transpose([ [(glamf[indice2d])[*]], [(gphit[indice2d])[*]], [radius[*]] ])
    r = cv_coord(from_sphere=coord_sphe,/to_rect,/degrees)
 ; coordonnes de points de la grille u en cartesien
-   ux = reform(r(0, *), nxgd, nygd)
-   uy = reform(r(1, *), nxgd, nygd)
-   uz = reform(r(2, *), nxgd, nygd)
+   ux = reform(r[0, *], nxgd, nygd)
+   uy = reform(r[1, *], nxgd, nygd)
+   uz = reform(r[2, *], nxgd, nygd)
 ; calcul de nu 
    nux = ux-shift(ux, 1, 0)
@@ -242,11 +251,11 @@
 ; definition de nv
    IF finite(glamv[0]*gphiv[0]) NE 0 THEN $
-   coord_sphe = transpose([ [(glamv[indice2d])[*]], [(gphiv[indice2d])[*]], [radius(*)] ]) $
-   ELSE coord_sphe = transpose([ [(glamt[indice2d])[*]], [(gphif[indice2d])[*]], [radius(*)] ])                
+   coord_sphe = transpose([ [(glamv[indice2d])[*]], [(gphiv[indice2d])[*]], [radius[*]] ]) $
+   ELSE coord_sphe = transpose([ [(glamt[indice2d])[*]], [(gphif[indice2d])[*]], [radius[*]] ])                
    r = cv_coord(from_sphere=coord_sphe,/to_rect,/degrees)
 ; coordonnes de points de la grille v en cartesien
-   vx = reform(r(0, *), nxgd, nygd)
-   vy = reform(r(1, *), nxgd, nygd)
-   vz = reform(r(2, *), nxgd, nygd)
+   vx = reform(r[0, *], nxgd, nygd)
+   vy = reform(r[1, *], nxgd, nygd)
+   vz = reform(r[2, *], nxgd, nygd)
 ; calcul de nv 
    nvx = vx-shift(vx, 0, 1)
@@ -290,8 +299,8 @@
 ; coordonnees de la pointe en spherique
 
-   coord_rect = transpose([ [x1(*)], [y1(*)], [z1(*)] ])
+   coord_rect = transpose([ [x1[*]], [y1[*]], [z1[*]] ])
    r = cv_coord(from_rect=coord_rect,/to_sphere,/degrees)
-   glam1 = reform(r(0, *), nx, ny)
-   gphi1 = reform(r(1, *), nx, ny)
+   glam1 = reform(r[0, *], nx, ny)
+   gphi1 = reform(r[1, *], nx, ny)
 
 ;
@@ -303,12 +312,12 @@
 ;
    ind = where(glam1 LT !x.range[0] AND glam1+360. LE !x.range[1])
-   if ind[0] NE -1 then glam1(ind) = glam1(ind)+360.
+   if ind[0] NE -1 then glam1[ind] = glam1[ind]+360.
    ind = where(glam1 GT !x.range[1] AND glam1-360. GE !x.range[0])
-   if ind[0] NE -1 then glam1(ind) = glam1(ind)-360.
+   if ind[0] NE -1 then glam1[ind] = glam1[ind]-360.
 
    ind = where(glam LT !x.range[0] AND glam+360. LE !x.range[1])
-   if ind[0] NE -1 then glam(ind) = glam(ind)+360.
+   if ind[0] NE -1 then glam[ind] = glam[ind]+360.
    ind = where(glam  GT !x.range[1] AND glam-360. GE !x.range[0])
-   if ind[0] NE -1 then glam(ind) = glam(ind)-360.
+   if ind[0] NE -1 then glam[ind] = glam[ind]-360.
 ;
 ;
@@ -316,10 +325,10 @@
 ;
    r = convert_coord(glam,gphi,/data,/to_normal) 
-   x0 = r(0, *)                 ; coordonnes normales du debut de la fleche
-   y0 = r(1, *)                 ; 
+   x0 = r[0, *]                 ; coordonnes normales du debut de la fleche
+   y0 = r[1, *]                 ; 
    
    r = convert_coord(glam1,gphi1,/data,/to_normal) 
-   x1 = r(0, *)                 ; coordonnes normales de la fin de la fleche (avant scaling)
-   y1 = r(1, *)                 ; 
+   x1 = r[0, *]                 ; coordonnes normales de la fin de la fleche (avant scaling)
+   y1 = r[1, *]                 ; 
 ;
 ; tests pour eviter que des fleches soient dessineees hors du domaine
@@ -384,6 +393,6 @@
 ;
    r = cv_coord(from_polar = transpose([ [dirpol[*]], [norme[*]] ]), /to_rect)
-   composantex = r(0, *)
-   composantey = r(1, *)
+   composantex = r[0, *]
+   composantey = r[1, *]
 ;
    x1 = x0+composantex
@@ -395,5 +404,5 @@
 
    points = where(msk EQ 1)
-   IF points[0] NE -1 THEN arrow, x0(points), y0(points), x1(points), y1(points), /norm $
+   IF points[0] NE -1 THEN arrow, x0[points], y0[points], x1[points], y1[points], /norm $
     , hsize = -.2, COLOR = vectcolor, THICK = vectthick
 ;
Index: trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/velovect.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/velovect.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/velovect.pro	(revision 114)
@@ -100,4 +100,7 @@
 PRO VELOVECT,U,V,X,Y, Missing = Missing, Length = length, Dots = dots,  $
         Color=color, CLIP=clip, NOCLIP=noclip, OVERPLOT=overplot, _EXTRA=extra
+;
+  compile_opt idl2, strictarrsubs
+;
         on_error,2                      ;Return to caller if an error occurs
         s = size(u)
Index: trunk/SRC/ToBeReviewed/PLOTS/axe.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/axe.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/axe.pro	(revision 114)
@@ -50,4 +50,7 @@
 ;------------------------------------------------------------
 PRO axe, coupe,tempsmin,tempsmax, REVERSE_X = reverse_x, REVERSE_Y = reverse_y, SIN = sin, SEPDATE = sepdate, DIGITSYEAR = digitsyear, _EXTRA = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
    tempsun = systime(1)         ; pour key_performance
Index: trunk/SRC/ToBeReviewed/PLOTS/legende.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/legende.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/legende.pro	(revision 114)
@@ -47,4 +47,7 @@
             , INTERVALLE = intervalle, TYPE_YZ = type_yz, VARNAME2 = varname2 $
             , NPTS = npts, _EXTRA = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
    tempsun = systime(1)         ; pour key_performance
Index: trunk/SRC/ToBeReviewed/PLOTS/plotsym.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/plotsym.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/plotsym.pro	(revision 114)
@@ -32,4 +32,7 @@
                   angle=angle, box=box, line=line, scale=scale, $
                   _extra=extra
+;
+  compile_opt idl2, strictarrsubs
+;
 if not keyword_set(scale) then scale=1.0
 if not keyword_set(angle) then angle=0.0
Index: trunk/SRC/ToBeReviewed/PLOTS/reinitplt.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/reinitplt.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/reinitplt.pro	(revision 114)
@@ -41,4 +41,7 @@
 pro reinitplt, all=all,x=x,y=y,z=z,p=p, invert=invert
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 	clearx = 0
 	cleary = 0
Index: trunk/SRC/ToBeReviewed/PLOTS/style.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/style.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/style.pro	(revision 114)
@@ -44,4 +44,7 @@
 ;------------------------------------------------------------
 pro style,labstyle,level_z2d,linestyle,thick
+;
+  compile_opt idl2, strictarrsubs
+;
    case labstyle of
       0: begin
@@ -75,5 +78,5 @@
          a=replicate(0,n_elements(level_z2d)-n)
          c=replicate(2,n)         
-         if seuil eq level_z2d(n) then begin
+         if seuil eq level_z2d[n] then begin
             thick=[replicate(1,n),2,replicate(1,n_elements(level_z2d)-1-n)]
             linestyle=[c,a]
@@ -86,21 +89,21 @@
       3: begin
          n = n_elements(level_z2d)
-         seuil = level_z2d(1+n/2)
+         seuil = level_z2d[1+n/2]
 
          thick = intarr(n)
-         thick(indgen((n)/4)*4) = 1
-         thick(indgen((n)/4)*4+1) = 1
-         thick(indgen((n)/4)*4+2) = 2
-         thick(indgen((n)/4)*4+3) = 1
+         thick[indgen(n/4)*4] = 1
+         thick[indgen(n/4)*4+1] = 1
+         thick[indgen(n/4)*4+2] = 2
+         thick[indgen(n/4)*4+3] = 1
 
          linestyle = intarr(n)
-         linestyle(indgen((n)/4)*4) = 3
-         linestyle(indgen((n)/4)*4+1) = 0
-         linestyle(indgen((n)/4)*4+2) = 0
-         linestyle(indgen((n)/4)*4+3) = 0
+         linestyle[indgen(n/4)*4] = 3
+         linestyle[indgen(n/4)*4+1] = 0
+         linestyle[indgen(n/4)*4+2] = 0
+         linestyle[indgen(n/4)*4+3] = 0
 
          labels = intarr(n)
-         labels(indgen((n)/2)*2) = 1
-         labels(n/2) = 0
+         labels[indgen(n/2)*2] = 1
+         labels[n/2] = 0
 
          return
Index: trunk/SRC/ToBeReviewed/PLOTS/symbols.pro
===================================================================
--- trunk/SRC/ToBeReviewed/PLOTS/symbols.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/PLOTS/symbols.pro	(revision 114)
@@ -50,4 +50,7 @@
 ;-
 pro symbols,nsym,scale,color=col
+;
+  compile_opt idl2, strictarrsubs
+;
 on_error,2
 fill = 0
@@ -65,17 +68,17 @@
                       xarr = fltarr(5)
                       yarr = xarr
-                      xarr(1) = 10.
-                      xarr(2) = 6.
-                      yarr(2) = 2.
+                      xarr[1] = 10.
+                      xarr[2] = 6.
+                      yarr[2] = 2.
                       ;nsyms greater than 10 should be filled arrows
                       if nsym gt 10 then begin
-                         xarr(3) = 6. 
-                         xarr(4) = 10.
-                         yarr(3) = -2.
+                         xarr[3] = 6. 
+                         xarr[4] = 10.
+                         yarr[3] = -2.
                          fill = 1
                       endif else begin
-                         xarr(3) = 10.
-                         xarr(4) = 6.
-                         yarr(4) = -2.
+                         xarr[3] = 10.
+                         xarr[4] = 6.
+                         yarr[4] = -2.
                       endelse
                       case 1 of
@@ -85,10 +88,10 @@
                             xarr = extrac(xarr,0,11)
                             yarr = extrac(yarr,0,11)
-                            yarr(6) = 0.5
-                            xarr(7) = 6
-                            yarr(7) = 0.5
-                            xarr(8) = 6
-                            yarr(8) = -0.5
-                            yarr(9) = -0.5
+                            yarr[6] = 0.5
+                            xarr[7] = 6
+                            yarr[7] = 0.5
+                            xarr[8] = 6
+                            yarr[8] = -0.5
+                            yarr[9] = -0.5
                             if nsym eq 12 then begin
                                rotation,xarr,yarr,180,nx,ny
@@ -124,8 +127,8 @@
                       xarr = fltarr(5) + 3
                       yarr = xarr
-                      xarr(1) = -3.
-                      xarr(2) = -3.
-                      yarr(2) = -3.
-                      yarr(3) = -3.
+                      xarr[1] = -3.
+                      xarr[2] = -3.
+                      yarr[2] = -3.
+                      yarr[3] = -3.
                       if (nsym eq 21)+(nsym eq 31) then begin
                          rotation,xarr,yarr,45,nx,ny
@@ -139,7 +142,7 @@
                       yarr = fltarr(4) - 6./4.
                       xarr = fltarr(4) - 6./2.
-                      xarr(1) = 6./2.
-                      xarr(2) = 0.
-                      yarr(2) = 6.*sqrt(3.)/2. - 6./4.
+                      xarr[1] = 6./2.
+                      xarr[2] = 0.
+                      yarr[2] = 6.*sqrt(3.)/2. - 6./4.
                       if nsym eq 32 then fill = 1
                                     end
@@ -147,5 +150,5 @@
                       xarr = fltarr(2) + 1
                       yarr = xarr * 0.
-                      xarr(1) = -1.
+                      xarr[1] = -1.
                                     end
 endcase
Index: trunk/SRC/ToBeReviewed/POSTSCRIPT/calibre.pro
===================================================================
--- trunk/SRC/ToBeReviewed/POSTSCRIPT/calibre.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/POSTSCRIPT/calibre.pro	(revision 114)
@@ -88,4 +88,7 @@
              , LANDSCAPE = lanscape, _extra = ex
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4ps
   IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/POSTSCRIPT/chcolps.pro
===================================================================
--- trunk/SRC/ToBeReviewed/POSTSCRIPT/chcolps.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/POSTSCRIPT/chcolps.pro	(revision 114)
@@ -1,3 +1,6 @@
 PRO format_colortable_hexa, table
+;
+  compile_opt idl2, strictarrsubs
+;
 
     tvlct, r, g, b, /get
@@ -22,4 +25,7 @@
 ;
 ; Fabrique le bloc de colortable
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
 
@@ -49,4 +55,7 @@
 ;
 ; recupere les palettes
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
     lct, n1
Index: trunk/SRC/ToBeReviewed/STATISTICS/a_correlate2d.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STATISTICS/a_correlate2d.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STATISTICS/a_correlate2d.pro	(revision 114)
@@ -61,4 +61,7 @@
 
 FUNCTION Auto_Cov2d, X, Lag, Double = Double, zero2nan = zero2nan
+;
+  compile_opt idl2, strictarrsubs
+;
    XDim = SIZE(X, /dimensions)
    nx = XDim[0]
@@ -76,4 +79,7 @@
 
 FUNCTION A_Correlate2d, X, Lag, Covariance = Covariance, Double = Double
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ;Compute the sample-autocorrelation or autocovariance of (Xt, Xt+l)
Index: trunk/SRC/ToBeReviewed/STATISTICS/a_timecorrelate.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STATISTICS/a_timecorrelate.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STATISTICS/a_timecorrelate.pro	(revision 114)
@@ -79,4 +79,7 @@
 FUNCTION TimeAuto_Cov, X, M, nT, Double = Double, zero2nan = zero2nan
 ;Sample autocovariance function
+;
+  compile_opt idl2, strictarrsubs
+;
    TimeDim = size(X, /n_dimensions)
    Xmean = TOTAL(X, TimeDim, Double = Double) / nT
@@ -107,4 +110,7 @@
 
 FUNCTION A_TimeCorrelate, X, Lag, COVARIANCE = Covariance, DOUBLE = Double
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ;Compute the sample-autocorrelation or autocovariance of (Xt, Xt+l)
Index: trunk/SRC/ToBeReviewed/STRING/.idlwave_catalog
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/.idlwave_catalog	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/.idlwave_catalog	(revision 114)
@@ -15,5 +15,5 @@
    ("putfile" pro nil (lib "putfile.pro" nil "saxo") "%s, file, s" (nil ("error") ("help")))
    ("STR_SIZE" fun nil (lib "str_size.pro" nil "saxo") "Result = %s(string, targetWidth)" (nil ("INITSIZE") ("STEP")))
-   ("Strcnt" fun nil (lib "strcnt.pro" nil "saxo") "Result = %s(strn, substrn, startpos)" (nil ("HELP")))
+   ("strcnt" fun nil (lib "strcnt.pro" nil "saxo") "Result = %s(strn, substrn, startpos)" (nil ("HELP")))
    ("too_cool" fun nil (lib "string2struct.pro" nil "saxo") "Result = %s" (nil ("_extra")))
    ("string2struct" fun nil (lib "string2struct.pro" nil "saxo") "Result = %s(strVal)" (nil))
Index: trunk/SRC/ToBeReviewed/STRING/chkeywd.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/chkeywd.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/chkeywd.pro	(revision 114)
@@ -73,4 +73,7 @@
 ;------------------------------------------------------------
 FUNCTION chkeywd, stringin, keywdname, keywdvalue, SEPARATOR = separator, AFTER = after
+;
+  compile_opt idl2, strictarrsubs
+;
 
    stringout = stringin
Index: trunk/SRC/ToBeReviewed/STRING/lenstr.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/lenstr.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/lenstr.pro	(revision 114)
@@ -27,4 +27,7 @@
 
 function lenstr,str
+;
+  compile_opt idl2, strictarrsubs
+;
    dsave=!d.name
 
@@ -54,6 +57,6 @@
          w=fltarr(nn)
          for i=0,nn-1 do begin
-            xyouts,0,0,/device,str(i),width=ww
-            w(i)=ww
+            xyouts,0,0,/device,str[i],width=ww
+            w[i]=ww
          endfor
       end
Index: trunk/SRC/ToBeReviewed/STRING/str_size.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/str_size.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/str_size.pro	(revision 114)
@@ -64,4 +64,7 @@
 
 FUNCTION STR_SIZE, string, targetWidth, INITSIZE=initsize, STEP=step
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ON_ERROR, 1
Index: trunk/SRC/ToBeReviewed/STRING/strcnt.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/strcnt.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/strcnt.pro	(revision 114)
@@ -48,6 +48,9 @@
 ;  This code comes with absolutely NO warranty; see DISCLAIMER for details.
 ;-
-FUNCTION Strcnt, strn, substrn, startpos, $
+FUNCTION strcnt, strn, substrn, startpos, $
                  HELP=Help
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ; Return to caller if error.
@@ -88,5 +91,5 @@
     IF strlen(substrn) EQ 1 THEN BEGIN
         tmpstrn = byte(TmpStrn)
-        count = n_elements(where(TmpStrn EQ (byte(substrn))(0))) 
+        count = n_elements(where(TmpStrn EQ (byte(substrn))[0])) 
     ENDIF ELSE BEGIN 
         count = 0L
Index: trunk/SRC/ToBeReviewed/STRING/string2struct.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/string2struct.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/string2struct.pro	(revision 114)
@@ -4,4 +4,7 @@
 ;
 function too_cool,_extra=extra
+;
+  compile_opt idl2, strictarrsubs
+;
 return,extra
 end
@@ -68,4 +71,7 @@
 
 function string2struct,strVal
+;
+  compile_opt idl2, strictarrsubs
+;
 r = execute('extra = too_cool(' + strVal[0] +')')
 ;if r = 0 then user did not enter keywords correctly so
Index: trunk/SRC/ToBeReviewed/STRING/strkeywd.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/strkeywd.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/strkeywd.pro	(revision 114)
@@ -71,4 +71,7 @@
 ;------------------------------------------------------------
 FUNCTION strkeywd, struct
+;
+  compile_opt idl2, strictarrsubs
+;
    if size(struct, /type) NE 8 then return,  ''
    tname = tag_names(struct)
Index: trunk/SRC/ToBeReviewed/STRING/strrepl.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/strrepl.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/strrepl.pro	(revision 114)
@@ -76,4 +76,7 @@
 
 function strrepl,str,agument1,rchar
+;
+  compile_opt idl2, strictarrsubs
+;
    
    if (n_elements(str) eq 0) then return,''
Index: trunk/SRC/ToBeReviewed/STRING/strright.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/strright.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/strright.pro	(revision 114)
@@ -52,4 +52,7 @@
 
 function strright,s,lastn
+;
+  compile_opt idl2, strictarrsubs
+;
  
     on_error,2   ; return to caller
Index: trunk/SRC/ToBeReviewed/STRING/strsci.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/strsci.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/strsci.pro	(revision 114)
@@ -106,4 +106,7 @@
 function StrSci, Data, Format=Format, POT_Only=POT_Only, $
              MANTISSA_ONLY=MANTISSA_ONLY,SHORT=SHORT,TRIM=TRIM
+;
+  compile_opt idl2, strictarrsubs
+;
 
    ;====================================================================
Index: trunk/SRC/ToBeReviewed/STRING/strtok.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/strtok.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/strtok.pro	(revision 114)
@@ -59,4 +59,7 @@
 FUNCTION Strtok, string, token, $
                  TRIM=trim, HELP=Help
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ; Back to the caller if error occurs.
Index: trunk/SRC/ToBeReviewed/STRING/strtrans.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/strtrans.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/strtrans.pro	(revision 114)
@@ -60,4 +60,7 @@
 FUNCTION strtrans, InputString, from, to, ned,  $
                    HELP=Help
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ; Bomb out to caller if error.
Index: trunk/SRC/ToBeReviewed/STRING/strwhere.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/strwhere.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/strwhere.pro	(revision 114)
@@ -60,4 +60,7 @@
 
 function strwhere,str,schar,Count
+;
+  compile_opt idl2, strictarrsubs
+;
  
  
Index: trunk/SRC/ToBeReviewed/STRING/tostr.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRING/tostr.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRING/tostr.pro	(revision 114)
@@ -50,4 +50,7 @@
 ;------------------------------------------------------------
 FUNCTION tostr, input
+;
+  compile_opt idl2, strictarrsubs
+;
 
    case 1 of
Index: trunk/SRC/ToBeReviewed/STRUCTURE/chkstru.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRUCTURE/chkstru.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRUCTURE/chkstru.pro	(revision 114)
@@ -27,5 +27,5 @@
 ;        INDEX --> a named variable that will contain the indices of
 ;             the required field names in the structure. They can then
-;             be assessed through structure.(index(i)) . Index will
+;             be assessed through structure.(index[i]) . Index will
 ;             contain -1 for all fields entries that are not in the
 ;             structure.
@@ -75,4 +75,7 @@
 
 function chkstru,structure,fields,index=index,verbose=verbose, extract = extract
+;
+  compile_opt idl2, strictarrsubs
+;
  
 
@@ -91,5 +94,5 @@
  
      s = size(structure)
-     if (s(1+s(0)) ne 8) then begin
+     if (s[1+s[0]] ne 8) then begin
          if(keyword_set(verbose)) then $
              ras = report('CHKSTRU: ** No structure passed ! **')
@@ -109,9 +112,9 @@
 
      for i=0,n_elements(fields)-1 do begin
-         ind = where(names eq strupcase(fields(i)))
-         if (ind(0) lt 0) then begin
+         ind = where(names eq strupcase(fields[i]))
+         if (ind[0] lt 0) then begin
              if(keyword_set(verbose)) then $
-                ras = report('CHKSTRU: ** Cannot find field '+fields(i)+' ! **')  
-         endif else index(i) = ind(0)
+                ras = report('CHKSTRU: ** Cannot find field '+fields[i]+' ! **')
+         endif else index[i] = ind[0]
      endfor
  
Index: trunk/SRC/ToBeReviewed/STRUCTURE/extractstru.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRUCTURE/extractstru.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRUCTURE/extractstru.pro	(revision 114)
@@ -60,4 +60,7 @@
 ;------------------------------------------------------------
 FUNCTION extractstru, stru, liste, GARDE = garde, VIRE = vire
+;
+  compile_opt idl2, strictarrsubs
+;
    if size(stru, /type) NE 8 then return,  -1
    if size(liste, /type) NE 7 then return,  -1
Index: trunk/SRC/ToBeReviewed/STRUCTURE/mixstru.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRUCTURE/mixstru.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRUCTURE/mixstru.pro	(revision 114)
@@ -60,4 +60,7 @@
 ;------------------------------------------------------------
 FUNCTION mixstru, stru1, stru2
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_general
 
Index: trunk/SRC/ToBeReviewed/STRUCTURE/struct2string.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRUCTURE/struct2string.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRUCTURE/struct2string.pro	(revision 114)
@@ -45,4 +45,7 @@
 ;------------------------------------------------------------
 FUNCTION struct2string, struct, CUT_IN_STRING = cut_in_string, MAX_STRUCT_LENGTH = max_struct_length, DIRECT2STRING = direct2string 
+;
+  compile_opt idl2, strictarrsubs
+;
    if size(struct, /type) NE 8 then return,  ''
    if NOT keyword_set(max_struct_length) then max_struct_length = 10000l
Index: trunk/SRC/ToBeReviewed/STRUCTURE/where_tag.pro
===================================================================
--- trunk/SRC/ToBeReviewed/STRUCTURE/where_tag.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/STRUCTURE/where_tag.pro	(revision 114)
@@ -55,4 +55,7 @@
                                         RANGE=range, VALUES=values
 ;First check required parameters...
+;
+  compile_opt idl2, strictarrsubs
+;
 
         Ntag = N_tags( Struct )
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/ciseauxtri.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/ciseauxtri.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/ciseauxtri.pro	(revision 114)
@@ -39,4 +39,7 @@
 FUNCTION ciseauxtri, triang, glam, gphi, TOUT = tout, _EXTRA = ex
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
   IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/completecointerre.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/completecointerre.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/completecointerre.pro	(revision 114)
@@ -36,4 +36,7 @@
 ;------------------------------------------------------------
 PRO draw_corner_triangle, lons, lats, seuil, CONT_COLOR = cont_color, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 ; the triangle must not be out of the domain
@@ -55,4 +58,7 @@
                        , CONT_COLOR = cont_color, INDICEZOOM = indicezoom $
                        , _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;------------------------------------------------------------
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/definetri.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/definetri.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/definetri.pro	(revision 114)
@@ -89,4 +89,7 @@
 ;-
 FUNCTION definetri, nx, ny, downward
+;
+  compile_opt idl2, strictarrsubs
+;
    nx = long(nx)
    ny = long(ny)
@@ -109,6 +112,6 @@
 ; the lower-left corner of the rectangle.
       upward = bytarr(nx, ny)+1
-      upward(*, ny-1) = 0
-      upward(nx-1, *) = 0
+      upward[*, ny-1] = 0
+      upward[nx-1, *] = 0
       if n_elements(downward) NE 0 then upward[downward] = 0
       upward = where(upward EQ 1)
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/definetri_e.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/definetri_e.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/definetri_e.pro	(revision 114)
@@ -1,3 +1,6 @@
 function numtri, index, nx, ny
+;
+  compile_opt idl2, strictarrsubs
+;
 
    y=index/nx
@@ -56,4 +59,7 @@
 ;-
 FUNCTION definetri_e, nx, ny, singular, SHIFTED = shifted
+;
+  compile_opt idl2, strictarrsubs
+;
    nx = long(nx)
    ny = long(ny)
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/dessinetri.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/dessinetri.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/dessinetri.pro	(revision 114)
@@ -54,4 +54,7 @@
 
 PRO dessinetri, tri, x, y, WAIT = wait, ONEBYONE = onebyone, FILL = fill, CHANGECOLOR = changecolor, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
    tempsun = systime(1)         ; pour key_performance
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/drawcoast_c.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/drawcoast_c.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/drawcoast_c.pro	(revision 114)
@@ -1,4 +1,7 @@
 PRO drawcoast_c, mask, xf, yf, nx, ny, COAST_COLOR = coast_color, COAST_THICK = coast_thick, YSEUIL = yseuil, XSEUIL = xseuil, _extra = ex
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
   IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/drawcoast_e.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/drawcoast_e.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/drawcoast_e.pro	(revision 114)
@@ -1,4 +1,7 @@
 PRO drawcoast_e, mask, xf, yf, nx, ny, COAST_COLOR = coast_color, COAST_THICK = coast_thick, YSEUIL = yseuil, XSEUIL = xseuil, onemore = onemore, _extra = ex
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
   IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/drawsectionbottom.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/drawsectionbottom.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/drawsectionbottom.pro	(revision 114)
@@ -46,4 +46,7 @@
                        , OVERPLOT = overplot, _extra = ex
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_general
   IF NOT keyword_set(key_forgetold) THEN BEGIN
@@ -92,5 +95,5 @@
 ; appens when the bottom limit is defined between T[k] and W[k]
 ; points)
-  IF min(depthsin) GT -1 THEN BEGIN
+  IF min(depthsin) GT -1 OR max(total(mask, 2)) EQ nz THEN BEGIN
     zmin = min(!y.range)-deltaz
     depths = [[replicate(zmin, nx)], [depths]]
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/fillcornermask.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/fillcornermask.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/fillcornermask.pro	(revision 114)
@@ -38,4 +38,7 @@
                     , CONT_COLOR = cont_color, INDICEZOOM = indicezoom $
                     , _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;------------------------------------------------------------
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/section.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/section.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/section.pro	(revision 114)
@@ -39,4 +39,7 @@
 ;---------------------------------------------------------
 ; include common
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
@@ -342,5 +345,6 @@
     xsave = !x
     ysave = !y
-    plt, findgen(nx, ny), /nodata, /nofill, /rempli, title = '', subtitle = '', coast_thick = 2, window = showbuild
+    plt, findgen(nx, ny), /nodata, /nofill, /rempli, title = '', subtitle = '' $
+         , coast_thick = 2, window = showbuild
     !p.title = ''
     !p.subtitle = ''
@@ -356,7 +360,7 @@
     plots, float(points2), imaginary(points2), color = 150, psym = 1
     plots, float(inter), imaginary(inter), color = 250, psym = 1
-    
-    IF terre[0] NE -1 THEN plots, float(inter[terre]), imaginary(inter[terre]), color = 0, psym = 1
-    
+
+;  ?? bug ??    IF terre[0] NE -1 THEN plots, float(terre[inter]), imaginary(terre[inter]), color = 0, psym = 1
+     
 ;      dummy = ''
 ;      read, dummy,  prompt = 'press return to continue'
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/tracecote.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/tracecote.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/tracecote.pro	(revision 114)
@@ -55,4 +55,7 @@
 ;--------------------------------------------------------------
 ; include commons
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4data
 @cm_4mesh
@@ -90,5 +93,5 @@
 ; de projection choisie et du suport surlequel on fait le dessin
 ; (ecran ou postscript)
-   z = convert_coord(xf(*),yf(*),/data,/to_normal) 
+   z = convert_coord(xf[*],yf[*],/data,/to_normal) 
    xf = reform(z[0, *], nx, ny)
    yf = reform(z[1, *], nx, ny)
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/tracemask.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/tracemask.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/tracemask.pro	(revision 114)
@@ -40,4 +40,7 @@
 ;------------------------------------------------------------
 PRO tracemask, maskentree, xin, yin, COAST_COLOR = coast_color, COAST_THICK = coast_thick, OVERPLOT = overplot, _extra = ex
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
    if keyword_set(overplot) then return
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/triangule.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/triangule.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/triangule.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION triangule, maskentree, BASIC = basic, COINMONTE = coinmonte, COINDESCEND = coindescend, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/triangule_c.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/triangule_c.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/triangule_c.pro	(revision 114)
@@ -82,4 +82,7 @@
 ;------------------------------------------------------------
 FUNCTION triangule_c, maskentree, COINMONTE = coinmonte, COINDESCEND = coindescend, BASIC = basic, KEEP_CONT = keep_cont
+;
+  compile_opt idl2, strictarrsubs
+;
    tempsun = systime(1)         ; pour key_performance
 ;---------------------------------------------------------
@@ -175,5 +178,5 @@
       tempdeux = systime(1)     ; pour key_performance =2
       pts_downward = pts_downward[1:n_elements(pts_downward)-1]
-      pts_downward = pts_downward(uniq(pts_downward, sort(pts_downward)))
+      pts_downward = pts_downward[uniq(pts_downward, sort(pts_downward))]
 ; aucun rectangle ne peut avoir comme coin en bas a gauche un element
 ; de la derniere colonne ou de la derniere ligne.
Index: trunk/SRC/ToBeReviewed/TRIANGULATION/triangule_e.pro
===================================================================
--- trunk/SRC/ToBeReviewed/TRIANGULATION/triangule_e.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/TRIANGULATION/triangule_e.pro	(revision 114)
@@ -34,4 +34,7 @@
                   , SHIFTED = shifted, BASIC = basic
 ;---------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
   IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/fitintobox.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/fitintobox.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/fitintobox.pro	(revision 114)
@@ -53,4 +53,7 @@
 ;------------------------------------------------------------
 FUNCTION err_mess, sz, jpi, nx, jpj, ny, jpk, nz, jpt
+;
+  compile_opt idl2, strictarrsubs
+;
   IF n_elements(sz EQ 1) THEN $
     RETURN, report(['Error: ' $
@@ -76,4 +79,7 @@
 ;------------------------------------------------------------
 ; include commons
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4cal
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/get_extra.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/get_extra.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/get_extra.pro	(revision 114)
@@ -23,4 +23,7 @@
 
 FUNCTION get_extra, _extra = extra
+;
+  compile_opt idl2, strictarrsubs
+;
     return, extra
 END 
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/linearequation.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/linearequation.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/linearequation.pro	(revision 114)
@@ -46,4 +46,7 @@
 ;------------------------------------------------------------
 FUNCTION linearequation, point1, point2
+;
+  compile_opt idl2, strictarrsubs
+;
 
    if size(point1, /type) EQ 6 OR size(point1, /type) EQ 9 then begin
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/lineintersection.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/lineintersection.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/lineintersection.pro	(revision 114)
@@ -54,4 +54,7 @@
 FUNCTION lineintersection, abc1, abc2, FLOAT = float
 ;
+;
+  compile_opt idl2, strictarrsubs
+;
    a1 = float(reform(abc1[0, *]))
    b1 = float(reform(abc1[1, *]))
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/pwd.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/pwd.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/pwd.pro	(revision 114)
@@ -18,4 +18,7 @@
 ;------------------------------------------------------------
 PRO pwd
+;
+  compile_opt idl2, strictarrsubs
+;
    cd, current = pwd
    print, pwd
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/report.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/report.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/report.pro	(revision 114)
@@ -60,4 +60,7 @@
 ;------------------------------------------------------------
 FUNCTION report, text, DEFAULT_NO = default_no, PARENT = parent, QUESTION = question, SIMPLE = simple, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
    res = -1                     ;
 ; on separe le texte en differentes lignes (separees par !C) si ce
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/routine_name.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/routine_name.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/routine_name.pro	(revision 114)
@@ -52,4 +52,7 @@
 FUNCTION routine_name,  remonte
 ;
+;
+  compile_opt idl2, strictarrsubs
+;
   help,  /traceback, output = name
   name = strtrim(name, 1)     ; on enleve les blancs en debut de ligne
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/test.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/test.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/test.pro	(revision 114)
@@ -1,3 +1,6 @@
 pro test,ok=ok
+;
+  compile_opt idl2, strictarrsubs
+;
 if keyword_set(ok) then print,'OK' else print, 'No'
 return
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/testvar.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/testvar.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/testvar.pro	(revision 114)
@@ -38,4 +38,7 @@
 ;------------------------------------------------------------
 FUNCTION testvar, var = var
+;
+  compile_opt idl2, strictarrsubs
+;
    if keyword_set(var) then return, var ELSE return,  0
 end
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/text_box.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/text_box.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/text_box.pro	(revision 114)
@@ -17,6 +17,6 @@
 ; keywords
 ;  pos          4 element vector specifying the box position and size
-;               pos(0),pos(1) specify the lower left corner coordinate
-;               pos(2),pos(3) specify the upper right corner coordinate
+;               pos[0],pos[1] specify the lower left corner coordinate
+;               pos[2],pos[3] specify the upper right corner coordinate
 ;               data window normalized coordinates are use
 ;
@@ -43,4 +43,7 @@
                center=center,right=right,box=box,vert_space=vert_space, _EXTRA = ex
 ;
+;
+  compile_opt idl2, strictarrsubs
+;
         ON_ERROR, 2
 ;
@@ -63,8 +66,8 @@
   xx2=xx1+nx
   yy2=yy1+ny
-  pos=[(xx1-nnx(0))/(nnx(1)-nnx(0)),(yy1-nny(0))/(nny(1)-nny(0)),$
-       (xx2-nnx(0))/(nnx(1)-nnx(0)),(yy2-nny(0))/(nny(1)-nny(0))]
+  pos=[(xx1-nnx[0])/(nnx[1]-nnx[0]),(yy1-nny[0])/(nny[1]-nny[0]),$
+       (xx2-nnx[0])/(nnx[1]-nnx[0]),(yy2-nny[0])/(nny[1]-nny[0])]
   posstring=string(form='(a,4(f5.2,a))',$
-           ',pos=[',pos(0),',',pos(1),',',pos(2),',',pos(3),']')
+           ',pos=[',pos[0],',',pos[1],',',pos[2],',',pos[3],']')
   print,strcompress(posstring,/remove_all)
 
@@ -72,8 +75,8 @@
 endif else begin
   
-  xx1 = nnx(0)+pos(0)*(nnx(1)-nnx(0))
-  xx2 = nnx(0)+pos(2)*(nnx(1)-nnx(0))
-  yy1 = nny(0)+pos(1)*(nny(1)-nnx(0))
-  yy2 = nny(0)+pos(3)*(nny(1)-nnx(0))
+  xx1 = nnx[0]+pos[0]*(nnx[1]-nnx[0])
+  xx2 = nnx[0]+pos[2]*(nnx[1]-nnx[0])
+  yy1 = nny[0]+pos[1]*(nny[1]-nnx[0])
+  yy2 = nny[0]+pos[3]*(nny[1]-nnx[0])
 
 endelse
@@ -107,13 +110,13 @@
 ;   print,f='(8a8)','charsz','i','ilines','n_lines','lpnt','wlen','sum','xwdth'
     for i=0,nwords-1 do begin
-      sum=sum+wlen(i)+blen
+      sum=sum+wlen[i]+blen
       if sum+3*blen gt xx2-xx1 then begin
         ilines=ilines+1
-        sum=wlen(i)+blen
+        sum=wlen[i]+blen
       endif
-      lpnt(i)=ilines        
+      lpnt[i]=ilines        
       
-;      print,f='(f8.2,4i8,3f8.2)',charsize,i,ilines,n_lines,lpnt(i),$
-;                 wlen(i)+blen,sum+3*blen,xx2-xx1
+;      print,f='(f8.2,4i8,3f8.2)',charsize,i,ilines,n_lines,lpnt[i],$
+;                 wlen[i]+blen,sum+3*blen,xx2-xx1
     endfor        
     case 1 of
@@ -131,8 +134,8 @@
 for i=0,n_lines-1 do begin
   ii=where(lpnt eq i,nc)
-  maxlen=(total(wlen(ii))+nc*blen)>maxlen
-  lines(i)=string(f='(200a)',words(ii)+' ')
-; print,i,words(ii)
-; print,i,lines(i)
+  maxlen=(total(wlen[ii])+nc*blen)>maxlen
+  lines[i]=string(f='(200a)',words[ii]+' ')
+; print,i,words[ii]
+; print,i,lines[i]
 endfor
 
@@ -160,6 +163,6 @@
   for i_line = 0,n_lines-1 do begin
     yy = yy-dy
-;   print,xx,yy,lines(i_line),charsize
-    xyouts, xx, yy, lines(i_line), /device, charsize=charsize, $
+;   print,xx,yy,lines[i_line],charsize
+    xyouts, xx, yy, lines[i_line], /device, charsize=charsize, $
       alignment=align, color=color, font=-1, _extra = ex
   endfor
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/undefine.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/undefine.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/undefine.pro	(revision 114)
@@ -37,4 +37,7 @@
 ;------------------------------------------------------------
    PRO UNDEFINE, varname  
+;
+  compile_opt idl2, strictarrsubs
+;
    tempvar = SIZE(TEMPORARY(varname))
    END
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/xfile.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/xfile.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/xfile.pro	(revision 114)
@@ -30,4 +30,7 @@
 ;------------------------------------------------------------
 PRO xfile, filename, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 pfile = strlowcase(filename)
 ;
Index: trunk/SRC/ToBeReviewed/UTILITAIRE/xhelp.pro
===================================================================
--- trunk/SRC/ToBeReviewed/UTILITAIRE/xhelp.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/UTILITAIRE/xhelp.pro	(revision 114)
@@ -49,4 +49,7 @@
 ;-
 PRO xhelp, filename, _extra=ex
+;
+  compile_opt idl2, strictarrsubs
+;
 
 ; filename est bien un string?
@@ -91,7 +94,7 @@
          if strpos(c,';-') eq 0 then readon=0
          if readon then begin
-            dum=where(byte(c) eq 9b,ntab) ; count tab characters
-            xsize=xsize > (strlen(c)+8*ntab)
-            a(i) = strmid(c,1,200)
+            dum=where(byte[c] eq 9b,ntab) ; count tab characters
+            xsize=xsize > (strlen[c]+8*ntab)
+            a[i] = strmid(c,1,200)
             i = i + 1
          endif
@@ -100,5 +103,5 @@
       if i EQ 0 then $
          ras = report('le programme a etait mal ecrit, il n''y a pas d''en-tete... utiliser xfile.pro.') ELSE BEGIN 
-         a = a(0:i-1)
+         a = a[0:i-1]
 ; on ecrit le contenu de a ds un widget
          xdisplayfile,'toto',text = a,title=pfile[n-1], _extra = ex
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildcmd.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildcmd.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildcmd.pro	(revision 114)
@@ -37,4 +37,7 @@
 ; we get back the ids of the widget parts
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
   txtcmdid = widget_info(base, find_by_uname = 'txtcmd')
   domainid = widget_info(base, find_by_uname = 'domain')
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildreadcmd.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildreadcmd.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildreadcmd.pro	(revision 114)
@@ -33,4 +33,7 @@
 FUNCTION buildreadcmd, base, snameexp, procedure, type, BOXZOOM = boxzoom $
                        , COMPLETE = complete, NAMEFIELD = namefield
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
 @cm_4cal ; for key_caltype
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefield.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefield.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefield.pro	(revision 114)
@@ -1,3 +1,6 @@
 PRO changefield, base, newfieldname, BOXZOOM = boxzoom
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
   widget_control, base, get_uvalue = top_uvalue
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefile.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefile.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefile.pro	(revision 114)
@@ -1,3 +1,6 @@
 PRO changefile, base, newfilename, BOXZOOM = boxzoom, DATE1 = date1, DATE2 = date2, FIELDNAME = fieldname
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
   widget_control, base, /hourglass
@@ -7,5 +10,5 @@
   ELSE newfile = newfilename    ; it is already the index of the new file
   if newfile EQ -1 then begin
-    nothing, report('invalid filename')
+    nothing = report('invalid filename')
     return
   endif
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/createhistory.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/createhistory.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/createhistory.pro	(revision 114)
@@ -3,4 +3,7 @@
 ;-------------------------------------------------------------
 ; we save globalcommand in globaloldcommand
+;
+  compile_opt idl2, strictarrsubs
+;
    widget_control,base, get_uvalue = top_uvalue
    globalcommand = extractatt(top_uvalue, 'globalcommand')
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/cutcmd.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/cutcmd.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/cutcmd.pro	(revision 114)
@@ -1,3 +1,6 @@
 PRO cutcmd, widcmd, toread, numberofread, prefix, nameexp, ending
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
   dummy = where(byte(widcmd) EQ (byte('"'))[0], nbdblquote) 
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/definedefaultextra.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/definedefaultextra.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/definedefaultextra.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION definedefaultextra, nomvariable
+;
+  compile_opt idl2, strictarrsubs
+;
    case strlowcase(nomvariable) of
 ;       'sn':BEGIN
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/doubleclickaction.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/doubleclickaction.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/doubleclickaction.pro	(revision 114)
@@ -1,4 +1,7 @@
 PRO doubleclickaction, event
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
    widget_control, event.id , get_uvalue = uval
    widget_control, event.top, get_uvalue = top_uvalue
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/extractatt.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/extractatt.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/extractatt.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION extractatt, top_uvalue, name
+;
+  compile_opt idl2, strictarrsubs
+;
    taille = size(top_uvalue)
    j = -1
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/findline.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/findline.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/findline.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION findline, top_uvalue, name
+;
+  compile_opt idl2, strictarrsubs
+;
    taille = size(top_uvalue)
    j = -1
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/identifyclick.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/identifyclick.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/identifyclick.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION identifyclick, event
+;
+  compile_opt idl2, strictarrsubs
+;
    widget_control, event.id, get_uvalue=uval, /no_copy
    thisEvent = TAG_NAMES(event, /Structure)
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/inserthistory.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/inserthistory.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/inserthistory.pro	(revision 114)
@@ -1,4 +1,7 @@
 PRO inserthistory,  base, text, line1, line2
 ;-------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
    widget_control,base, get_uvalue = top_uvalue
    globalcommand = extractatt(top_uvalue, 'globalcommand')
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/letsdraw.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/letsdraw.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/letsdraw.pro	(revision 114)
@@ -36,4 +36,7 @@
 
 PRO letsdraw, base, COMMANDE = commande, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ; on recupere la uvalue de base
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/loadgrid.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/loadgrid.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/loadgrid.pro	(revision 114)
@@ -2,4 +2,7 @@
 ;
 ; 
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
   ccmeshparameters.filename = meshfilein
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/longclickaction.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/longclickaction.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/longclickaction.pro	(revision 114)
@@ -1,3 +1,6 @@
 PRO longclickaction, event
+;
+  compile_opt idl2, strictarrsubs
+;
   widget_control, event.id, get_uvalue = uval
   widget_control, event.top, get_uvalue = top_uvalue
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/read_vermair.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/read_vermair.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/read_vermair.pro	(revision 114)
@@ -1,3 +1,6 @@
 FUNCTION read_vermair, name, debut, fin, nomexp, PARENT = parent, BOXZOOM=boxzoom, _EXTRA = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;------------------------------------------------------------ 
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/scanfile.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/scanfile.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/scanfile.pro	(revision 114)
@@ -33,4 +33,7 @@
 ;------------------------------------------------------------
 FUNCTION scanfile, namefile, GRID = GRID, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;------------------------------------------------------------
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.pro	(revision 114)
@@ -1,4 +1,7 @@
 ;*********************************************************************
 PRO selectfile_event, event
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
 @common
@@ -142,4 +145,7 @@
 ;*********************************************************************
 FUNCTION selectfile, datafilename, idlfile, argspro, _extra = ex
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
 @common
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/singleclickaction.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/singleclickaction.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/singleclickaction.pro	(revision 114)
@@ -1,3 +1,6 @@
 PRO singleclickaction, event
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/tracecadre.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/tracecadre.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/tracecadre.pro	(revision 114)
@@ -3,4 +3,7 @@
 ; determination de la colonne et de la ligne correspondant au small en
 ; entree
+;
+  compile_opt idl2, strictarrsubs
+;
    numdessin = small[2]-1
    numligne = numdessin/small[0]
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/updatewidget.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/updatewidget.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/updatewidget.pro	(revision 114)
@@ -1,4 +1,7 @@
 PRO updatewidget, base, NOBOXZOOM = noboxzoom, NODATES = nodates, NOTYPE = notype
 ;----------------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
    widget_control,base, get_uvalue = top_uvalue
    smallin = extractatt(top_uvalue, 'smallin')
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xcreateanim.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xcreateanim.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xcreateanim.pro	(revision 114)
@@ -1,3 +1,6 @@
 pro xcreateanim_event, event 
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ; on recupere les aguments contenus ds le widget
@@ -139,4 +142,7 @@
 ;----------------------------------------------------------------
 PRO xcreateanim, parent
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;
Index: trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xxxmenubar_event.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xxxmenubar_event.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xxxmenubar_event.pro	(revision 114)
@@ -1,4 +1,7 @@
 ;------------------------------------------------
 PRO xxxmenubar_event, event
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 
Index: trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_bgroup.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_bgroup.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_bgroup.pro	(revision 114)
@@ -132,5 +132,5 @@
 
 pro CW_BGROUP_SETV, id, value
-  compile_opt hidden
+  compile_opt hidden, idl2, strictarrsubs
 
   ON_ERROR, 2                       ;return to caller
@@ -162,5 +162,5 @@
 function CW_BGROUP_GETV, id, value
 
-  compile_opt hidden
+  compile_opt hidden, idl2, strictarrsubs
   ON_ERROR, 2                       ;return to caller
 
@@ -190,5 +190,5 @@
 
 function CW_BGROUP_EVENT, ev
-  compile_opt hidden
+  compile_opt hidden, idl2, strictarrsubs
   WIDGET_CONTROL, ev.handler, GET_UVALUE=stash
   WIDGET_CONTROL, stash, GET_UVALUE=state, /NO_COPY
Index: trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_combobox_pm.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_combobox_pm.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_combobox_pm.pro	(revision 114)
@@ -145,4 +145,7 @@
 ;----------------------------------------------------------------------
 PRO cw_combobox_pm_set_value, id, value
+;
+  compile_opt idl2, strictarrsubs
+;
    ComboboxId = widget_info(id,find_by_uname = 'Combobox')
    if size(value, /type) eq 8 then BEGIN ; this is a structure
@@ -163,4 +166,7 @@
 ;----------------------------------------------------------------------
 FUNCTION cw_combobox_pm_get_value, id
+;
+  compile_opt idl2, strictarrsubs
+;
    ComboboxId = widget_info(id,find_by_uname = 'Combobox')
    widget_control, ComboboxId, get_value = cmbbval
@@ -174,4 +180,7 @@
 ;----------------------------------------------------------------------
 FUNCTION cw_combobox_pm_event, event
+;
+  compile_opt idl2, strictarrsubs
+;
    widget_control, event.id, get_uvalue=uval
 ;
@@ -205,4 +214,7 @@
 ;----------------------------------------------------------------------
 FUNCTION cw_combobox_pm, parent, VALUE = value, UVALUE = uvalue, UNAME = uname, ROW = row, COLUMN = column, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 
    IF (N_PARAMS() NE 1) THEN MESSAGE, 'Incorrect number of arguments'
Index: trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_domain.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_domain.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_domain.pro	(revision 114)
@@ -40,4 +40,7 @@
 ;*********************************************************************
 pro cw_domain_set_value, id, value
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 ;
@@ -257,4 +260,7 @@
 ;*********************************************************************
 FUNCTION cw_domain_get_value, id
+;
+  compile_opt idl2, strictarrsubs
+;
    box = lonarr(6)
    possiblecase = ['lon1', 'lon2', 'lat1', 'lat2', 'depth1', 'depth2']
@@ -268,4 +274,7 @@
 ;*********************************************************************
 FUNCTION cw_domain_event, event
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ; help,  /struct, event
@@ -411,4 +420,7 @@
 FUNCTION cw_domain, parent, BOXZOOM = boxzoom, STRICT = strict, UVALUE = uvalue, UNAME = uname, UNZOOM = unzoom, _extra = ex
 ;
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4mesh
 @cm_4data
@@ -449,5 +461,5 @@
   min = floor(min([glamt, glamf], max = max))
   max = ceil(max)
-  IF max-min EQ 361 AND keyword_set(key_periodic) THEN max = max-1
+  IF max-min GT 360 AND keyword_set(key_periodic) THEN max = min+360
   lonbase = widget_base(baseh1, column = 2, space = 0, uname = 'lonbase', uvalue = {name:'geographic'})
   lon1id = cw_slider_pm(lonbase, value = min > boxzoom[0] < ((boxzoom[1] < max)-keyword_set(strict)) $
Index: trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_droplist_pm.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_droplist_pm.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_droplist_pm.pro	(revision 114)
@@ -144,4 +144,7 @@
 ;----------------------------------------------------------------------
 PRO cw_droplist_pm_set_value, id, value
+;
+  compile_opt idl2, strictarrsubs
+;
    DroplistId = widget_info(id,find_by_uname = 'Droplist')
    if size(value, /type) eq 8 then BEGIN ; this is a structure
@@ -160,4 +163,7 @@
 ;----------------------------------------------------------------------
 FUNCTION cw_droplist_pm_get_value, id
+;
+  compile_opt idl2, strictarrsubs
+;
    DroplistId = widget_info(id,find_by_uname = 'Droplist')
    return, {droplist_number:widget_info(DroplistId, /droplist_number) $
@@ -167,4 +173,7 @@
 ;----------------------------------------------------------------------
 FUNCTION cw_droplist_pm_event, event
+;
+  compile_opt idl2, strictarrsubs
+;
    widget_control, event.id, get_uvalue=uval
 ;
@@ -191,4 +200,7 @@
 ;----------------------------------------------------------------------
 FUNCTION cw_droplist_pm, parent,UVALUE = uvalue, UNAME = uname, ROW = row, COLUMN = column, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 
    IF (N_PARAMS() NE 1) THEN MESSAGE, 'Incorrect number of arguments'
Index: trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_pagelayout.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_pagelayout.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_pagelayout.pro	(revision 114)
@@ -2,4 +2,7 @@
 ;*********************************************************************
 FUNCTION cw_pagelayout_event, event
+;
+  compile_opt idl2, strictarrsubs
+;
 
    widget_control, event.id, get_uvalue=uval
@@ -78,4 +81,7 @@
 FUNCTION cw_pagelayout, parent, small, UVALUE = uvalue, UNAME = uname, UNZOOM = unzoom, COLUMN = column, ROW = row, _extra = ex
 ;------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
   row = keyword_set(row)*(1-keyword_set(column))  
   if NOT keyword_set(uvalue) then uvalue = ''
Index: trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_slide_slice.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_slide_slice.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_slide_slice.pro	(revision 114)
@@ -1,3 +1,6 @@
 pro cw_slide_slice_set_value, id, value
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
    topid = findtopid(id)
@@ -34,4 +37,7 @@
 ;----------------------------------------------------------------------
 FUNCTION cw_slide_slice_event,  event
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
    widget_control, event.id, get_uvalue=uval
@@ -104,4 +110,7 @@
 ;--------------------------------------------------------------------------------
 FUNCTION cw_slide_slice, parent, boxzoom = boxzoom, UVALUE = uvalue, UNAME = uname, FRAME = frame, ROW = row, COLUMN = column, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;------------------------------------------------
Index: trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_slider_pm.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_slider_pm.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_slider_pm.pro	(revision 114)
@@ -136,4 +136,7 @@
 ;----------------------------------------------------------------------
 FUNCTION decvalue, value
+;
+  compile_opt idl2, strictarrsubs
+;
   a = float(value[0])
   return, strtrim(string(floor(a) + 0.1*indgen(10), format = '(f15.1)'), 2)
@@ -141,4 +144,7 @@
 ;----------------------------------------------------------------------
 FUNCTION decind, value
+;
+  compile_opt idl2, strictarrsubs
+;
   a = float(value[0])
   return, round(10*(a - floor(a))) ; !! computation accuracy
@@ -146,4 +152,7 @@
 ;----------------------------------------------------------------------
 PRO cw_slider_pm_set_value, id, value
+;
+  compile_opt idl2, strictarrsubs
+;
   sbid = widget_info(id, find_by_uname = 'SliderBar')
   dcid = widget_info(id, find_by_uname = 'decimal')
@@ -195,4 +204,7 @@
 ;----------------------------------------------------------------------
 FUNCTION cw_slider_pm_get_value, id
+;
+  compile_opt idl2, strictarrsubs
+;
   sbid = widget_info(id, find_by_uname = 'SliderBar')
   dcid = widget_info(id, find_by_uname = 'decimal')
@@ -203,4 +215,7 @@
 ;----------------------------------------------------------------------
 FUNCTION cw_slider_pm_event, event
+;
+  compile_opt idl2, strictarrsubs
+;
   widget_control, event.id, get_uvalue = uval
 ;
@@ -237,4 +252,7 @@
                        , STRMINLEN = strminlen, VALUE = value, UVALUE = uvalue $
                        , UNAME = uname, title = title, _extra = ex
+;
+  compile_opt idl2, strictarrsubs
+;
 
   IF (N_PARAMS() NE 1) THEN MESSAGE, 'Incorrect number of arguments'
Index: trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_specifie.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_specifie.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_specifie.pro	(revision 114)
@@ -2,4 +2,7 @@
 ;*****************************************************
 PRO cw_specifie_set_value, id, value
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_general
    if size(value, /type) NE 8 then return
@@ -26,4 +29,7 @@
 ;*****************************************************
 FUNCTION cw_specifie_get_value, id
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_general
    widget_control, widget_info(id,find_by_uname='min'), get_value = min
@@ -53,4 +59,7 @@
 ;------------------------------------------------------------
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
   widget_control, event.id, get_uvalue = uval
   widget_control, event.top, get_uvalue = top_uvalue
@@ -87,4 +96,7 @@
 FUNCTION cw_specifie, parent, ROW = row, COLUMN = column, UVALUE = uvalue, UNAME = uname, FRAME = frame, FORXXX = forxxx, _extra = ex
 ; cheking exclusive keywords
+;
+  compile_opt idl2, strictarrsubs
+;
    column = keyword_set(column)*(1-keyword_set(row))
    row = keyword_set(row)*(1-keyword_set(column)) +(keyword_set(row) EQ column) 
Index: trunk/SRC/ToBeReviewed/WIDGET/findtopid.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/findtopid.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/findtopid.pro	(revision 114)
@@ -34,4 +34,7 @@
 ;------------------------------------------------------------
 FUNCTION findtopid,  identite
+;
+  compile_opt idl2, strictarrsubs
+;
    id = long(identite)
 ;    exist = widget_info(id, /managed)
Index: trunk/SRC/ToBeReviewed/WIDGET/slec.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/slec.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/slec.pro	(revision 114)
@@ -2,4 +2,7 @@
 ;---------------------------------------------------------
 ; include common
+;
+  compile_opt idl2, strictarrsubs
+;
 @cm_4data
   IF NOT keyword_set(key_forgetold) THEN BEGIN
Index: trunk/SRC/ToBeReviewed/WIDGET/xnotice.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/xnotice.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/xnotice.pro	(revision 114)
@@ -42,4 +42,7 @@
 ; on separe le text en differentes lignes (separees par !C) si ce
 ; n''est pas deja fait...
+;
+  compile_opt idl2, strictarrsubs
+;
    if n_elements(text) EQ 1 then text = str_sep(text, '!C', /trim)
 ;
Index: trunk/SRC/ToBeReviewed/WIDGET/xquestion.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/xquestion.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/xquestion.pro	(revision 114)
@@ -54,4 +54,7 @@
 ;-------------------------------------------------------------------------
 pro xquestion_event, event
+;
+  compile_opt idl2, strictarrsubs
+;
 ; we get the answer
    widget_control, widget_info(event.top, find_by_uname = 'text') $
@@ -66,4 +69,7 @@
 ;-------------------------------------------------------------------------
 FUNCTION xquestion, question, proposedanswer, CHKWIDGET = chkwidget, _extra = ex ;
+;
+  compile_opt idl2, strictarrsubs
+;
 ; is separate line a scalar? we must cut it into pieces? 
    if n_elements(question) EQ 1 then question = str_sep(question, '!C', /trim)
Index: trunk/SRC/ToBeReviewed/WIDGET/xx.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/xx.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/xx.pro	(revision 114)
@@ -1,4 +1,7 @@
 
 PRO xx,  JOUR = jour, MESHFILENAME = meshfilename,  LISTVAR = listvar, LISTGRID = listgrid, FUNCLEC_NAME = funclec_name, CALENDAR = calendar, _extra = ex
+;
+;
+  compile_opt idl2, strictarrsubs
 ;
 @common
@@ -20,10 +23,10 @@
    ENDIF
 ; calendrier a utiliser (en jours juliens d''IDL   
-   if NOT keyword_set(calendar) then BEGIN 
-      if keyword_set(jour) then calendar = calendriertotem(/julian_day) ELSE calendar = calendriertotem(/julian_day, /mensuel)
-   ENDIF
+;++++    if NOT keyword_set(calendar) then BEGIN 
+;++++       if keyword_set(jour) then calendar = calendriertotem(/julian_day) ELSE calendar = calendriertotem(/julian_day, /mensuel)
+;++++    ENDIF
 ; nom du fichier se rapportant au masque
    if NOT keyword_set(meshfilename) then meshfilename = '/usr1/com/smasson/IDL/INIT/inittotem.pro'
-   meshparameters = whichgrid(meshfilename)
+;++++   meshparameters = whichgrid(meshfilename)
 ; parameteres specifiant comment doit etre lu le champ
    readparameters= {funclec_name: funclec_name $
Index: trunk/SRC/ToBeReviewed/WIDGET/xxx.pro
===================================================================
--- trunk/SRC/ToBeReviewed/WIDGET/xxx.pro	(revision 97)
+++ trunk/SRC/ToBeReviewed/WIDGET/xxx.pro	(revision 114)
@@ -42,4 +42,7 @@
 PRO xxx_event, event
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @common
 ;------------------------------------------------------------
@@ -129,4 +132,7 @@
          , RESTORE = restore, _EXTRA = ex
 ;------------------------------------------------------------
+;
+  compile_opt idl2, strictarrsubs
+;
 @all_cm
 ;------------------------------------------------------------
