source: trunk/src/ztuv_traldf_lap.h @ 186

Last change on this file since 186 was 1, checked in by jbrlod, 13 years ago

Import initial

  • Property svn:eol-style set to native
File size: 2.2 KB
Line 
1/***************************************************************************
2                 module classe ztuv_traldf_lap.h  -  description
3***************************************************************************/
4// Mohamed Berrada
5// locean-ipsl.upmc, Paris, April 2, 2009
6//===========================================================================
7//                          methode forward
8forward (YREAL x1, YREAL x2, YREAL x3)
9{ /*    1       from    ta              1  i    j    k    t-1
10        2       from    ta              1  i+1  j    k    t-1
11        3       from    ta              1  i    j+1  k    t-1*/
12  if(Yt==TU)
13    YS1=0.;
14  else{
15    if(Yi==NX-1 || Yj==NY-1 || Yk== NZ-1)
16      YS1=0.;
17    else{
18#if defined key_zco
19      double  zabe1 = fsahtu(Yi,Yj,Yk) * umask(Yi,Yj,Yk) * ze1ur(Yi,Yj);
20      double  zabe2 = fsahtv(Yi,Yj,Yk) * vmask(Yi,Yj,Yk) * ze2vr(Yi,Yj);
21#else
22      double  zabe1 = fsahtu(Yi,Yj,Yk) * umask(Yi,Yj,Yk) * ze1ur(Yi,Yj) * fse3u(Yi,Yj,Yk);
23      double  zabe2 = fsahtv(Yi,Yj,Yk) * vmask(Yi,Yj,Yk) * ze2vr(Yi,Yj) * fse3v(Yi,Yj,Yk);
24#endif
25      YS1 = zabe1*(x2-x1);
26      //ztu(ji,jj,jk) = zabe1 * ( tb(ji+1,jj  ,jk) - tb(ji,jj,jk) );
27      YS2 = zabe2*(x3-x1);
28      //  ztv(ji,jj,jk) = zabe2 * ( tb(ji  ,jj+1,jk) - tb(ji,jj,jk) );
29    }
30  }
31  //
32}
33//===========================================================================
34//                         methode  backward
35
36backward (YREAL x1, YREAL x2, YREAL x3)
37{
38  YJ1I1=0.;     YJ1I2=0.;     YJ1I3=0.; 
39  YJ2I1=0.;     YJ2I2=0.;     YJ2I3=0.; 
40 
41  if(Yt!=TU){
42    if(Yi==NX-1 || Yj==NY-1 || Yk== NZ-1){
43      YJ1I1=0.;     YJ1I2=0.;     YJ1I3=0.; 
44      YJ2I1=0.;     YJ2I2=0.;     YJ2I3=0.; 
45    }
46    else{
47#if defined key_zco
48      double  zabe1 = fsahtu(Yi,Yj,Yk) * umask(Yi,Yj,Yk) * ze1ur(Yi,Yj);
49      double  zabe2 = fsahtv(Yi,Yj,Yk) * vmask(Yi,Yj,Yk) * ze2vr(Yi,Yj);
50#else
51      double  zabe1 = fsahtu(Yi,Yj,Yk) * umask(Yi,Yj,Yk) * ze1ur(Yi,Yj) * fse3u(Yi,Yj,Yk);
52      double  zabe2 = fsahtv(Yi,Yj,Yk) * vmask(Yi,Yj,Yk) * ze2vr(Yi,Yj) * fse3v(Yi,Yj,Yk);
53#endif
54      YJ1I1 = -zabe1 ;
55      YJ1I2 =  zabe1;
56      YJ1I3 =  0.; 
57      YJ2I1= -zabe2;
58      YJ2I2=  0.;
59      YJ2I3=  zabe2; 
60      }
61  }
62  //
63 
64}
65
66//===========================================================================
67//*********************  FIN DU MODULE ztuv_traldf_lap **********************
68
Note: See TracBrowser for help on using the repository browser.