diff --git a/Rivers/locate_runoff.m b/Rivers/locate_runoff.m
index cb5e978a43d3e34f9c5ab5caa177f82249955dfa..547004132174a70c538562e724d27a8d62541cc0 100644
--- a/Rivers/locate_runoff.m
+++ b/Rivers/locate_runoff.m
@@ -1,8 +1,46 @@
-function [j2,i2]=locate_runoff(dir,j,i,mask,masku,maskv)
-% 
+function [j2for_out,i2for_out, j2for,i2for,j2,i2]=locate_runoff(dir,j,i,mask,masku,maskv)
+%=======================================================================================================
+% input : 
 % j,i : first guess river position
 % dir : direction and sense of the flow 
+%
+% output : 
+% j2,i2 : index position (eta, xi) at rho-point for runoff, in matlab convention 
+% in MATLAB, rho, u and v indexing start at 1 ! 
+%
+%               MATLAB
+%             |-------- v(i,j) -------|      
+%             |                       |   
+%             |                       |
+%          u(i-1,j)     r(i,j)      u(i,j)
+%             |                       |
+%             |                       |   
+%             |-------- v(i,j-1) -----| 
+%
+% j2for, i2for : index position (eta, xi) at rho-point for runoff, in CROCO convention
+% in CROCO fortran, rho start at 0,  u and v indexing start at 1 !, 
+%
+% zero index is a ghost cell, with no staggerd u-point on right and v point below
+%
+%
+%              CROCO fortran
+%             |-------- v(i,j+1) -----|      
+%             |                       |   
+%             |                       |
+%          u(i,j)       r(i,j)      u(i+1,j)
+%             |                       |
+%             |                       |   
+%             |-------- v(i,j) -------| 
+%
+% j2for_out, i2for_out : index for runoff positions, at u and v cells, in CROCO fortran index convention.
+%                       i- and j- are of the u or v cells that are flowing into the target wet cell 
+%
+% It is computed depending :
+%     - the runoff direction (zonal=0, meridian=1)
+%     - the sense (east-west/south-north =1 ; west-east/north-south =-1
+%     - the landmask around ...
 % 
+%=======================================================================================================
 if mask(j,i)==1
     disp('River positionned in sea')
     insea=1;
@@ -12,76 +50,119 @@ else
 end
 if dir(1)==0
     if insea
-        if dir(2)==-1      %est - west => TESTED
-            while masku(j,i)==1
-                i=i+1;
-                %disp(['MASKU:',num2str(masku(j,i))])
-            end
-            %disp(['--'])
-            %disp(['MASKU:',num2str(masku(j,i))])
-        elseif dir(2)==1 % west - est => TESTED
-            while masku(j,i)==1
+        if dir(2)==1          % >> : west - east => TESTED
+            while mask(j,i) == 1
                 i=i-1;
-                %disp(['MASKU:',num2str(masku(j,i))])
+                disp(['MASK:',num2str(mask(j,i))])
+            end
+            disp(['--'])
+            disp(['MASK:',num2str(mask(j,i))])
+            disp(['MASKU:',num2str(masku(j,i))])
+        elseif dir(2)==-1     % << : east - west => TESTED
+            while mask(j,i) == 1
+                i=i+1;
+                disp(['MASK:',num2str(mask(j,i))])
             end
-            %disp(['--'])
-            %disp(['MASKU:',num2str(masku(j,i))])
+            %in this case add +1 in i to get back into last wet cell
+            j=j+1;
+            disp(['--'])
+            disp(['MASK:',num2str(mask(j,i))])
+            disp(['MASKU:',num2str(masku(j,i))])
         end
     else %inland
-        if dir(2)==1      %west-est  => TESTED
-            while masku(j,i)~=1
+        if dir(2) == 1         % >> :  west-est  => TESTED
+            while mask(j,i) ~= 1
                 i=i+1;
-                %disp(['MASKU:',num2str(masku(j,i))])
+                disp(['MASK:',num2str(mask(j,i))])
             end
             disp(['--'])
-            i=i-1
-            %disp(['MASK:',num2str(masku(j,i))])
-        elseif dir(2)==-1 %est-west => TESTED
-            while masku(j,i)~=1
+            disp(['MASK:',num2str(mask(j,i))])
+            disp(['MASKU:',num2str(masku(j,i))])
+        elseif dir(2) == -1    % << : east-west => TESTED
+            while mask(j,i) ~= 1
                 i=i-1;
-                %disp(['MASKU:',num2str(masku(j,i))])
+                disp(['MASK:',num2str(mask(j,i))])
             end
-            %disp(['--'])
-            i=i+1;
-            %disp(['MASKU:',num2str(masku(j,i))])
+        disp(['--'])
+        disp(['MASK:',num2str(mask(j,i))])
+        disp(['MASKU:',num2str(masku(j,i))])
         end
     end
 else %dir(k,1)=1
     if insea
-        if dir(2)==-1     % nord - sud  => TESTED
-            while maskv(j,i)==1
-                j=j+1;
-                %disp(['MASKV:',num2str(maskv(j,i))])
-            end
-            %disp(['--'])
-            %disp(['MASKV:',num2str(maskv(j,i))])
-        elseif dir(2)==1 % sud - nord => TESTED
-            while maskv(j,i)==1
+        if dir(2) == 1 %  ^ : sud - nord => TESTED
+            while mask(j,i) == 1
                 j=j-1;
-                %disp(['MASKV:',num2str(maskv(j,i))])
+                disp(['MASK:',num2str(mask(j,i))])
             end
-            %disp(['--'])
-            %disp(['MASKV:',num2str(maskv(j,i))])
+            %in this case add +1 in j to get back into last wet cell
+            j=j+1;
+            %   
+            disp(['-- ^^ start insea'])
+            disp(['MASK:',num2str(mask(j,i))])
+            disp(['MASKV:',num2str(maskv(j,i))])
+            
+        elseif dir(2) == -1     % v : nord - sud  => TESTED
+            while mask(j,i) == 1
+                j=j+1;
+                disp(['MASK:',num2str(mask(j,i))])
+            end
+            disp(['--'])
+            disp(['MASK:',num2str(mask(j,i))])
+            disp(['MASKV:',num2str(maskv(j,i))])
+
         end
     else %inland  
-        if dir(2)==1      %sud-nord  => TESTED          
-            while maskv(j,i)~=1
+        if dir(2) == 1      % ^: sud-nord  => TESTED          
+            while mask(j,i) ~= 1
                 j=j+1;
-                %disp(['MASKV:',num2str(maskv(j,i))])
+                disp(['MASK:',num2str(mask(j,i))])
             end
-            %disp(['--'])
-            j=j-1;
-            %disp(['MASKV:',num2str(maskv(j,i))])
-        elseif dir(2)==-1 %nord-sud => TESTED
-            while maskv(j,i)~=1
+            disp(['--^^ start inland'])
+            disp(['MASK:',num2str(mask(j,i))])
+            disp(['MASKV:',num2str(maskv(j,i))])
+
+        elseif dir(2) == -1 % v : nord-sud => TESTED
+            while mask(j,i) ~= 1
                 j=j-1;
-                %disp(['MASKV:',num2str(maskv(j,i))])
+                disp(['MASK:',num2str(mask(j,i))])
             end
-            %disp(['--'])
-            j=j+1;
-            %disp(['MASKV:',num2str(maskv(j,i))])
+            disp(['--'])
+            disp(['MASK:',num2str(mask(j,i))])
+            disp(['MASKV:',num2str(maskv(j,i))])
         end
     end
 end
+
+% from matlab to roms index convention
 j2=j; i2=i;
+j2for=j-1; i2for=i-1;
+
+% regarding the flow direction, sense and landmask surrounding
+% -- toward west >>
+if ( dir(1) == 0 & dir(2) == 1 ) ;
+    j2for_out = j2for ;
+    i2for_out = i2for ;
+end
+% -- toward est <<
+if ( dir(1) == 0 & dir(2) == -1 );  
+    j2for_out = j2for ;
+    i2for_out = i2for + 1 ;
+end
+% -- toward north ^^
+if ( dir(1) == 1 & dir(2) == 1 );  
+    j2for_out = j2for ;
+    i2for_out = i2for ;
+end
+% -- toward south vv
+if ( dir(1) == 1 & dir(2) == -1 ); 
+    j2for_out = j2for + 1 ;
+    i2for_out = i2for ;
+end
+
+% j2mat_out is equal to j2for_out
+% i2mat_out is equal to j2for_out % I think ...
+% j2mat_out = j2for_out
+% i2mat_out = i2for_out
+
 return
diff --git a/Rivers/make_runoff.m b/Rivers/make_runoff.m
index 8d42e3c332ff61de40d56ef791c10fadebfa2794..3a532fc5dd1904e55f2f40395cbbb8120b3b0e39 100644
--- a/Rivers/make_runoff.m
+++ b/Rivers/make_runoff.m
@@ -25,6 +25,7 @@
 %
 %
 %  July 2013: G. Cambon (IRD/LEGOS) & M. Herrmann (IRD/LEGOS)
+%  July 2023 : G. Cambon (IRD/LOPS)
 %
 clear all
 close all
@@ -134,7 +135,16 @@ if define_dir==1
 % $$$     dir(10,:)= [1 ,  1];  % # Magdalena
 % $$$     dir(11,:)= [1,  -1];  % # Urugay same dir/sense as Parana
 % $$$     dir(12,:)= [0 ,  0];  % # Danube (not used)
-% $$$     dir(13,:)= [0 , -1];  % # Niger     
+% $$$     dir(13,:)= [0 , -1];  % # Niger  
+
+%ARVOR FAMILY for river # 1 to 6 without Danube
+    dir(1,:) = [0 ,  1];  % # Orinoco
+    dir(2,:) = [0 ,  1];  % # Mississipi
+    dir(3,:) = [0 ,  1];  % # Saint Lawrence
+    dir(4,:) = [1 ,  1];  % # Magdalena
+    dir(5,:) = [0 ,  0];  % # Danube (not used)
+    dir(6,:) = [1 , -1];  % # Niger  
+
 end
 %=========================================================================================
 %%%%%%%%%%%%%%%%%%% END USERS DEFINED VARIABLES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -204,11 +214,22 @@ else
         I(k)=i-1;
         I(I<1)=1;
         J(J<1)=1;
-        
+
         disp(['  Position is approximetly  J=',num2str(J(k)),' and I=',num2str(I(k))])
-        disp(['lon src in grid (rho point) ~',num2str(lon(J(k),I(k)))])
-        disp(['lat src in grid (rho point) ~',num2str(lat(J(k),I(k)))])
+        disp(['     lon src in grid (rho point) ~',num2str(lon(J(k),I(k)))])
+        disp(['     lat src in grid (rho point) ~',num2str(lat(J(k),I(k)))])
+    end
+    %==========================================
+    mod_manual =0
+    if mod_manual
+    % Modify position runoff manually
+    % River number to modify number to modify 
+        kmod = 3;
+        J(kmod) =  J(kmod); 
+        I(kmod) = I(kmod) - 10 ; 
+        disp(['River #',num2str(kmod),': ',char(myrivername(kmod,:)),' modified manually'])
     end
+    %==========================================
     %%
     %% Check the river you really have to process.
     %% Remove rivers out of the domain, if any...
@@ -218,15 +239,15 @@ else
     %%debug
     %%rivertoprocess=1
     %=================
-    
     number_rivertoprocess=length(rivertoprocess);
     rivername=strvcat(myrivername(rivertoprocess,:));
     rivernumber=number_rivertoprocess;
     rivname_StrLen=size(rivername,2);
  
     %% Make a figure
-    
+
     if plotting==1
+        dl = mean(lat(2:end,1) - lat(1:end-1,1));
         fig1=figure(1);
         set(fig1,'Position',[659 34 1334 1307],'units','pixels');
         m_proj('mercator',...            % dl/2 shift to have cells centered on lon/lat
@@ -250,17 +271,17 @@ else
         pause
         %%
         if plotting_zoom
-        %% to be adapeted regarding the configuration
-% $$$         extendpointY=[500 500 500 500 ...
-% $$$                       500 600 900 500 ...
-% $$$                       500 500 500 50 ...
-% $$$                       500 ];
-% $$$         extendpointX=[500 500 500 500 ...
-% $$$                       500 600 900 500 ...
-% $$$                       500 500 500 50 ...
-% $$$                       500 ];
-            extendpointY=50*ones(number_rivertoprocess,1);
-            extendpointX=50*ones(number_rivertoprocess,1);
+        %% to be adapted regarding the configuration
+            % extendpointY=[500 500 500 500 ...
+            %               500 600 900 500 ...
+            %               500 500 500 50 ...
+            %               500 ];
+            % extendpointX=[500 500 500 500 ...
+            %               500 600 900 500 ...
+            %               500 500 500 50 ...
+            %               500 ];
+            extendpointY=20*ones(number_rivertoprocess,1);
+            extendpointX=20*ones(number_rivertoprocess,1);
             nfig0=5;
             for k=1:number_rivertoprocess
                 nfig=nfig0+k;
@@ -282,37 +303,25 @@ else
                 mylat_point=lat(Jzoom_start : Jzoom_end,Izoom_start : Izoom_end);
                 mymask_point=mask(Jzoom_start : Jzoom_end,Izoom_start : Izoom_end);    
                 
-% $$$                 %%-Replace by specific case for  GIGATL1
-% $$$                 if (k ~= 12 )
-% $$$                     mylon_point=lon(J(k)+1 - extendpointYkk : J(k)+1 + extendpointYkk,...
-% $$$                                     I(k)+1 - extendpointXkk : I(k)+1 + extendpointXkk);
-% $$$                     mylat_point=lat(J(k)+1 - extendpointYkk : J(k)+1 + extendpointYkk,...
-% $$$                                     I(k)+1 - extendpointXkk : I(k)+1 + extendpointXkk);
-% $$$                     mymask_point=mask(J(k)+1 - extendpointYkk : J(k)+1 + extendpointYkk,...
-% $$$                                       I(k)+1 - extendpointXkk : I(k)+1 + extendpointXkk);
-% $$$                 else
-% $$$                     mylon_point=lon(J(k)+1 - extendpointYkk : J(k)+1,...
-% $$$                                     I(k)+1 - extendpointXkk : I(k)+1 ) ;
-% $$$                     
-% $$$                     mylat_point=lat(J(k)+1 - extendpointYkk : J(k)+1,...
-% $$$                                     I(k)+1 - extendpointXkk : I(k)+1) ;
-% $$$                     
-% $$$                     mymask_point=mask(J(k)+1 - extendpointYkk : J(k)+1,...
-% $$$                                          I(k)+1 - extendpointXkk : I(k)+1);
-% $$$                 end 
-% $$$                 %%- end Specific plotting  
-                
-                
-                m_proj('mercator',...    % dl/2 shift to have cells centered on lon/lat
-                       'lon',[min(min(mylon_point-dl/2)) max(max(mylon_point-dl/2)) ],...
-                       'lat',[min(min(mylat_point-dl/2)) max(max(mylat_point-dl/2)) ] );
-                m_pcolor(mylon_point-dl/2,mylat_point-dl/2,mymask_point) ; shading flat
-                m_grid('box','fancy','xtick',5,'ytick',5,'tickdir','out');
-                set(findobj('tag','m_grid_color'),'facecolor','white');
-                hold on
-                [px,py]=m_ll2xy(lon_src,lat_src);
-                h11=plot(px,py,'ro');
-                title(['\bf', myrivername(k,:)]);
+            %     %% -Replace by specific case for  GIGATL1
+            %    if (k ~= 12 )
+            %         mylon_point=lon(J(k)+1 - extendpointYkk : J(k)+1 + extendpointYkk,...
+            %                          I(k)+1 - extendpointXkk : I(k)+1 + extendpointXkk);
+            %         mylat_point=lat(J(k)+1 - extendpointYkk : J(k)+1 + extendpointYkk,...
+            %                          I(k)+1 - extendpointXkk : I(k)+1 + extendpointXkk);
+            %          mymask_point=mask(J(k)+1 - extendpointYkk : J(k)+1 + extendpointYkk,...
+            %                            I(k)+1 - extendpointXkk : I(k)+1 + extendpointXkk);
+            %      else
+            %          mylon_point=lon(J(k)+1 - extendpointYkk : J(k)+1,...
+            %                          I(k)+1 - extendpointXkk : I(k)+1 ) ;
+                     
+            %          mylat_point=lat(J(k)+1 - extendpointYkk : J(k)+1,...
+            %                          I(k)+1 - extendpointXkk : I(k)+1) ;
+                     
+            %          mymask_point=mask(J(k)+1 - extendpointYkk : J(k)+1,...
+            %                               I(k)+1 - extendpointXkk : I(k)+1);
+            %      end 
+            %      %%- end Specific plotting  
             end
         end
     end
@@ -384,101 +393,33 @@ else
         jj=J(k);
         ii=I(k);
         dir2=dir(k,:);
-        
-% $$$         %% Example manual modification for GIGATL family runs
-% $$$         %% GIGATL6 [BASE]:  Amazon Tocantins Orenoque Mississipi
-% $$$         %%                  Tapajos Xingu Magdalena
-% $$$         
-% $$$         if k0 == 1    % Amazon
-% $$$             jj=jj+5
-% $$$             
-% $$$         end
-% $$$         if k0 == 6    % Tocantins
-% $$$             ii=ii+1
-% $$$         end
-% $$$         if k0 == 3    %Orenoque
-% $$$             jj=jj-12
-% $$$         end
-% $$$         if k0 == 4    %Mississipi
-% $$$             ii=ii-6
-% $$$         end
-% $$$         if k0 == 7    %Tapajos
-% $$$             jj=jj+14
-% $$$         end
-% $$$         if k0 == 9    %Xingu
-% $$$             jj=jj+24
-% $$$         end
-% $$$         if k0 == 10   %Magdalena
-% $$$             ii=ii+7
-% $$$         end
-% $$$         
-% $$$         %%====================================================================
-% $$$         %% 
-% $$$         %% GIGATL3 (Multiply base by 2 for the jj and ii offset]
-% $$$         %% =>   Amazon Tocantins Orenoque Mississipi Tapajos Xingu Magdalena
-% $$$         if k0 == 1     % Amazon
-% $$$             jj=jj+10 - 2
-% $$$         end
-% $$$         if k0 == 6    % Tocantins
-% $$$             ii=ii+2
-% $$$         end
-% $$$         if k0 == 3    %Orenoque
-% $$$             jj=jj-24 -2
-% $$$         end
-% $$$         if k0 == 4    %Mississipi
-% $$$             ii=ii-12
-% $$$         end
-% $$$         if k0 == 7    %Tapajos
-% $$$             jj=jj+28
-% $$$         end
-% $$$         if k0 == 9    %Xingu
-% $$$             jj=jj+48
-% $$$         end
-% $$$         if k0 == 10   %Magdalena
-% $$$             ii=ii+14
-% $$$         end
-% $$$         
-% $$$         %%====================================================================
-% $$$         %%
-% $$$         %% GIGATL1 (Multiply base by 6 for the jj and ii offset]
-% $$$         %% =>   Amazon Tocantins Orenoque Mississipi Tapajos Xingu Magdalena
-% $$$         if k0 == 1     % Amazon
-% $$$             jj=jj+24
-% $$$         end
-% $$$         if k0 == 6    % Tocantins
-% $$$             ii=ii+6
-% $$$         end
-% $$$         if k0 == 3    %Orenoque
-% $$$             jj=jj-78 - 21
-% $$$         end
-% $$$         if k0 == 4    %Mississipi
-% $$$             ii=ii-36
-% $$$         end
-% $$$         if k0 == 7    %Tapajos
-% $$$             jj=jj+84
-% $$$         end
-% $$$         if k0 == 9    %Xingu
-% $$$             jj=jj+144
-% $$$         end
-% $$$         if k0 == 10   %Magdalena
-% $$$             ii=ii+42
-% $$$         end
-% $$$         
-% $$$         %% End Example manual modifications for GIGATL family runs
-% $$$         %%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-        
-        [jj2,ii2]=locate_runoff(dir2,jj,ii,mask,masku,maskv);
+        %
+        % Compute the u and v cells indexes in CROCO convention
+        [jj2for_out,ii2for_out, jj2for,ii2for,jj2,ii2]=locate_runoff(dir2,jj,ii,mask,masku,maskv);
+        % 
+        J2for_out(k)=jj2for_out;
+        I2for_out(k)=ii2for_out;
+        %
+        J2for(k)=jj2for;
+        I2for(k)=ii2for;
+        %
         J2(k)=jj2;
         I2(k)=ii2;
-        disp([char(myrivername(k,:)),' is J=',num2str(J2(k)),' and I=',num2str(I2(k))])
-        disp([' '])
+        %
+        disp([char(myrivername(k,:)),' runoff wet cell (rho-point) indices are :'])
+        disp(['matlab             J=',num2str(J2(k)),' and I=',num2str(I2(k))])
+        disp(['CROCO fortran conv J=',num2str(J2for(k)),' and I=',num2str(I2for(k))])
+        disp([''])
+        disp(['For u or v cells indices are (CROCO fortran convention)'])
+        disp(['Jsrc=',num2str(J2for_out(k)),' and Isrc=',num2str(I2for_out(k))])
+        disp(['===='])
     end
     %%
     %% Adjust the rivers temperature and salinity
     %%
     if psource_ncfile_ts==1
         disp([' '])
-        disp([' Adjust the rivers temperature and salinity '])
+        disp(['Adjust the rivers temperature and salinity '])
         %%disp([' Use the closest surface point in the climatology file '])
         my_temp_src0=zeros(rivernumber ,length(woa_time));
         my_salt_src0=zeros(rivernumber ,length(woa_time));
@@ -513,7 +454,7 @@ else
                 %%
                 S=squeeze(ncclim{'salt'}(:,N,j_rho,i_rho))-10; % hum...
                 S(S<2)=2.0001; % to prevent negative salinities in the
-                          % equation of state
+                               % equation of state
                 disp(['  Use psource_ncfile_ts_auto using S = sclim -10 '])
                 disp(['  Check line 464 in make_runoff.m to change ' ...
                        'this arbitrary runoff salinity'])
@@ -636,13 +577,12 @@ else
 % $$$                                 33.0312  ];
             %%            
             my_salt_src0(:,:)=ones(rivernumber,12)*5;
-            %%
             if makebio
 % $$$           my_no3_src0=[0 0 0 0 0 0 0 0 0 0 0 0];
             end
         end
         %%
-        %%Effectivelly processed rivers
+        %% Effectivelly processed rivers
         %%
         my_temp_src= my_temp_src0(find(indomain_last==1),:);
         my_salt_src= my_salt_src0(find(indomain_last==1),:);
@@ -662,12 +602,13 @@ else
                'lat',[latmin-dl/2 latmax-dl/2]);
         for k0=1:number_rivertoprocess
             k=rivertoprocess(k0);
