| 1 | 
roquet | 
1.1 | 
function aviso_addinMITprof(ncfile) | 
| 2 | 
  | 
  | 
% function aviso_addinMITprof(ncfile) | 
| 3 | 
  | 
  | 
%   add MADT (Maps of Absolute Dynamic Topography) interpolated on profile | 
| 4 | 
  | 
  | 
%   positions available in a MITprof netcdf file. | 
| 5 | 
  | 
  | 
%   Use OpenDap, through the loaddap function. | 
| 6 | 
  | 
  | 
% | 
| 7 | 
  | 
  | 
%   fileIn: path (absolute or relative) to MITprof netcdf file | 
| 8 | 
  | 
  | 
%   model is a string used to select the model to be loaded | 
| 9 | 
  | 
  | 
%       'OCCA' : ECCOv4 grid + OCCA atlas | 
| 10 | 
  | 
  | 
%       'SOSE59' : SOSE59 grid + atlas | 
| 11 | 
  | 
  | 
 | 
| 12 | 
  | 
  | 
% process file name | 
| 13 | 
  | 
  | 
[pathstr, name, ext] = fileparts(ncfile); | 
| 14 | 
  | 
  | 
if isempty(pathstr) | strcmp(pathstr,'.'), pathstr=pwd; end | 
| 15 | 
  | 
  | 
if isempty(ext) | ~strcmp(ext,'.nc'), ext='.nc'; end | 
| 16 | 
  | 
  | 
ncfile=[pathstr '/' name ext]; | 
| 17 | 
  | 
  | 
 | 
| 18 | 
  | 
  | 
if isempty(which('loaddap')), | 
| 19 | 
  | 
  | 
    error('loaddap toolbox must be installed'); | 
| 20 | 
  | 
  | 
end | 
| 21 | 
  | 
  | 
 | 
| 22 | 
  | 
  | 
% load profiles | 
| 23 | 
  | 
  | 
M=MITprof_load(ncfile,{'prof_date','prof_lat','prof_lon'}); | 
| 24 | 
  | 
  | 
 | 
| 25 | 
  | 
  | 
% load data | 
| 26 | 
  | 
  | 
loc=[]; | 
| 27 | 
  | 
  | 
loc.lat=M.prof_lat; | 
| 28 | 
  | 
  | 
loc.lon=M.prof_lon; | 
| 29 | 
  | 
  | 
loc.time=M.prof_date; | 
| 30 | 
  | 
  | 
grid_aviso=aviso_get_grid; | 
| 31 | 
  | 
  | 
madt=aviso_get_madt(loc,grid_aviso); | 
| 32 | 
  | 
  | 
 | 
| 33 | 
  | 
  | 
% add fields | 
| 34 | 
  | 
  | 
fillval=double(-9999); | 
| 35 | 
  | 
  | 
madt(isnan(madt))=fillval; | 
| 36 | 
  | 
  | 
MITprof_addVar(ncfile,['prof_madt_aviso'],'double',{'iPROF'},madt); | 
| 37 | 
  | 
  | 
 | 
| 38 | 
  | 
  | 
% add attributes | 
| 39 | 
  | 
  | 
nc=ncopen(ncfile,'write'); | 
| 40 | 
  | 
  | 
ncaddAtt(nc,'prof_madt_aviso','long_name',['MADT AVISO']); | 
| 41 | 
  | 
  | 
ncaddAtt(nc,'prof_madt_aviso','units','m'); | 
| 42 | 
  | 
  | 
ncaddAtt(nc,'prof_madt_aviso','missing_value',fillval); | 
| 43 | 
  | 
  | 
ncaddAtt(nc,'prof_madt_aviso','_FillValue',fillval); | 
| 44 | 
  | 
  | 
ncclose(nc); |