Mercurial > forge
diff main/netcdf/inst/private/test_netcdf_high_level_interface.m @ 12561:8476336c120c octave-forge
ncread: do not replace _FillValue by NaNs for characters
author | abarth93 |
---|---|
date | Fri, 20 Feb 2015 16:30:08 +0000 |
parents | 5b3d9192547f |
children | a4de85b2e6a0 |
line wrap: on
line diff
--- a/main/netcdf/inst/private/test_netcdf_high_level_interface.m Fri Feb 20 15:24:59 2015 +0000 +++ b/main/netcdf/inst/private/test_netcdf_high_level_interface.m Fri Feb 20 16:30:08 2015 +0000 @@ -90,3 +90,40 @@ delete(fname) + +% test double with _FillValue + +fname = [tempname '-octave-netcdf.nc']; +fv = 99999.; +nccreate(fname,'flag','Dimensions',{'lon',10,'lat',10},'Datatype','double',... + 'FillValue',fv); + +%system(['ncdump -h ' fname]) +data = zeros(10,10); +data(1,2) = fv; +ncid = netcdf_open(fname,'NC_WRITE'); +varid = netcdf_inqVarID(ncid, 'flag'); +netcdf_putVar(ncid,varid,data); +data2 = ncread(fname,'flag'); +data(data == fv) = NaN; +assert(isequaln(data,data2)) +delete(fname) + + +% test char with _FillValue + +fname = [tempname '-octave-netcdf.nc']; +fv = '*'; +nccreate(fname,'flag','Dimensions',{'lon',10,'lat',10},'Datatype','char',... + 'FillValue',fv); +data = repmat('.',[10 10]); +data(1,2) = fv; + +ncid = netcdf_open(fname,'NC_WRITE'); +varid = netcdf_inqVarID(ncid, 'flag'); +netcdf_putVar(ncid,varid,data); +data2 = ncread(fname,'flag'); + +assert(isequal(data,data2)) +delete(fname) +