1 |
cnh |
1.1 |
function [a,x,y,t] = rdnetcdf(filename) |
2 |
|
|
|
3 |
|
|
nc=netcdf(filename,'nowrite'); |
4 |
|
|
v=var(nc) |
5 |
|
|
|
6 |
|
|
at=att( nc{ name(v{4}) } ) |
7 |
|
|
for j=1:length(at) |
8 |
|
|
at{j} |
9 |
|
|
eval( sprintf( '%s=at{j}(:);', name( at{j} ) ) ) |
10 |
|
|
end |
11 |
|
|
|
12 |
|
|
x=nc{'X'}(:); |
13 |
|
|
y=nc{'Y'}(:); |
14 |
|
|
t=nc{'T'}(:); |
15 |
|
|
a=nc{name(v{4})}(:); |
16 |
|
|
a(find(a==missing_value))=NaN; |
17 |
|
|
a=permute(a,[3 2 1])*scale_factor+add_offset; |
18 |
|
|
|
19 |
|
|
disp(['Variable name: ''' long_name ''' Units: ''' units ''' ']) |
20 |
|
|
disp( sprintf('Missing value: %g Scale_factor: %g Offset: %g', ... |
21 |
|
|
missing_value,scale_factor,add_offset) ) |