+
             if dir(k,1)==0 %zonal flow (u-grid)
-               lon_src=lonu(J2(k),I2(k));
-               lat_src=latu(J2(k),I2(k));
+                lon_src=lonu(J2(k),I2for_out(k)); % Adjusted position
+                lat_src=latu(J2(k),I2for_out(k)); % + nice plot
             else           %meridional flow (v-grid)
-               lon_src=lonv(J2(k),I2(k));
-               lat_src=latv(J2(k),I2(k));               
+               lon_src=lonv(J2for_out(k),I2(k)); % Adjusted position
+               lat_src=latv(J2for_out(k),I2(k)); % + nice plot  
             end
             [px,py]=m_ll2xy(lon_src,lat_src);
             if dir(k,1)==0 & dir(k,2)==1
@@ -693,37 +634,43 @@ else
                 close(nfig);
                 figure(nfig);
                 
+                lon_src0=lon(J(k),I(k));  % First guess position
+                lat_src0=lat(J(k),I(k)); 
                 if dir(k,1)==0 %zonal flow (u-grid)
-                   lon_src0=lonu(J(k),I(k));  % First guess position
-                   lat_src0=latu(J(k),I(k));
-                   lon_src=lonu(J2(k),I2(k)); % Adjusted position
-                   lat_src=latu(J2(k),I2(k));
+                    lon_src=lonu(J2(k),I2for_out(k)); % Adjusted position
+                    lat_src=latu(J2(k),I2for_out(k)); % + nice plot
                 else           %meridional flow (v-grid)
