function [i1min,i1max,i2min,i2max,i3min,i3max,jrange,jmin,jmax,lon,lat]=...
    oct_get_NCEP_grid(url_path,lonmin,lonmax,latmin,latmax,Get_My_Data)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Get the indices for a NCEP subgrid 
%
%
%  Further Information:  
%  http://www.croco-ocean.org
%  
%  This file is part of CROCOTOOLS
%
%  CROCOTOOLS is free software; you can redistribute it and/or modify
%  it under the terms of the GNU General Public License as published
%  by the Free Software Foundation; either version 2 of the License,
%  or (at your option) any later version.
%
%  CROCOTOOLS is distributed in the hope that it will be useful, but
%  WITHOUT ANY WARRANTY; without even the implied warranty of
%  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%  GNU General Public License for more details.
%
%  You should have received a copy of the GNU General Public License
%  along with this program; if not, write to the Free Software
%  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
%  MA  02111-1307  USA
%
%  Copyright (c) 2005-2006 by Pierrick Penven 
%  e-mail:Pierrick.Penven@ird.fr  
%
%  Updated    6-Sep-2006 by Pierrick Penven
%  Updated    Fev-2008 by   Jerome Lefevre remove mask reading
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Get the indices for a NCEP 

dl=3;

lonmin=lonmin-dl;
lonmax=lonmax+dl;
latmin=latmin-dl;
latmax=latmax+dl;
%
% Get the global horizontal grid
%
if Get_My_Data~=1
  disp(['Get_My_Data =', num2str(Get_My_Data)])
  lon=oct_readdap(url_path,'lon',[]);
  if lon(end)>360 
     disp('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')  
     longitudes=[lon(1) lon(2)] 
     longitudes=[lon(end-1) lon(end)]
     lon=lon(2:end-1);
     disp('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!') 
  end
  lat=oct_readdap(url_path,'lat',[]);
% $$$   lat(1:2);
% $$$   lon(1:2);
else
  disp(['Get_My_Data = ', num2str(Get_My_Data)])
  disp(['Read subgrid from file',url_path,'.nc'])
  ncid = netcdf.open([url_path,'.nc'], 'NC_NOWRITE');
  lon=netcdf.getVar(ncid, netcdf.inqVarID(ncid, 'lon'));
  lat=netcdf.getVar(ncid, netcdf.inqVarID(ncid, 'lat'));
  netcdf.close(ncid);

  %lat=flipdim(lat,1);
% $$$ lat(1:3)
% $$$ lon(1:3)
% $$$ lat=flipdim(lat,1);
% $$$ lat(1:3)
% $$$ lon(1:3)

end

%
% Get a subgrid
%
j=find(lat>=latmin & lat<=latmax);
%
i1=find(lon-360>=lonmin & lon-360<=lonmax);
i2=find(lon>=lonmin & lon<=lonmax);
i3=find(lon+360>=lonmin & lon+360<=lonmax);
%
lon=cat(1,lon(i1)-360,lon(i2),lon(i3)+360);
lat=lat(j);
%
% If we are in OpenDap (Get_My_Data=0) we need
% a shift of decal=1, because the indexes begin at 0 in OpenDap.
% If we use local data, Get_My_Data=1, there is no shift needed, 
% then decal=0;

if Get_My_Data==1
    decal=0;
else
    decal=1;
end
%
if ~isempty(i1)
  i1min=min(i1)-decal;
  i1max=max(i1)-decal;
else
  i1min=[];
  i1max=[];
end
if ~isempty(i2)
  i2min=min(i2)-decal;
  i2max=max(i2)-decal;
else
  i2min=[];
  i2max=[];
end
if ~isempty(i3)
  i3min=min(i3)-decal;
  i3max=max(i3)-decal;
else
  i3min=[];
  i3max=[];
end
%
jmin=min(j)-decal;
jmax=max(j)-decal;
jrange=['[',num2str(jmin),':',num2str(jmax),']'];

%From this version no more mask reading
