Index: branches/branche-mb/src/cost.dat
===================================================================
--- branches/branche-mb/src/cost.dat	(revision 62)
+++ branches/branche-mb/src/cost.dat	(revision 63)
@@ -3,36 +3,32 @@
  0.0000000000000000e+00
  2.1474823164582097e+02
- 1.2975758308681927e+01
- 2.4264061059597573e+01
- 9.5294911320411000e+00
- 6.1849686337309064e+00
- 4.0738038971828123e+00
- 2.3898782803950009e+00
- 2.0888660877807852e+00
- 1.6129218002581345e+00
- 1.4602912585844716e+00
- 1.5154815138350144e+00
- 1.4661975187573568e+00
- 1.4668321473655250e+00
- 1.4708862822664150e+00
- 1.4854466172307939e+00
- 1.4205507107251405e+00
- 1.7030517837610164e+00
- 1.4345968631501795e+00
- 1.4351405506167443e+00
- 1.4397453657339783e+00
- 1.4537877548984335e+00
- 1.4674691588039481e+00
- 1.4760376865940141e+00
- 1.4825757968508098e+00
- 1.4094545811622352e+00
- 1.4080263806488316e+00
- 1.4835348660561365e+00
- 1.4064118013093134e+00
- 1.4062029823934583e+00
- 1.4836757396029698e+00
- 1.4837748681619887e+00
- 1.4838440857485093e+00
- 1.4838925284218420e+00
- 1.4839264406875585e+00
- 1.4061456937219163e+00
+ 1.2958901480355472e+01
+ 2.4208867493170015e+01
+ 9.5310667871496211e+00
+ 6.1790369949928481e+00
+ 4.0542139095518230e+00
+ 2.3555976045385250e+00
+ 1.8747388242251850e+00
+ 1.6582963346427140e+00
+ 1.4291909107170053e+00
+ 1.2994902018124086e+00
+ 1.3334911336228903e+00
+ 1.2859361879963762e+00
+ 1.5496856239892498e+00
+ 1.2418585591044098e+00
+ 2.0442371997362545e+00
+ 1.2971715810562954e+00
+ 1.2975780013916505e+00
+ 1.2986727516755405e+00
+ 1.3057984268538101e+00
+ 1.2852046369970458e+00
+ 1.2266854183064928e+00
+ 1.2247496446634496e+00
+ 1.2151832426274585e+00
+ 1.2154570853596762e+00
+ 1.2858728960761006e+00
+ 1.2152605999261445e+00
+ 1.2152356639508144e+00
+ 1.2858909584114377e+00
+ 1.2859036070737340e+00
+ 1.2859124488276841e+00
Index: branches/branche-mb/src/dta_zfilt.h
===================================================================
--- branches/branche-mb/src/dta_zfilt.h	(revision 63)
+++ branches/branche-mb/src/dta_zfilt.h	(revision 63)
@@ -0,0 +1,109 @@
+
+/***************************************************************************
+                 module classe dta_zfilt.h  -  description
+***************************************************************************/
+// Mohamed Berrada
+// locean-ipsl.upmc, Paris, July 29, 2011
+//===========================================================================
+//                          methode forward
+forward (YREAL x1,YREAL x2,YREAL x3,YREAL x4)
+{ /*	1	from	nu      		1  i 	j    k  
+	2	from	dta_zfilt      		1  i 	j    k-1   t-1
+	3	from	dta_zfilt		1  i 	j    k     t-1 
+	4	from	dta_zfilt		1  i 	j    k+1   t-1 */
+
+  if(Yt==1){
+    double wm12=1./sqrt(fse3t(Yi,Yj,Yk)); //1/sqrt(dz)
+    YS1=wm12*x1;
+  }
+  else{
+    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk==NZ-1){
+      YS1=0.;
+    }
+    else{
+      double ak =avt_fil*pdtz_fil/fse3w(Yi,Yj,Yk) 
+	,akp1=avt_fil*pdtz_fil/fse3w(Yi,Yj,Yk+1);
+      double tkm1, tk,tkp1;
+      if(Yk==0){
+#ifdef K_NEU
+	tkm1= -ak* x3;
+#else
+	tkm1= 0.;
+#endif
+      }
+      else
+	tkm1= -ak* x3;
+      tk=(fse3t(Yi,Yj,Yk) +akp1 +ak)*x3;
+      if(Yk==NZ-2){
+#ifdef K_NEU
+        tkp1  = -akp1*x3;
+#else
+        tkp1= 0.;
+#endif
+      }
+      else
+        tkp1  = -akp1*x4;
+      YS1 = (tkm1 + tk +tkp1)/fse3t(Yi,Yj,Yk);
+    }
+  }
+  //
+}
+      
+//===========================================================================
+//                         methode  backward
+
+backward (YREAL x1,YREAL x2,YREAL x3,YREAL x4)
+{
+  YJ1I1=0.;     YJ1I2=0.; YJ1I3=0.;     YJ1I4=0.;
+
+  if(Yt==1){
+    YJ1I1=0.;     YJ1I2=0.;
+  }
+  else{
+    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk==NZ-1){
+      YJ1I1=0.;     YJ1I2=0.;
+    }
+    else{
+      double zave3r = 1.e0 / fse3w(Yi,Yj,Yk); //! 1 sur le pas veritcal au point w (Arakawa mesh)
+      YJ1I1=avt_fil*zave3r;     YJ1I2=-avt_fil*zave3r;
+    }
+  }
+  if(Yt==1){
+    double wm12=1./sqrt(fse3t(Yi,Yj,Yk)); //1/sqrt(dz)
+    YJ1I1=wm12;
+  }
+  else{
+    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk==NZ-1){
+      YJ1I1=0.;
+    }
+    else{
+      double ak =avt_fil*pdtz_fil/fse3w(Yi,Yj,Yk) 
+	,akp1=avt_fil*pdtz_fil/fse3w(Yi,Yj,Yk+1);
+      double dtkm1_x2=0., dtk_x3=0.,dtkp1_x4=0.;
+      double dtkm1_x3=0.,dtkp1_x3=0.;
+      if(Yk==0){
+#ifdef K_NEU
+	dtkm1_x3= -ak;
+#endif
+      }
+      else
+	dtkm1_x2= -ak;
+
+      dtk_x3=(fse3t(Yi,Yj,Yk) +akp1 +ak);
+      if(Yk==NZ-2){
+#ifdef K_NEU
+        dtkp1_x3  = -akp1;
+#endif
+      }
+      else
+        dtkp1_x4  = -akp1;
+
+      YJ1I1=0.;
+      YJ1I2=dtkm1_x2/fse3t(Yi,Yj,Yk);
+      YJ1I3=(dtkm1_x3 + dtk_x3 +dtkp1_x3)/fse3t(Yi,Yj,Yk);
+      YJ1I4=dtkp1_x4/fse3t(Yi,Yj,Yk);
+    }
+  }
+  //
+
+}
Index: branches/branche-mb/src/sinobad.d
===================================================================
--- branches/branche-mb/src/sinobad.d	(revision 62)
+++ branches/branche-mb/src/sinobad.d	(revision 63)
@@ -1,2 +1,3 @@
+defval K_NEU
 #define FILTER
 #define FILZNOL