-                   lon_src0=lonv(J(k),I(k));  % First guess position
-                   lat_src0=latv(J(k),I(k));  
-                   lon_src=lonv(J2(k),I2(k)); % Adjusted position
-                   lat_src=latv(J2(k),I2(k));               
+                   lon_src=lonv(J2for_out(k),I2(k)); % Adjusted position
+                   lat_src=latv(J2for_out(k),I2(k)); % + nice plot  
                 end
-                
+                %
+                lon_src_r=lon(J2(k),I2(k));
+                lat_src_r=lat(J2(k),I2(k));
+                dlzoom = lat(J2(k),I2(k)) - lat(J2(k)-1,I2(k));
+                %
+                disp(['Final position of the target wet cell (rho-point) is J=',num2str(J2for_out(k)),' and I=',num2str(I2for_out(k))])
+                disp(['   lon src in grid ',num2str(lon_src_r)])
+                disp(['   lat src in grid ',num2str(lat_src_r)])  
+                disp(['   '])
+                %
                 extendpointYkk=extendpointY(k);
                 extendpointXkk=extendpointX(k);
-                
+                %
                 Izoom_start=max(1,I(k) - extendpointXkk);
                 Izoom_end=min(size(mask,2),I(k) + extendpointXkk); 
                 Jzoom_start=max(1,J(k) - extendpointYkk);
                 Jzoom_end=min(size(mask,1),J(k) + extendpointYkk); 
                 
