source: altifloat/src/floater_delta.d @ 117

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

small modif with no impact

File size: 6.4 KB
Line 
1#define FILTER
2
3
4defval jtlag 3//nombre de pas de temps Delta t/ delta t
5//for the fake
6//defval jtlag 720
7
8defval jptfl 7 //Nombre total de pas de temps
9defval jpnfl 2 //nombre total de flotteurs
10
11
12defval nlon 87 //nbre de points de grilles en longitude
13defval nlat 58 //nbre de points de grilles en latitude
14defval nfloat 2  //nbre de flotteurs max par assim
15
16#ifdef FILTER
17defval K_FILTER //create a define K_FILTER in the source code
18defval OFIL 2  //order of the filter
19#else
20defval OFIL 0 //Offtime of the main trajectory (0 since there is no filter)
21#endif
22
23
24hat_name "floater.h"
25
26
27option o_m1qn3
28option o_gradtest
29//option  O_EXTOBJ "../object/ncutil.o" //for aviso files
30#ifdef FILTER
31traj Tcstfil D 0    1 //Traj for control parameters
32traj Tfil    D 1    0     1    OFIL  //Traj for compute the filter
33#endif
34
35//    name   M upt offt  dt    nbstep
36traj T_float M 1    OFIL  1    jtlag //trajectoire pour r
37traj T_euler M 0    OFIL  1    jtlag //trajectoire pour u et v
38//for varibale u, put under nb step jtlag
39
40//deltas
41traj T_euler_d  D 0    OFIL     1    1 
42traj T_float_d D 1    OFIL     1    jtlag //trajectoires type modele ou tangent. permet de controler quel type activer dans le i
43
44
45#ifdef FILTER
46space S_euler_df   M nlon nlat Tcstfil //space for control parameter
47space S_euler_df_t M nlon nlat Tfil //space for filter calculation
48#endif
49
50space S_float M nfloat    T_float
51space S_euler M nlon nlat T_euler
52space S_eulerlocate M nfloat nlon nlat T_float
53
54//deltas
55space S_float_d M nfloat    T_float_d
56space S_euler_d M nlon nlat T_euler_d
57space S_eulerlocate_d M nfloat nlon nlat T_float_d
58
59
60modul r_float space S_float input 4  output 2 tempo
61modul ur      space S_float input 18 output 2 tempo
62modul uinter space S_float noward   output 8 tempo
63modul xinter space S_float noward   output 8 tempo
64
65
66modul u       space S_euler noward   output 1  tempo //noward veut dire pas de calcul
67modul v           space S_euler noward   output 1 tempo
68modul locate  space S_eulerlocate input 2  output 1 tempo
69modul mask    space S_euler noward output 1
70
71
72//deltas
73modul r_float_d space S_float_d input 4  output 2 tempo
74modul ur_d      space S_float_d input 18 output 2 tempo
75modul uinter_d space S_float_d noward   output 8 tempo
76//modul xinter_d space S_float_d noward   output 8 tempo
77
78
79
80#ifdef FILTER
81//active filter
82modul uc_d     space S_euler_df noward output 1 target
83modul vc_d     space S_euler_df noward output 1 target
84modul cfil         space S_euler_df noward output 9
85modul dfil     space S_euler_df noward output 9
86modul lapfilu  space S_euler_df_t input 20 output 1 tempo
87modul lapfilv space  S_euler_df_t clonol lapfilu
88modul u_d      space S_euler_d  input 2 output 1
89modul v_d      space S_euler_d  clonol u_d
90modul u_norm   space S_euler_df noward output 1 
91modul v_norm   space S_euler_df noward output 1
92
93#else
94//no filter
95modul u_d       space S_euler_d noward   output 1 target //noward veut dire pas de calcul
96modul v_d                 space S_euler_d noward   output 1 target
97#endif
98
99modul locate_d  space S_eulerlocate_d input 2  output 1 tempo
100modul r_cout_d space S_float_d input 2  output 2 tempo cout
101
102//Filter modules
103
104
105
106
107exec disp_modul //afficher les modules lors de la ganeration du code
108
109ctin r_float  1..2   from r_float 1..2 i t-1 // i par default est la premier dimension, ici i=1 floater
110ctin r_float  3..4   from ur      1..2 i t    // comme c'est un calcul, il depend pas de la valeur initiale
111
112ctin ur       1..8   from uinter 1..8 i t
113ctin ur       9..16  from xinter 1..8 i t
114ctin ur       17..18 from r_float 1..2 i t-1
115
116ctin locate   1..2   from r_float 1..2 i t-1
117 
118//deltas
119ctin r_float_d  1..2   from r_float_d 1..2 i t-1 // i par default est la premier dimension, ici i=1 floater
120ctin r_float_d  3..4   from ur_d       1..2 i t    // comme c'est un calcul, il depend pas de la valeur initiale
121
122ctin ur_d       1..8   from uinter_d 1..8 i t
123ctin ur_d       9..16  from xinter 1..8 i t
124ctin ur_d       17..18 from r_float 1..2 i t-1
125
126ctin locate_d   1..2   from r_float_d 1..2 i t-1
127ctin r_cout_d   1..2   from r_float_d 1..2 i t       
128
129#ifdef FILTER
130ctin lapfilu    1      from  uc_d     1  i    j
131ctin lapfilu    2      from  lapfilu  1  i    j   t-1
132ctin lapfilu    3      from  lapfilu  1  i+1  j   t-1
133ctin lapfilu    4      from  lapfilu  1  i    j+1      t-1
134ctin lapfilu    5      from  lapfilu  1  i    j-1    t-1
135ctin lapfilu    6      from  lapfilu  1  i-1  j    t-1
136ctin lapfilu    7      from  lapfilv  1  i    j      t-1
137ctin lapfilu    8      from  lapfilv  1  i+1  j-1   t-1
138ctin lapfilu    9      from  lapfilv  1  i    j-1   t-1
139ctin lapfilu    10      from  lapfilv 1  i+1  j     t-1
140ctin lapfilu    11..19 from  cfil     1..9 i j
141ctin lapfilu    20     from  mask     1  i  j
142
143ctin lapfilv    1      from  vc_d     1  i   j
144ctin lapfilv    2      from  lapfilv  1  i   j   t-1
145ctin lapfilv    3      from  lapfilv  1  i+1 j   t-1
146ctin lapfilv    4      from  lapfilv  1  i   j+1      t-1
147ctin lapfilv    5      from  lapfilv  1  i   j-1    t-1
148ctin lapfilv    6      from  lapfilv  1  i-1 j    t-1
149ctin lapfilv    7      from  lapfilu  1  i   j      t-1
150ctin lapfilv    8      from  lapfilu  1  i   j+1   t-1
151ctin lapfilv    9      from  lapfilu  1  i-1 j   t-1
152ctin lapfilv    10      from  lapfilu 1  i-1 j+1     t-1
153ctin lapfilv    11..19 from  dfil     1..9 i j
154ctin lapfilv    20     from  mask     1  i  j
155
156ctin u_d       1      from  lapfilu   1  i   j   t
157ctin u_d       2      from  u_norm    1  i   j
158
159ctin v_d       1      from  lapfilv   1  i   j   t
160ctin v_d       2      from  v_norm    1  i   j
161
162#endif
163
164
165exec disp_ct_in //afficher les connexions
166
167#ifdef FILTER
168order modinspace S_euler_df_t
169        order YA1 YA2
170               lapfilu lapfilv
171        forder
172forder
173
174order modinspace S_euler_d
175        order YA1 YA2
176            u_d v_d
177        forder
178forder
179#endif
180
181order modinspace S_float
182        order YA1
183                ur r_float
184        forder
185forder
186
187order modinspace S_eulerlocate
188        order YA1 YA2 YA3
189                locate
190        forder
191forder
192
193order spaceintraj T_float
194        S_eulerlocate S_float
195forder
196 
197//deltas
198order modinspace S_float_d
199        order YA1
200                ur_d r_float_d r_cout_d
201        forder
202forder
203
204order modinspace S_eulerlocate_d
205        order YA1 YA2 YA3
206                locate_d
207        forder
208forder
209
210#ifdef FILTER
211order spaceintraj Tfil
212        S_euler_df_t
213forder
214
215order spaceintraj T_euler_d
216        S_euler_d
217forder
218#endif
219
220order spaceintraj T_float_d
221        S_eulerlocate_d S_float_d
222forder
223 
224 
225//insert_fct arg load_aviso
226insert_fct update_uv
227insert_fct arg run_inc
228insert_fct arg read_obs
229insert_fct multirun
230insert_fct arg save_output_uv
Note: See TracBrowser for help on using the repository browser.