source: altifloat/matlab_toolbox/script_prepare_exp_modele.m @ 199

Last change on this file since 199 was 145, checked in by jbrlod, 9 years ago

prepare model dan

File size: 2.5 KB
Line 
1%% STEP ONE : produce the meshfile
2
3%meshgrid de Dan
4
5meshfile='../exp_forw_dan/meshgrid_dan.dat';
6make_meshgrid(meshfile,33,31,36.92572,36.22729,489,438);
7
8%% STEP TWO : transform and interpolate aviso file to YAO file
9dir_uvfiles='../../data/MODEL_CYCO/';
10aviso_netcdf={[dir_uvfiles 'uveta_cyco1_2013090112.nc']...
11              [dir_uvfiles 'uveta_cyco1_2013090212.nc'];};
12
13it=1:24:1+24*(length(aviso_netcdf)-1);
14
15%meshmask='../exp_forw_dan/meshgrid_dan.dat';
16outfile='../exp_forw_dan/uv_bck_dan.dat';
17outmask='../exp_forw_dan/mask_dan.dat';
18
19dt=1;
20
21interp_bck(aviso_netcdf,it,dt,meshfile,outfile,outmask);
22
23%% Lissage
24outfile_s='../exp_forw_dan/uv_bck_dan_s.dat';
25
26
27uvb=load(outfile);
28meshg=load(meshfile);
29lon=unique(meshg(:,1));
30lat=unique(meshg(:,2));
31nlon=length(lon);
32nlat=length(lat);
33ntime=length(unique(uvb(:,1)));
34Ub=reshape(uvb(:,end-1),nlat,nlon,ntime);
35Vb=reshape(uvb(:,end),nlat,nlon,ntime);
36
37Ub_s=nan*ones(size(Ub));
38Vb_s=nan*ones(size(Vb));
39
40K=ones(95,95);
41K=K./sum(K(:));
42
43for it=1:ntime
44Ub_s(:,:,it)=conv2(Ub(:,:,it),K,'same');
45Vb_s(:,:,it)=conv2(Vb(:,:,it),K,'same');
46end
47
48uvb_s=uvb;
49uvb_s(:,end-1) = Ub_s(:);
50uvb_s(:,end)   = Vb_s(:);
51dlmwrite(outfile_s,uvb_s,'\t');
52
53%% STEP THREE : Prepare init
54drifterdir='../altifloat/';
55initfile='init.dat';
56fname={'a300234011043340.mat','a300234011120770.mat','a300234011249440.mat'};
57lon_drift=nan*ones(1,length(fname));
58lat_drift=lon_drift;
59MM=[];
60stime_num=datenum('20130901T120000','yyyymmddTHHMMSS');
61dt=1/24; %one hour
62
63
64for j=1:length(fname)
65       load([drifterdir fname{j}]);
66       [x,y,t,M]=obs2yao(lon,lat,stime_num,stime_num,dt,meshfile,j);
67       MM=[MM;M];
68   
69end % for j
70dlmwrite(['../exp_forw_dan/' initfile],MM,'\t');
71
72%% STEP OBS : modify obs file
73init=load(['../exp_forw_dan/' initfile]);
74obs=load(['../exp_forw_dan/rfloat_total.dat']);
75
76ilon=find(init(:,1)==1);
77ilat=find(init(:,1)==2);
78
79init=[init(ilon,2)-1 init(ilon,3)-1 init(ilat,4) init(ilon,4)];
80
81istep=5;
82I=find(obs(:,end)>1e-8);
83obs=obs(I,:);
84
85obs=[init;obs];
86obs=sortrows(obs,[2 1]);
87
88t=unique(obs(:,1));
89tech=t(1:istep:end);
90
91I=find(ismember(obs(:,1),tech));
92obs=obs(I,:);
93dlmwrite(['../exp_forw_dan/obs_jum.dat'],obs,'\t');
94
95%% Create bck
96aviso_netcdf={[dir_uvfiles 'uveta_cyco1_2013092812.nc']...
97              [dir_uvfiles 'uveta_cyco1_2013092912.nc'];};
98
99it=1:24:1+24*(length(aviso_netcdf)-1);
100
101%meshmask='../exp_forw_dan/meshgrid_dan.dat';
102outfile='../exp_forw_dan/uv_bck2_dan.dat';
103outmask='../exp_forw_dan/mask_dan2.dat';
104
105dt=1;
106
107interp_bck(aviso_netcdf,it,dt,meshfile,outfile,outmask);
108
Note: See TracBrowser for help on using the repository browser.