-                %% Generic case    
+                %% Generic case for zoom 
                 mylon_point=lon(Jzoom_start : Jzoom_end,Izoom_start : Izoom_end);
                 mylat_point=lat(Jzoom_start : Jzoom_end,Izoom_start : Izoom_end);
                 mymask_point=mask(Jzoom_start : Jzoom_end,Izoom_start : Izoom_end); 
-                
                 %%
-                m_proj('mercator',...   %  dl/2 shift to have cells centered on lon/lat
-                       'lon',[min(min(mylon_point-dl/2)) max(max(mylon_point-dl/2)) ],...
-                       'lat',[min(min(mylat_point-dl/2)) max(max(mylat_point-dl/2)) ] );
+                m_proj('mercator',...   %  dlzoom/2 shift to have cells centered on lon/lat
+                       'lon',[min(min(mylon_point-dlzoom/2)) max(max(mylon_point-dlzoom/2)) ],...
+                       'lat',[min(min(mylat_point-dlzoom/2)) max(max(mylat_point-dlzoom/2)) ] );
                 
-                m_pcolor(mylon_point-dl/2,mylat_point-dl/2,mymask_point) ; shading flat
+                m_pcolor(mylon_point-dlzoom/2,mylat_point-dlzoom/2,mymask_point) ; %shading flat
                 m_grid('box','fancy','xtick',5,'ytick',5,'tickdir','out');
                 set(findobj('tag','m_grid_color'),'facecolor','white');
                 hold on
