source: trunk/src/ta_traldf_lap.h @ 9

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

Import initial

  • Property svn:eol-style set to native
File size: 2.0 KB
Line 
1
2/***************************************************************************
3                 module classe ta_traldf_lap.h  -  description
4***************************************************************************/
5// Mohamed Berrada
6// locean-ipsl.upmc, Paris, April 2, 2009
7//===========================================================================
8//                          methode forward
9forward (YREAL x1, YREAL x2, YREAL x3, YREAL x4, YREAL x5)
10{ /*    1       from    ta_traadv_musc          1  i    j    k    t
11        2       from    ztuv_traldf_lap         1  i    j    k    t
12        3       from    ztuv_traldf_lap         1  i-1  j    k    t
13        4       from    ztuv_traldf_lap         2  i    j    k    t
14        5       from    ztuv_traldf_lap         2  i    j-1  k    t*/
15  /*     1.903724252353736e-11
16         7.053989989415242e-08*/
17
18  if(Yt==TU)
19    YS1=0.;
20  else{
21    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk== NZ-1)
22      YS1=x1;
23    else{
24#if defined key_zco
25      double    zbtr = zbtr2(Yi,Yj);
26#else
27      double    zbtr = zbtr2(Yi,Yj) / fse3t(Yi,Yj,Yk);
28#endif
29     
30      //       ! horizontal diffusive trends
31      double  zta = zbtr*(x2-x3+x4-x5);
32      //               ! add it to the general tracer trends
33      YS1=x1+zta;
34    }   
35  }
36  //
37}
38
39//===========================================================================
40//                         methode  backward
41
42backward (YREAL x1, YREAL x2, YREAL x3, YREAL x4, YREAL x5)
43{
44  YJ1I1=0.;     YJ1I2=0.;     YJ1I3=0.;     YJ1I4=0.;     YJ1I5=0.; 
45 
46  if(Yt!=TU){
47    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk== NZ-1){
48      YJ1I1=1.;     YJ1I2=0.;     YJ1I3=0.;     YJ1I4=0.;     YJ1I5=0.; 
49    }
50    else{
51#if defined key_zco
52      double    zbtr = zbtr2(Yi,Yj);
53#else
54      double    zbtr = zbtr2(Yi,Yj) / fse3t(Yi,Yj,Yk);
55#endif
56     
57      YJ1I1=  1.;
58      YJ1I2=  zbtr;
59      YJ1I3= -zbtr;
60      YJ1I4=  zbtr;
61      YJ1I5= -zbtr; 
62    }   
63  }
64  // 
65}
66
67//===========================================================================
68//*********************  FIN DU MODULE ta_traldf_lap   **********************
69
Note: See TracBrowser for help on using the repository browser.