annotate main/netcdf/inst/private/test_netcdf_high_level_interface.m @ 11992:6f80e9b5a5cb octave-forge

add copyright (2)
author abarth93
date Tue, 30 Jul 2013 09:41:59 +0000
parents 2f62d37d5abc
children 5b3d9192547f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11992
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
1 %% Copyright (C) 2013 Alexander Barth
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
2 %%
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
3 %% This program is free software; you can redistribute it and/or modify
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
4 %% it under the terms of the GNU General Public License as published by
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
5 %% the Free Software Foundation; either version 2 of the License, or
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
6 %% (at your option) any later version.
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
7 %%
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
8 %% This program is distributed in the hope that it will be useful,
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
9 %% but WITHOUT ANY WARRANTY; without even the implied warranty of
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
10 %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
11 %% GNU General Public License for more details.
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
12 %%
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
13 %% You should have received a copy of the GNU General Public License
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
14 %% along with this program; If not, see <http://www.gnu.org/licenses/>.
6f80e9b5a5cb add copyright (2)
abarth93
parents: 11988
diff changeset
15
11988
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
16
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
17 fname = [tempname '-octave-netcdf.nc'];
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
18
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
19
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
20 nccreate(fname,'temp','Dimensions',{'lon',10,'lat',20});
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
21 nccreate(fname,'salt','Dimensions',{'lon',10,'lat',20});
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
22 nccreate(fname,'u','Dimensions',{'lon','lat'});
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
23 u = randn(10,20);
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
24 ncwrite(fname,'u',u);
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
25
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
26 u2 = ncread(fname,'u');
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
27 assert(isequalwithequalnans(u,u2));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
28
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
29 u2 = ncread(fname,'u',[10 5],[inf inf],[1 1]);
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
30 assert(isequalwithequalnans(u(10:end,5:end),u2));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
31
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
32 ncwriteatt(fname,'temp','units','degree Celsius');
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
33 assert(strcmp(ncreadatt(fname,'temp','units'),'degree Celsius'));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
34
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
35 ncwriteatt(fname,'temp','range',[0 10]);
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
36 assert(isequal(ncreadatt(fname,'temp','range'),[0 10]));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
37
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
38 ncwriteatt(fname,'temp','float_range',single([0 10]));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
39 assert(isequal(ncreadatt(fname,'temp','float_range'),[0 10]));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
40
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
41 ncwriteatt(fname,'temp','int_range',int32([0 10]));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
42 assert(isequal(ncreadatt(fname,'temp','int_range'),[0 10]));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
43
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
44 info = ncinfo(fname);
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
45 assert(length(info.Variables) == 3)
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
46 assert(strcmp(info.Variables(1).Name,'temp'));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
47 assert(isequal(info.Variables(1).Size,[10 20]));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
48 delete(fname);
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
49
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
50
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
51 nccreate(fname,'temp','Dimensions',{'lon',10,'lat',20},'Format','64bit');
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
52 delete(fname);
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
53
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
54 nccreate(fname,'temp','Dimensions',{'lon',10,'lat',20},'Format','classic');
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
55 info = ncinfo(fname);
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
56 assert(strcmp(info.Format,'classic'));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
57
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
58 delete(fname);
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
59
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
60 % netcdf4
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
61
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
62 nccreate(fname,'temp','Dimensions',{'lon',10,'lat',20},'Format','netcdf4');
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
63 ncwriteatt(fname,'temp','uint_range',uint32([0 10]));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
64 assert(isequal(ncreadatt(fname,'temp','uint_range'),[0 10]));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
65
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
66 info = ncinfo(fname);
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
67 assert(strcmp(info.Format,'netcdf4'));
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
68 delete(fname)
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
69
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
70 % scalar variable
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
71 nccreate(fname,'temp','Format','netcdf4','Datatype','double');
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
72 ncwrite(fname,'temp',123);
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
73 assert(ncread(fname,'temp') == 123)
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
74 delete(fname)
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
75
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
76
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
77 % test unlimited dimension with nccreate
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
78 fname = [tempname '-octave-netcdf.nc'];
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
79 nccreate(fname,'temp','Dimensions',{'lon',10,'lat',inf});
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
80 %system(['ncdump -h ' fname])
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
81
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
82 info = ncinfo(fname);
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
83 assert(~info.Dimensions(1).Unlimited)
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
84 assert(info.Dimensions(2).Unlimited)
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
85
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
86 delete(fname)
2f62d37d5abc restructure test (3)
abarth93
parents:
diff changeset
87