@@ -731,17 +678,31 @@ else
                 h11=plot(px0,py0,'ro');
                 [px,py]=m_ll2xy(lon_src,lat_src);     % Adjusted position
                 if dir(k,1)==0 & dir(k,2)==1
-                   h33=plot(px,py,'k>');
-                elseif dir(k,1)==0 & dir(k,2)==-1
-                   h33=plot(px,py,'k<');     
-                elseif dir(k,1)==1 & dir(k,2)==1
-                   h33=plot(px,py,'k^');
-                elseif dir(k,1)==1 & dir(k,2)==-1
-                   h33=plot(px,py,'kv');  
-                end 
+                    h33=plot(px,py,'k>');
+                 elseif dir(k,1)==0 & dir(k,2)==-1
+                    h33=plot(px,py,'k<');     
+                 elseif dir(k,1)==1 & dir(k,2)==1
+                    h33=plot(px,py,'k^');
+                 elseif dir(k,1)==1 & dir(k,2)==-1
+                    h33=plot(px,py,'kv');  
+                 end 
                 legend([h11,h33],{'Approximative first guess river location','final adjusted river location'});
-
                 title(['\bf', myrivername(k,:)]);
+                %
+                % pcolor(mylon_point-dlzoom/2,mylat_point-dlzoom/2,mymask_point) ; %shading flat
+                % hold on
+                % h11=plot(lon_src0,lat_src0,'ro');
+                % if dir(k,1)==0 & dir(k,2)==1
+                %     h33=plot(lon_src,lat_src,'k>');
+                %  elseif dir(k,1)==0 & dir(k,2)==-1
+                %     h33=plot(lon_src,lat_src,'k<');     
+                %  elseif dir(k,1)==1 & dir(k,2)==1
+                %     h33=plot(lon_src,lat_src,'k^');
+                %  elseif dir(k,1)==1 & dir(k,2)==-1
+                %     h33=plot(lon_src,lat_src,'kv');  
+                %  end 
+                % legend([h11,h33],{'Approximative first guess river location','final adjusted river location'});
+                % title(['\bf', myrivername(k,:)]);
             end
         end
     end
