/[MITgcm]/MITgcm_contrib/gael/profilesMatlabProcessing/profiles_misc/ncgetFillVal.m
ViewVC logotype

Diff of /MITgcm_contrib/gael/profilesMatlabProcessing/profiles_misc/ncgetFillVal.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1 by roquet, Mon Apr 11 21:35:12 2011 UTC revision 1.4 by roquet, Wed Apr 20 20:26:58 2011 UTC
# Line 1  Line 1 
1  function [FillVal]=ncgetFillVal(ncid,varname);  function [FillVal]=ncgetFillVal(ncid,varname);
2  % [FillVal]=ncgetFillVal(ncid,varname)  % [FillVal]=ncgetFillVal(ncid,varname)
3  %           return the missing_value or _FillValue of varname  %           return the missing_value or _FillValue of varname
4    %  return an error if varname does not exist
5    
6  global useNativeMatlabNetcdf;  global useNativeMatlabNetcdf;
7  if isempty(useNativeMatlabNetcdf); useNativeMatlabNetcdf = ~isempty(which('netcdf.open')); end;  if isempty(useNativeMatlabNetcdf); useNativeMatlabNetcdf = ~isempty(which('netcdf.open')); end;
# Line 8  if isempty(useNativeMatlabNetcdf); useNa Line 9  if isempty(useNativeMatlabNetcdf); useNa
9  FillVal=[];  FillVal=[];
10  if useNativeMatlabNetcdf;  if useNativeMatlabNetcdf;
11      varid = netcdf.inqVarID(ncid,varname);      varid = netcdf.inqVarID(ncid,varname);
12        [varname,xtype,dimids,natts] = netcdf.inqVar(ncid,varid);
13      [atts]=ncatts(ncid,varid);      [atts]=ncatts(ncid,varid);
14      if any(ismember(atts,'missing_value'))      if any(ismember(atts,'missing_value'))
15          FillVal = double(netcdf.getAtt(ncid,varid,'missing_value'));          FillVal = netcdf.getAtt(ncid,varid,'missing_value');
16      elseif any(ismember(atts,'_FillValue'))      elseif any(ismember(atts,'_FillValue'))
17          FillVal = double(netcdf.getAtt(ncid,varid,'_FillValue'));          FillVal = netcdf.getAtt(ncid,varid,'_FillValue');
18      end;      end
19        if strcmp(xtype,'single') | strcmp(xtype,'double')
20            FillVal=double(FillVal);
21        end
22  else  else
23      FillVal = ncid{varname}.missing_value(:);      eval(['FillVal = ncid{''' varname '''}.missing_value(:);']);
24      if isempty(FillVal);      if isempty(FillVal);
25          FillVal = ncid{varname}.FillValue_(:);          eval(['FillVal = ncid{''' varname '''}.FillValue_(:);']);
26      end      end
27  end  end
28    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22