source: altifloat/nemed/convertnc.m~ @ 199

Last change on this file since 199 was 127, checked in by kodalazian, 10 years ago

add nemed buoys

  • Property svn:executable set to *
File size: 2.5 KB
Line 
1function [] = convertnc(in)
2str1=strcat(in);
3
4fid=fopen(str1);
5mydata=textscan(fid,'%s %s %s');
6L=length(mydata{1});
7fclose(fid);
8C=char(mydata{1});
9for j=1:L
10    in=C(j,:);
11     
12% load file in.mat
13str2 = ['load ' in];
14eval(str2)
15%create out.nc
16S=strcat(in,'.nc');
17out=netcdf(S,'clobber');
18
19%création time variable
20[timelen,timedim]=size(time);
21S=datestr(time(1));
22dategc=datevec(time(1));
23datejd=convertjd(dategc);
24out('timedim')=timedim;
25out('timelen')=timelen;
26out{'time'}=ncdouble('timedim','timelen');
27out{'time'}(:)=time;
28out{'time'}.dategc=ncchar(S);
29out{'time'}.datejd=datejd;
30
31%verification of the gap bewteen two consecutives dates
32gap=0;
33gap0=(time(2)-time(1));
34for i=1:(timelen-1)
35    gap=time(i+1)-time(i);
36    gap=gap-gap0;
37end
38if gap==0
39    out{'time'}.samegap='yes';
40    out{'time'}.gap=ncdouble(1,1);
41    out{'time'}.gap(:)=gap0;
42else
43    out{'time'}.samegap='no';
44end
45   
46% create longitude variable
47[lonlen,londim]= size(lon);     
48out('longitudesdim')=londim;
49out('longitudeslen')=lonlen;
50out{'longitudes'}=ncdouble('longitudesdim','longitudeslen');
51out{'longitudes'}(:)=lon;
52out{'longitudes'}.units='degrees';
53%create variable longitude max
54out('lonmaxdim')=1;
55out('lonmaxlen')=1;
56out('lonmax')='longitudesmax';
57out{'lonmax'}=ncdouble('lonmaxdim','lonmaxlen');
58out{'lonmax'}.units='degrees';
59out{'lonmax'}(:)=lonmax;
60%create variable longitude min
61out('lonmindim')=1;
62out('lonminlen')=1;
63out('lonmin')='longitudesmin';
64out{'lonmin'}=ncdouble('lonmindim','lonminlen');
65out{'lonmin'}.units='degrees';
66out{'lonmin'}(:)=lonmin;
67% create latitude variable
68[latlen,latdim]=size(lat);
69out('latitudesdim')=latdim;
70out('latitudeslen')=latlen;
71out{'latitudes'}=ncdouble('latitudesdim','latitudeslen');
72out{'latitudes'}(:)=lat;
73out{'latitudes'}.units='degrees';
74%create variable latitude max
75out('latmaxdim')=1;
76out('latmaxlen')=1;
77out('latmax')='latitudesmax';
78out{'latmax'}=ncdouble('latmaxdim','latmaxlen');
79out{'latmax'}.units='degrees';
80out{'latmax'}(:)=latmax;
81%create variable latitude min
82out('latmindim')=1;
83out('latminlen')=1;
84out('latmin')='latitudesmin';
85out{'latmin'}=ncdouble('latmindim','latminlen');
86out{'latmin'}.units='degrees';
87out{'latmin'}(:)=latmin;
88
89%create variable drifter id which is a char array in the in.mat file
90out('drifterdim')=1;
91out('drifterlen')=1;
92out('drifter_id')='Id_drifter';
93out{'drifter_id'}=ncint('drifterdim','drifterlen');
94id2=0;
95for i=1:length(id)
96    id2=id2+str2num(id(i))*10^(length(id)-i);
97end
98out{'drifter_id'}(:)=id2;
99
100out = close(out);
101end
102end
Note: See TracBrowser for help on using the repository browser.