diff --git a/tsg_util/dev_corMethod1.m b/tsg_util/dev_corMethod1.m
index b29f95817d0d314f8a732702408ea1c313f70766..015bcd3415aa091ee68a4ea93171addf970ab6bc 100644
--- a/tsg_util/dev_corMethod1.m
+++ b/tsg_util/dev_corMethod1.m
@@ -1,52 +1,65 @@
-function [correction] = dev_corMethod1( sample, TIME_WINDOWS )
+function [tsg] = ...
+                dev_corMethod1(tsg, sample, dateMin, dateMax, TIME_WINDOWS)
+% 
+% TO DO
+% 1) Test if there are NaN values in 'sample': 
+%    We could get some problem with the computation of the median and std
+% 2) Initialisation de la structure 'cor'
+%
 
-% *************************************************************************
+% The correction is computed between dateMin and dateMax
+% ------------------------------------------------------
+dt = find(sample.TIME >= dateMin & sample.TIME <= dateMax);
 
-% Calcul des valeurs medianes de correction: achaque point de
-% comparaison, on attribue la mediane des corrections dans une fenetre de
-% 10 jours. Puis on interpole entre chaque mediane pour avoir la correction
-% a appliquer en chaque point de donnee TSG
+% TO DO : Initialisation de la structure 'cor'
+% --------------------------------------------
 
-% Fenetre de temps = 10 jours pour le calcul des valeurs medianes de
-% correction
-% ------------------------------------------------------------------
-
-COR_mediane    = [0 0];
-erreur_mediane = [0 0];
-
-for i = 1:length(sample)
+% --------------------------------------------
+for i = 1 : length(dt)
     
-    is = find( sample.TIME > sample.TIME(i) - TIME_WINDOWS/2 & ...
-               sample.TIME < sample.TIME(i) + TIME_WINDOWS/2);
+    % Find the sample witihin TIME_WINDOWS
+    % ------------------------------------
+    ind = find( sample.TIME(dt) >= sample.TIME(dt(i)) - TIME_WINDOWS/2 &...
+                sample.TIME(dt) <= sample.TIME(dt(i)) + TIME_WINDOWS/2);
            
-    if ~isempty(is)
-        COR_mediane    = [COR_mediane;...
-                         [ sample.TIME(i) median(sample.PSAL_DIF(is))]];
-        erreur_mediane = [erreur_mediane;...
-                         [std(sample.PSAL_DIF(is))/sqrt(length(is)) length(is)]];
+    % Compute the median difference and error witihn TIME_WINDOWS
+    % -----------------------------------------------------------
+    if ~isempty(j)
+        cor.TIME(i)   = sample.TIME(i);
+        cor.DIFF(i)   = median(sample.PSAL_DIF(ind));
+        cor.ERROR(i)  = std(sample.PSAL_DIF(ind))/sqrt(length(ind));
+        cor.NVALUE(i) = length(ind);
     end
 end
 
+% The error is maximum if the median is computed with less than 4 samples
+% -----------------------------------------------------------------------
+cor.ERROR( find(cor.NVALUE < 4) ) = 1;
 
-COR_mediane    = COR_mediane(2:length(COR_mediane),:);
-erreur_mediane = erreur_mediane(2:length(erreur_mediane),:);
-
-erreur_mediane( find(erreur_mediane(:,2) < 4), 1) = 1;
+% The correction is applied between dateMin and dateMax
+% We attribute to dateMin the first correction computed
+% and to dateMax the last one
+%
+% Find the tsg date in the interval dateMin-dateMax
+% -------------------------------------------------
+dtTsg = find(tsg.TIME >= dateMin & tsg.TIME <= dateMax);
 
-% Complete les series de correction PAS TRES BON
-if COR_mediane(1,1) ~= tsg.TIME(1)
-    COR_mediane = [[tsg.TIME(1) COR_mediane(1,2)];COR_mediane];
+if cor.TIME(1) ~= dateMin    
+    cor.TIME   = [tsg.TIME(dtTsg(1)) cor.TIME];
+    cor.DIFF   = [cor.DIFF(1)        cor.DIFF];
+    cor.ERROR  = [cor.ERROR(1)       cor.ERROR];
+    cor.NVALUE = [cor.NVALUE(1)      cor.NVALUE];
 end
-
-% Pas très bon : La correction ne doit pas être appliquée + de 10 jours
-% avant ou après le dernier echantillon
-% --------------------------------------------------------------------
-if COR_mediane(length(COR_mediane),1) ~= tsg.TIME(end)
-    COR_mediane = [COR_mediane; ...
-                  [tsg.TIME(end) ...
-                  COR_mediane(length(COR_mediane),2)]];
+if cor.TIME(end) ~= dateMax
+    cor.TIME   = [cor.TIME   tsg.TIME(dtTsg(end))];
+    cor.DIFF   = [cor.DIFF   cor.DIFF(end)];
+    cor.ERROR  = [cor.ERROR  cor.ERROR(end)];
+    cor.NVALUE = [cor.NVALUE cor.NVALUE(end)];
 end
 
-
-COR = interp1(COR_mediane(:,1), COR_mediane(:,2), tsg.TIME);
-
+% The correction is applied to the TSG between dateMin and dateMax using
+% a linear interpolation
+% ----------------------------------------------------------------------
+tsg.PSAL_ADJ(dtTsg) = tsg.PSAL(dtTsg) + ...
+                      interp1(cor.TIME, cor.DIFF, tsg.TIME(dtTsg));
+tsg.PSAL_ERR(dtTsg) = interp1(cor.TIME, cor.ERROR, tsg.TIME(dtTsg));