@@ -754,17 +715,27 @@ else
     %%nw{'runoff_position'}(:,:)=[I2(find(indomain_last==1)) J2(find(indomain_last==1))];
     %%nw{'runoff_direction'}(:,:)=dir(find(indomain_last==1),:);
     %%disp(['... river positions'])
-    %% Write qbar, temp,salt and bgc variables conc.
-    cff=1;
-    %%
-    %%debug cff=150;
-    %%disp(['================== WARNING ============================'])
-    %%disp(['Use a cff coef to increase the discharge= ',num2str(cff)])
-    %%disp(['======================================================='])
-    %% end debug
+    %%Write qbar, temp,salt and bgc variables conc.
+    cff = 1; 
+    %
+    debugflow=0; 
+    if debugflow
+        cff=10;
+        disp(['================== WARNING ============================'])
+        disp(['debugflow is on See line 633 in make_runoff.m          ']) 
+        disp(['Use a cff coef to increase the discharge= ',num2str(cff)])
+        disp(['======================================================='])
+    end
     
     my_flow=cff.*my_flow;
     nw{'Qbar'}(:) = my_flow';
+    if debugflow
+        disp(['debugflow is on'])
+        disp(['SIZE MY_FLOW=',num2str(size(my_flow))]);
+        nw{'Qbar'}(4,:) = my_flow(:,1);
+        nw{'Qbar'}(5,:) = my_flow(:,1);
+    end
+
     disp(['... discharges'])
     if psource_ncfile_ts==1
         %% take care : no transpostion needed !!
