Changeset 8


Ignore:
Timestamp:
05/04/11 18:07:12 (13 years ago)
Author:
cholod
Message:

patch_romstools_15_04_2011.tar : UPDATES of Nesting_tools, Diagnostics_tools, Oforc_OGCM, Preprocessing_tools and Forecast_tools

Location:
Roms_tools
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • Roms_tools/Forecast_tools/download_ECCO_frcst.m

    r1 r8  
    6767% first ecco time: 06-Jan-2006 (315696) 
    6868% first ecco time: 07-Jan-2006 (324456) !!! should be reset every year !!! 
     69ecco_time_start_year=359520; 
     70 
    6971% 
    70 ecco_time_start=324456/24+datenum(1970,1,1)-datenum(Yorig,1,1); 
     72ecco_time_start=ecco_time_start_year/24+datenum(1970,1,1)-datenum(Yorig,1,1); 
    7173ecco_times=[ecco_time_start:10:ecco_time_start+10000]; 
    7274%htime_ecco=24*(ecco_times+datenum(Yorig,1,1)-datenum(1970,1,1)); 
  • Roms_tools/Forecast_tools/download_GFS.m

    r1 r8  
    121121radlw=tx; 
    122122radsw=tx; 
     123radlw_in=tx; 
     124uwnd=tx; 
     125vwnd=tx; 
    123126% 
    124127n=0; 
     
    145148% Loop on GDAS analyses  
    146149% (starts hdays day ago 18Z, 1 analysis every 6h 
    147 %  ends yesterday 06Z). 
     150%  ends before yesterday 18Z). 
    148151% 
    149152gfs_run_time0=12; 
    150153gfs_date0=today-(hdays+1);  
    151 for frcst=1:4*hdays-3             % number of files until yesterday 06Z 
    152   gfs_run_time0=gfs_run_time0+6; 
     154for frcst=1:4*hdays-3             % number of files until before yesterday 18Z  
     155  gfs_run_time0=gfs_run_time0+6;   
    153156  if gfs_run_time0>18 
    154157    gfs_date0=gfs_date0+1; 
     
    161164  gfs_date=gfs_date0; 
    162165  t1=1; 
     166  t1dap=t1-1; 
    163167  fname=get_GFS_fname(gfs_date,gfs_run_time,0); 
    164168  warning off 
     
    187191   n=n+1; 
    188192   [gfstime(n),tx0,ty0,tair0,rhum0,... 
    189            prate0,wspd0,radlw0,radsw0]=... 
    190    get_GDAS(fname,mask,t1,jrange,i1min,i1max,i2min,i2max,...  
    191            i3min,i3max,missvalue); 
     193         prate0,wspd0,uwnd0,vwnd0,radlw0,radlw_in0,radsw0]=... 
     194   get_GDAS(fname,mask,t1dap,jrange,i1min,i1max,i2min,i2max,i3min,i3max,missvalue); 
    192195   TX=interp2(lon,lat',tx0,LON,LAT'); 
    193196   TY=interp2(lon,lat',ty0,LON,LAT'); 
     
    196199   PRATE=interp2(lon,lat',prate0,LON,LAT'); 
    197200   WSPD=interp2(lon,lat',wspd0,LON,LAT'); 
     201   UWND=interp2(lon,lat',uwnd0,LON,LAT'); 
     202   VWND=interp2(lon,lat',vwnd0,LON,LAT'); 
    198203   RADLW=interp2(lon,lat',radlw0,LON,LAT'); 
     204   RADLW_IN=interp2(lon,lat',radlw_in0,LON,LAT'); 
    199205   RADSW=interp2(lon,lat',radsw0,LON,LAT'); 
    200206   tx(n,:,:)=TX; 
     
    204210   prate(n,:,:)=PRATE; 
    205211   wspd(n,:,:)=WSPD; 
     212   uwnd(n,:,:)=UWND; 
     213   vwnd(n,:,:)=VWND; 
    206214   radlw(n,:,:)=RADLW; 
     215   radlw_in(n,:,:)=RADLW_IN; 
    207216   radsw(n,:,:)=RADSW; 
    208217% 
     
    211220% 
    212221%================================================================== 
    213 % 2: Get the variables for Forecast starting yesterday 12Z 
     222% 2: Get the variables for Forecast starting  yesterday 00Z 
    214223%================================================================== 
    215224gfs_run_time0=gfs_run_time1+6; 
     
    268277% 
    269278for tndx=t1:it:60 
     279  tndxdap=tndx-1; 
    270280  n=n+1; 
    271281  [gfstime(n),tx(n,:,:),ty(n,:,:),tair(n,:,:),rhum(n,:,:),... 
    272    prate(n,:,:),wspd(n,:,:),radlw(n,:,:),radsw(n,:,:)]=... 
    273    get_GFS(fname,mask,tndx,jrange,i1min,i1max,i2min,i2max,... 
     282   prate(n,:,:),wspd(n,:,:),uwnd(n,:,:),vwnd(n,:,:),... 
     283   radlw(n,:,:),radlw_in(n,:,:),... 
     284   radsw(n,:,:)]=... 
     285   get_GFS(fname,mask,tndxdap,jrange,i1min,i1max,i2min,i2max,... 
    274286           i3min,i3max,missvalue); 
    275287end 
     
    284296prate=prate(1:n,:,:); 
    285297wspd=wspd(1:n,:,:); 
     298uwnd=uwnd(1:n,:,:); 
     299vwnd=vwnd(1:n,:,:); 
    286300radlw=radlw(1:n,:,:); 
     301radlw_in=radlw_in(1:n,:,:); 
    287302radsw=radsw(1:n,:,:); 
    288303% 
     
    294309% 
    295310mask(isnan(mask))=0; 
    296 write_GFS(gfs_name,Yorig,lon,lat,mask,gfstime,tx,ty,tair,rhum,prate,wspd,radlw,radsw) 
     311write_GFS(gfs_name,Yorig,lon,lat,mask,gfstime,tx,ty,tair,rhum,prate,wspd,uwnd,vwnd,radlw,radlw_in,radsw) 
    297312% 
    298313disp('Download GFS: done') 
  • Roms_tools/Forecast_tools/get_GDAS.m

    r1 r8  
    1 function [t,tx,ty,tair,rhum,prate,wspd,radlw,radsw]=... 
     1function [t,tx,ty,tair,rhum,prate,wspd,uwnd,vwnd,radlw,radlw_in,radsw]=... 
    22         get_GDAS(fname,mask,tndx,jrange,i1min,i1max,... 
    33         i2min,i2max,i3min,i3max,missvalue) 
     
    4242disp('===========================================') 
    4343%disp('time...') 
     44%disp(['TNDX=',num2str(tndx)]) 
     45%disp(['TRANGE=',num2str(trange)]) 
    4446t=readdap(fname,'time',trange); 
    45 %t=t+365; % put it in "matlab" time. 
    46 t=t+364.75; % put it in "matlab" time. PM 
     47disp(['GDAS raw time=',sprintf('%5.3f',t)]) 
     48%t=t+364.75; % put it in "matlab" time. PM 
     49t=t+365 % put it in "matlab" time. GC 
    4750disp(['GDAS: ',datestr(t)]) 
    4851disp('===========================================') 
     
    5558                i1min,i1max,i2min,i2max,i3min,i3max); 
    5659v(abs(v)>=missvalue)=NaN; 
     60 
     61%disp('ty...') 
     62ty=mask.*getdap('',fname,'vflxsfc',trange,'',jrange,... 
     63                i1min,i1max,i2min,i2max,i3min,i3max); 
     64ty(abs(ty)>=missvalue)=NaN; 
     65 
     66%disp('tx...') 
     67tx=mask.*getdap('',fname,'uflxsfc',trange,'',jrange,... 
     68                i1min,i1max,i2min,i2max,i3min,i3max); 
     69tx(abs(tx)>=missvalue)=NaN; 
     70 
    5771%disp('skt...') 
    5872skt=mask.*getdap('',fname,'tmpsfc',trange,'',jrange,... 
     
    7185                i1min,i1max,i2min,i2max,i3min,i3max); 
    7286prate(abs(prate)>=missvalue)=NaN; 
    73 %disp('radlw...') 
    74 radlw=mask.*getdap('',fname,'dlwrfsfc',trange,'',jrange,... 
     87 
     88%disp('down radlw...') 
     89dradlw=mask.*getdap('',fname,'dlwrfsfc',trange,'',jrange,... 
    7590                i1min,i1max,i2min,i2max,i3min,i3max); 
    76 radlw(abs(radlw)>=missvalue)=NaN; 
    77 %disp('radsw...') 
    78 radsw=mask.*getdap('',fname,'dswrfsfc',trange,'',jrange,... 
     91dradlw(abs(dradlw)>=missvalue)=NaN; 
     92 
     93%disp('up radlw...') 
     94 uradlw=mask.*getdap('',fname,'ulwrfsfc',trange,'',jrange,... 
     95                 i1min,i1max,i2min,i2max,i3min,i3max); 
     96 uradlw(abs(uradlw)>=missvalue)=NaN; 
     97 
     98%disp('down radsw...') 
     99dradsw=mask.*getdap('',fname,'dswrfsfc',trange,'',jrange,... 
    79100                i1min,i1max,i2min,i2max,i3min,i3max); 
    80 radsw(abs(radsw)>=missvalue)=NaN; 
     101dradsw(abs(dradsw)>=missvalue)=NaN; 
     102 
     103%disp('up radsw...') 
     104uradsw=mask.*getdap('',fname,'uswrfsfc',trange,'',jrange,... 
     105                 i1min,i1max,i2min,i2max,i3min,i3max); 
     106uradsw(abs(uradsw)>=missvalue)=NaN; 
     107 
    81108% 
    82109% Transform the variables 
     
    98125% 4: Net shortwave flux: [W/m^2] 
    99126%    ROMS convention: positive downward: same as GFS 
    100 % ?? albedo ?? 
     127% ?? albedo ?? --> now with down - up we have the albedo taken into account 
    101128% 
     129radsw=dradsw - uradsw; 
    102130radsw(radsw<1.e-10)=0; 
    103131% 
     
    108136%    skin temperature. 
    109137% 
    110 skt=skt-273.15;  
    111 radlw=-lwhf(skt,radlw);  
     138%skt=skt-273.15;  
     139%radlw=-lwhf(skt,radlw);  
     140radlw=uradlw - dradlw; 
     141radlw_in=dradlw; 
    112142% 
    113143% 6: Wind speed 
    114144% 
    115145wspd=sqrt(u.^2+v.^2); 
    116 % 
    117 % 7: Compute the stress following large and pond 
    118 % 
    119 [Cd,uu]=cdnlp(wspd,10.); 
    120 rhoa=air_dens(tair,rhum*100); 
    121 tx=Cd.*rhoa.*u.*wspd; 
    122 ty=Cd.*rhoa.*v.*wspd; 
     146% 7:  Wind vectors 
     147uwnd=u; % rho point 
     148vwnd=v; % rho point 
     149% % 
     150% % 7: Compute the stress following large and pond 
     151% % 
     152% [Cd,uu]=cdnlp(wspd,10.); 
     153% rhoa=air_dens(tair,rhum*100); 
     154% tx=Cd.*rhoa.*u.*wspd; 
     155% ty=Cd.*rhoa.*v.*wspd; 
    123156% 
    124157return 
  • Roms_tools/Forecast_tools/get_GFS.m

    r1 r8  
    1 function [t,tx,ty,tair,rhum,prate,wspd,radlw,radsw]=... 
     1function [t,tx,ty,tair,rhum,prate,wspd,uwnd,vwnd,radlw,radlw_in,radsw]=... 
    22         get_GFS(fname,mask,tndx,jrange,i1min,i1max,... 
    33         i2min,i2max,i3min,i3max,missvalue) 
     
    4242disp('====================================================') 
    4343%disp('time...') 
     44%disp(['TNDX=',num2str(tndx)]) 
     45%disp(['TRANGE=',num2str(trange)]) 
    4446t=readdap(fname,'time',trange); 
    45 t=t+364.75; % put it in "matlab" time. 
     47disp(['GFS raw time=',sprintf('%5.3f',t)]) 
     48%t=t+364.75 % put it in "matlab" time. PM 
     49t=t+365; % put it in "matlab" time. GC 
    4650disp(['GFS: ',datestr(t)]) 
    4751disp('====================================================') 
     52 
    4853%disp('u...') 
    4954u=mask.*getdap('',fname,'ugrd10m',trange,'',jrange,... 
    5055                i1min,i1max,i2min,i2max,i3min,i3max); 
    5156u(abs(u)>=missvalue)=NaN; 
     57 
    5258%disp('v...') 
    5359v=mask.*getdap('',fname,'vgrd10m',trange,'',jrange,... 
    5460                i1min,i1max,i2min,i2max,i3min,i3max); 
    5561v(abs(v)>=missvalue)=NaN; 
     62 
     63%disp('ty...') 
     64ty=mask.*getdap('',fname,'ovflxsfc',trange,'',jrange,... 
     65                i1min,i1max,i2min,i2max,i3min,i3max); 
     66ty(abs(ty)>=missvalue)=NaN; 
     67 
     68%disp('tx...') 
     69tx=mask.*getdap('',fname,'ouflxsfc',trange,'',jrange,... 
     70                i1min,i1max,i2min,i2max,i3min,i3max); 
     71tx(abs(tx)>=missvalue)=NaN; 
     72 
     73 
    5674%disp('skt...') 
    5775skt=mask.*getdap('',fname,'tmpsfc',trange,'',jrange,... 
    5876                  i1min,i1max,i2min,i2max,i3min,i3max); 
    5977skt(abs(skt)>=missvalue)=NaN; 
     78 
    6079%disp('tair...') 
    6180tair=mask.*getdap('',fname,'tmp2m',trange,'',jrange,... 
    6281                i1min,i1max,i2min,i2max,i3min,i3max); 
    6382tair(abs(tair)>=missvalue)=NaN; 
     83 
    6484%disp('rhum...') 
    6585rhum=mask.*getdap('',fname,'rh2m',trange,'',jrange,... 
    6686                i1min,i1max,i2min,i2max,i3min,i3max); 
    6787rhum(abs(rhum)>=missvalue)=NaN; 
     88 
    6889%disp('prate...') 
    6990prate=mask.*getdap('',fname,'opratesfc',trange,'',jrange,... 
    7091                i1min,i1max,i2min,i2max,i3min,i3max); 
    7192prate(abs(prate)>=missvalue)=NaN; 
    72 %disp('radlw...') 
    73 radlw=mask.*getdap('',fname,'odlwrfsfc',trange,'',jrange,... 
     93 
     94%disp('down radlw...') 
     95dradlw=mask.*getdap('',fname,'odlwrfsfc',trange,'',jrange,... 
    7496                i1min,i1max,i2min,i2max,i3min,i3max); 
    75 radlw(abs(radlw)>=missvalue)=NaN; 
    76 %disp('radsw...') 
    77 radsw=mask.*getdap('',fname,'odswrfsfc',trange,'',jrange,... 
     97dradlw(abs(dradlw)>=missvalue)=NaN; 
     98 
     99%disp('up radlw...') 
     100uradlw=mask.*getdap('',fname,'oulwrfsfc',trange,'',jrange,... 
    78101                i1min,i1max,i2min,i2max,i3min,i3max); 
    79 radsw(abs(radsw)>=missvalue)=NaN; 
     102uradlw(abs(uradlw)>=missvalue)=NaN; 
     103 
     104%disp('down radsw...') 
     105dradsw=mask.*getdap('',fname,'odswrfsfc',trange,'',jrange,... 
     106                i1min,i1max,i2min,i2max,i3min,i3max); 
     107dradsw(abs(dradsw)>=missvalue)=NaN; 
     108 
     109%disp('up radsw...') 
     110uradsw=mask.*getdap('',fname,'ouswrfsfc',trange,'',jrange,... 
     111                i1min,i1max,i2min,i2max,i3min,i3max); 
     112uradsw(abs(uradsw)>=missvalue)=NaN; 
    80113% 
    81114% Transform the variables 
     
    99132% ?? albedo ?? 
    100133% 
     134radsw=dradsw - uradsw; 
    101135radsw(radsw<1.e-10)=0; 
    102136% 
     
    107141%    skin temperature. 
    108142% 
    109 skt=skt-273.15;  
    110 radlw=-lwhf(skt,radlw);  
     143%skt=skt-273.15;  
     144%radlw=-lwhf(skt,radlw);  
     145radlw = uradlw - dradlw; 
     146radlw_in=dradlw; 
     147 
    111148% 
    112149% 6: Wind speed 
    113150% 
    114151wspd=sqrt(u.^2+v.^2); 
    115 % 
    116 % 7: Compute the stress following large and pond 
    117 % 
    118 [Cd,uu]=cdnlp(wspd,10.); 
    119 rhoa=air_dens(tair,rhum*100); 
    120 tx=Cd.*rhoa.*u.*wspd; 
    121 ty=Cd.*rhoa.*v.*wspd; 
     152% 7:  Wind vectors 
     153uwnd=u; % rho point 
     154vwnd=v; % rho point 
     155% % 
     156% % 7: Compute the stress following large and pond 
     157% % 
     158% [Cd,uu]=cdnlp(wspd,10.); 
     159% rhoa=air_dens(tair,rhum*100); 
     160% tx=Cd.*rhoa.*u.*wspd; 
     161% ty=Cd.*rhoa.*v.*wspd; 
    122162% 
    123163return 
  • Roms_tools/Forecast_tools/get_GFS_fname.m

    r1 r8  
    3434% 
    3535%url='http://nomads6.ncdc.noaa.gov:9090'; 
    36 %url='http://nomad3.ncep.noaa.gov:9090'; 
     36%url='http://nomad5.ncep.noaa.gov:9090'; 
    3737url='http://nomad1.ncep.noaa.gov:9090'; 
    3838if gfstype==0 
     
    4040  gfsname1='gdas'; 
    4141else 
     42  %========nomad1=========== 
    4243  gfsname='gfs_master/gfs'; 
    4344  gfsname1='gfs_master'; 
     45 %========nomad5=========== 
     46 % gfsname='gfs/gfs'; 
     47 % gfsname1='gfs'; 
    4448end 
    4549% 
  • Roms_tools/Forecast_tools/make_GFS.m

    r1 r8  
    131131% nc_frc{'svstr'}(l,:,:)=0; 
    132132% end 
    133 %  
    134 % 
    135133% Loop on time 
    136134% 
     
    139137for l=1:tlen 
    140138  disp(['time index: ',num2str(l),' of total: ',num2str(tlen)]) 
    141    
    142139  var=squeeze(nc{'tair'}(l,:,:)); 
    143140  if mean(mean(isnan(var)~=1)) 
     
    151148 
    152149  var=squeeze(nc{'rhum'}(l,:,:)); 
    153    
    154150  if mean(mean(isnan(var)~=1)) 
    155151  var=get_missing_val(lon1,lat1,var,missval,Roa,default); 
     
    181177  end 
    182178   
     179  %Zonal wind speed 
     180  var=squeeze(nc{'uwnd'}(l,:,:)); 
     181  if mean(mean(isnan(var)~=1)) 
     182        uwnd=get_missing_val(lon1,lat1,var,missval,Roa,default); 
     183        uwnd=interp2(lon1,lat1,uwnd,lon,lat,interp_method); 
     184  else 
     185        var=squeeze(nc{'uwnd'}(l-1,:,:)); 
     186        uwnd=get_missing_val(lon1,lat1,uwnd,missval,Roa,default); 
     187        uwnd=interp2(lon1,lat1,uwnd,lon,lat,interp_method); 
     188  end 
     189   
     190  %Meridian wind speed 
     191  var=squeeze(nc{'vwnd'}(l,:,:)); 
     192  if mean(mean(isnan(var)~=1)) 
     193        vwnd=get_missing_val(lon1,lat1,var,missval,Roa,default); 
     194        vwnd=interp2(lon1,lat1,vwnd,lon,lat,interp_method); 
     195  else 
     196        var=squeeze(nc{'vwnd'}(l-1,:,:)); 
     197        vwnd=get_missing_val(lon1,lat1,var,missval,Roa,default); 
     198        vwnd=interp2(lon1,lat1,vwnd,lon,lat,interp_method); 
     199  end 
     200   
     201  nc_frc{'uwnd'}(l,:,:)=rho2u_2d(uwnd.*cosa+vwnd.*sina); 
     202  nc_frc{'vwnd'}(l,:,:)=rho2v_2d(vwnd.*cosa-uwnd.*sina); 
     203   
     204  nc_blk{'uwnd'}(l,:,:)=rho2u_2d(uwnd.*cosa+vwnd.*sina); 
     205  nc_blk{'vwnd'}(l,:,:)=rho2v_2d(vwnd.*cosa-uwnd.*sina); 
     206   
     207   
     208  %Net longwave flux 
    183209  var=squeeze(nc{'radlw'}(l,:,:)); 
    184210  if mean(mean(isnan(var)~=1)) 
     
    191217  end 
    192218   
     219  %Downward longwave flux 
     220  var=squeeze(nc{'radlw_in'}(l,:,:)); 
     221  if mean(mean(isnan(var)~=1)) 
     222  var=get_missing_val(lon1,lat1,var,missval,Roa,default); 
     223  nc_blk{'radlw_in'}(l,:,:)=interp2(lon1,lat1,var,lon,lat,interp_method); 
     224  else 
     225      var=squeeze(nc{'radlw_in'}(l-1,:,:)); 
     226      var=get_missing_val(lon1,lat1,var,missval,Roa,default); 
     227      nc_blk{'radlw_in'}(l,:,:)=interp2(lon1,lat1,var,lon,lat,interp_method); 
     228  end 
     229    
     230  %Net solar short wave radiation 
    193231  var=squeeze(nc{'radsw'}(l,:,:)); 
    194232  if mean(mean(isnan(var)~=1)) 
     
    200238      nc_blk{'radsw'}(l,:,:)=interp2(lon1,lat1,var,lon,lat,interp_method); 
    201239  end 
     240   
    202241  var=squeeze(nc{'tx'}(l,:,:)); 
    203242  if mean(mean(isnan(var)~=1)) 
     
    219258      ty=interp2(lon1,lat1,ty,lon,lat,interp_method); 
    220259  end 
     260   
    221261  nc_frc{'sustr'}(l,:,:)=rho2u_2d(tx.*cosa+ty.*sina); 
    222262  nc_frc{'svstr'}(l,:,:)=rho2v_2d(ty.*cosa-tx.*sina); 
     263   
     264  nc_blk{'sustr'}(l,:,:)=rho2u_2d(tx.*cosa+ty.*sina); 
     265  nc_blk{'svstr'}(l,:,:)=rho2v_2d(ty.*cosa-tx.*sina); 
    223266end 
    224267%  
     
    243286  test_forcing(blkname,grdname,'radlw',slides,3,coastfileplot) 
    244287  figure 
     288  test_forcing(blkname,grdname,'radlw_in',slides,3,coastfileplot) 
     289  figure 
     290  test_forcing(blkname,grdname,'sustr',slides,3,coastfileplot) 
     291  figure 
     292  test_forcing(blkname,grdname,'svstr',slides,3,coastfileplot) 
     293  figure 
    245294  test_forcing(blkname,grdname,'radsw',slides,3,coastfileplot) 
    246295end 
  • Roms_tools/Forecast_tools/make_OGCM_frcst.m

    r1 r8  
    4949clm_prefix  = [ROMS_files_dir,'roms_clm_',OGCM,'_']; % generic climatology file name 
    5050ini_prefix  = [ROMS_files_dir,'roms_ini_',OGCM,'_']; % generic initial file name 
    51 FRCST_prefix  = [OGCM,'_'];                    % generic OGCM file name  
     51FRCST_prefix  = [OGCM,'_'];                          % generic OGCM file name  
    5252% 
    5353% 
     
    5858% Kalman filter  
    5959% 
    60   url = 'http://ecco.jpl.nasa.gov/cgi-bin/nph-dods/datasets/kf066b/kf066b_';  
     60  %%url = 'http://ecco.jpl.nasa.gov/cgi-bin/nph-dods/datasets/kf066b/kf066b_';  
     61  url = 'http://ecco.jpl.nasa.gov/thredds/dodsC/las/kf080/kf080_';  
    6162% 
    6263elseif strcmp(OGCM,'mercator') 
     
    6667%  login/password can be entered here or in romstools params 
    6768%  and should be asked to the MERCATOR team  
    68 % 
    69  % url=['http://',login,':',password,'@opendap.mercator-ocean.fr/thredds/dodsC/mercatorPsy3v1R1v_glo_mean_best_estimate']; 
     69%  
     70% url=['http://',login,':',password,'@opendap.mercator-ocean.fr/thredds/dodsC/mercatorPsy3v1R1v_glo_mean_best_estimate']; 
    7071  url=['http://',login,':',password,'@opendap.mercator-ocean.fr/thredds/dodsC/mercatorPsy3v2_glo_mean_best_estimate']; 
    7172% 
  • Roms_tools/Forecast_tools/write_GFS.m

    r1 r8  
    1 function write_GFS(fname,Yorig,lon,lat,mask,time,tx,ty,tair,rhum,prate,wspd,radlw,radsw) 
     1function write_GFS(fname,Yorig,lon,lat,mask,time,tx,ty,tair,rhum,prate,wspd,uwnd,vwnd,radlw,radlw_in,radsw) 
    22%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    33% 
     
    3939nc('lon') = length(lon); 
    4040nc('lat') = length(lat); 
     41% 
     42% nc('latu') = length(lat); 
     43% nc('latv') = length(lat)-1; 
     44% nc('lonu') = length(lon)-1; 
     45% nc('lonv') = length(lon); 
     46% 
    4147nc('time') = length(time); 
    4248% 
     
    6975nc{'radlw'} = ncfloat('time','lat','lon'); 
    7076nc{'radsw'} = ncfloat('time','lat','lon'); 
     77nc{'radlw_in'} = ncfloat('time','lat','lon'); 
     78nc{'uwnd'} = ncfloat('time','lat','lon'); 
     79nc{'vwnd'} = ncfloat('time','lat','lon'); 
    7180% 
    7281endef(nc); 
     
    8291nc{'prate'}(:)=prate; 
    8392nc{'wspd'}(:)=wspd; 
     93nc{'uwnd'}(:)=uwnd; 
     94nc{'vwnd'}(:)=vwnd; 
    8495nc{'radlw'}(:)=radlw; 
     96nc{'radlw_in'}(:)=radlw_in; 
    8597nc{'radsw'}(:)=radsw; 
    8698% 
  • Roms_tools/Nesting_tools/change_sigma.m

    r1 r8  
    6363    data2d(isbad)=griddata(lon(isgood),lat(isgood),data2d(isgood),... 
    6464                           lon(isbad),lat(isbad),'nearest'); 
    65     data_z(k,:,:)=mask.*data2d;                   
     65    % Gc remove the masking because in case of nesting 
     66    % It introduce some zero value  
     67    % data_z(k,:,:)=mask.*data2d; 
     68    data_z(k,:,:)=data2d; 
    6669  end 
    6770end 
  • Roms_tools/Nesting_tools/nested_initial.m

    r1 r8  
    3636Varnames = [ncnames(Vars)]; 
    3737nvar=length(Varnames); 
    38 % 
    39  
     38isbiolfiles=0; 
     39ispiscesfiles=0; 
     40% 
    4041namebiol={''}; 
    4142unitbiol={''}; 
    4243namepisces={''}; 
    4344unitpisces={''}; 
    44 % 
    45  
    4645% pisces 
    4746% biol 
    48  
    49 if nvar < 17 
    50  
    51 elseif ( nvar < 21 & biol)  
    52   disp('Compute Bio NPZD variables') 
    53   disp('==================') 
    54 elseif (pisces & nvar >= 21) 
    55   disp('Compute Pisces biogeochemical variables') 
    56   disp('=========================') 
    57 else 
    58   error(sprintf(['You don''t have the neccesary variables in the clim file \n',... 
    59                  'or you didn''t choose the right bio. model. \n', ... 
    60                  'Check roms_ini.nc parent file and make_ini.m'])) 
    61 end 
    62 % 
     47if biol 
     48  %Name, units etc .. of the variables 
     49  namebiol={'NO3';'CHLA';'PHYTO';'ZOO'}; 
     50  unitbiol={'mMol N m-3';'mg C l-1';'mMol N m-3'}; 
     51  for i=1:length(namebiol) 
     52        aa=sum(strcmp(Varnames,namebiol(i))); 
     53        isbiolfiles=isbiolfiles+aa; 
     54  end 
     55  if isbiolfiles==length(namebiol) 
     56        disp('Compute Bio NPZD variables') 
     57        disp('==================') 
     58  else 
     59        disp(sprintf(['ERROR in NPZD Processing : ... \n', ... 
     60          'You don not have the neccesary variables in the clim file \n',... 
     61          'or you didn''t choose the right bio. model. \n', ... 
     62          'Check roms_ini.nc parent file and make_ini.m'])) 
     63        return 
     64  end 
     65end 
     66 if pisces 
     67   namepisces={'NO3';'PO4';'Si';'O2';'DIC';'TALK';'DOC';'FER'}; 
     68   unitpisces={'mMol N m-3';'mMol P m-3';'mMol Si m-3';'mMol O m-3';'mMol C m-3';'mMol C m-3';'mMol C m-3';'uMol Fe m-3'}; 
     69   % 
     70   for i=1:length(namepisces) 
     71         aa=sum(strcmp(Varnames,namepisces(i))); 
     72         ispiscesfiles=ispiscesfiles+aa; 
     73   end 
     74   if ispiscesfiles==length(namepisces) 
     75         disp('Compute Pisces biogeochemical variables') 
     76         disp('==================') 
     77   else 
     78         disp(sprintf(['ERROR in  PISCES Processing :  \n', ... 
     79           'You don''t have the neccesary variables in the clim file \n',... 
     80           'or you didn''t choose the right bio. model. \n', ... 
     81           'Check roms_ini.nc parent file and make_ini.m'])) 
     82         return 
     83   end 
     84 end 
    6385if extrapmask==1 
    6486  disp('Extrapolation under mask is on') 
     
    7496  error(['Both Biol NPZD and Pisces are ON, not possible yet... !']) 
    7597end 
    76 % 
    77 %Name, units etc .. of the variables 
    78 namebiol={'NO3';'CHLA';'PHYTO'}; 
    79 unitbiol={'mMol N m-3';'mg C l-1';'mMol N m-3'}; 
    80 % 
    81 namepisces={'NO3';'PO4';'Si';'O2';'DIC';'TALK';'DOC';'FER'}; 
    82 unitpisces={'mMol N m-3';'mMol P m-3';'mMol Si m-3';'mMol O m-3';'mMol C m-3';'mMol C m-3';'mMol C m-3';'uMol Fe m-3'}; 
    83 % 
     98 
    8499 
    85100% 
  • Roms_tools/Nesting_tools/nestgui.m

    r1 r8  
    302302%  Biologie switch 
    303303% 
    304 function varargout = getbiolbutton_Callback(h, eventdata, handles, varargin) 
    305 handles.biol=1-handles.biol; 
     304function varargout = biol_Callback(h, eventdata, handles, varargin) 
     305%handles.biol=1-handles.biol 
     306handles=get_biolbutton(h,handles); 
    306307guidata(h,handles) 
    307308return 
    308309% 
    309310% Pisces switch 
    310 function varargout = getpiscesbutton_Callback(h, eventdata, handles, varargin) 
    311 handles.pisces=1-handles.pisces; 
     311function varargout = pisces_Callback(h, eventdata, handles, varargin) 
     312%handles.pisces=1-handles.pisces 
     313handles=get_piscesbutton(h,handles); 
    312314guidata(h,handles) 
    313315return 
  • Roms_tools/Nesting_tools/reset_handle.m

    r1 r8  
    6262handles.newtopo=0; 
    6363handles.matchvolume=0; 
    64 handles.vertical_correc=0; 
    65 handles.extrapmask=0; 
     64handles.vertical_correc=1; 
     65handles.extrapmask=1; 
    6666handles.biol=0; 
    6767handles.pisces=0; 
  • Roms_tools/Oforc_OGCM/Mydata_Specific/get_SODA_subgrid_Mydata.m

    r1 r8  
    5757lon=cat(1,lon(i1)-360,lon(i2),lon(i3)+360); 
    5858% 
     59%  
     60% If we are in OpenDap (Get_My_Data=0) we need 
     61% a shift of decal=1 because the indexes begin at 0 in OpenDap. 
     62% Here in case of specific data, we don't need a shift 
     63% then decal=0; 
     64 
     65decal=0; 
     66%decal=1; 
     67 
    5968if ~isempty(i1) 
    60   i1min=min(i1)-1; 
    61   i1max=max(i1)-1; 
     69  i1min=min(i1)-decal; 
     70  i1max=max(i1)-decal; 
    6271else 
    6372  i1min=[]; 
     
    6574end 
    6675if ~isempty(i2) 
    67   i2min=min(i2)-1; 
    68   i2max=max(i2)-1; 
     76  i2min=min(i2)-decal; 
     77  i2max=max(i2)-decal; 
    6978else 
    7079  i2min=[]; 
     
    7281end 
    7382if ~isempty(i3) 
    74   i3min=min(i3)-1; 
    75   i3max=max(i3)-1; 
     83  i3min=min(i3)-decal; 
     84  i3max=max(i3)-decal; 
    7685else 
    7786  i3min=[]; 
     
    8392j=find(lat>=latmin & lat<=latmax); 
    8493lat=lat(j); 
    85 jmin=min(j)-1; 
    86 jmax=max(j)-1; 
     94jmin=min(j)-decal; 
     95jmax=max(j)-decal; 
    8796jrange=['[',num2str(jmin),':',num2str(jmax),']']; 
    8897% 
  • Roms_tools/Oforc_OGCM/interp_OGCM.m

    r1 r8  
    22                     lonU,latU,lonV,latV,lonT,latT,Z,tin,... 
    33                     nc_clm,nc_bry,lon,lat,angle,h,tout,obc) 
    4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
     4%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    55% 
    66% 
    77% Read the local OGCM files and perform the interpolations 
    8 % 
    9 % Ok, I am lazy and I did not do something special for the bry files... 
     8% Adapted for reducing computationnal time for bry file 
     9% by S. Illig, IRD-LEGOS 
    1010% 
    1111% 
     
    5555% Interpole data on the OGCM Z grid and ROMS horizontal grid 
    5656% 
    57 % 
    58 % Read and extrapole the 2D variables 
    59 % 
     57% Get zeta because it is needed to compute vertical levels of ROMS grid 
    6058zeta=ext_data_OGCM(nc,lonT,latT,'ssh',tin,lon,lat,1,Roa,interp_method); 
    61 u2d=ext_data_OGCM(nc,lonU,latU,'ubar',tin,lon,lat,1,Roa,interp_method); 
    62 v2d=ext_data_OGCM(nc,lonV,latV,'vbar',tin,lon,lat,1,Roa,interp_method); 
    63 ubar=rho2u_2d(u2d.*cosa+v2d.*sina); 
    64 vbar=rho2v_2d(v2d.*cosa-u2d.*sina); 
    65 % 
    66 % Read and extrapole the 3D variables 
    67 % 
    68 NZ=length(Z); 
    69 [M,L]=size(lon); 
    70 dz=gradient(Z); 
    71 temp=zeros(NZ,M,L); 
    72 salt=zeros(NZ,M,L); 
    73 u=zeros(NZ,M,L-1); 
    74 v=zeros(NZ,M-1,L); 
    75 for k=1:NZ 
    76   if rem(k,10)==0 
    77     disp(['  Level ',num2str(k),' of ',num2str(NZ)]) 
    78   end 
    79   u2d=ext_data_OGCM(nc,lonU,latU,'u',tin,lon,lat,... 
    80                     k,Roa,interp_method); 
    81   v2d=ext_data_OGCM(nc,lonV,latV,'v',tin,lon,lat,... 
    82                     k,Roa,interp_method); 
    83   u(k,:,:)=rho2u_2d(u2d.*cosa+v2d.*sina); 
    84   v(k,:,:)=rho2v_2d(v2d.*cosa-u2d.*sina); 
    85   temp(k,:,:)=ext_data_OGCM(nc,lonT,latT,'temp',tin,lon,lat,... 
    86                             k,Roa,interp_method); 
    87   salt(k,:,:)=ext_data_OGCM(nc,lonT,latT,'salt',tin,lon,lat,... 
    88                             k,Roa,interp_method); 
     59% 
     60if ~isempty(nc_clm) 
     61    % Read and extrapole the 2D variables 
     62    % 
     63    u2d=ext_data_OGCM(nc,lonU,latU,'ubar',tin,lon,lat,1,Roa,interp_method); 
     64    v2d=ext_data_OGCM(nc,lonV,latV,'vbar',tin,lon,lat,1,Roa,interp_method); 
     65    ubar=rho2u_2d(u2d.*cosa+v2d.*sina); 
     66    vbar=rho2v_2d(v2d.*cosa-u2d.*sina); 
     67    % 
     68    % Read and extrapole the 3D variables 
     69    NZ=length(Z); 
     70    [M,L]=size(lon); 
     71    dz=gradient(Z); 
     72    temp=zeros(NZ,M,L); 
     73    salt=zeros(NZ,M,L); 
     74    u=zeros(NZ,M,L-1); 
     75    v=zeros(NZ,M-1,L); 
     76    for k=1:NZ 
     77        if rem(k,10)==0 
     78            disp(['  Level ',num2str(k),' of ',num2str(NZ)]) 
     79        end 
     80        u2d=ext_data_OGCM(nc,lonU,latU,'u',tin,lon,lat,k,Roa,interp_method); 
     81        v2d=ext_data_OGCM(nc,lonV,latV,'v',tin,lon,lat,k,Roa,interp_method); 
     82        u(k,:,:)=rho2u_2d(u2d.*cosa+v2d.*sina); 
     83        v(k,:,:)=rho2v_2d(v2d.*cosa-u2d.*sina); 
     84        temp(k,:,:)=ext_data_OGCM(nc,lonT,latT,'temp',tin,lon,lat,k,Roa,interp_method); 
     85        salt(k,:,:)=ext_data_OGCM(nc,lonT,latT,'salt',tin,lon,lat,k,Roa,interp_method); 
     86    end 
     87end 
     88% 
     89%Initialisation in case of bry files 
     90% 
     91if ~isempty(nc_bry) 
     92    NZ=length(Z); 
     93    [M,L]=size(lon);  
     94    % Read and extrapole the 2D variables 
     95    if obc(1)==1 
     96        zeta_south=squeeze(zeta(1,:)); 
     97        ubar1d=ext_data_OGCM(nc,lonU,latU,'ubar',tin,squeeze(lon(1:2,:)),squeeze(lat(1:2,:)),1,Roa,interp_method); 
     98        vbar1d=ext_data_OGCM(nc,lonV,latV,'vbar',tin,squeeze(lon(1:2,:)),squeeze(lat(1:2,:)),1,Roa,interp_method); 
     99        ubar_south=squeeze(rho2u_2d(ubar1d(1,:).*cosa(1,:)+vbar1d(1,:).*sina(1,:))); 
     100        vbar_south=squeeze(rho2v_2d(vbar1d.*cosa(1:2,:)-ubar1d.*sina(1:2,:))); 
     101    end 
     102    if obc(2)==1 
     103        zeta_east=squeeze(zeta(:,end)); 
     104        ubar1d=ext_data_OGCM(nc,lonU,latU,'ubar',tin,squeeze(lon(:,end-1:end)),squeeze(lat(:,end-1:end)),1,Roa,interp_method); 
     105        vbar1d=ext_data_OGCM(nc,lonV,latV,'vbar',tin,squeeze(lon(:,end-1:end)),squeeze(lat(:,end-1:end)),1,Roa,interp_method); 
     106        ubar_east=squeeze(rho2u_2d(ubar1d.*cosa(:,end-1:end)+vbar1d.*sina(:,end-1:end))); 
     107        vbar_east=squeeze(rho2v_2d(vbar1d(:,end).*cosa(:,end)-ubar1d(:,end).*sina(:,end))); 
     108    end 
     109    if obc(3)==1 
     110        zeta_north=squeeze(zeta(end,:)); 
     111        ubar1d=ext_data_OGCM(nc,lonU,latU,'ubar',tin,squeeze(lon(end-1:end,:)),squeeze(lat(end-1:end,:)),1,Roa,interp_method); 
     112        vbar1d=ext_data_OGCM(nc,lonV,latV,'vbar',tin,squeeze(lon(end-1:end,:)),squeeze(lat(end-1:end,:)),1,Roa,interp_method); 
     113        ubar_north=squeeze(rho2u_2d(ubar1d(end,:).*cosa(end,:)+vbar1d(end,:).*sina(end,:))); 
     114        vbar_north=squeeze(rho2v_2d(vbar1d.*cosa(end-1:end,:)-ubar1d.*sina(end-1:end,:))); 
     115    end 
     116    if obc(4)==1 
     117        zeta_west=squeeze(zeta(:,1)); 
     118        ubar1d=ext_data_OGCM(nc,lonU,latU,'ubar',tin,squeeze(lon(:,1:2)),squeeze(lat(:,1:2)),1,Roa,interp_method); 
     119        vbar1d=ext_data_OGCM(nc,lonV,latV,'vbar',tin,squeeze(lon(:,1:2)),squeeze(lat(:,1:2)),1,Roa,interp_method); 
     120        ubar_west=squeeze(rho2u_2d(ubar1d.*cosa(:,1:2)+vbar1d.*sina(:,1:2))); 
     121        vbar_west=squeeze(rho2v_2d(vbar1d(:,1).*cosa(:,1)-ubar1d(:,1).*sina(:,1))); 
     122    end    
     123    % 
     124    % Read and extrapole the 3D variables 
     125    % 
     126    temp_south=zeros(NZ,L);temp_north=zeros(NZ,L);temp_east=zeros(NZ,M);temp_west=zeros(NZ,M); 
     127    salt_south=zeros(NZ,L);salt_north=zeros(NZ,L);salt_east=zeros(NZ,M);salt_west=zeros(NZ,M); 
     128    u_south=zeros(NZ,L-1);u_north=zeros(NZ,L-1);u_east=zeros(NZ,M);u_west=zeros(NZ,M); 
     129    v_south=zeros(NZ,L);v_north=zeros(NZ,L);v_east=zeros(NZ,M-1);v_west=zeros(NZ,M-1); 
     130    % 
     131    temp=zeros(NZ,M,L); 
     132    % 
     133    for k=1:NZ 
     134        if rem(k,10)==0 
     135            disp(['  Level bry ',num2str(k),' of ',num2str(NZ)]) 
     136        end 
     137        %temp(k,:,:)=ext_data_OGCM(nc,lonT,latT,'temp',tin,lon,lat,k,Roa,interp_method); 
     138        if obc(1)==1 % Southern boundary 
     139            t1d=squeeze(ext_data_OGCM(nc,lonT,latT,'temp',tin,squeeze(lon(1:2,:)),squeeze(lat(1:2,:)),k,Roa,interp_method)); 
     140            s1d=squeeze(ext_data_OGCM(nc,lonT,latT,'salt',tin,squeeze(lon(1:2,:)),squeeze(lat(1:2,:)),k,Roa,interp_method)); 
     141            temp_south(k,:)=squeeze(t1d(1,:)); 
     142            salt_south(k,:)=squeeze(s1d(1,:)); 
     143            u1d=ext_data_OGCM(nc,lonU,latU,'u',tin,squeeze(lon(1:2,:)),squeeze(lat(1:2,:)),k,Roa,interp_method); 
     144            v1d=ext_data_OGCM(nc,lonV,latV,'v',tin,squeeze(lon(1:2,:)),squeeze(lat(1:2,:)),k,Roa,interp_method); 
     145            u_south(k,:)=squeeze(rho2u_2d(u1d(1,:).*cosa(1,:)+v1d(1,:).*sina(1,:))); 
     146            v_south(k,:)=squeeze(rho2v_2d(v1d.*cosa(1:2,:)-u1d.*sina(1:2,:)));  
     147        end 
     148        if obc(2)==1  % Eastern boundary  
     149            t1d=squeeze(ext_data_OGCM(nc,lonT,latT,'temp',tin,squeeze(lon(:,end-1:end)),squeeze(lat(:,end-1:end)),k,Roa,interp_method)); 
     150            s1d=squeeze(ext_data_OGCM(nc,lonT,latT,'salt',tin,squeeze(lon(:,end-1:end)),squeeze(lat(:,end-1:end)),k,Roa,interp_method)); 
     151            temp_east(k,:)=squeeze(t1d(:,end)); 
     152            salt_east(k,:)=squeeze(s1d(:,end)); 
     153            u1d=ext_data_OGCM(nc,lonU,latU,'u',tin,squeeze(lon(:,end-1:end)),squeeze(lat(:,end-1:end)),k,Roa,interp_method); 
     154            v1d=ext_data_OGCM(nc,lonV,latV,'v',tin,squeeze(lon(:,end-1:end)),squeeze(lat(:,end-1:end)),k,Roa,interp_method); 
     155            u_east(k,:)=squeeze(rho2u_2d(u1d.*cosa(:,end-1:end)+v1d.*sina(:,end-1:end))); 
     156            v_east(k,:)=squeeze(rho2v_2d(v1d(:,end).*cosa(:,end)-u1d(:,end).*sina(:,end))); 
     157        end 
     158        if obc(3)==1  % Northern boundary 
     159            t1d=squeeze(ext_data_OGCM(nc,lonT,latT,'temp',tin,squeeze(lon(end-1:end,:)),squeeze(lat(end-1:end,:)),k,Roa,interp_method)); 
     160            s1d=squeeze(ext_data_OGCM(nc,lonT,latT,'salt',tin,squeeze(lon(end-1:end,:)),squeeze(lat(end-1:end,:)),k,Roa,interp_method)); 
     161            temp_north(k,:)=squeeze(t1d(end,:)); 
     162            salt_north(k,:)=squeeze(s1d(end,:)); 
     163            u1d=ext_data_OGCM(nc,lonU,latU,'u',tin,squeeze(lon(end-1:end,:)),squeeze(lat(end-1:end,:)),k,Roa,interp_method); 
     164            v1d=ext_data_OGCM(nc,lonV,latV,'v',tin,squeeze(lon(end-1:end,:)),squeeze(lat(end-1:end,:)),k,Roa,interp_method); 
     165            u_north(k,:)=squeeze(rho2u_2d(u1d(end,:).*cosa(end,:)+v1d(end,:).*sina(end,:))); 
     166            v_north(k,:)=squeeze(rho2v_2d(v1d.*cosa(end-1:end,:)-u1d.*sina(end-1:end,:))); 
     167        end 
     168        if obc(4)==1  % Western boundary 
     169            t1d=squeeze(ext_data_OGCM(nc,lonT,latT,'temp',tin,squeeze(lon(:,1:2)),squeeze(lat(:,1:2)),k,Roa,interp_method)); 
     170            s1d=squeeze(ext_data_OGCM(nc,lonT,latT,'salt',tin,squeeze(lon(:,1:2)),squeeze(lat(:,1:2)),k,Roa,interp_method)); 
     171            temp_west(k,:)=squeeze(t1d(:,1)); 
     172            salt_west(k,:)=squeeze(s1d(:,1)); 
     173            u1d=ext_data_OGCM(nc,lonU,latU,'u',tin,squeeze(lon(:,1:2)),squeeze(lat(:,1:2)),k,Roa,interp_method); 
     174            v1d=ext_data_OGCM(nc,lonV,latV,'v',tin,squeeze(lon(:,1:2)),squeeze(lat(:,1:2)),k,Roa,interp_method); 
     175            u_west(k,:)=squeeze(rho2u_2d(u1d.*cosa(:,1:2)+v1d.*sina(:,1:2))); 
     176            v_west(k,:)=squeeze(rho2v_2d(v1d(:,1).*cosa(:,1)-u1d(:,1).*sina(:,1))); 
     177        end 
     178    end 
    89179end 
    90180% 
     
    93183close(nc) 
    94184% 
    95 %Initialisation in case of bry files 
    96 % 
    97 if ~isempty(nc_bry) 
    98   if obc(1)==1 
    99     zeta_south=squeeze(zeta(1,:)); 
    100     ubar_south=squeeze(ubar(1,:)); 
    101     vbar_south=squeeze(vbar(1,:)); 
    102     u_south=squeeze(u(:,1,:)); 
    103     v_south=squeeze(v(:,1,:)); 
    104     temp_south=squeeze(temp(:,1,:)); 
    105     salt_south=squeeze(salt(:,1,:)); 
    106   end 
    107   if obc(2)==1 
    108     zeta_east=squeeze(zeta(:,end)); 
    109     ubar_east=squeeze(ubar(:,end)); 
    110     vbar_east=squeeze(vbar(:,end)); 
    111     u_east=squeeze(u(:,:,end)); 
    112     v_east=squeeze(v(:,:,end)); 
    113     temp_east=squeeze(temp(:,:,end)); 
    114     salt_east=squeeze(salt(:,:,end)); 
    115   end 
    116   if obc(3)==1 
    117     zeta_north=squeeze(zeta(end,:)); 
    118     ubar_north=squeeze(ubar(end,:)); 
    119     vbar_north=squeeze(vbar(end,:)); 
    120     u_north=squeeze(u(:,end,:)); 
    121     v_north=squeeze(v(:,end,:)); 
    122     temp_north=squeeze(temp(:,end,:)); 
    123     salt_north=squeeze(salt(:,end,:)); 
    124   end 
    125   if obc(4)==1 
    126     zeta_west=squeeze(zeta(:,1)); 
    127     ubar_west=squeeze(ubar(:,1)); 
    128     vbar_west=squeeze(vbar(:,1)); 
    129     u_west=squeeze(u(:,:,1)); 
    130     v_west=squeeze(v(:,:,1)); 
    131     temp_west=squeeze(temp(:,:,1)); 
    132     salt_west=squeeze(salt(:,:,1)); 
    133   end 
    134 end  
    135  
    136185% 
    137186% Get the ROMS vertical grid 
     
    213262% 
    214263if ~isempty(nc_bry) 
    215 % 
    216 %South 
    217 % 
    218264  if obc(1)==1 
    219265    [u_south,v_south,ubar_south,vbar_south,... 
     
    224270                                             N,Z,conserv); 
    225271  end 
    226   if obc(2)==1 
     272  if obc(2)==1  
    227273    [u_east,v_east,ubar_east,vbar_east,... 
    228274     temp_east,salt_east]=vinterp_OGCM_bry(zr(:,:,end),zu(:,:,end),zv(:,:,end),... 
     
    240286                                             N,Z,conserv); 
    241287  end 
    242   if obc(4)==1 
     288  if obc(4)==1   
    243289    [u_west,v_west,ubar_west,vbar_west,... 
    244290     temp_west,salt_west]=vinterp_OGCM_bry(zr(:,:,1),zu(:,:,1),zv(:,:,1),... 
  • Roms_tools/Oforc_OGCM/make_OGCM.m

    r1 r8  
    3535% 
    3636%  Updated    6-Sep-2006 by Pierrick Penven 
    37 %  Update     13 -Sep-2009 by Gildas Cambon 
     37%  Update     13 -Sep-2009 by Gildas Cambon (IRD) 
     38%  Update     14 -March-2011 by Gildas Cambon & Serena Illig (IRD) 
    3839%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    3940%start % to be used in batch mode % 
     
    7273  %  url = 'http://ecco.jpl.nasa.gov/cgi-bin/nph-dods/datasets/kf049f/kf049f_';  
    7374  %  url = 'http://ecco.jpl.nasa.gov/cgi-bin/nph-dods/datasets/kf066b/kf066b_';  
    74   url = 'http://ecco.jpl.nasa.gov/thredds/dodsC/las/kf066b/kf066b_';  
     75  url = 'http://ecco.jpl.nasa.gov/thredds/dodsC/las/kf066b/kf066b_';  
    7576  %  url = 'http://ecco.jpl.nasa.gov/thredds/dodsC/las/kf076/kf076_';  
     77    url = 'http://ecco.jpl.nasa.gov/thredds/dodsC/las/kf080/kf080_';  
    7678  % 
    7779else 
Note: See TracChangeset for help on using the changeset viewer.