@@ -116,6 +117,7 @@
 modul	 ztuv_lfil		space	S3dtlf			input 3		  output 2	tempo
 #endif
-modul	 dta_zfil		space	S3dtzf			input 4		  output 1	tempo
-modul	 zwy_zfil		space	S3dtzf			input 2		  output 1	tempo
+modul	 dta_zfilt		space	S3dtzf			input 4		  output 1	tempo
+//modul	 dta_zfil		space	S3dtzf			input 4		  output 1	tempo
+//modul	 zwy_zfil		space	S3dtzf			input 2		  output 1	tempo
 #endif
 modul	 ta_c			space	S3d			input 1		  output 1	
@@ -322,19 +324,24 @@
 //#---------->dta_zfil
 #ifdef FILZNOL
-ctin	 dta_zfil	1	from	nu      		1  i 	j    k	
+ctin	 dta_zfilt	1	from	nu      		1  i 	j    k	
+//ctin	 dta_zfil	1	from	nu      		1  i 	j    k	
 #endif
 #ifndef FILZNOL
 ctin	 dta_zfil	1	from	dta_lfil      		1  i 	j    k     t
 #endif
-ctin	 dta_zfil	2	from	dta_zfil		1  i 	j    k     t-1 
-ctin	 dta_zfil	3	from	zwy_zfil		1  i 	j    k+1   t 
-ctin	 dta_zfil 	4	from	zwy_zfil		1  i 	j    k     t
+ctin	 dta_zfilt	2	from	dta_zfilt		1  i 	j    k-1     t-1 
+ctin	 dta_zfilt	3	from	dta_zfilt		1  i 	j    k   t-1 
+ctin	 dta_zfilt 	4	from	dta_zfilt		1  i 	j    k+1     t-1
+//ctin	 dta_zfil	2	from	dta_zfil		1  i 	j    k     t-1 
+//ctin	 dta_zfil	3	from	zwy_zfil		1  i 	j    k+1   t 
+//ctin	 dta_zfil 	4	from	zwy_zfil		1  i 	j    k     t
 
 //#---------->zwy_zfil
-ctin	 zwy_zfil	1	from	dta_zfil      		1  i 	j    k-1   t-1
-ctin	 zwy_zfil	2	from	dta_zfil		1  i 	j    k     t-1 
+//ctin	 zwy_zfil	1	from	dta_zfil      		1  i 	j    k-1   t-1
+//ctin	 zwy_zfil	2	from	dta_zfil		1  i 	j    k     t-1 
 
 //#---------->ta_c
-ctin	 ta_c   	1	from	dta_zfil      		1  i 	j    k   t
+ctin	 ta_c   	1	from	dta_zfilt      		1  i 	j    k   t
+//ctin	 ta_c   	1	from	dta_zfil      		1  i 	j    k   t
 #endif
 #ifdef FILNOZL
@@ -923,9 +930,10 @@
 #endif
 order modinspace S3dtzf
+//    order YA3 YA2 YA1
+//    	  zwy_zfil
+//    forder
     order YA3 YA2 YA1
-    	  zwy_zfil
-    forder
-    order YA3 YA2 YA1
-       	  dta_zfil
+//       	  dta_zfil
+       	  dta_zfilt
     forder
 forder