@@ -776,8 +747,6 @@ else
             nw{'NO3_src'}(:) = my_no3_src';
             disp(['... NO3 concentration'])
         end
-        
-
     end
     if psource_ncfile_ts == 1
         disp([' ==>'])
@@ -829,8 +798,8 @@ else
             T=20;
             S=15;
         end
-        %% listing...
-        disp(['                        ',num2str(I2(k)),'  ',num2str(J2(k)),...
+        %Print the listing
+        disp(['                        ',num2str(I2for_out(k)),'  ',num2str(J2for_out(k)),...
                   '  ',num2str(dir(k,1)),'  ',num2str(dir(k,2)),'   T  T   ',...
                   num2str(T),' ',num2str(S)])
     end
diff --git a/Rivers/runoff_glob_extract.m b/Rivers/runoff_glob_extract.m
index 1f05a15a60ff25524c76b0fedbdb050414288ce6..ca71602c81453104c081ed08b53931506c08d3e3 100644
--- a/Rivers/runoff_glob_extract.m
+++ b/Rivers/runoff_glob_extract.m
@@ -42,12 +42,9 @@ close(ncriv)
 maxmaxflow=(max(max(FLOW_clm)));
 maxflow=(max(FLOW_clm)');  % attention transpose
 
-meanflowmax=mean(FLOW_clm(:,1));    % pour amazon
-meanflow=nanmean(FLOW_clm(:,:),1)'; % pour les autres
-
-%size(meanflow)
-%plot(meanflow)
-%size(maxflow)
+meanflowmax=mean(FLOW_clm(:,1));    % for the biggest
+meanflow=nanmean(FLOW_clm(:,:),1)'; % for others
+%
 
 %==========================================================================================================
 %% => by default : all rivers in the domain 
@@ -55,12 +52,18 @@ rivdetectype='DEFAULT';
 my_riv=find(latriv_mou>=minlat & latriv_mou<=maxlat & lonriv_mou >= minlon & lonriv_mou <= maxlon);
 
 %==
-
 % => megatl : rivers in the boxes + max value >= 20%*max val of the flow amazonia peak)
 %rivdetectype='MEGATL';
 %thold=0.1;
 %thold=0.03;
 %my_riv=find(latriv_mou>=minlat & latriv_mou<=maxlat & lonriv_mou >= minlon & lonriv_mou <= maxlon & meanflow >= thold.*meanflowmax);
+
+% % => arvor : rivers in the boxes + max value >= 20%*max val of the flow orinoco peak)
+% rivdetectype='ARVOR';
+% %thold=0.1;
+% thold=0.03;
+% my_riv=find(latriv_mou>=minlat & latriv_mou<=maxlat & lonriv_mou >= minlon & lonriv_mou <= maxlon & meanflow >= thold.*meanflowmax);
+
 %========================================
 %
 disp(['There are ',num2str(length(my_riv)),' rivers in the domain : '])